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

Bài tập lớn môn Cơ sở dữ liệu Đề tài:Xây dựng phần mềm quản lý bán hàng

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 (234.5 KB, 16 trang )

TRƯỜNG ĐẠI HỌC THUỶ LỢI
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN
MÔN:CƠ SỞ DỮ LIỆU
ĐỀ TÀI: XÂY DỰNG PHẦN MỀM QUẢN LÝ BÁN HÀNG
-----------------------------

Sinh viên thực hiện: Nguyễn Trung Đức (Nhóm trưởng)
Trần Duy Khánh
Khuất Quang Minh

Nhóm

: Nhóm 20

Lớp

: 62TH4

Giảng viên hướng dẫn

: Nguyễn Ngọc Quỳnh Châu

1


MỤC LỤC

Bảng phần chia công việc
STT


1
2
3
4
5

Công việc cần làm
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 khoá
Chuẩn hoá lược đồ quan hệ thành dạng
chuẩn 3NF hoặc BCNF
Câu lệnh truy vấn dữ liệu SQL

Thành viên
Nguyễn Trung Đức
Trần Duy Khánh
Khuất Quanh Minh
Cả nhóm
10 câu đầu:Khánh
10 câu giữa:Minh
10 câu cuối:Đức

LỜI MỞ ĐẦU
Với sự phát triển bùng nổ của cơng nghệ thơng tin như hiện nay thì vi ệc ứng
dụng công nghệ thông tin vào trong quản lý là hết sức cần thi ết nh ằm đ ơn gi ản
hóa và nâng cao hiệu suất cơng việc. Chính vì vậy mà sự l ớn mạnh của các doanh
nghiệp công nghệ thông tin trong nước đã và đang đóng một vai trị vơ cùng quan

trọng trong sự phát triển kinh tế của nước nhà.
Việt Nam đã chính thức gia nhập Tổ Chức Thương Mại Thế Giới, mở ra nh ững cơ
hội và thách thức mới. Hịa mình vào dịng chảy kinh tế chun nghiệp có quy mơ
lớn nhất hành tinh, với những quy định mới áp dụng cho t ất c ả các t ổ ch ức kinh
tế, các rào cản thương mại cũng từng bước được gỡ bỏ. H ội nh ập kinh tế qu ốc
tế càng sâu, các sản phẩm của Việt Nam càng ph ải ch ịu áp l ực c ạnh tranh m ạnh
mẽ. Vì vậy, các doanh nghiệp phải nghiên cứu, áp dụng công ngh ệ m ới đ ể t ạo l ợi
thế cạnh tranh riêng cho mình.
Nhu cầu thực tế của xã hội địi hỏi con người phải ln năng động và sáng tạo
để tạo ra ngày càng nhiều sản phẩm cho xã hội. Nhân sự cho lĩnh vực công ngh ệ
thơng tin khơng bao giờ là đủ. Chính vì thế mà các công ty, các trung tâm đào t ạo
nhân sự công nghệ thông tin ra đời. Để quản lý được các học viên của mình,
trung tâm thường dùng các văn bản giấy tờ để quản lý nên mất nhi ều th ời gian
và công sức. Nhận thấy được điều đó, em đã mạnh dạn đề xuất đề tài này đ ể
2


khắc phục những nhược điểm trên. Đó là những nội dung cơ bản đề cập đến
trong đề tài này.
Hôm nay em chọn đề tài là “xây dựng phần mềm quản lý bán hàng”. Ai cũng bi ết,
muốn phát triển cần kết hợp song song giữa 2 yếu tố con người và cơng ngh ệ.
Chính vì vậy, với tốc độ phát tri ển mạnh mẽ của Công nghệ thông tin các l ập
trình viên đã phát minh ra nhiều phần mềm hữu ích nhằm phục vụ cho cơng
việc của con người và phần mềm quản lý bán hàng cũng là một trong những v ấn
đề các cửa hàng quan tâm nhiều nhất, nó giúp cho cơng tác nghi ệp v ụ c ủa các
cửa hàng giảm thiểu tối đa những vất vả trong công vi ệc giúp cho vi ệc qu ản lý
dễ dàng hơn.

Chương 1 XÁC ĐỊNH CÁC QUY TẮC/RÀNG BUỘC VÀ MƠ HÌNH THỰC THỂ ER
1. Các quy tắc/ràng buộc

