1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn môn cơ sở dữ liệu Báo cáo thực hành môn cơ sở dữ liệu

15 1,6K 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 303,18 KB

Nội dung

Thông tin về khách hàng bao gồm họ tên, địa chỉ, số điện thoại và số dư tài khoản Thông tin về nhà sản xuất bao gồm các thuộc tính như tên nhà cung cấp, địa chỉ, số điện thoại, tình trạn

Trang 1

Học Công Nghệ Bưu Chính Viễn Thông

Báo cáo thực hành

Môn: Cơ sở dữ liệu

Họ và tên:Nguỵ Đình Huy

Lớp D10CN1

Mã sinh viên:1021040029

Trang 2

1.Mô tả bài toán:

Vấn đề đặt ra là quản lý bán hàng trong siêu thị điện máy Phạm vi quản lý bao gồm nhân viên, khách hàng, nhà sản xuất, mặt hàng, hoá đơn bán hàng

Thông tin về nhân viên bao gồm họ tên, địa chỉ, mức lương, mã nhân viên, vị trí công tác Quản lý họ có 1 người trưởng bộ phận bán hàng(manager), và họ cũng là nhân viên Thông tin về khách hàng bao gồm họ tên, địa chỉ, số điện thoại và số dư tài khoản Thông tin về nhà sản xuất bao gồm các thuộc tính như tên nhà cung cấp, địa chỉ, số điện thoại, tình trạng sản xuất, các mặt hàng cung cấp(có thể ko có mặt hàng nào) Thông tin về mặt hàng bao gồm mã mặt hàng, tên mặt hàng, giá cả, tên nhà cung cấp, tình trạng hàng trong kho(còn hay đã hết) Một mặ hàng có thể có nhiều nhà cung cấp

và một nhà cung cấp có thể có nhiều mặt hàng

Thông tin về hoá đơn bán hàng tên khách mua, tên các sản phẩm mua, tổng giá thành

2.Xác định các đối tượng thực thể

Bài toán quản lý bán hàng trong siêu thị điện máy bao gồm các thực thể

*Khách hàng:

Các thuộc tính:

-Tên

-Địa chỉ

-Số điện thoại

-Giới tính

-Năm sinh

*Nhân viên:

Các thuộc tính:

-Tên

Trang 3

-Địa chỉ

-Mã nhân viên

-Chức vụ

*Nhà sản xuất

Các thuộc tính:

-Tên nhà sản xuất

-Số lượng sản phẩm

-Số điện thoại

-Tên mặt hàng

*Sản phẩm

Các thuộc tính:

-Mã sản phẩm

-Tên sản phẩm

-Giá cả

-Tên nhà sản xuất

*Hoá đơn

Các thuộc tính:

-Tên khách mua

-Tên sản phẩm mua

-Mã hoá đơn

-Số lượng sản phẩm mua

Trang 4

Nhân viên

3.Mô hình quan hệ E-R

Khách hàng

Nhà sản xuất

Sản phẩm Hoá đơn

TenNV

DC

MaNV

Chucvu

TenKH PhoneNumb

er

MaKH

GioiTinh

Bán cho

MaSP

TenSP

Gia

SanphamNS

X

TenNSX SoluongSP

TenSP NumberNSX

TenKHHD

TenSPHD MaHD

la

m

Ghi

Mua

has

NamSinh

SoLuo ngHD

Trang 5

4.Chuyển đổi mô hình thực thể liên kết sang mô hình quan hệ

Bước 1: Ánh xạ các thực thể thông thường

Quan hệ Khách hàng:

Họ tên Số điện thoại Số dư tài khoản Địa chỉ

Quan hệ Sản phẩm

Quan hệ Nhà sản xuất

Quan hệ Nhân viên

Quan hệ Hoá đơn

Bước 2: Ánh xạ thực thể yếu

Bước 3:Ánh xạ các quan hệ 2 ngôi

-Ánh xạ quan hệ 1 chiều

Nhân viên

Nhà sản xuất

