Database Analysis and Design môn Cơ sở dữ liệu | Đại học Văn Lang

Database Analysis and Design môn Cơ sở dữ liệu | Đại học Văn Lang giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học

!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 1
!
DATABASE ANALYSIS
AND DESIGN
QUN LÍ C A HÀNG M PH M
CLASS: 223_71ITIS30103_01
Team04
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 2
HISTORY
* Nhóm tr ng so n th i dung này GV d ch m m cho t ng thành ưở o li n để đi
viên.
No
Content
Versi
on
Members
1
Project Description
0.1
Lê Chí Huy, Võ Vi t Hà, Bùi Nh t Hào,
Nguyn Thiên Sơn, Nguy n Thái Hoàng,
Nguyn Hoàng Tn
2
ERD
Lê Chí Huy, Võ Vi t Hà, Bùi Nh t Hào,
Nguyn Thiên Sơn
3
Business Constraint
Võ Vi t Hà, Lê Chí Huy, Nguy n Thái
Hoàng, Nguy n Hoàng T n
4
Database Schema
0.2
Lê Chí Huy, Võ Vi t Hà, Bùi Nh t Hào,
Nguyn Thiên Sơn, Nguy n Thái Hoàng,
Nguyn Hoàng Tn
5
Logic Data Diagram
Lê Chí Huy, Võ Vi t Hà, Bùi Nh t Hào,
Nguyn Thiên Sơn
6
Physical Data Diagram
Võ Vi t Hà, Lê Chí Huy, Nguy n Thái
Hoàng, Nguy n Hoàng T n
7
SQL Programming
Võ Vi t Hà, Lê Chí Huy
Effort: (phn này n p đồ án Giai đon 2 mi chm)
No
Version
Effort
1
0.2
100%
2
90%
3
100%
4
80%
5
100%
6
100%
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 3
CONTENTS
* Sinh viên nh c p nh này sau khi ã c p nh i dung trong file. t li mc lc đ t n
!
CLASS: 202_DIT0070_05! 1!
CHAPTER 1: PROJECT DESCRIPTION! 4!
CHAPTER 2: ERD! 5!
CHAPTER 3: BUSINESS CONSTRAINT! 5!
CHAPTER 4: DATABASE SCHEMA! 6!
CHAPTER 5: LOGIC DATA DIAGRAM! 7!
CHAPTER 6: PHYSICAL DATA DIAGRAM! 11!
!
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 4
CHAPTER 1: PROJECT DESCRIPTION
* Sinh viên vi án d a vào Mô t mà ng i dùng cung c p ( bài), sau ết Mô t đồ ườ Đề
đ đổ ó thay i/b sung n i dung cho hoàn ch nh sau nhi n g p g Khách hàng. u l
Ca hàng m ph m online Flipper cn xây dng m t c s d ơ liu để qun
lý kinh doanh m ph m. C u lo i ma hàng bán nhi ph m khác nhau
như s a r a m t, mask, tonerM i lo i s n ph m nh ng thông tin
nh hư loi, tên lo i nhi u s m. M i s n p n ph m các thông
tin nh ư sn phm, tên sn phm, giá bán, giá g c. M i s n phm thu c
mt thương hiu (Mac, La Roche Posay, Vaseline, Lipice...) có các thông
tin như thương hiu, tên th u. M i n hàng có các thông tin ương hi đơ
như đơn hàng, tng tin, ngày đặt, tr t, ng thái đơ ườn hàng, ng i đ
người ki m tra n hàng chi ti t n hàng ch a nhi u s n ph m g m đơ ế đơ
các thông tin mã s m, mã n ph đơn hàng, s l ng s m ã t. M i ượ n ph đ đặ
đơ n hàng th áp d ng m t phiếu gim giá g m các thông tin nh ư mã
gim giá, giá tr (theo đơn v đồ ng), hn s d ng, tình trng s d ng. M i
đơ đơ ưn v giao hàng vn chuyn nhiu n hàng và có các thông tin nh
đơn v vn chuyn, tên đơ ườn v vn chuyn. Ng i dùng có các thông tin
mã người dùng, h và tên, n đăng nhp, mt kh u, s đin thoi, a ch , đị
tr ng thái, lo i người dùng. H th ng có hai lo i ng i dùng: khách hàng ư
và ng i ki m tra n hàng.ườ đơ
!
!
!
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 5
CHAPTER 2: ERD
* Dùng Microsoft Office Visio/Draw.io v và dán hình vào ây (có th dùng để đ
công c khác n u bi ế ết)
!
CHAPTER 3: BUSINESS CONSTRAINT
* Sinh viên li nh ng ràng bu c nghi p v c a h ng này. Ví d : t kê tt c th
Chỗ! !y!chưa!đúng!
ê bắ h
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 6
1. M n hàng ch c a 1 khách hàngi đơ
2. Đơn hàng có th áp d ng mã gi m giá ho c không có mã gi m giá
3. M n ph m có 1 mã s n ph m duy nhi s t
4. M t khách hàng có th có nhi u n hàng đơ
5. lên Đơn hàng t 500k tr được free ship
6. M n hàng ch c áp d ng 1 phi u gi m giái đơ đượ ế
7. i có ít nh t 1 sĐơn hàng ph n ph m
8. M n hàng ch do 1 n v v n i đơ đơ chuyn giao
9. M n ph m ch thu c m ng hii s t thươ u
10. S n tho a khách hàng không đi i c đượ c trùng v i tài kho n khác
11. a ch khách hàng là b t buĐị c
12. S ng a s n ph m trong chi ti n hàng ph n h n 0 lượ đặt c ết đơ i l ơ
13. S n ph m n u có giá g c thì ph n h n ho c b ng giá bán ế i l ơ
14. S n ph m ph c m n ph i thu t loi s m
15. M n ph m ph ng hii s i có thươ u
!
!
!
!
CHAPTER 4: DATABASE SCHEMA
* Li nh ng L c quan h có tht kê tt c ượ đồ có ti đây
1) LOAISANPHAM( Mã lo i, Tên lo i )
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 7
2) SANPHAM( Mã s m, Tên s m, Giá bán, Giá g c, Mã lo i, Mã th ng n ph n ph ươ
hiu )
3) THUONGHIEU( Mã th ng hi u, Tên th ng hi u ) ươ ươ
4) CHITIETDONHANG( S l ng t, Mã s m, Mã n hàng) ượ đặ n ph đơ
5) DONHANG( Mã n hàng, Ngày t, Tr ng thái, T ng ti n, Mã ng i dùng, Mã đơ đặ ườ
đơ n v v n chuy n)
6) DONVIVANCHUYEN( Mã đơn v v n chuy n, Tên n v v n chuy n ) đơ
7) PHIEUGIAMGIA( Mã phi u gi m giá, Mã code, Tình tr ng s d ng, H d ng, ế n s
Giá tr )
8) NGUOIDUNG( Mã ng i dùng, Tên p, H và tên, M t kh u, Tr ng thái, ườ đăng nh
Loi người dùng, Địa ch, S đin tho i )
CHAPTER 5: LOGIC DATA DIAGRAM
* Sinh viên Mô t Siêu d u : li u t i đây, lư ý Khóa chínhKhóa ngoi.
1. B ng LOAISANPHAM
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 8
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MALOAI
loi
VARCHAR(10)
NOT NULL
2
TENLOAI
Tên loi
NVARCHAR(100)
NOT NULL
2. B ng SANPHAM
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MASP
s n ph m
VARCHAR(10)
NOT NULL
2
TENSP
Tên sn phm
NVARCHAR(100)
NOT NULL
3
GIABAN
Giá bán
INT
NOT NULL
4
GIAGOC
Giá gc
INT
NULL
Giá gc dùng
để áp d ng
chương trình
gim giá b ng
cách nh p l n
hơn giá bán
5
MALOAI
loi
VARCHAR(10)
NOT NULL
6
MATH
thương hiu
VARCHAR(10)
NOT NULL
3. B ng THUONGHIEU
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MATH
thương hiu
VARCHAR(10)
NOT NULL
2
TENTH
Tên thương hiu
NVARCHAR(100)
NOT NULL
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 9
4. B ng DONHANG
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MADONHANG
n hàngđơ
VARCHAR(10)
NOT NULL
2
NGAYDAT
Ngày đặt hàng
DATETIME
NOT NULL
3
TONGTIEN
Tng tin
INT
NOT NULL
4
TRANGTHAI
Trng thái n hàngđơ
VARCHAR(20)
NOT NULL
Trng thái s
4 giá tr
‘CHUAXULY’,
‘DANGGIAO’,
‘THANHCON
G’, ‘HUYDON;
5
MAPHGG
phi u gi m giáế
VARCHAR(10)
NULL
Khách hàng
th áp dng
phiếp gi m g
trên đơn hàng
ca mình
6
MANGUOIDUNG
khách hàng
VARCHAR(10)
NOT NULL
7
MADVVC
đơn v v n
chuyn
VARCHAR(10)
NOT NULL
5. B ng CHITIETDONHANG
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MADONHANG
n hàngđơ
VARCHAR(10)
NOT NULL
2
MASANPHAM
s n ph m
VARCHAR(10)
NOT NULL
3
SOLUONG
S l ng sượ n phm
INT
NOT NULL
6. B ng DONVIVANCHUYEN
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 10
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MADVVC
đơn v v n
chuyn
VARCHAR(10)
NOT NULL
2
TENDVVC
Tên v n đơn v
chuyn
NVARCHAR(100)
NOT NULL
7. B ng PHIEUGIAMGIA
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MAPHGG
phi u gi m giáế
VARCHAR(10)
NOT NULL
2
CODE
Code gim giã
VARCHAR(10)
NOT NULL
dùng đ
người dùng
nhp khi thanh
toán n hàngđơ
3
GIATRI
Giá tr phi u gi m g ế
INT
NOT NULL
Tính theo n đơ
v VND
4
HANSUDUNG
Hn s d ng
DATETIME
NOT NULL
5
TINHTRANG
Tình trng s dng
VARCHAR(20)
NOT NULL
Có 2 giá tr
‘CHUASUDU
NG’,
‘DASUDUNG’
8. B ng NGUOIDUNG
STT
Tên t t
Din gi i
Min giá tr
Ghi chú
1
MANGUOIDUNG
ng i dùngườ
VARCHAR(10)
NOT NULL
2
TENDANGNHAP
Tên đăng nhp
VARCHAR(32)
NOT NULL
3
MATKHAU
Mt khu
VARCHAR(255)
NOT NULL
Cha chui mt
khu ã đ được
hóa
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 11
4
SDT
S iđ n thoi
INT
NOT NULL
5
HOTEN
H và tên
NVARCHAR(50)
NOT NULL
6
LOAI
Loi ng i dùngườ
VARCHAR(20)
NOT NULL
Có 2 giá tr
‘NGUOIDUNG
’ và
‘QUANTRI’
7
DIACHI
Địa ch
VARCHAR(100)
NOT NULL
8
TRANGTHAI
Trng thái tài khon
VARCHAR(20)
NOT NULL
MACó 2 giá tr
‘HOATDONG’
và ‘KHOA’
CHAPTER 6: PHYSICAL DATA DIAGRAM
* Sinh viên dùng ch c n ng Database Diagrams c a SQL Server nên ă để thi t kế ế
mô hình này:
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 12
CHIT IETDON HANG
MADO NH ANG
MASANPHAM
SOLUONG
DONV I VAN CH UYE N
MADVVC
TEN DV VC
DONH AN G
MADO NHANG
NGAYDAT
TONGTIEN
TRA NGTH AI
MAPHGG
MANG UOIDUNG
MADVVC
LOA ISA NPH AM
MALOAI
TEN LO AI
N GUOID UN G
MANG UOIDUNG
TEN DA NGNH AP
MATKHAU
SDT
HO TEN
LOAI
DIACHI
TRA NGTH AI
PH IEUGIAMGIA
MAPHGG
CO DE
GIATR I
HANSUDU NG
TINHTRANG
SAN P HAM
MASP
TEN SP
GIABAN
GIAGOC
MALOAI
MATH
THU O NGHI EU
MATH
TEN TH
FK SANPHAM LOAISANPHAM
FK SANPHAM THUONGHIEU
FK DONHANG PHIEUGIAMGI
FK DONHANG DONVIVANCHUYE
FK_CHITIETDONHANG_DONHAN
FK CHITIETDONHANG SANPHAM
FK_DONHANG_NGUOID UNG
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 13
CHAPTER 7 : SQL PROGRAMMING
* Sinh vi n gi p ra 3 câu h n phù h p v n ê l i truy v i tài nhóm ang thđề đ c hi
và s c hi dng MS SQL Server trên Database c a nhóm để viết truy vn th n 3
câu h c hii ó, sinh viên ch i màn hình truy v t quđ p l n và kế th n.
L uư ý: ây chđ 3 ví d không phi úng, ví dđ đán án để sinh viên hình dung cách
np bài.
Câu 1: Hãy cho biết s l ượng hoá n ng ti n trung đơ đặt món “Broken Rice” và t
bình c a nh ng hoá đơn đó có trng thái là đ ăã thanh toán và trong n m 2024
SELECT COUNT(DISTINCT CASE WHEN D.DISH_NAME = 'BROKEN
RICE' THEN O.ORDER_ID END) AS BEST_DISH,
AVG(CASE WHEN YEAR(O.ORDER_DATE)=2024 THEN O.GRAND_TOTAL
END) AS AVG_SALE
FROM ((ORDER_T O
INNER JOIN ORDER_DETAIL_T L ON O.ORDER_ID=L.ORDER_ID)
INNER JOIN MENU_T M ON L.MENU_ID=M.MENU_ID)
INNER JOIN DISH_T D ON M.DISH_ID = D.DISH_ID
WHERE O.STATUS = 'PAID'
Kết qu thc hin Câu 1:
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 14
Câu 2: Hãy cho biết s l t món “Broken Rice” và t trung ượng hoá n đơ đ ng tin
bình c a nh ng hoá đơn đó có trng thái là đ ăã thanh toán và trong n m 2024
SELECT COUNT(DISTINCT CASE WHEN D.DISH_NAME = 'BROKEN
RICE' THEN O.ORDER_ID END) AS BEST_DISH,
AVG(CASE WHEN YEAR(O.ORDER_DATE)=2024 THEN O.GRAND_TOTAL
END) AS AVG_SALE
FROM ((ORDER_T O
INNER JOIN ORDER_DETAIL_T L ON O.ORDER_ID=L.ORDER_ID)
INNER JOIN MENU_T M ON L.MENU_ID=M.MENU_ID)
INNER JOIN DISH_T D ON M.DISH_ID = D.DISH_ID
WHERE O.STATUS = 'PAID'
Kết qu thc hin Câu 2:
Câu 3: Hãy cho biết s l t món ượng hoá n đơ đ “Broken Rice” và tng ti n trung
bình c a nh ng hoá đơn đó có trng thái là đ ăã thanh toán và trong n m 2024
SELECT COUNT(DISTINCT CASE WHEN D.DISH_NAME = 'BROKEN
RICE' THEN O.ORDER_ID END) AS BEST_DISH,
AVG(CASE WHEN YEAR(O.ORDER_DATE)=2024 THEN O.GRAND_TOTAL
END) AS AVG_SALE
!
TEAM: 04
Version: 0.2
Date: 08 Jan , 2024
!
!
Lecturer: Ly Thi Huyen Chau
Page: 15
FROM ((ORDER_T O
INNER JOIN ORDER_DETAIL_T L ON O.ORDER_ID=L.ORDER_ID)
INNER JOIN MENU_T M ON L.MENU_ID=M.MENU_ID)
INNER JOIN DISH_T D ON M.DISH_ID = D.DISH_ID
WHERE O.STATUS = 'PAID'
Kết qu thc hin Câu 3:
| 1/15

Preview text:

! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! ! DATABASE ANALYSIS AND DESIGN
QUẢN LÍ CỬA HÀNG MỸ PHẨM
CLASS: 223_71ITIS30103_01 Team04 !
Lecturer: Ly Thi Huyen Chau Page: 1 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! HISTORY
* Nhóm trưởng soạn thảo lại nội dung này để GV dễ chấm điểm cho từng thành viên. No Content Versi Members on
Lê Chí Huy, Võ Việt Hà, Bùi Nhật Hào, 1 Project Description
Nguyễn Thiên Sơn, Nguyễn Thái Hoàng, Nguyễn Hoàng Tấn 0.1
Lê Chí Huy, Võ Việt Hà, Bùi Nhật Hào, 2 ERD Nguyễn Thiên Sơn
Võ Việt Hà, Lê Chí Huy, Nguyễn Thái 3 Business Constraint
Hoàng, Nguyễn Hoàng Tấn
Lê Chí Huy, Võ Việt Hà, Bùi Nhật Hào, 4 Database Schema
Nguyễn Thiên Sơn, Nguyễn Thái Hoàng, Nguyễn Hoàng Tấn
Lê Chí Huy, Võ Việt Hà, Bùi Nhật Hào, 5 Logic Data Diagram Nguyễn Thiên Sơn 0.2
Võ Việt Hà, Lê Chí Huy, Nguyễn Thái 6 Physical Data Diagram
Hoàng, Nguyễn Hoàng Tấn 7 SQL Programming
Võ Việt Hà, Lê Chí Huy
Effort: (phần này nộp đồ án Giai đoạn 2 mới chấm) No Members Version Effort 1 Võ Việt Hà 100% 2 Nguyễn Thái Hoàng 90% 3 Lê Chí Huy 100% 0.2 4 Nguyễn Hoàng Tấn 80% 5 Bùi Nhật Hào 100% 6 Nguyễn Thiên Sơn 100% !
Lecturer: Ly Thi Huyen Chau Page: 2 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! CONTENTS
* Sinh viên nhớ cập nhật lại mục lục này sau khi đã cập nhật nội dung trong file. ! CLASS: 202_DIT0070_05! 1!
CHAPTER 1: PROJECT DESCRIPTION! 4! CHAPTER 2: ERD! 5!
CHAPTER 3: BUSINESS CONSTRAINT! 5!
CHAPTER 4: DATABASE SCHEMA! 6!
CHAPTER 5: LOGIC DATA DIAGRAM! 7!
CHAPTER 6: PHYSICAL DATA DIAGRAM! 11! ! !
Lecturer: Ly Thi Huyen Chau Page: 3 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 !
CHAPTER 1: PROJECT DESCRIPTION
* Sinh viên viết Mô tả đồ án dựa vào Mô tả mà người dùng cung cấp (Đề bài), sau
đó thay đổi/bổ sung nội dung cho hoàn chỉnh sau nhiều lần gặp gỡ Khách hàng.

Cửa hàng mỹ phẩm online Flipper cần xây dựng một cơ sở dữ liệu để quản
lý kinh doanh mỹ phẩm. Cửa hàng bán nhiều loại mỹ phẩm khác nhau
như sữa rửa mặt, mask, toner… Mỗi loại sản phẩm có những thông tin
như mã loại, tên loại và có nhiều sản phẩm. Mỗi sản phẩm có các thông
tin như mã sản phẩm, tên sản phẩm, giá bán, giá gốc. Mỗi sản phẩm thuộc
một thương hiệu (Mac, La Roche Posay, Vaseline, Lipice...) có các thông
tin như mã thương hiệu, tên thương hiệu. Mỗi đơn hàng có các thông tin
như mã đơn hàng, tổng tiền, ngày đặt, trạng thái đơn hàng, người đặt,
người kiểm tra đơn hàng và chi tiết đơn hàng chứa nhiều sản phẩm gồm
các thông tin mã sản phẩm, mã đơn hàng, số lượng sản phẩm đã đặt. Mỗi
đơn hàng có thể áp dụng một phiếu giảm giá gồm các thông tin như mã
giảm giá, giá trị (theo đơn vị đồng), hạn sử dụng, tình trạng sử dụng. Mỗi
đơn vị giao hàng vận chuyển nhiều đơn hàng và có các thông tin như mã
đơn vị vận chuyển, tên đơn vị vận chuyển. Người dùng có các thông tin
mã người dùng, họ và tên, tên đăng nhập, mật khẩu, số điện thoại, địa chỉ,
trạng thái, loại người dùng. Hệ thống có hai loại người dùng: khách hàng
và người kiểm tra đơn hàng. ! ! ! !
Lecturer: Ly Thi Huyen Chau Page: 4 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! CHAPTER 2: ERD
* Dùng Microsoft Office Visio/Draw.io để vẽ và dán hình vào đây (có thể dùng
công cụ khác nếu biết)
Chỗ!này!chưa!đúng!! ê bắ h ớ !
CHAPTER 3: BUSINESS CONSTRAINT
* Sinh viên liệt kê tất cả những ràng buộc nghiệp vụ của hệ thống này. Ví dụ: !
Lecturer: Ly Thi Huyen Chau Page: 5 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 !
1. Mỗi đơn hàng chỉ của 1 khách hàng
2. Đơn hàng có thể áp dụng mã giảm giá hoặc không có mã giảm giá
3. Mỗi sản phẩm có 1 mã sản phẩm duy nhất
4. Một khách hàng có thể có nhiều đơn hàng
5. Đơn hàng từ 500k trở lên được free ship
6. Mỗi đơn hàng chỉ được áp dụng 1 phiếu giảm giá
7. Đơn hàng phải có ít nhất 1 sản phẩm
8. Mỗi đơn hàng chỉ do 1 đơn vị vận chuyển giao
9. Mỗi sản phẩm chỉ thuộc một thương hiệu
10. Số điện thoại của khách hàng không được trùng với tài khoản khác
11. Địa chỉ khách hàng là bắt buộc
12. Số lượng đặt của sản phẩm trong chi tiết đơn hàng phải lớn hơn 0
13. Sản phẩm nếu có giá gốc thì phải lớn hơn hoặc bằng giá bán
14. Sản phẩm phải thuộc một loại sản phẩm
15. Mỗi sản phẩm phải có thương hiệu ! ! ! !
CHAPTER 4: DATABASE SCHEMA
* Liệt kê tất cả những Lược đồ quan hệ có thể có tại đây
1) LOAISANPHAM( Mã loại, Tên lo i ) !
Lecturer: Ly Thi Huyen Chau Page: 6 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 !
2) SANPHAM( Mã sản ph m, Tên s
ản ph m, Giá bán, Giá g c, Mã lo ại, Mã thương hiệu )
3) THUONGHIEU( Mã th ng hi ươ ệu, Tên th ng hi ươ ệu ) 4) CHITIETDONHANG( S l ng ượ
đặt, Mã sản ph m, Mã n hàng) đơ
5) DONHANG( Mã n hàng, Ngày đơ đặt, Tr ng thái, T ổng tiền, Mã ng i dùng, Mã ườ đơn vị ậ v n chuyển)
6) DONVIVANCHUYEN( Mã đơn vị v n chuy
ển, Tên đơn vị v n chuy ển )
7) PHIEUGIAMGIA( Mã phiếu gi m giá, Mã code, Tình tr ng s
ử dụng, Hạn sử dụng, Giá trị )
8) NGUOIDUNG( Mã ng i dùng, Tên ườ đăng nh p, H và tên, M t kh u, Tr ạng thái,
Loại người dùng, Địa chỉ, S ố điện tho i )
CHAPTER 5: LOGIC DATA DIAGRAM
* Sinh viên Mô tả Siêu dữ liệu tại đây, lưu ý: Khóa chínhKhóa ngoi. 1. Bảng LOAISANPHAM !
Lecturer: Ly Thi Huyen Chau Page: 7 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MALOAI Mã loại VARCHAR(10) NOT NULL 2 TENLOAI Tên loại NVARCHAR(100) NOT NULL 2. Bảng SANPHAM STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MASP Mã sản phẩm VARCHAR(10) NOT NULL 2 TENSP Tên sản phẩm NVARCHAR(100) NOT NULL 3 GIABAN Giá bán INT NOT NULL 4 GIAGOC Giá gốc INT NULL Giá gốc dùng để áp dụng chương trình giảm giá bằng cách nhập lớn hơn giá bán 5 MALOAI Mã loại VARCHAR(10) NOT NULL 6 MATH Mã thương hiệu VARCHAR(10) NOT NULL 3. Bảng THUONGHIEU STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MATH Mã thương hiệu VARCHAR(10) NOT NULL 2 TENTH Tên thương hiệu NVARCHAR(100) NOT NULL !
Lecturer: Ly Thi Huyen Chau Page: 8 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! 4. Bảng DONHANG STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MADONHANG Mã đơn hàng VARCHAR(10) NOT NULL 2 NGAYDAT Ngày đặt hàng DATETIME NOT NULL 3 TONGTIEN Tổng tiền INT NOT NULL 4 TRANGTHAI Trạng thái đơn hàng VARCHAR(20) NOT NULL Trạng thái sẽ có 4 giá trị ‘CHUAXULY’, ‘DANGGIAO’, ‘THANHCON G’, ‘HUYDON; 5 MAPHGG Mã phiếu giảm giá VARCHAR(10) NULL Khách hàng có thể áp dụng phiếp giảm giá trên đơn hàng của mình 6 MANGUOIDUNG Mã khách hàng VARCHAR(10) NOT NULL 7 MADVVC Mã đơn vị vận VARCHAR(10) NOT NULL chuyển
5. Bảng CHITIETDONHANG STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MADONHANG Mã đơn hàng VARCHAR(10) NOT NULL 2 MASANPHAM Mã sản phẩm VARCHAR(10) NOT NULL 3 SOLUONG Số lượng sản phẩm INT NOT NULL
6. Bảng DONVIVANCHUYEN !
Lecturer: Ly Thi Huyen Chau Page: 9 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MADVVC Mã đơn vị vận VARCHAR(10) NOT NULL chuyển 2 TENDVVC Tên đơn vị vận NVARCHAR(100) NOT NULL chuyển 7. Bảng PHIEUGIAMGIA STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MAPHGG Mã phiếu giảm giá VARCHAR(10) NOT NULL 2 CODE Code giảm giã VARCHAR(10) NOT NULL Mã dùng để người dùng nhập khi thanh toán đơn hàng 3 GIATRI
Giá trị phiếu giảm giá INT NOT NULL Tính theo đơn vị VND 4 HANSUDUNG Hạn sử dụng DATETIME NOT NULL 5 TINHTRANG Tình trạng sử dụng VARCHAR(20) NOT NULL Có 2 giá trị ‘CHUASUDU NG’, ‘DASUDUNG’ 8. Bảng NGUOIDUNG STT Tên tắt Diễn giải Miền giá trị Ghi chú 1 MANGUOIDUNG Mã người dùng VARCHAR(10) NOT NULL 2 TENDANGNHAP Tên đăng nhập VARCHAR(32) NOT NULL 3 MATKHAU Mật khẩu VARCHAR(255) NOT NULL Chứa chuỗi mật khẩu đã được mã hóa !
Lecturer: Ly Thi Huyen Chau Page: 10 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! 4 SDT Số điện thoại INT NOT NULL 5 HOTEN Họ và tên NVARCHAR(50) NOT NULL 6 LOAI Loại người dùng VARCHAR(20) NOT NULL Có 2 giá trị ‘NGUOIDUNG ’ và ‘QUANTRI’ 7 DIACHI Địa chỉ VARCHAR(100) NOT NULL 8 TRANGTHAI Trạng thái tài khoản VARCHAR(20) NOT NULL MACó 2 giá trị ‘HOATDONG’ và ‘KHOA’
CHAPTER 6: PHYSICAL DATA DIAGRAM
* Sinh viên dùng chức năng Database Diagrams của SQL Server để thiết kế nên mô hình này: !
Lecturer: Ly Thi Huyen Chau Page: 11 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! PHIEUGIAMGIA MAPHGG CODE GIATRI CHITIETDON H ANG HANSUDUNG MADONHANG TINHTRANG MASANPHAM SOLUONG FK_CHITIETDONHANG_DONHAN FK DONHANG PHIEUGIAMGI FK CHITIETDONHANG SANPHAM DONH AN G N GUO ID UN G SAN PHAM MADONHANG MANGUOIDUNG MASP NGAYDAT TENDANGNHAP TENSP LOAISA N PH AM TONGTIEN MATKHAU GIABAN MALOAI TRANGTHAI SDT FK_DONHANG_NGUOIDUNG GIAGOC FK SANPHAM LOAISANPHAM TENLOAI MAPHGG HOTEN MALOAI MANGUOIDUNG LOAI MATH MADVVC DIACHI TRANGTHAI FK SANPHAM THUONGHIEU FK DONHANG DONVIVANCHUYE THUONGHIEU MATH DONVIVAN CH UYEN TENTH MADVVC TENDVVC !
Lecturer: Ly Thi Huyen Chau Page: 12 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 !
CHAPTER 7: SQL PROGRAMMING
* Sinh viên giả lập ra 3 câu hỏi truy vấn phù hợp với đề tài nhóm đang thực hiện
và sử dụng MS SQL Server trên Database của nhóm để viết truy vấn thực hiện 3
câu hỏi đó, sinh viên chụp lại màn hình truy vấn và kết quả thực hiện.