1. Một công ty TNHH TTTM Lotte mở ra nhiều siêu th ị trên kh ắp c ả nước.
2. Mỗi siêu thị đều có các nhà cung cấp sản phẩm cho siêu thị.
3. Siêu thị có nhiều gian hàng.
4. Mỗi gian hàng chứa nhiều mặt hàng, m ỗi mặt hàng thu ộc về m ột gian hàng

đó (thuộc quyền quản lý của gian hàng đó).

5. Mỗi gian hàng thuê nhiều nhân viên làm vi ệc, m ột nhân viên ch ỉ có th ể làm

việc một gian hàng.

6. Mỗi gian hàng có một người quản lý, đó là một nhân viên.
7. Mỗi nhân viên có thể phục vụ nhiều khách hàng.
8. Một khách hàng chỉ được phục vụ bởi một nhân viên.
9. Mỗi khách hàng có thể mua hàng nhiều lần trong một ngày nên có th ể có

nhiều hố đơn.

10. Một hoá đơn chỉ thuộc về một khách hàng.
3


11. Mỗi nhân viên có thể kiểm tra thu tiền nhiều hoá đơn.
12. Một hoá đơn chỉ do một nhân viên xử lý.
13. Một hố đơn có thể chi tiết nhiều mặt hàng.
14. Một mặt hàng có thể chi tiết trong nhiều hoá đơn.

2. Xác định các thực thể và thuộc tính
1.2.1 GIANHANG (MaGH, TenGH, Vitri)
Trong một siêu thị có nhiều gian hàng mỗi gian hàng có m ột mã gian hàng

duy nhất để xác định gian hàng đó và trong gian hàng cịn có các thơng tin nh ư là
tên gian hàng và vị trí.
1.2.2 LOAIMATHANG (MaL, TenL, Soluong)
Mỗi loại mặt hàng có một mã loại duy nhất để xác định loại m ặt hàng và
trong loại mặt hàng cịn có các thơng tin là tên loại và s ố l ương.
1.2.3 MATHANG (MaMH, TenMH, Soluong, HSD, NSX)
Mỗi mặt hàng có một mã mặt hàng duy nhất để xác định các mặt hàng
khác ở trong siêu thị và trong mặt hàng cịn có các thơng tin là tên m ặt hàng, s ố
lượng, hạn sử dụng và ngày sản xuất.
1.2.4 NHACUNGCAP (MaNCC, TenNCC, SDT, Diachi)
Mỗi nhà cung cấp mặt hàng cho siêu thị đều có một mã nhà cung c ấp duy
nhất để phân biệt với các nhà cung cấp khác và trong nhà cung c ấp cịn có các
thông tin là tên, số điện thoại, địa chỉ nhà cung cấp.
1.2.5 NHANVIEN (MaNV, TenNV, Luong, Ngaysinh, Quequan, SDT)
Mỗi nhân viên làm việc cho mỗi gian hàng có 1 mã nhân viên đ ể phân bi ệt
với các nhân viên khác và nhân viên có thơng tin h ọ tên, ngày sinh, quê quán, s ố
điện thoại để liên lạc, lương của nhân viên.
1.2.6 KHACHHANG (MaKH, Hoten, SDT, DiaChi )
Mỗi khách hàng khi đến mua hàng đều có m ột mã khách đ ể phân bi ệt v ới
các khách hàng khác và bao gồm các thông tin về họ tên khách, s ố đi ện tho ại
khách, địa chỉ khách hàng.
1.2.7 HOADON (MaHD, NgayHD, GiaMH)
Mỗi khách hàng mua hàng đều có một hóa đơn, mỗi hóa đơn đ ều có m ột
mã hóa đơn duy nhất và có thêm các thơng tin là ngày hóa đ ơn mua hàng, giá m ặt
hàng.

4


3. Mơ hình thực thể liên kết ER


5


Chương 2 CHUYỂN MƠ HÌNH ER SANG MƠ HÌNH QUAN HỆ
CUNGCAP

NHACUNGCAP
MaNCC

MaNCC

TenNCC

MaMH

SDT
Diachi

GIANHANG1
TenGH
Vitri

MATHANG1
TenMH
Soluong

LOAIMATHANG
MaL


GIANHANG2
MaGH

MaGH

TenGH

TenL
Soluong

MATHANG2
MaMH
MaL
TenMH
NSX

NHANVI EN

HSD

MaNV

CHITIET

TenNV

MaHD

