Tải bản đầy đủ (.docx) (25 trang)

Bài tập lớn môn cơ sở dữ liệu sql server

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (242.66 KB, 25 trang )

BÁO CÁO TỔNG THỂ
XÂY DỰNG HỆ CƠ SỞ DỮ LIỆU QUẢN LÝ CỬA HÀNG THUỐC LÁ
VÀ DƯỢC PHẨM

Họ và tên: Đỗ Minh Huy
Lớp:58TH3
Mã sv: 1651060851

BÀI TẬP LỚN
MÔN HỌC: CƠ SỞ DỮ LIỆU

1.Tên đề tài
Xây dựng cơ sở dữ liệu cho bài toán quản lý hoạt động của cửa hàng
2.Mục đích
Xây dựng cơ sở dữ liệu cho bài toán trên hệ quản trị MS SQL Sever
3.Công việc cần thực hiện
-

Xác định quy tắc /ràng buộc, xây dựng mô hình thực thể liên kết ER
Chuyển từ mô hình thực thể liên kết sang mô hình quan hệ
Xác định khóa
Chuẩn hóa lược đồ quan hệ 3NF hoặc BCNF
Câu lệnh truy vấn dữ liệu SQL

4.Yêu cầu
Yêu cầu mỗi báo cáo phải trình bày rõ ràng, không có lỗi chính tả, từ 15-25
trang, cỡ chữ Times New Roman 13 hoặc tương đương, dãn dòng 1.2cm, đầu trang
cuối trang 2cm, lề trái 3.5cm, lề phải 2cm.
5. Tài liệu tham khảo
- Bài giảng của giáo viên


1


MỤC LỤC
MÔ TẢ BÀI TOÁN..............................................................................................3

CHƯƠNG I:XÁC ĐỊNH QUY TẮC RÀNG BUỘC, XÂY DỰNG MÔ HÌNH THỰC
THỂ LIÊN KẾT ER
Xác định quy tắc, ràng buộc………………………………………….4
Xác định các loại thực thể và thuộc tính của chúng………………….4
Xây dựng mô hình thực thể liên kết………………………………….5

CHƯƠNG II: CHUYỂN TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH
QUAN HỆ
Chuyển từ mô hình thực thể liên kết sang mô hình quan hệ…………6

CHƯƠNG III: XÁC ĐỊNH KHÓA
Xác định phụ thuộc hàm……………………………………………..7
Xác định khóa………………………………………………………..7

CHƯƠNG VI: CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ THÀNH DẠNG CHUẨN 3NF
HOẶC BCNF
Chuẩn hóa lược đồ quan hệ thành dạng chuẩn 3NF…………………11

CHƯƠNG V: CÂU LÊNH TRUY VẤN DỮ LIỆU SQL
Tạo bảng……………………………………………………………..14
Thêm giá trị cho bản ghi……………………………………………..16
Truy vấn dữ liệu……………………………………………………...19

2



*** Bài toán thực tế***

1, Hệ CSDL :
- Quản lí danh sách các nhân viên trong cửa hàng.
- Quản lí việc xuất các hàng hóa trong cửa hàng, các hóa đơn nhập hàng,
hóa đơn bán hàng và đơn đặt hàng.
- Quản lí danh sách các khách hàng và các đối tác cung cấp hàng hóa.

2, Yêu cầu:
- Dữ liệu về các nhân viên trong cửa hàng, gồm các thông tin về: họ tên,
ngày sinh, số điện thoại, địa chỉ, mã nhân viên, …
- Dữ liệu về hàng hóa: mã hàng hóa, tên, số lượng, giá thành, …
- Dữ liệu về thông tin khách hàng: mã khách hàng, họ tên, địa chỉ, số điện
thoại, mặt hàng đã mua, …
- Dữ liệu về các đối tác cung cấp hàng( các nhà sản xuất dụng cụ văn phòng
phẩm, nhà xuất bản,… ): mã đối tác, tên, địa chỉ, số điện thoại sản phẩm,

- Dữ liệu về các hóa đơn nhập hàng: đỗi tác, hàng hóa, số lượng, đơn giá, …

I.

Xác định quy tắc/rằng buộc, xây dựng mô hình thực thể
liên kết ER
3


Quy tắc/ rằng buộc:
-