Trang 7

Sản phẩm

Nhà sản xuất

Ánh xạ quan hệ nhiều chiều

Nhân viên

Khách hàng

Nhà sản xuất

Khách hàng

Ánh xạ quan hệ 1-1

Khách hàng

Hoá đơn

Trang 8

Bước 4: Ánh xạ các thực thể liên kết

Trường hợp ko được gắn định danh

Nhà sản xuất

Số điện thoai Tên mặt hàng Tên địa chỉ Tên nhà sản xuất

Hoá đơn

Bước 5: Ánh xạ các quan hệ 1 ngôi

Ánh xạ đệ quy loại 1 nhiều

Nhân viên

Sản phẩm

Nhà sản xuất

Ánh xạ quan hệ nhiều nhiều

Sản phẩm

Trang 10

Bước 6: Ánh xạ các quan hệ nhiều ngôi

Hoá đơn

Nhà sản xuất

Sản phẩm

Thực hiện trên SQL

Xác định các phụ thuộc hàm F và đưa về dạng chuẩn 3NF

1 Xét quan hệ

Khách hàng(MaKH(A),TenKH(B),DC(C),NumberKH(D),Namsinh(E),

Gioitinh(F))

Với tập các phụ thuộc hàm F1={ABCDEF} và tập khóa K1={A}

Không có thuộc tính không khóa nào (B,C,D,E,F) phụ thuộc bắc cầu vào

khóa A

Quan hệ Khachhang ở dạng 3NF

2 Xét quan hệ

Trang 11

(MaSP(A),TenSP(B),Gia(C),TenSPNSX(D))

Với tập phụ thuộc hàm F2={AB,BC} và tập khóa K2={A,B} Thuộc tính không khóa C phụ thuộc bắc cầu vào thuộc tính khóa A

Do đó, quan hệ Sản phẩm không ở dạng 3NF

Đưa về dạng 3NF

Quan hệ Phong được tách thành 2 quan hệ con

Sản phẩm_a(AB) khóa A , phụ thuộc hàm Fa={AB}

Sản phẩm_b(CD) khóa B , phụ thuộc hàm Fb={BC}

3 Xét quan hệ