Ngaysinh


MaMH

Quequan

SoHD

SDT

SLBan

Luong

DGia

TGBD
TGKT
MaGH

HOADON
MaHD
MaNV

KHACHHANG

MaKH

MaKH

NgayHD


MaNV

GiaMH

Hoten
Diachi
SDT

6


Chương 3 XÁC ĐỊNH KHOÁ
1. Quan hệ GIANHANG(MaGH,TenGH,Vitri)
f1 = MaGH→ TenGH
f2 = MaGH→ Vitri
f3 = TenGH → ViTri
Ký hiệu các thuộc tính của quan hệ GIANHANG l ần lượt là R 1(A,B,C) có
phụ thuộc hàm : F1 = {A→B,A→C,B→C}
Ta có giao của các khóa là X= ABC – {BC} = A
+
• Xét A = ABC
• Vậy A là khóa của quan hệ R 1.Tức là, khóa của quan hệ
GIANHANG là MaGH.


2. Quan hệ LOAIMATHANG(MaL,MaGH,TenL,Soluong)
f1 = MaL → MaGH
f2 = MaL → TenL
f3 = MaL → Soluong
Ký hiệu các thuộc tính của quan hệ LOAIMATHANG lần lượt là

R2(A,B,C,D) có phụ thuộc hàm : F2 = {A→B,A→C,A→D}
Ta có giao của các khóa là X= A B C D – {BCD} = A
+
• Xét A = ABC.
• Vậy A là khóa của quan hệ R 2.Tức là, khóa của quan hệ
LOAIMATHANG là MaL.


3. Quan hệ MATHANG(MaMH,TenMH,Soluong,NSX,HSD,MaL)
f1 = MaMH → TenMH
f2 = MaMH → Soluong
f3 = MaMH → NSX
f4 = MaMH → HSD
f5 = MaMH → MaL
f6 = TenMH → Soluong
Ký hiệu của các thuộc tính của quan hệ MATHANG lần lượt là
R3(A,B,C,D,E,F) có phụ thuộc hàm : F3 = {A→B,A→C,A→D,A →E, A→F,B→C}
Ta có giao của các khóa là X={ABCDEF} – {BCDEF} = A
+
• Xét A = ABCDEF.


7




Vậy A là khóa của quan hệ R 3.Tức là, khóa của quan hệ
MATHANG là MaMH.


4. Quan hệ NHACUNGCAP(MaNCC,TenNCC,SDT,Diachi)
f1 = MaNCC → TenNCC
f2 = MaNCC → SDT
f3 = MaNCC → Diachi
Ký hiệu của các thuộc tính của quan hệ NHACUNGCAP l ần l ượt là
R4(A,B,C,D) có phụ thuộc hàm : F4 = {A→B,A→C,A→D}
Ta có giao của các khóa là X=A BCD – {BCD} = A.
+
• Xét X = (A) = ABCD.
• Vậy A là khóa của quan hệ R 4.Tức là, khóa của quan hệ
NHACUNGCAP là MaNCC.


5. Quan hệ
NHANVIEN(MaNV,TenNV,NgaySinh,Quequan,SDT,Luong,TGBD,TGKT,MaG
H)
f1 = MaNV → TenNV
f2 = MaNV → Ngaysinh
f3 = MaNV → Quequan
f4 = MaNV → SDT
f5 = MaNV → Luong
f6 = MaNV → TGBD
f7 = MaNV → TGKT
f8 = MaNV → MaGH
Ký hiệu của các thuộc tính của quan hệ NHANVIEN l ần lượt là
R5(A,B,C,D,E,F,G,H,J) có phụ thuộc hàm : F5 =
{A→B,A→C,A→D,A→E,A→F,A→G,A→H,A→J}
Ta có giao của các khóa là X={ A BCDEFGHJ} – {BCDEFGHJ} = A
+
• Xét A = ABCDEFGHJ.

• Vậy A là khóa của quan hệ R 5.Tức là, khóa của quan hệ
NHANVIEN là MaNV.


6. Quan hệ KHACHHANG(MaKH,Hoten,SDT,Diachi,MaNV)
f1 = MaKH → Hoten
f2 = MaKH → SDT
f3 = MaKH → Diachi
8