Một chủ cửa hàng quản lí 1 hoặc nhiều nhân viên
Một chủ cửa hàng quản lí 1 cửa hàng
Một cửa hàng có 1 hoặc nhiều nhân viên
Một nhân viên chỉ làm việc cho 1 cửa hàng
Một nhân viên có thể nhập hàng từ 1 hoặc nhiều nhà cung cấp
Nhà cung cấp có thể giao hàng cho 1 hoặc nhiều nhân viên
Một nhân viên có thể nhập 1 hoặc nhiều mặt hàng
Mỗi mặt hàng có thể được nhập từ 1 hay nhiều nhân viên
Mỗi nhân viên bán hàng cho 1 hoặc nhiều khách hàng
Mỗi khách hàng mua hàng từ 1 hoặc nhiều nhân viên
Một mặt hàng có thể bán cho 1 hoặc nhiều khách hàng
Một khách hàng có thể mua 1 hoặc nhiều mặt hàng

Các loại thực thể và thuộc tính của chúng:
-

Chủ cửa hàng( tên chủ, sđt, địa chỉ).
Cửa hàng( tên ch, địa chỉ, sđt).
Nhân viên( Mã NV, tên nv, địa chỉ, sđt, giới tính, nhiệm vụ).
Nhà cung cấp( mã cc, tên, sđt, địa chỉ).
Hàng( mã hh, tên hh, số lượng, giá thành).
Khách hàng( mã kh, tên kh, địa chỉ, sđt, giới tính).
2 thực thể yếu: thuốc lá(loại), dược phẩm(tên, loại, công dụng).

Mô hình thực thể ER

SĐT
Tên chủ


TênNV

Địa chỉ
SĐT

Tên CH

Cửa hàng

Giới tính

Quản lí
Nhân viên

Chủ cửa hàng
Địa chỉ

MaNV

Địa chỉ

Nhiệm vụ

SĐT

4

LoạiThuốc lá

Mãhh Công dụng



Làmm
Tên
Mã cc

SL

Nhà cc

Nhập hàng

SL

SĐT

Địa chỉ
Mã nhập

Khách hàng
Tên hh
Hàng
Số lượng
Địa chỉ

Tên khMãkh

Giá thành
Giới tính


Sđt

Dược phẩm

Tên

II.

Loại

Chuyển từ mô hình thực thể sang mô hình quan hệ

Chủ cửa hàng
Tên chủ | Địa chỉ | SĐT .
Làm
Mã NV | Tên CH | Tên chủ .
Cửa hàng
5
Bán


Tên CH | Địa chỉ | SĐT .
Nhân viên
Mã NV | Tên NV | Địa chỉ | Tuổi | Giới tính | Nhiệm vụ | SĐT .
Bán hàng
Mã KH | Mã NV | Mã HH | Số lượng .
Khách hàng
Mã KH | Tên KH | Địa chỉ | Giới tính | Tuổi | SĐT.
Hàng hóa
Mã HH | Tên HH | Số lượng | Giá thành | Loại.

Dược phẩm
Mã HH | Tên | Loại | Công dụng.
Thuốc lá
Mã HH | Loại.
Nhập hàng
Mã nhập hàng | Mã HH | Mã NV | Mã CC | Số lượng.
Nhà cung cấp
Mã CC | Tên CC | Địa chỉ | SĐT.

III. Xác định khóa
Các phụ thuộc hàm:
-

F1 = {Tên chủ → Địa chỉ, Tên chủ → SĐT }

-

F2 = {Tên CH → Địa chỉ, Tên CH → SĐT }
F3 = {Mã NV → Tên CH, Mã NV → Tên chủ }
F4 = {Mã NV → Tên NV, Mã NV → Địa chỉ, Mã NV → Tuổi, Mã NV →
Giới tính, Mã NV → SĐT}
6


-

F5 = {Mã NV, Mã HH, Mã KH}
F6 = {Mã KH → Tên KH, Mã KH → Địa chỉ, Mã KH → Giới tính, Mã KH →
Tuổi, Mã KH → SĐT}
F7 = {Mã HH → Tên HH, Mã HH → Số lượng, Mã HH → Giá thành, Mã HH


Loại}
F8 = {Mã HH → Loại, Mã HH → Tên, Mã HH → Loại, Mã HH → Công dụng}
F9 = {Mã HH → Loại}
F10 = {Mã nhập hàng → Mã NV, Mã nhập hàng → Mã HH, Mã nhập hàng →
Mã CC}

-

F11 ={Mã CC → Tên CC; Mã CC → Địa chỉ; Tên CC, Địa chỉ → Mã CC, Mã
CC → SĐT}
Xác định khóa:
-