Nhà sản xuất(NumberNSX(A),TenNSX(B), TenSP(C), SoluongSP(D) Với tập phụ thuộc hàm F3={ABCD} và tập khóa K3={A,B}

Không có phụ thuộc hàm bắc cầu trong quan hệ này

Do đó, quan hệ Nhà sản xuất ở dạng 3NF

4 Xét quan hệ

Nhân viên(MaNV(A), TenNV(B), DC(C), Chucvu(D))

Với tập phụ thuộc hàm F4={AB,BCD} và tập khóa K4={A,B} Thuộc tính không khóa C,D phụ thuộc bắc cầu vào khóa

Do đó, quan hệ Thue không ở dạng chuẩn 3(3NF)

Đưa về dạng 3NF

Quan hệ Nhân viên được tách thành 2 quan hệ con

Trang 12

Nhân viên_e(AB) khóa A, phụ thuộc hàm Fe={AB}

Nhân viên_f(BCD) khóa B, phụ thuộc hàm Ff={BCD}

5 Xét quan hệ

HoaDon(MaHD(A), TenSPHD(B), SoluongSPHD(C), TenKHHD(D))

Với tập phụ thuộc hàm F5={AB,BC, C->D} và tập khóa K5={A,B,C,D}

Không có phụ thuộc hàm bắc cầu trong quan hệ này

Do đó, quan hệ Hoá đơn ở dạng chuẩn 3(3NF)

10 câu truy vấn đại số quan hệ

1.Tìm tên tất cả khách hàng có số dư tài khoản >1000000

Kết quả=π(Tên)(Ϭ(sodu)>1000000)(khách Hàng)

2.Tìm tến sản phẩm có giá >1000000

Kết quả=π(Tên sản phẩm)(Ϭ(Giaca)>1000000)(Sản phẩm)

3.Tìm tên nhân viên có mã lớn hơn 10

Kết quả=π(Tên)(Ϭ(manhanvien)>10)(Nhân viên)

4.Tìm mã hoá đơn có hơn 1 sản phẩm

Kết quả=π(MaHD)(Ϭ(Soluong)>1)(Hoá Đơn)

5 Tìm tên khách hàng mua trên 2 sản phẩm ghi trong hoá đơn

Kết quả=π(Tên.Khách hàng#,Soluong.Hoá đơn)(Ϭ(Tên.Khách hàng#=Soluong.Hoá đơn) AND(Soluong.Hoá đơn>2) 6.Tìm mã sản phẩm có giá thành là 1000000

Kết quả=π(id)(Ϭ(id.Sản phẩm)=1000000)(Sản phẩm)

Trang 13

7 Lập danh sách các sản phẩm có giá trên 1000000

Sản phẩm: Giá cả=”1000000”[MaSP, TenNSX];

8.Tìm tên nhà sản xuất có số lượng mặt hàng lớn hơn 10

Kết quả=π(Tên.Nhà sản xuất)(Ϭ((tên.Nhà sản xuất)>10)(Nhà sản xuất)

9.Tìm mã hóa đơn và mã khách hàng của khách hàng mua hàng của nhân viên có

mã xác đinh

Biểu thức truy vấn:

Kết quả=π(HoaDon.MaHD#,Khachhang.MaKH#) (σ((Khachhang.MaKH#=HoaDon.MaKH#) AND

(Khachhang.MaKH#=SuDung.MaKH#) AND (SuDung.MaDV#=DichVu.MaDV#) AND

(DichVu.TenDV=Thuê taxi))

(HoaDon×Khachhang×SuDung×DichVu))

10 câu truy vấn SQL áp dụng cho các thực thể trên

1: Tìm tên của tất cả các khách hàng là nữ sinh từ năm 1970-1990

SELECT TenKH

FROMKhachhang

WHEREGioitinh = 0 AND

YEAR(Namsinh) BETWEEN 1970 AND 1990

2: Tìm tên của tất cả các khách hàng là nam sinh trước năm 1970

SELECT TenKH

FROM Khachhang

WHERE Gioitinh = 1 AND YEAR(Ngaysinh) < 1970

3.: Tìm tên của tất cả nhân viên có mã lớn hơn 10

SELECT MaNV

FROM Nhân viên

WHERE MaNV>10

Trang 14

4.lập danh sách khách hàng mua trên 2 sản phẩm

SELECT TenKH, MaKH, MaHD,

FROM Khách hàng, Hoá đơn

WHERE SoLuong>2

5.Lập danh sách các mặt hàng có giá trên 1000000

SELECT *

FROM Sản phẩm

WHERE Gia>1000000

6.Lập danh sách nhà sản xuất có số mặt hàng >10

SELECT *

FROM Sản phẩm, Nhà sản xuất

WHERE SoLuong.Nhà sản xuất>10

7.Lập danh sách các khách hàng là nam mua trên 2 món hàng và sinh năm 1992 SELECT GioiTinh.Khách Hàng, SoLuong.Hoá Đơn, NamSinh.Khách Hàng

FROM Khách hàng, Hoá đơn

WHERE GioiTinh.Khách hàng=1 AND SoLuong.Hoá Đơn>2 AND NamSinh.Khách hàng=”1991”

8.Tìm khách hàng thông qua mã hoá đơn và mã nhân viên

SELECT *

FROM Khách hàng, Hoá Đơn, Nhân viên

WHERE MaNV=MaKH AND MaHD=MaKH AND MaNV=MaHD

9.Tìm hoá đơn có trên 2 mặt hàng và 2 nhà sản xuất

SELECT TenSPHD NSXHD

Trang 15

FROM Hoá đơn

WHERE SoLuong.TenSPHD>2 AND SoLuong.NSXHD>2

Ngày đăng: 29/03/2015, 22:05

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w