f4 = MaKH → MaNV
Ký hiệu của các thuộc tính của quan hệ KHACHHANG lần lượt là
R6(A,B,C,D,E) có phụ thuộc hàm : F6 = {A→B,A→C,A→D,A→E }
Ta có giao của các khóa là X= { A BCDE} – {BCDE} = A
+
• Xét A = ABCDE
• Vậy A là khóa của quan hệ R 6.Tức là, khóa của quan hệ
KHACHHANG là MaKH.


7. Quan hệ HOADON(MaHD,NgayHD,GiaMH,MaNV,MaKH)
f1 = MaHD → NgayHD
f2 = MaHD → GiaMH
f3 = MaHD → MaNV
f4 = MaHD → MaKH
Ký hiệu của các thuộc tính của quan hệ HOADON l ần lượt là
R7(A,B,C,D,E) có phụ thuộc hàm : F7 = {A→B,A→C,A→D,A→E}
Ta có giao của các khóa là X= { A BCDE} –{BCDE} = A
+

• Xét A = ABCDE.
• Vậy A là khóa của quan hệ R 7.Tức là, khóa của quan hệ HOADON
là MaKH.


8. Quan hệ CHITIET(MaHD,MaMH,SLBan,DGia)
f1 = MaHD,MaMH → SLBan
f2 = MaHD,MaMH → DGia
Ký hiệu của các thuộc tính của quan hệ CHITIET lần lượt là R 8(A,B,C,D)
có phụ thuộc hàm : F8 = {AB→C,AB→D}
Ta có giao của các khóa là X={ A BCD} – {CD} = AB
+
• Xét (AB) = ABCD.
• Vậy AB là khóa của quan hệ R 8.Tức là, khóa của quan hệ CHITIET
là MaHD và MaMH.


9. Quan hệ CUNGCAP(MaNCC,MaMH) F9 = Ø.
Có khóa là MaNCC và MaMH.

9


Chương 4 CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ THÀNH DẠNG CHUẨN 3NF
HOẶC BCNF
1. GIANHANG(MaGH,TenGH,Vitri) R1(A,B,C)






Tập phụ thuộc hàm : F1= {A→B,A→C, B→C} , khóa là A .
Quan hệ đạt 1NF vì tất cả thuộc tính của GIANHANG đều là thuộc
tính đơn nguyên tố.
Ta có R1( ,B,C) chưa ở dạng BCNF vì ta có phụ thuộc hàm B→C có
vế trái là B khơng phải là một siêu khóa.
Tách B→C thành R1→R11(BC) và R12(AB)

F11= B→C, đạt BCNF
F12= A→B có A là một siêu khóa nên F12 đạt chuẩn BCNF.
→ Vậy quan hệ R1(BC,AB)
2. LOAIMATHANG(MaL,MaGH,TenL,Soluong) R2(A,B,C,D)
Tập phụ thuộc hàm : F2= {A→B,A→C,A→D} khóa là A .
• Quan hệ đạt 1NF vì tất cả thuộc tính của LOAIMATHANG đều là
thuộc tính đơn ngun tố.
• Quan hệ đạt BCNF vì {A→B,A→C,A→D} có vế trái là một siêu khóa.


→ Vậy quan hệ R2(ABCD)
3. MATHANG(MaMH,TenMH,Soluong,NSX,HSD,MaL) R3(A,B,C,D,E,F)
Tập phụ thuộc hàm : F2={A→B,A→C,A→D,A→E,A→F,B→C}
khóa là A.
• Quan hệ đạt 1NF vì tất cả thuộc tính của MA THANG đều là
thuộc tính đơn ngun tố.
• Ta có R3(A,B,C,D,E,F) chưa ở dạng BCNF vì ta có phụ thu ộc hàm
B→C có vế trái là B khơng phải là một siêu khóa.
• Tách thành R3→R31(BC) và R32(ABDEF)


F31= B→C,BCNF

F32= {A→B, ,A→D,A→E,A→F} có A là một siêu khóa nên F 32 đạt
chuẩn BCNF.
→ Vậy quan hệ R3(BC,ABDEF)
4. Quan hệ NHACUNGCAP(MaNCC,TenNCC,SDT,Diachi) R4(A,B,C,D)
Tập phụ thuộc hàm : F2= {A→B, A→C, A→D} khóa là A.
• Quan hệ đạt 1NF vì tất cả thu ộc tính của NHACUNGCAP đ ều là
thuộc tính đơn ngun tố.
• Quan hệ đạt BCNF vì {A→B, A→C,A→D} có vế trái là một siêu
khóa.