Xét quan hệ CHUCH
Đặt Tenchu=A, Diachi=B, SĐT=C
Khi đó F={A→B, A→C}
U=ABC
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BC (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABC=U nên K=A là khóa . Tức là khóa của quan hệ CHUCH là
TenChu.

-

Xét quan hệ CUAHANG
Đặt TenCH=A, Diachi=B, SĐT=C
Khi đó F={A→B, A→C}
U=ABC

T=A(T là tập thuộc tính xuất hiện bên trái)
P=BC (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABC=U nên K=A là khóa . Tức là khóa của quan hệ CUAHANG
là TenCH.
7


-

Xét quan hệ NHANVIEN

Đặt MaNV=A, TenNV=B, DiaChi=C, SĐT =D, NhiemVu=E, GioiTinh=F,
Tuoi=G
Khi đó F={A→B, A→C,A→D, A→E, A→F, A→G }
U=ABCDEFG
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BCDEFG (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABCDEFG=U nên K=A là khóa . Tức là khóa của quan hệ
NHANVIEN là MaNV.
-

Xét quan hệ LAM
Đặt MaNV=A, TenCH=B, TenChu=C
Khi đó F={AB→C }
U=ABC
T=AB(T là tập thuộc tính xuất hiện bên trái)
P=C (P là tập thuộc tính xuất hiện bên phải)
K=U/P= AB

Ta có K+=ABC=U nên K=AB là khóa . Tức là khóa của quan hệ LAM là
MaNV, TenCH.

-

Xét quan hệ KHACHHANG
Đặt MaKH=A, TenKH=B, DiaChi=C, SĐT =D, GioiTinh=F, Tuoi=G
Khi đó F={A→B, A→C,A→D, A→F, A→G }
U=ABCDFG
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BCDFG (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABCDFG=U nên K=A là khóa . Tức là khóa của quan hệ
KHACHANG là MaKH.

-

Xét quan hệ HANGHOA
8


Đặt MaHH=A, Loai=B, SoLuong=C, Gia =D, TenHH=E
Khi đó F={A→B, A→C,A→D, A→E }
U=ABCDE
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BCDE (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABCDE=U nên K=A là khóa . Tức là khóa của quan hệ
HANGHOA là MaHH.
-


Xét quan hệ BANHANG
Đặt MaNV=A, MaKH=B, MaHH=C, SoLuong=D
Khi đó F={ABC→D }
U=ABCD
T=ABC(T là tập thuộc tính xuất hiện bên trái)
P=D (P là tập thuộc tính xuất hiện bên phải)
K=U/P= ABC
Ta có K+=ABCD=U nên K=ABC là khóa . Tức là khóa của quan hệ
BANHANG là MaNV, MaKH, MaHH.

-

Xét quan hệ DUOCPHAM
Đặt MaHH=A, Ten=B, CongDung=C, Loai =D
Khi đó F={A→B, A→C,A→D }
U=ABCD
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BCD (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABCD=U nên K=A là khóa . Tức là khóa của quan hệ
DUOCPHAM là MaHH.

-

Xét quan hệ THUOCLA
Đặt MaHH=A, Loai=B
Khi đó F={A→B}
9



U=AB
T=A(T là tập thuộc tính xuất hiện bên trái)
P=B (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=AB=U nên K=A là khóa . Tức là khóa của quan hệ THUOCLA là
MaHH.
-

Xét quan hệ NHAPHANG
Đặt MaNH=A, MaNV=B, MaCC =C, SoLuong =D
Khi đó F={A→B, A→C,A→D}
U=ABCD
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BCD (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABCD=U nên K=A là khóa . Tức là khóa của quan hệ
NHAPHANG là MaNH.

-

Xét quan hệ NHACC
Đặt MaCC=A, TenCC=B, DiaChi=C, SĐT =D
Khi đó F={A→B, A→C,A→D }
U=ABCD
T=A(T là tập thuộc tính xuất hiện bên trái)
P=BCD (P là tập thuộc tính xuất hiện bên phải)
K=U/P= A
Ta có K+=ABCD=U nên K=A là khóa . Tức là khóa của quan hệ NHACC là
MaCC.


10


IV.

Chuẩn hóa lược đồ quan hệ thành dạng chuẩn 3NF
hoặc BCNF.

Từ 11 lược đồ quan hệ chuẩn hóa thành dạng 3NF:


Chủ cửa hàng (Tên chủ, Địa chỉ, SĐT)
F1 = {Tên chủ → Địa chỉ, Tên chủ → SĐT }

Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở
dạng chuẩn 1NF.
 Tên chủ là khóa dự bị, thuộc tính Địa chỉ, SĐT phụ thuộc hàm đầy đủ
vào Tên chủ: lược đồ ở dạng chuẩn 2NF.




Do Tên chủ là siêu khóa: lược đồ ở dạng chuẩn 3NF.

Cửa hàng (Tên CH, Địa chỉ, SĐT)
F2 = {Tên CH → Địa chỉ, Tên CH → SĐT }
 Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng
chuẩn 1NF.
 Tên CH là khóa dự bị, thuộc tính Địa chỉ, SĐT phụ thuộc hàm đầy đủ vào

Tên CH: lược đồ ở dạng chuẩn 2NF.
 Do Tên CH → Địa chỉ, Tên CH là siêu khóa: lược đồ ở dạng chuẩn 3NF.



Làm (Mã NV, Tên CH, Tên chủ)
F3 = {Mã NV → Tên CH, Mã NV → Tên chủ }

Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở
dạng chuẩn 1NF.

Mã NV là khóa dự bị, thuộc tính Tên chủ, Tên CH phụ thuộc hàm
đầy đủ vào Mã NV: lược đồ ở dạng chuẩn 2NF.

Do Mã NV → Tên CH, Mã NV → Tên chủ và Mã NV là siêu
khóa, lược đồ thuộc chuẩn 3NF.
Nhân viên (Mã NV, Tên NV, Địa chỉ, Tuổi, Giới tính, SĐT)
F4 = {Mã NV → Tên NV, Mã NV → Địa chỉ, Mã NV → Tuổi, Mã NV →
Giới tính, Mã NV → SĐT}

Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở
dạng chuẩn 1NF.

11



Lược đồ có khóa dự bị là Mã NV, các thuộc tính khác phụ thuộc
đầy đủ vào Mã NV, nên lược đồ ở dạng chuẩn 2NF.


Do Mã NV → Tên NV, Mã NV → Địa chỉ, Mã NV → Tuổi, Mã
NV →
Giới tính, Mã NV → SĐT và Mã NV là khóa dự bị nên lược đồ ở dạng
chuẩn 3NF.


Bán hàng (Mã NV, Mã HH, Mã KH)
F5 = {Mã NV, Mã HH, Mã KH}
 Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng
chuẩn 1NF.
 3 thuộc tính không phụ thuộc nhau, bộ gồm cả 3 thuộc tính là khóa dự bị
nên lược đồ ở dạng chuẩn 3NF.



Khách hàng (Mã KH, Tên KH, Địa chỉ, Giới tính, Tuổi, SĐT)
F6 = {Mã KH → Tên KH, Mã KH → Địa chỉ, Mã KH → Giới tính, Mã KH →
Tuổi, Mã KH → SĐT}
 Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng
chuẩn 1NF.
 Mã KH là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm đầy đủ
vào Mã KH nên lược đồ ở dạng chuẩn 2NF.
 Do Mã KH → Tên KH, Mã KH → Địa chỉ, Mã KH → Giới tính, Mã KH
→ Tuổi, Mã KH → SĐT và Mã KH là siêu khóa, nên lược đồ ở dạng
chuẩn 3NF.



Hàng hóa (Mã HH, Tên HH, Số lượng, Giá thành, Loại)
F7 = {Mã HH → Tên HH, Mã HH → Số lượng, Mã HH → Giá thành, Mã HH


Loại}
 Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng
chuẩn 1NF.
 Mã HH là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm đầy đủ
vào Mã HH nên lược đồ ở dạng chuẩn 2NF.
 Do Mã HH → Tên HH, Mã HH → Số lượng, Mã HH → Giá thành, Mã
HH → Loại, Mã HH là siêu khóa, nên lược đồ ở dạng chuẩn 3NF.



Dược phẩm (Mã HH, Tên, Loại, Công dụng)
12


F8 = {Mã HH → Loại, Mã HH → Tên, Mã HH → Loại, Mã HH → Công dụng}

Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở
dạng chuẩn 1NF.

Mã HH là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm
đầy đủ vào Mã HH nên lược đồ ở dạng chuẩn 2NF.

Do Mã HH → Loại, Mã HH → Tên, Mã HH → Loại, Mã HH →
Công dụng, Mã HH là siêu khóa, nên lược đồ ở dạng chuẩn 3NF.


Thuốc lá (Mã HH, Loại)
F9 = {Mã HH → Loại}


Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở
dạng chuẩn 1NF.

Mã HH là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm
đầy đủ vào Mã HH nên lược đồ ở dạng chuẩn 2NF.

Do Mã HH → Loại, Mã HH là siêu khóa, nên lược đồ ở dạng
chuẩn 3NF.



Nhập hàng (Mã nhập hàng, Mã NV, Mã HH, Mã CC)
F10 = {Mã nhập hàng → Mã NV, Mã nhập hàng → Mã HH, Mã nhập hàng →
Mã CC}
 Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng
chuẩn 1NF.
 Mã nhập hàng là khóa dự bị, các thuộc tính không khóa phụ thuộc hàm
đầy đủ vào thuộc tính khóa nên đồ thị thuộc dạng chuẩn 2NF.
 Mã nhập hàng → Mã NVN, Mã nhập hàng → Mã HH, Mã nhập hàng →
Mã CC, Mã nhập hàng là khóa dự bị nên lược đồ thuộc dạng chuẩn 3NF.



Nhà cung cấp (Mã CC, Tên CC, Địa chỉ, SĐT)
F11 ={Mã CC → Tên CC; Mã CC → Địa chỉ; Tên CC, Địa chỉ → Mã CC, Mã
CC → SĐT}
 Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng
chuẩn 1NF.
 Lược đồ có 2 khóa dự bị: Mã CC và Tên CC, Địa chỉ, cả 3 thuộc tính đều
là thuộc tính khóa nên lược đồ ở dạng chuẩn 3NF.


13


V.

Câu hỏi truy vấn dữ liệu SQL.
Từ 11 lược đồ ở dạng chuẩn 3NF, ta xaya dựng thành 11 bảng dữ liệu:

** 11 bảng dữ liệu
1.

Bảng CHUCH: thông tin về chủ cửa hàng

Create table CHUCH(
TenChu nvarchar(30) not null primary key,
Diachi nvarchar(50),
SĐT char(15) );
2.

Bảng CUAHANG: thông tin về cửa hàng

Create table CUAHANG(
TenCH nvarchar(30) not null primary key,
Diachi nvarchar(50),
SĐT char(15) );
3.

Bảng NHANVIEN: thông tin về các nhân viên


Create table NHANVIEN(
MaNV char(8) not null primary key,
Ten nvarchar(30),
DiaChi nvarchar(50),
Tuoi int,
GioiTinh nvarchar(4),
NhiemVu nvarchar(15),
SĐT nvarchar(15) );
4.

Bảng LAM: quan hệ của nhân viên, chủ, cửa hàng

Create table LAM(
MaNV char(8) not null,
TenCH nvarchar(30) not null,
TenChu nvarchar(30),
Primary key(MaNV,TenCH),
Foreign key(TenChu) references CHUCH (TenChu) );
5.

Bảng HANGHOA: thông tin về hàng hóa

Create table HANGHOA(
14


MaHH char(8) not null primary key,
Ten nvarchar(50) ,
Gia float,
SoLuong int ));

6.

Bảng DUOCPHAM: thông tin dược phẩm

Create table DUOCPHAM(
MaHH char(8) not null primary key,
Ten nvarchar(10) ,
CongDung nvarchar(20),
Loai nvarchar(10) ,
Foreign key (MaHH) references HANGHOA (MaHH) );
7.

Bảng THUOCLA: thông tin về thuốc lá

Create table THUOCLA(
MaHH char(8) not null primary key,
Loai nvarchar(10),
Foreign key (MaHH) references HANGHOA(MaHH) );
8.

Bang KHACHHANG: thông tin về khách hàng

Create table KHACHHANG(
MaKH char(8) not null primary key,
Ten nvarchar(30) ,
DiaChi nvarchar (50),
GioiTinh nvarchar(4),
Tuoi int,
SĐT char(15) );
9.


Bảng BANHANG: thông tin về việc bán hàng

Create table BANHANG(
MaNV char(8) not null,
MaKH char(8) not null,
MaHH char(8) not null,
SoLuong int,
Primary key (MaNV,MaKH,MaHH),
Foreign key (MaNV) references NHANVIEN (MaNV),
Foreign key (MaKH) references KHACHHANG (MaKH),
15


Foreign key (MaHH) references HANGHOA (MaHH) );
10.

Bảng NHACC: thông tin về nhà cung cấp

Create table NHACC(
MaCC char(8) not null primary key,
Ten nvarchar(30),
DiaChi nvarchar(50),
SĐT char(15) );
11.

Bảng NHAPHANG: thông tin nhập hàng

Create table NHAPHANG(
MaNH char(8) not null primary key,

MaCC char (8),
MaNV char(8),
MaHH char(8),
SoLuong int,
Foreign key (MaCC) references NHACC (MaCC),
Foreign key (MaHH) references HANGHOA (MaHH),
Foreign key (MaNV) references NHANVIEN (MaNV) );

** Thêm giá trị cho các bảng :
Bảng CHUCH:

Bảng CUAHANG:

Bảng HANGHOA:

16


Bảng NHANVIEN:

Bảng LAM:

Bảng THUOCLA:

17


Bảng DUOCPHAM:

Bảng BANHANG:


Bảng KHACHHANG:

Bảng NHACC:
18


Bảng NHAPHANG:

** Câu lệnh truy vấn:
Câu 1: Đưa ra tên hàng hóa, giá cả và số lượng của tất cả mặt hàng
Câu lệnh SQL:
Select Ten, Gia, SoLuong
From HANGHOA;

Câu 2: Đưa ra tất cả gúa trị của bảng HANGHOA theo thứ tự giảm dần của giá cả:
19


Câu lệnh SQL:
Select *
From HANGHOA
Order by Gia desc;

Câu 3: Đưa ra mã khách, tên khách của các khách hàng có họ Nguyễn
Câu lệnh SQL:
Select MaKH, Ten
From KHACHHANG
Where Ten like N“Nguyễn%” ;


Câu 4: Tính giá tiền trung bình của thuốc lá:
Câu lệnh SQL:
Select AVG(Gia) as giaTB
From HANGHOA, THUOCLA
Where HANGHOA.MaHH=THUOCLA.MaHH

Câu 5: Tính tổng số khách hàng trong bảng KHACHHANG có đại chỉ là Bắc Ninh:
Câu lệnh SQL:
Select count(MaKH) as tongso
From KHACHHANG
Where DiaChi like N“Bắc Ninh”;

Câu 6: Đưa ra tên hàng hóa có giá thành lớn nhât:
Câu lệnh SQL:
Select Ten
20


From HANGHOA
Where Gia=(select max(Gia) from HANGHOA );

Kết quả:

Câu 7: Số lượng hàng bán của từng nhân viên :
Câu lệnh SQL:
Select NV.Ten, SUM(BH.SoLuong) As solanban
From NHANVIEN NV, BANHANG BH
Where NV.MaNV=BH.MaNV
Group by NV.Ten;


Kết quả:

Câu 8: Tính tổng tiền sau khi bán hết hàng trong kho của từng mặt hàng:
Câu lệnh SQL:
Select MaHH, Gia*SoLuong as tongtien
From HANGHOA;

Câu 9: Cho biết các thông tin về khách và việc mua hàng của họ
Câu lệnh SQL:
21


Select KHACHHANG.*, BANHANG.*
From KHACHHANG left outer join BANHANG on
KHACHHANG.MaKH=BANHANG.MaKH;
Kết quá:

Câu 10: Cho biết thông tin về mặt hàng có số lượng nhiều nhất:
Câu lệnh SQL:
Select *
From HANGHOA
Where SoLuong=(Select Max(SoLuong) From HANGHOA);

Kết quá:
22


Câu 11: Cho biết mặt hàng chưa từng được bán:
Câu lệnh SQL:
Select *

From HANGHOA
Where HANGHOA.MaHH Not in (select BANHANG.MaHH from BANHANG);

Kết quá:
Câu 12: Cho biết các mặt hàng có số lượng không phải lớn nhất:
Câu lệnh SQL:
Select *
From HANGHOA
Where SoLuong< some (select SoLuong from HANGHOA);

Kết quá:
Câu 13: Số lượng trung bình 1 lần đặt hàng của 1 mặt hàng:
Câu lệnh SQL:
Select MaHH, AVG(SoLuong)
From BANHANG
Group by MaHH;
23


Kết quá:
Câu 14: Mặt hàng có số lượng trung bình lớn nhất:
Câu lệnh SQL:
Select MaHH, AVG(SoLuong)
From BANHANG
Group by MaHH
Having AVG(SoLuong)>=All( Select Avg(SoLuong) from BANHANG group by
MaHH);

Kết quá:


Câu 15: Cho biết nhân viên và khách hàng có địa chỉ Hưng Yên :
Câu lệnh SQL:
Select Ten
From NHANVIEN
Where DiaChi like N’Hưng Yên’
Union
Select Ten
From KHACHHANG
Where DiaChi like N’Hưng Yên’;

Kết quá:
24


25


×