Lưuý: đây chỉ là 3 ví dụ không phải đán án đúng, ví dụ để sinh viên hình dung cách nộp bài.
Câu 1: Hãy cho biết s lượng hoá đơn đặt món “Broken Rice” và tng tin trung
bình c
a nhng hoá đơn đó có trng thái là đã thanh toán và trong năm 2024
SELECT COUNT(DISTINCT CASE WHEN D.DISH_NAME = 'BROKEN
RICE' THEN O.ORDER_ID END) AS BEST_DISH,
AVG(CASE WHEN YEAR(O.ORDER_DATE)=2024 THEN O.GRAND_TOTAL END) AS AVG_SALE FROM ((ORDER_T O
INNER JOIN ORDER_DETAIL_T L ON O.ORDER_ID=L.ORDER_ID)
INNER JOIN MENU_T M ON L.MENU_ID=M.MENU_ID)
INNER JOIN DISH_T D ON M.DISH_ID = D.DISH_ID WHERE O.STATUS = 'PAID'
Kết qu thc hin Câu 1: !
Lecturer: Ly Thi Huyen Chau Page: 13 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 !
Câu 2: Hãy cho biết s lượng hoá đơn đặt món “Broken Rice” và tng tin trung
bình c
a nhng hoá đơn đó có trng thái là đã thanh toán và trong năm 2024
SELECT COUNT(DISTINCT CASE WHEN D.DISH_NAME = 'BROKEN
RICE' THEN O.ORDER_ID END) AS BEST_DISH,
AVG(CASE WHEN YEAR(O.ORDER_DATE)=2024 THEN O.GRAND_TOTAL END) AS AVG_SALE FROM ((ORDER_T O
INNER JOIN ORDER_DETAIL_T L ON O.ORDER_ID=L.ORDER_ID)
INNER JOIN MENU_T M ON L.MENU_ID=M.MENU_ID)
INNER JOIN DISH_T D ON M.DISH_ID = D.DISH_ID WHERE O.STATUS = 'PAID'
Kết qu thc hin Câu 2:
Câu 3: Hãy cho biết s lượng hoá đơn đặt món “Broken Rice” và tng tin trung
bình c
a nhng hoá đơn đó có trng thái là đã thanh toán và trong năm 2024
SELECT COUNT(DISTINCT CASE WHEN D.DISH_NAME = 'BROKEN
RICE' THEN O.ORDER_ID END) AS BEST_DISH,
AVG(CASE WHEN YEAR(O.ORDER_DATE)=2024 THEN O.GRAND_TOTAL END) AS AVG_SALE !
Lecturer: Ly Thi Huyen Chau Page: 14 ! TEAM: 04 Version: 0.2 Date: 08 Jan, 2024 ! FROM ((ORDER_T O
INNER JOIN ORDER_DETAIL_T L ON O.ORDER_ID=L.ORDER_ID)
INNER JOIN MENU_T M ON L.MENU_ID=M.MENU_ID)
INNER JOIN DISH_T D ON M.DISH_ID = D.DISH_ID WHERE O.STATUS = 'PAID'
Kết qu thc hin Câu 3: !
Lecturer: Ly Thi Huyen Chau Page: 15