10


→ Vậy quan hệ R4(ABCD)
5. Quan hệ
NHANVIEN(MaNV,TenNV,NgaySinh,Quequan,SDT,Luong,TGBD,TGKT,MaGH
) R5(A,B,C,D,E,E,G,H,J)
Tập phụ thuộc hàm : F2={A→B,A→C,A→D, A→E, A→F,A →G,
A→H,A →J}khóa là A .
• Quan hệ đạt 1NF vì tất cả thuộc tính của NHANVIEN đều là thuộc
tính đơn ngun tố.
• Quan
hệ
đạt
BCNF

{A→B,A→C,A→D,A→E,A→F,A→G,A→H,A→J} có vế trái là một
siêu khóa.



→ Vậy quan hệ R6(ABCDEFGHJ)
6. Quan hệ KHACHHANG(MaKH,Hoten,SDT,Diachi,MaNV) R6(A,B,C,D,E)
Tập phụ thuộc hàm : F2= {A→B,A→C,A→D, A→E} khóa là A .
• Quan hệ đạt 1NF vì tất cả thuộc tính của KHACHHANG đ ều là
thuộc tính đơn nguyên tố.
• Quan hệ đạt BCNF vì {A→B,A→C,A→D,A→E} có vế trái là một siêu
khóa.


→ Vậy quan hệ R6(ABCDE)
7. Quan hệ HOADON(MaHD,NgayHD,GiaMH,MaNV,MaKH) R7(A,B,C,D,E)
Tập phụ thuộc hàm : F2={A→B, A→C,A→D,A→E} khóa là A.
• Quan hệ đạt 1NF vì tất cả thuộc tính của HOADON đều là thu ộc
tính đơn ngun tố.
• Quan hệ đạt BCNF vì {A→B,A→C,A→D,A→E} có vế trái là một siêu
khóa.


→ Vậy quan hệ R7(ABCDE)
8. Quan hệ CHITIET(MaHD,MaMH,GBan,DGia) R8(A,B,C,D)
Tập phụ thuộc hàm : F8={AB→C, AB→D} khóa là AB .
• Quan hệ đạt 1NF vì tất cả thuộc tính của CHITIET đều là thu ộc
tính đơn ngun tố.
• Quan hệ đạt BCNF vì {AB→C,AB→D} có vế trái là một siêu khóa.


→ Vậy quan hệ R8(ABCDE)
9. Quan hệ CUNGCAP(MaNCC,MaMH) R9(A,B)
Đã ở dạng chuẩn BCNF vì có các thuộc tính là các siêu khóa. → V ậy quan

hệ R9(AB)

11


Chương 5 CÂU LỆNH TRUY VẤN DỮ LIỆU SQL
1. Câu lệnh tạo bảng
5.1.1 Create table GIANHANG1( TenGH varchar(30) not null primary key,
Vitri nchar(10));
5.1.2 Create table GIANHANG2( MaGH nchar(10)not null primary
key,TenGH varchar(30), foreign key(TenGH) references GIANHANG1(TenGH));
5.1.3 Create table LOAIMATHANG( MaL nchar(10) not null primary key,
MaGH nchar(10), TenL varchar(30), Soluong int, foreign key(MaGH) references
GIANHANG2(MaGH));
5.1.4 Create table MATHANG1( TenMH varchar(30) not null primary key,
Soluong int);
5.1.5 Create table MATHANG2( MaMH nchar(10) not null primary key, MaL
nchar(10), TenMH varchar(30), NSX date, HSD date, foreign key(TenMH)
references MATHANG1(TenMH), foreign key(MaL) references
LOAIMATHANG(MaL));
5.1.6 Create table NHACUNGCAP( MaNCC nchar(10) not null primary key,
TenNCC varchar(30), SDT varchar(12) default '0', Diachi varchar(50));
5.1.7 Create table NHANVIEN( MaNV nchar(10) not null primary key,
TenNV varchar(30), Ngaysinh date, Quequan varchar(30), SDT varchar(12), Luong
int, TGBD date, TGKT date, MaGH nchar(10), foreign key(MaGH) references
GIANHANG2(MaGH));
5.1.8 Create table HOADON( MaHD nchar(10) not null primary key,NgayHD
date,GiaMH real, foreign key (MaHD) references HOADON(MaHD), foreign key
(MaMH) references MATHANG2(MaMH));
5.1.9 Create table CUNGCAP( MaNCC nchar(10) not null, MaMH nchar(10)

not null, primary key(MaNCC,MaMH), foreign key (MaNCC) references
NHACUNGCAP(MaNCC), foreign key (MaMH) references
MATHANG2(MaMH));
5.1.10 Create table KHACHHANG( MaKH nchar(10) not null primary key,
MaNV nchar(10), Hoten varchar(30), Diachi varchar(50), SDT varchar(12) default
'0');
5.1.11 Create table CHITIET( MaHD nchar(10) not null primary key, MaMH
nchar(10) not null primary key, SoHD int, SLBan int, Dgia real);

12


2. Câu lệnh truy vấn SQL
 Câu 1: Cho biết tên họ tên khách hàng của siêu thị.

Select hoten
From KHACHHANG;


Câu 2: Tên nhà cung cấp mặt hàng có mã hàng là H1
Select NHACUNGCAP.TenNCC
From NHACUNGCAP inner join CUNGCAP on
NHACUNGCAP.MaNCC=CUNGCAP.MaNCC Where CUNGCAP.MaMH='H1';
 Câu 3: Nhà cung cấp có mã là N3 cung cấp mặt hàng nào?

Select MATHANG2.TenMH
from CUNGCAP inner join MATHANG2 on
CUNGCAP.MaMH=MATHANG2.MaMH Where MaNCC= 'NCC3';
 Câu 4: Đưa ra tên khách hàng ở Thanh hóa mua hàng trong ngày


2/12/2010
Select HOTEN
from KHACHHANG kh left outer join HOADON hd on kh.MaKH=hd.MaKH
Where (DAY(NgayHD)=2) and(MONTH(NgayHD)=12) and
(YEAR(NgayHD)=2010) and Diachi = 'thanh hoa';
 Câu 5: Đưa ra các mã mặt hàng chưa từng được bán

Select *
From MATHANG2
Where MAMH not in (select MAMH from Chitiet);
 Câu 6: Tính tổng số lượng khách mỗi ngày trong năm 2010

Select NgayHD ,COUNT(*) as slkhach from HOADON
where (year(ngayhd)=2010)
group by NgayHD;
 Câu 7: Đưa ra số hoá đơn, mã hàng của các mặt hàng có đơn giá > 50 và

số lượng bán > 6.
Select SoHD,MaMH From CHITIET
Where(DGia > 50) and (SLBan > 6);
 Câu 8: Đưa ra tên, địa chỉ,sdt của các nhà cung cấp cung cấp m ặt hàng có

mã mặt hàng là H1.
Select NCC.TenNCC,NCC.Diachi,NCC.SDT
From NHACUNGCAP NCC inner join CUNGCAP CC on NCC.MaNCC=
CC.MaNCC
13


Where MaMH = 'H1';

 Câu 9: Đưa ra danh sách nhân viên có lương >= 2000.

Select *
From NHANVIEN nv Where nv.LUONG > = 2000;
 Câu 10: Đưa ra tên, số lượng, ngày sản xuất, hạn sử dụng của mặt hàng

mua hàng vào ngày 15.
Select MH.MaMH, MH.TenMH, MH.NSX, MH.HSD
From MATHANG2 MH inner join CHITIET CT on MH.MaMH = CT.MaMH
Where CT.MaHD in (Select MaHD from HOADON where (day(NgayHD )=
15) and (MONTH(NgayHD)=2) and (YEAR(NgayHD)=2015));
 Câu 11: Cho biết số lượng nhân viên của mỗi gian hàng.

Select GH.MaGH, TenGH, Count(MaNV) as SL_nhan_vien
From GIANHANG2 GH inner join NHANVIEN NV on GH.MaGH = NV.MaGH
Group by GH.MaGH,TenGH;
 Câu 12: Đưa ra vị trí của gian hàng có tên gian hàng là 'Quan ao'

Select Vitri
From GIANHANG1
Where TenGH = 'quan ao';
 Câu 13: Đưa ra các mặt hàng được bán trong tháng 8 2015 có đơn giá

>120000.
Select MaMH from CHITIET
Where Dgia>120000 and MaHD in (select MaHD from HOADON where
(MONTH(ngayhd)=8) and (YEAR(ngayhd)=2015));
 Câu 14: Những nhân viên chưa từng lập bất kỳ một hóa đơn nào?

Select nv.MaNV

from NHANVIEN nv inner join HOADON hd on nv.MaNV=hd.MaNV where
not exists (select MaNV from HOADON Where hd.MaNV=nv.Manv);
 Câu 15: Cho biết thông tin các khách hàng có họ bắt đầu bằng từ

'ĐỒN' .
Select distinct KH.*
from KHACHHANG KH
where Hoten like 'Doan %';
 Câu 16: Cho biết khách hàng có nhiều hơn 5 lần mua hàng trong tháng

12/2015
Select MaKH ,count(MaKH) AS SL_Khach_muahang
from HOADON
14


where (month(NgayHD)=4) and (year(NgayHD)=2015) group by MaKH
having COUNT(MaKH)>2;
 Câu 17: Cho biết khách hàng mua nhiều vé nhất

Select MaKH, COUNT(*)as SL_max
from HOADON
group by MaKH
Having COUNT(*)>=all (select COUNT(*) as SL_max from HOADON
group by MaKH);
 Câu 18: Liệt kê các thông tin nhân viên được sắp xếp giảm dần theo

lương
Select *
from NHANVIEN

Order by Luong DESC;
 Câu 19: Đưa ra thông tin khách hàng chưa từng đến gian hàng ở vị trí

tầng 4.
Select *
from KHACHHANG
where not exists (Select MaGH from GIANHANG Where Vitri = 'tang 4');
 Câu 20:Cho biết loại mặt hàng có nhiều mặt hàng nhất.

Select MaL,Count( MaL)as so_mat_hang
From MATHANG
Group By MaL
Having count (MaL)>=All(Select count( MaL) From MATHANG
Group By MaL);
 Câu 21:Đưa ra khoảng thời gian dùng của các sản phẩm.

Select DATEBIFF (day,HSD,NSX)
From MATHANG;
 Câu 22:Đưa ra thơng tin nhân viên có lương lớn nhất.
Select * from NHANVIEN where luong=(Select max(luong)
From NHANVIEN);
 Câu 23:Đưa ra danh sách những nhà cung cấp có địa chỉ là HaNoi và HCM.
Select * from NHACUNGCAP where diachi=’HaNoi’ and diachi=’HCM’;
 Câu 24:Đưa ra thông tin các nhân viên sắp xếp theo lương tăng dần.
Select * from NHANVIEN where luong ASC;
15


 Câu 25:Đưa ra các khách hàng có địa chỉ ở HaNoi.
Select * from KHACHHANG where diachi=’HaNoi’;

 Câu 26:Đưa ra số lượng hàng của MATHANG1.
Select SoLuong from MATHANG1;
 Câu 27:Đưa ra đơn giá của hoá đơn trong ngày 20/11/2021.
Select Dgia from CHITIET c,HOADON h where c.MaHD=h.MaHD and
h.NgayHD=’20/11/2021’;
 Câu 28:Đưa ra tổng số sản phẩm do ‘DHTL’ cung cấp.
Select count(MaMH) as TongSP from NHACUNGCAP n,CUNGCAP c
Where n.MaNCC=c.MaNCC and n.TenNCC=’DHTL’;
 Câu 29:Đưa ra số nhân viên có địa chỉ ở HaNoi.
Select count (MaNV) from NHANVIEN where diachi=’HaNoi’;
 Câu 30:Đưa ra thông tin hoá đơn mà khách hàng ‘Nguyen Van A’ mua.
Select MaHD,Hoten,NgayHD,GiaMH from KHACHHANG k,HOADON h
Where k.MaKH=h.MaKH and k.Hoten=’Nguyen Van A’;

KẾT LUẬN
Thời gian làm bài tập lớn là một dịp tốt để em hệ thống lại kiến thức đã
được học ở môn Cơ sở dữ liệu, giúp em làm quen với công việc của một người
quản lý hệ thống trong tương lai. Đồng thời còn giúp em liên hệ giữa kiến
thức lý thuyết để áp dụng vào thực tế.
Vì thời gian làm bài tập lớn có hạn, kiến thức của bản thân còn nhiều
hạn chế, lần đầu tiên tiếp xúc với một vấn đề lớn mà bản thân chưa có kinh
nghiệm thực tế. Do vậy, nội dung của bài tập chưa thật sự sâu sắc, khơng
tránh khỏi những sai sót và hạn chế nhất định. Em kính mong được cơ chỉ bảo,
góp ý thêm để bài tập lớn của em được hoàn thiện hơn.

16




×