lOMoARcPSD|45315597
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
----- -----
Đề tài: Thiết kế cơ sở d liu h thng qun lí siêu
th
Gi ng viên hướng dẫẫn: Nguyên Th Thu Huyên
H và tên sinh viên: Lê Đức Vi t
Mã lp: 142298
Hà Nội, năm 2023
lOMoARcPSD|45315597
Đồ án môn hc 2
MỤC LỤC
MỞ ĐẦU..........................................................................................................................8
CHƯƠNG I. MÔ TẢ BÀI TOÁN THỰC TẾ................................................................9
1. Mc tiêu ca h thng qun lí siêu th.................................................9
2. Hệ thống này cung cấp các quy trình nghiệp vụ sau:.............................................10
3. Yêu cầu của hệ thống về bảng dữ
liệu:.....................................................................11 CHƯƠNG II. CÁC CHỨC
NĂNG CỦA HỆ THỐNG...............................................13
CHƯƠNG III. THIẾT KẾ CƠ SỞ DỮ LIỆU.............................................................16
1. Phụ thuộc hàm và tập thuộc tính tương ứng........................................................16
2. Tìm khóa của lược đồ quan hệ:.............................................................................17
3. Tìm phủ tối thiểu....................................................................................................17
4. Chuẩn hóa lược đồ quan hệ...................................................................................18
CHƯƠNG IV. THIẾT KẾ THEO MÔ HÌNH THỰC THỂ LIÊN KẾT...................23
CHƯƠNG V. SO SÁNH QUÁ TRÌNH THIẾT KẾ.....................................................29
CHƯƠNG VI. TẠO LẬP VÀ CẬP NHẬT DỮ LIỆU.................................................31
1. Tạo bảng trong
SQL..............................................................................................31
2. Cập nhật dữ liệu cho
bảng.....................................................................................34CHƯƠNG VII : TRUY
VẤN DỮ LIỆU......................................................................40
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
M ĐẦU
Kính gi ging viên và các bn sinh viên,
Trong k nguyên công ngh thông tin phát trin nhanh chóng, h thng qun lí bán
hàng là mt yếu t cc k quan trọng đi vi các doanh nghip. Thiết kế cơ sở d
liu cho h thng qun lí bán hàng chính là mt khía cnh không th thiếu trong quá
trình xây dng và phát trin h thng này.
Bài báo cáo này đưc thc hin nhm gii thiu v quy trình thiết kế cơ sở d liu
cho h thng qun lí bán hàng, nhm to ra mt h thng mnh m, linh hot và
hiu qu để h tr các hoạt động kinh doanh liên quan đến bán hàng.
Chúng em đã nghiên cu, phân tích và áp dụng các phương pháp thiết kế cơ sở d
liu hiện đại để đảm bo tính toàn vn, tính nht quán và kh năng m rng ca h
thống. Qua đó, chúng em đã xác định các thc th, quan h và thuc tính quan trng
để lưu trữ và qun lí thông tin liên quan đến quá trình bán hàng, như thông tin v
khách hàng, sn phm, đơn hàng, kho hàng, và nhiu khía cnh khác.
Bên cạnh đó, chúng em cũng đã đề xut một mô hình cơ s d liu phù hp, bao
gm các bng, quan h và ràng buộc để biu din mi quan h gia các thc th
đáp ứng các yêu cu c th ca h thng qun lí bán hàng.
Bài báo cáo này cũng đ cập đến quy trình trin khai và quản lí cơ sở d liu, bao
gm vic to bng, thêm d liu, truy vn và cp nht thông tin.
Cui cùng, chúng em hy vng rng bài báo cáo này s mang li cho quý v cái nhìn
tng quan v quá trình thiết kế cơ sở d liu cho h thng qun lí bán hàng và cung
cp nhng kiến thức cơ bản v các phương pháp, quy trình và công c liên quan.
Xin trân trng cm ơn!
CHƯƠNG I. MÔ TẢ BÀI TOÁN THC T
1. Mc tiêu ca h thng qun lí siêu th là tối ưu hóa và tăng cường hiệu quả
trong hoạt động kinh doanh của siêu thị, đảm bảo quản lý thông
tin một cách chính xác, hiệu quả và đáng tin cậy. Để đạt được mc tiêu này,
h thng qun lý siêu th có nhng mc tiêu c th sau đây:
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Quản lý thông tin hàng hóa: Mục tiêu là đảm bảo lưu trữ thông tin chính
xác và đầy đủ về các mặt hàng được bán trong siêu thị, bao gồm tên sản
phẩm, mã sản phẩm, số lượng tồn kho, giá bán, nhà cung cấp và bộ phận
quản lý hàng hóa.
Quản lý thông tin khách hàng: Mục tiêu là xây dựng cơ sở dữ liệu chứa
thông tin về khách hàng, bao gồm tên, địa chỉ, số điện thoại, lịch sử mua
hàng và các thông tin khác. Hệ thống này giúp cải thiện trải nghiệm mua
sắm của khách hàng và tạo các chương trình khuyến mãi, quảng cáo p
hợp.
Quản lý thông tin hóa đơn: Mục tiêu là tạo, xem và quản lý thông tin về
hóa đơn bán hàng, bao gồm mã hóa đơn, thông tin khách hàng, thông tin
sản phẩm, tổng giá trị hóa đơn và thời gian lập hóa đơn.
Quản lý nhân viên: Mục tiêu là lưu trữ thông tin về nhân viên làm việc
trong siêu thị, bao gồm thông tin cá nhân, vị trí công việc, lịch sử làm
việc. Hệ thống này giúp cửa hàng quản lý nhân viên hiệu quả và đưa ra
các chính sách phát triển nhân sự.
Quản lý giảm g: Mục tiêu là theo dõi các chương trình giảm giá, ưu đãi,
khuyến mãi được áp dụng trong siêu thị, bao gồm mã giảm giá, loại giảm
giá, thời gian áp dụng và điều kiện áp dụng. Hệ thống này giúp tối ưu hóa
chiến lược giảm giá và thu hút khách hàng.
Quản lý tồn kho: Mục tiêu là theo dõi số lượng tồn kho của từng sản
phẩm, kiểm soát hàng tồn kho, đồng thời tối ưu hóa quy trình nhập xuất
hàng hóa để tránh thiếu hoặc thừa hàng tồn kho.
Tăng doanh số bán hàng: Một trong những mục tiêu chính của hệ thống
quản lý siêu thị là tăng doanh số bán hàng. Hệ thống này giúp quản lý và
theo dõi thông tin về hàng tồn kho, xu hướng mua sắm của khách hàng,
giá cả cạnh tranh và các yếu tố khác để tối ưu hóa chiến lược bán hàng,
thu hút khách hàng và tăng doanh thu.
2. H thng này cung cp các quy trình nghip v sau:
Bước 1: Khách hàng mua sắm
Khách hàng đến siêu thị và chọn mua các sản phẩm.
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Nhân viên cửa hàng hỗ trợ khách hàng và nhập thông tin sản phẩm vào hệ
thống.
Bước 2: Tạo hóa đơn
Nhân viên sử dụng hệ thống quản lí bán hàng để tạo hóa đơn cho khách
hàng.
Thông tin về sản phẩm, số lượng, giá bán, tổng tiền và thông tin khách
hàng được ghi nhận trong hóa đơn.
Bước 3: Thanh toán
Khách hàng thanh toán số tiền được hiển thị trên hóa đơn.
Hệ thống cập nhật tình trạng thanh toán và tính toán số tiền trả lại (nếu
có) trong hóa đơn.
Bước 4: Cập nhật hàng tồn kho
Sau khi hóa đơn được thanh toán, hệ thống cập nhật số lượng tồn kho cho
từng sản phẩm được bán.
Điều này giúp cửa hàng kiểm soát tồn kho và quản lý hàng hóa một cách
hiệu quả.
Bước 5: Quản lý thông tin khách hàng
Thông tin khách hàng nhập vào hệ thống quản lí bán hàng, bao gồm tên,
địa chỉ, số điện thoại, và lịch sử mua hàng.
Hệ thống cập nhật lịch sử mua hàng của khách hàng để tạo dự đoán và tối
ưu hóa các chương trình khuyến mãi.
Bước 6: Chương trình khuyến mãi:
Xác định chương trình giảm giá.
Nhân viên cửa hàng sử dụng hệ thống quản lí bán hàng để áp dụng giảm
giá cho hóa đơn tương ứng đạt điều kiện.
Hệ thống sẽ tính toán giá bán mới dựa trên chương trình giảm giá được
áp dụng và cập nhật thông tin hóa đơn vào cơ sở dữ liệu. Bước 7: Thống
kê và báo cáo
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Hệ thống cơ sở dữ liệu tạo ra các báo cáo thống kê về doanh thu, doanh
số bán hàng, sản phẩm bán chạy và các thông tin quản lý khác.
Các báo cáo này hỗ trợ quyết định kinh doanh và giúp cửa hàng cải thiện
hiệu suất kinh doanh.
Bước 8: Quản lý thông tin nhân viên
Quản lý siêu thị thêm thông tin mới về nhân viên vào hệ thống.
Thông tin nhân viên bao gồm tên, ngày sinh, giới tính, địa chỉ, số điện
thoại và các thông tin liên quan khác.
Thông tin nhân viên được bảo mật và chỉ cho phép người dùng có quyền
truy cập hợp lệ có thể xem và chỉnh sửa thông tin nhân viên.
3. Yêu cu ca h thng v bng d liu:
Yêu cầu khi nhập dữ liệu vào phải đảm bảo: tính đầy đủ chính xác, tính toàn vẹn.
Hệ thống có khả năng tìm kiếm và truy xuất nhanh chóng, bảo mật, dễ dàng tích
hợp và trao đổi dữ liệu.
Thông tin nhân viên có 1 mã nhân viên duy nhất,họ và tên nhân viên, số điện
thoại, địa chỉ, tuổi.
Mỗi nhân viên thuộc 1 quầy bộ phận. Mỗi quầy bộ phận gồm nhiều nhân viên
khác nhau. Quầy bộ phận bao gồm mã quầy và tên quầy. Các quầy bộ phận quản
lí hàng hóa của siêu thị.
Các sản phẩm: có 1 mã sản phẩm duy nhất, tên sản phẩm, giá, số lượng tồn, nhà
cung cấp. Sản phẩm nhập từ nhiều nhà cung cấp.
Hóa đơn do nhân viên bán hàng lập. Mỗi hóa đơn có 1 mã hóa đơn duy nhất, tên
hoá đơn, mã nhân viên lập hoá đơn, mã khách hàng, ngày lập hóa đơn
Mỗi hoá đơn có các chi tiết hoá đơn bao gồm đơn giá, số lượng sản phẩm
tổng tiền khách đã mua.
Khách hàng mua hàng có thể mua nhiều hoá đơn. Thông tin khách hàng bao
gồm: Mã khách hàng, Tên khách hàng, địa chỉ, giới tính, số điện thoại.
Khách hàng thanh toán giảm giá tiền sẽ được trừ vào hóa đơn. Thông tin
giảm giá bao gồm: giảm giá, tên loại giảm giá, thời gian áp dụng, điều kiện
giảm giá ( hiển thị số tiền được giảm ). Mỗi hóa đơn thể áp dụng nhiều
giảm giá..
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
CHƯƠNG II. CÁC CHỨC NĂNG CỦA H THNG
Các chức năng chính trong chương trình quản lý cho bài toán qun lí siêu th
th bao gm:
1. Qun lí nhân viên:
Thêm nhân viên mi vào h thng.
Cp nht thông tin nhân viên (h tên, s đin thoại, địa ch, ngày
sinh).
Xóa nhân viên khi h thng.
Tìm kiếm và xem thông tin nhân viên.
2. Qun lí quy b phn:
Thêm quy b phn mi vào h thng.
Cp nht thông tin quy b phn (tên quy).
Xóa quy b phn khi h thng.
Xem danh sách quy b phn và nhân viên thuc quy b phn.
3. Qun lí hàng hóa:
Thêm sn phm mi vào h thng.
Cp nht thông tin sn phm (tên sn phm, giá, s ng tn,
nhà cung cp).
Xóa sn phm khi h thng.
Tìm kiếm và xem thông tin sn phm.
4. Quản lí hóa đơn:
Tạo hóa đơn mới cho khách hàng.
Cp nhật thông tin hóa đơn (tên hóa đơn, mã nhân viên lp hóa
đơn, mã khách hàng, ngày lập hóa đơn).
Thêm chi tiết hóa đơn (mã sản phẩm, đơn giá, số ng sn
phm).
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Xem danh sách hóa đơn và thông tin chi tiết hóa đơn.
5. Qun lí khách hàng:
Thêm khách hàng mi vào h thng.
Cp nhật thông tin khách hàng (tên khách hàng, địa ch, gii tính,
s đin thoi).
Xóa khách hàng khi h thng.
Tìm kiếm và xem thông tin khách hàng.
6. Qun lí gim giá:
Thêm mã gim giá mi vào h thng.
Cp nht thông tin gim giá (tên loi gim giá, thi gian áp dng,
điu kin gim giá).
Xóa mã gim giá khi h thng.
Xem danh sách mã gim giá và thông tin chi tiết.
Sau đây là sơ đồ phân ra chức năng :
CHƯƠNG III. THIẾT K CƠ SỞ D LIU
1. Ph thuc hàm và tp thuộc tính tương ứng Các ph thuc hàm th hin
mi quan h gia các thuộc tính. Để xác định các ph thuc hàm, ta tìm
kiếm các thuộc tính xác định giá tr ca các thuc tính khác.
c đ quan h = <U,F>
Các ph thuc hàm F và tp thuộc tính như sau:
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Tp thuc tính:
U = {Mã nhân viên, h, tên, ngày sinh, gii tính, Mã bảng lương, mức
lương, số ngày làm, tiền lương nhận được, Mã quy, tên quy, Mã sn phm ,
tên sn phm, giá, s ng tn, mã nhà cung cấp, Mã hóa đơn, tên hóa đơn,
Mã khách hàng, Ngày lập hóa đơn, Đơn giá, s ng sn phm, tng tin, Mã
gim giá, tên loi gim giá, Thi gian áp dụng, Điều kin gim giá, s tin gim,
tên khách hàng, địa ch, giới tính, SĐT ) Tập ph thuc hàm:
F = { Mã nhân viên -> {H tên, gii tính, ngày sinh};
Mã quy -> Tên quy;
sn phm -> {Tên sn phm, giá, s ng tn, mã nhà cung cp};
Mã hóa đơn -> {Tên hóa đơn, Ngày lập hóa đơn};
Mã hóa đơn -> {Mã nhân viên, mã sn phm}
{Mã hoá đơn, mã sản phm } -> {đơn giá, số ng sn phm, tng
tiền}; Mã hoá đơn -> Mã gim giá;
Mã gim giá -> {Tên loi gim giá, Thi gian áp dng,
Điu kin gim giá };
{Mã hóa đơn, mã giảm giá} -> s tin gim;
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Mã khách hàng -> {Tên khách hàng, địa ch, giới tính, SĐT} }
2. Tìm khóa của lược đồ quan h: U, F = { L
i
-> R
i
| i = 1,2,…,m }
I = U \
I = U \ {TenHD, Ngay_lap, TenSP, So_luong_ton, Gia, Don_gia,
So_luong, Thanh_tien, MaNV,MaKH, HoNV, TenNV, NgaysinhNV, GioiTinhNV,
TenKH, DiaChi, Muc_luong, So_ngay_lam, Tien_luong, MaQuay, TenQuay,
MaGG, TenGG, Thoigian, Dieukien} = MaHD, MaSP.
Tính bao đóng I+ = U
Xét tp thuc tính {MaHD, MaSP}
- (MaHD, MaSP)+ = (MaHD, MaSP, TenHD, Ngay_lap, TenSP,
So_luong_ton, Gia, Don_gia, So_luong, Thanh_tien, MaNV,MaKH,
HoNV, TenNV, NgaysinhNV, GioiTinhNV, TenKH, Gioi_tinh,
DiaChi, MaQuay, TenQuay, MaGG, TenGG, Thoigian, Dieukien) =
U
- (MaHD)+ = (TenHD, Ngay_lap, MaNV,MaKH, HoNV, TenNV, NgaysinhNV,
GioiTinhNV, TenKH, Gioi_tinh, DiaChi, MaQuay,
TenQuay, MaGG, TenGG, Thoigian, Dieukien) # U
- (MaSP)+ = (TenSP, So_luong_ton, Gia, MaQuay, TenQuay) # U
=> Khóa chính của lược đ quan h TK = {MaHD, MaSP}
3. Tìm ph ti thiu
a) Tách v phi ph thuc hàm và loi b ph thuộc hàm dư thừa
- Mã nhân viên -> H; Mã nhân viên -> tên; Mã nhân viên -> gii tính; Mã nhân
viên -> ngày sinh;
Mã quy -> Tên quy;
Mã sn phm -> Tên sn phm; Mã sn phm -> giá; Mã sn phm -> s
ng tn; Mã sn phm -> mã nhà cung cấp Mã hóa đơn -> Tên hóa đơn;
Mã hóa đơn -> Ngày lập hóa đơn
Mã hóa đơn -> Mã nhân viên; Mã hóa đơn -> mã sn phm
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
{Mã hoá đơn, sản phm } -> đơn giá; {Mã hoá đơn, sn phm } -> s
ng sn phẩm; {Mã hoá đơn, mã sản phm } -> tng tin
Mã gim giá -> Tên loi gim giá; Mã gim giá -> Thi gian áp dng; Mã gim
giá -> Điều kin giảm giá {Mã hóa đơn, mã giảm giá} -> s tin gim;
khách hàng -> Tên khách hàng; Mã khách hàng -> địa ch;
Mã khách hàng
-> gii tính; Mã khách hàng -> SĐT
Không có ph thuộc hàm dư tha
b) Tách vế trái và loi b ph thuc hàm tha
- {MaSP,MaHD} -> {Don_gia}
Th b MaSP tính MaHD + = (TenHD, Ngay_lap, MaNV,MaKH…) -> Không tha
Th b MaHD tính MaSP + =( TenSP, So_luong_ton, Gia, MaQuay…) -> Không
tha
Không có ph thuc hàm nào tha.
4. Thiết kế CSDL da trên chuẩn hóa lược đồ quan h
Ta có 1 bng gm các thuc tính U và có các ph thc hàm F
a) Chuẩn hóa đưa về dng chun 1NF Điu kin
dng chun loi 1NF:
Các thuc tính ca bng phi là nguyên t
Giá tr ca các thuc tính trên các hàng phải là đơn trị, không cha nhóm
lp
Không có mt thuc tính nào có giá tr có th tính toán được t mt
thuc tính khác
T đó, ta có th thiết kế li bng d liệu trên như sau:
• Tách các thuộc tính đa trị thành đơn trị như: Họ tên nhân viên -> H, tên
Tách các thuc tính lp trong bảng như: Mã hóa đơn, tên hóa đơn, ngày
lp, mã nhân viên, mã khách hàng thành bng mới là Hóa đơn.
Mã gim giá, Tên loi gim giá, Thi gian áp dụng, Điều kin gim giá
thành bng mi là Gim giá.
b) Chuẩn hóa đưa về dng chun 2NF
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Quy tc chun hóa t chun 1NF thành 2NF:
c 1: Loi b các thuc tính không khóa ph thuc vào mt b phn
khóa chính và tách ra thành mt bng riêng, khóa chính ca bng là b
phn ca khóa mà chúng ph thuc vào.
c 2: Các thuc tính còn li lp thành mt quan h, khóa chính ca nó
là khóa chính ban đầu.
Bng d liu mi mà ta thiết kế vẫn chưa đạt chun 2NF, ví d như tên sản
phm ch ph thuc vào 1 phn ca khóa là mã sn phm ch không cn ph
thuc vào c tập khóa… Vậy nên để đạt chun 2NF ta tách các thuc tính thành
các bảng riêng như sau:
Mã quy, Tên quy thành 1 bng mi là Quy b phn
Mã sn phm, Tên sn phm, giá, s ng tn, mã nhà cung cp thành 1
bng mi là Sn phm
Mã hoá đơn, mã sản phẩm, đơn giá, số ng sn phm, tng tin thành
1 bng mi là Chi tiết hóa đơn
Mã hóa đơn, mã giảm giá, s tin gim thành 1 bng mi là Áp dng
Mã nhân viên ,h, tên, ngày sinh, gii tính ra thành mt bng mi là
Nhân viên
Mã quy, Tên quy thành 1 bng mi là Quy b phn
Mã khách hàng ,Tên khách hàng, địa ch, giới tính, SĐT to thành 1 bng
mi tên là Khách hàng
c) Đưa về dng chun 3NF Điu kin:
Phải đạt chun 2NF
Mi thuc tính không khóa ph thuc bc cu vào thuc tính khóa
(nghĩa là tất c các thuc tính không khóa phải được suy ra trc tiếp t
thuc tính khóa) Quy tc chun hóa t 2NF thành 3NF:
c 1: Loi b các thuc tính ph thuc bc cu ra khi quan htách
chúng thành quan h riêng có khóa chính là thuc tính bc cu.
c 2: Các thuc tính còn li lp thành mt quan h có khóa chính là
khóa ban đầu.
Cơ sở d liu mà ta thiết kế chuẩn 2NF cũng đã đạt tiêu chun 3NF.
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
- Các bảng đã xác định khóa chính duy nht cho tng bng.
- Sau khi thc hin chuẩn hóa, ta có lược đ quan h sau:
Bng "Nhân viên":
Mã nhân viên (PK)
H và tên nhân viên
Gii tính
Ngày sinh quy (FK)
Bng "Quy b phn":
Mã quy (PK)
Tên quy
Bng "Sn phm":
Mã sn phm (PK)
Tên sn phm
Giá
S ng tn Mã nhà cung cp
Bng "Khách hàng":
Mã khách hàng (PK)
Tên khách hàng
Địa ch
Gii tính
S đin thoi
Bảng "Hóa đơn":
Mã hóa đơn (PK)
Tên hóa đơn
Mã nhân viên lập hóa đơn (FK)
Mã khách hàng (FK)
Ngày lập hóa đơn
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Bng "Chi tiết hóa đơn":
Đơn giá
S ng sn phm
Tng tin
Mã hóa đơn (PK)
Mã sn phm (PK)
Bảng “Áp dụng”
Mã gim giá (PK)
Mã hóa đơn (PK)
S tin gim
Bng "Gim giá":
Mã gim giá (PK) Tên loi gim giá
Thi gian áp dng
Điu kin gim giá (s tin được gim)
Vậy lược đồ cơ sở d liệu đã ở dng 3NF và các ph thuc bc cầu đã bị
loi b. Mi bảng đại din cho mt thc th duy nht và d liệu được t chc
hiu qu, giảm dư thừa d liệu và đảm bo tính toàn vn ca d liu.
5. Đánh giá dạng chun:
- Các bảng đều có khóa chính duy nht
- Không có giá tr lp trong các thuc tính.
- Không có thuộc tính đa giá trị.
Mc đ chun hóa 1NF
- Các thuc tính không khóa phi ph thuc đầy đủ vào khóa chính
Mc đ chun hóa 2NF
- Các thuc tính không khóa phi ph thuc trc tiếp vào khóa chính
Mc đ chun hóa 3NF
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
- Không có thuc tính khóa mà ph thuc hàm vào thuc tính không khóa.
Mc đ chun hóa BCNF
- Da trên thông tin trên, có th kết lun rằng cơ sở d liệu đã đạt chun
1NF, 2NF, 3NF và BCNF. Các bảng trong cơ sở d liệu đã đưc chun hóa
đầy đủ để đảm bo tính chính xác và tránh các ph thuc không cn thiết.
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
CHƯƠNG IV. THIẾT K THEO MÔ HÌNH THC TH LIÊN KT
Mô hình quan h
NhanVien(MaNV, Ho, Ten, Tuoi, GioiTinh, MaQuay )
Quay_bo_phan( MaQuay, TenQuay)
SanPham( MaSP,TenSP, So_luong_ton, Gia,MaQuay )
HoaDon( MaHD, TenHD, Ngay_lap, MaNV, MaKH)
Chi_tiet_hoa_don (MaHD, Don_gia, So_luong, MaSP, Thanh_tien)
KhachHang( MaKH, TenKH, Gioi_tinh, DiaChi, SĐT )
Ap_Dung, MaGG , So_tien_giam)
GiamGia( MaGG, Ten_loai_GG, Thoi_gian_ap_dung, Dieu_Kien)
Mô hình thc th liên kết
( MaHD
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
Sơ đốề R-E :
CHƯƠNG V. SO SÁNH QUÁ TRÌNH THIẾT K
So sánh quá trình thiết kế CSDL bng lí thuyết chun và quá trình thiết kế CSDL
qua mô hình thc th liên kết :
Quá trình thiết kế cơ sở d liu bng lý thuyết thiết kế chun hoá và quá trình
thiết kế bng mô hình thc th liên kết và đại s quan h có những điểm khác
nhau và ưu điểm riêng.
Thiết kế cơ sở d liu bng lý thuyết thiết kế chun hoá:
Ưu điểm:
lOMoARcPSD|45315597
Cơ sở d liu TS. Nguyn Th Thanh Huyn
- Đảm bo tính toàn vn và duy nht d liu: Các quy tc chun hoá giúp
đảm bo d liu không b trùng lp và hn chế li d liu.
- Hiu sut tt: Thiết kế chun hoá giúp ci thin hiu sut truy vn và
thao tác cơ sở d liu.
- D dàng bo trì và m rng: Cấu trúc cơ sở d liu chun hoá giúp d
dàng bo trì và thêm mới các tính năng.
Nhược điểm:
- Phc tp: Quá trình thiết kế chuẩn hoá đòi hỏi hiu rõ v lý thuyết và có
th làm phc tp quá trình thiết kế ban đầu.
Thiết kế cơ sở d liu bng mô hình thc th liên kết và đại s quan h: Ưu
đim:
- D hiu và d trin khai: Mô hình thc th liên kết giúp đơn giản hóa
quá trình thiết kế và triển khai cơ sở d liu.
- Linh hot: Mô hình thc th liên kết cho phép tùy chnh cu trúc d liu
mt cách linh hot, d dàng thay đổi khi có yêu cu mi.
- Tích hp d liu t nhiu ngun: Mô hình thc th liên kết cho phép tích
hp d liu t nhiu ngun khác nhau.
Nhược điểm:
- D xy ra li d liu: Do tính linh hot và không yêu cu chun hoá
nghiêm ngt, có th d dàng xy ra li d liu và trùng lp.
- Hiu sut có th gim: Mô hình thc th liên kết có th dẫn đến hiu
sut truy vn không tt nếu không được x lý đúng cách.
Tóm li, quá trình thiết kế cơ sở d liu bng lý thuyết thiết kế chuẩn hoá đảm
bo tính toàn vn và duy nht d liu, ci thin hiu sut và d bo trì. Trong
khi đó, quá trình thiết kế bng mô hình thc th liên kết và đại s quan h d
dàng trin khai, linh hot và tích hp d liu t nhiu ngun khác nhau. Tuy
nhiên, vic x lý li d liu và hiu sut truy vn cần được chú ý khi s dng
mô hình này.

Preview text:

lOMoARcPSD| 45315597 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ----- -----
Đề tài: Thiết kế cơ sở dữ liệu hệ thống quản lí siêu thị
Gi ng viên hảướng dẫẫn:
Nguyêẫn Th Thu Huyêềnị
Họ và tên sinh viên: Lê Đức Vi tệ Mã lớp: 142298 Hà Nội, năm 2023 lOMoARcPSD| 45315597 Đồ án môn học 2 MỤC LỤC
MỞ ĐẦU..........................................................................................................................8
CHƯƠNG I. MÔ TẢ BÀI TOÁN THỰC TẾ................................................................9
1. Mục tiêu của hệ thống quản lí siêu thị.................................................9
2. Hệ thống này cung cấp các quy trình nghiệp vụ sau:.............................................10 3. Yêu cầu của hệ thống về bảng dữ
liệu:.....................................................................11 CHƯƠNG II. CÁC CHỨC
NĂNG CỦA HỆ THỐNG...............................................13
CHƯƠNG III. THIẾT KẾ CƠ SỞ DỮ LIỆU.............................................................16
1. Phụ thuộc hàm và tập thuộc tính tương ứng........................................................16
2. Tìm khóa của lược đồ quan hệ:.............................................................................17
3. Tìm phủ tối thiểu....................................................................................................17
4. Chuẩn hóa lược đồ quan hệ...................................................................................18
CHƯƠNG IV. THIẾT KẾ THEO MÔ HÌNH THỰC THỂ LIÊN KẾT...................23
CHƯƠNG V. SO SÁNH QUÁ TRÌNH THIẾT KẾ.....................................................29
CHƯƠNG VI. TẠO LẬP VÀ CẬP NHẬT DỮ LIỆU.................................................31 1. Tạo bảng trong
SQL..............................................................................................31 2. Cập nhật dữ liệu cho
bảng.....................................................................................34CHƯƠNG VII : TRUY
VẤN DỮ LIỆU......................................................................40 lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền MỞ ĐẦU
Kính gửi giảng viên và các bạn sinh viên,
Trong kỷ nguyên công nghệ thông tin phát triển nhanh chóng, hệ thống quản lí bán
hàng là một yếu tố cực kỳ quan trọng đối với các doanh nghiệp. Thiết kế cơ sở dữ
liệu cho hệ thống quản lí bán hàng chính là một khía cạnh không thể thiếu trong quá
trình xây dựng và phát triển hệ thống này.
Bài báo cáo này được thực hiện nhằm giới thiệu về quy trình thiết kế cơ sở dữ liệu
cho hệ thống quản lí bán hàng, nhằm tạo ra một hệ thống mạnh mẽ, linh hoạt và
hiệu quả để hỗ trợ các hoạt động kinh doanh liên quan đến bán hàng.
Chúng em đã nghiên cứu, phân tích và áp dụng các phương pháp thiết kế cơ sở dữ
liệu hiện đại để đảm bảo tính toàn vẹn, tính nhất quán và khả năng mở rộng của hệ
thống. Qua đó, chúng em đã xác định các thực thể, quan hệ và thuộc tính quan trọng
để lưu trữ và quản lí thông tin liên quan đến quá trình bán hàng, như thông tin về
khách hàng, sản phẩm, đơn hàng, kho hàng, và nhiều khía cạnh khác.
Bên cạnh đó, chúng em cũng đã đề xuất một mô hình cơ sở dữ liệu phù hợp, bao
gồm các bảng, quan hệ và ràng buộc để biểu diễn mối quan hệ giữa các thực thể và
đáp ứng các yêu cầu cụ thể của hệ thống quản lí bán hàng.
Bài báo cáo này cũng đề cập đến quy trình triển khai và quản lí cơ sở dữ liệu, bao
gồm việc tạo bảng, thêm dữ liệu, truy vấn và cập nhật thông tin.
Cuối cùng, chúng em hy vọng rằng bài báo cáo này sẽ mang lại cho quý vị cái nhìn
tổng quan về quá trình thiết kế cơ sở dữ liệu cho hệ thống quản lí bán hàng và cung
cấp những kiến thức cơ bản về các phương pháp, quy trình và công cụ liên quan. Xin trân trọng cảm ơn!
CHƯƠNG I. MÔ TẢ BÀI TOÁN THỰC TẾ
1. Mục tiêu của hệ thống quản lí siêu thị là tối ưu hóa và tăng cường hiệu quả
trong hoạt động kinh doanh của siêu thị, đảm bảo quản lý thông
tin một cách chính xác, hiệu quả và đáng tin cậy. Để đạt được mục tiêu này,
hệ thống quản lý siêu thị có những mục tiêu cụ thể sau đây: lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
Quản lý thông tin hàng hóa: Mục tiêu là đảm bảo lưu trữ thông tin chính
xác và đầy đủ về các mặt hàng được bán trong siêu thị, bao gồm tên sản
phẩm, mã sản phẩm, số lượng tồn kho, giá bán, nhà cung cấp và bộ phận quản lý hàng hóa.
Quản lý thông tin khách hàng: Mục tiêu là xây dựng cơ sở dữ liệu chứa
thông tin về khách hàng, bao gồm tên, địa chỉ, số điện thoại, lịch sử mua
hàng và các thông tin khác. Hệ thống này giúp cải thiện trải nghiệm mua
sắm của khách hàng và tạo các chương trình khuyến mãi, quảng cáo phù hợp.
Quản lý thông tin hóa đơn: Mục tiêu là tạo, xem và quản lý thông tin về
hóa đơn bán hàng, bao gồm mã hóa đơn, thông tin khách hàng, thông tin
sản phẩm, tổng giá trị hóa đơn và thời gian lập hóa đơn.
Quản lý nhân viên: Mục tiêu là lưu trữ thông tin về nhân viên làm việc
trong siêu thị, bao gồm thông tin cá nhân, vị trí công việc, lịch sử làm
việc. Hệ thống này giúp cửa hàng quản lý nhân viên hiệu quả và đưa ra
các chính sách phát triển nhân sự.
Quản lý giảm giá: Mục tiêu là theo dõi các chương trình giảm giá, ưu đãi,
khuyến mãi được áp dụng trong siêu thị, bao gồm mã giảm giá, loại giảm
giá, thời gian áp dụng và điều kiện áp dụng. Hệ thống này giúp tối ưu hóa
chiến lược giảm giá và thu hút khách hàng.
Quản lý tồn kho: Mục tiêu là theo dõi số lượng tồn kho của từng sản
phẩm, kiểm soát hàng tồn kho, đồng thời tối ưu hóa quy trình nhập xuất
hàng hóa để tránh thiếu hoặc thừa hàng tồn kho.
Tăng doanh số bán hàng: Một trong những mục tiêu chính của hệ thống
quản lý siêu thị là tăng doanh số bán hàng. Hệ thống này giúp quản lý và
theo dõi thông tin về hàng tồn kho, xu hướng mua sắm của khách hàng,
giá cả cạnh tranh và các yếu tố khác để tối ưu hóa chiến lược bán hàng,
thu hút khách hàng và tăng doanh thu.
2. Hệ thống này cung cấp các quy trình nghiệp vụ sau:
Bước 1: Khách hàng mua sắm
• Khách hàng đến siêu thị và chọn mua các sản phẩm. lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
• Nhân viên cửa hàng hỗ trợ khách hàng và nhập thông tin sản phẩm vào hệ thống. Bước 2: Tạo hóa đơn
• Nhân viên sử dụng hệ thống quản lí bán hàng để tạo hóa đơn cho khách hàng.
• Thông tin về sản phẩm, số lượng, giá bán, tổng tiền và thông tin khách
hàng được ghi nhận trong hóa đơn. Bước 3: Thanh toán
• Khách hàng thanh toán số tiền được hiển thị trên hóa đơn.
• Hệ thống cập nhật tình trạng thanh toán và tính toán số tiền trả lại (nếu có) trong hóa đơn.
Bước 4: Cập nhật hàng tồn kho
• Sau khi hóa đơn được thanh toán, hệ thống cập nhật số lượng tồn kho cho
từng sản phẩm được bán.
• Điều này giúp cửa hàng kiểm soát tồn kho và quản lý hàng hóa một cách hiệu quả.
Bước 5: Quản lý thông tin khách hàng
• Thông tin khách hàng nhập vào hệ thống quản lí bán hàng, bao gồm tên,
địa chỉ, số điện thoại, và lịch sử mua hàng.
• Hệ thống cập nhật lịch sử mua hàng của khách hàng để tạo dự đoán và tối
ưu hóa các chương trình khuyến mãi.
Bước 6: Chương trình khuyến mãi:
• Xác định chương trình giảm giá.
• Nhân viên cửa hàng sử dụng hệ thống quản lí bán hàng để áp dụng giảm
giá cho hóa đơn tương ứng đạt điều kiện.
• Hệ thống sẽ tính toán giá bán mới dựa trên chương trình giảm giá được
áp dụng và cập nhật thông tin hóa đơn vào cơ sở dữ liệu. Bước 7: Thống kê và báo cáo lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
• Hệ thống cơ sở dữ liệu tạo ra các báo cáo thống kê về doanh thu, doanh
số bán hàng, sản phẩm bán chạy và các thông tin quản lý khác.
• Các báo cáo này hỗ trợ quyết định kinh doanh và giúp cửa hàng cải thiện hiệu suất kinh doanh.
Bước 8: Quản lý thông tin nhân viên
• Quản lý siêu thị thêm thông tin mới về nhân viên vào hệ thống.
• Thông tin nhân viên bao gồm tên, ngày sinh, giới tính, địa chỉ, số điện
thoại và các thông tin liên quan khác.
• Thông tin nhân viên được bảo mật và chỉ cho phép người dùng có quyền
truy cập hợp lệ có thể xem và chỉnh sửa thông tin nhân viên.
3. Yêu cầu của hệ thống về bảng dữ liệu:
Yêu cầu khi nhập dữ liệu vào phải đảm bảo: tính đầy đủ chính xác, tính toàn vẹn.
Hệ thống có khả năng tìm kiếm và truy xuất nhanh chóng, bảo mật, dễ dàng tích
hợp và trao đổi dữ liệu.

Thông tin nhân viên có 1 mã nhân viên duy nhất,họ và tên nhân viên, số điện
thoại, địa chỉ, tuổi.
Mỗi nhân viên thuộc 1 quầy bộ phận. Mỗi quầy bộ phận gồm nhiều nhân viên
khác nhau. Quầy bộ phận bao gồm mã quầy và tên quầy. Các quầy bộ phận quản
lí hàng hóa của siêu thị.
Các sản phẩm: có 1 mã sản phẩm duy nhất, tên sản phẩm, giá, số lượng tồn, nhà
cung cấp. Sản phẩm nhập từ nhiều nhà cung cấp.
Hóa đơn do nhân viên bán hàng lập. Mỗi hóa đơn có 1 mã hóa đơn duy nhất, tên
hoá đơn, mã nhân viên lập hoá đơn, mã khách hàng, ngày lập hóa đơn
Mỗi hoá đơn có các chi tiết hoá đơn bao gồm đơn giá, số lượng sản phẩm và
tổng tiền khách đã mua.
Khách hàng mua hàng có thể mua nhiều hoá đơn. Thông tin khách hàng bao
gồm: Mã khách hàng, Tên khách hàng, địa chỉ, giới tính, số điện thoại.
Khách hàng thanh toán có mã giảm giá tiền sẽ được trừ vào hóa đơn. Thông tin
giảm giá bao gồm: Mã giảm giá, tên loại giảm giá, thời gian áp dụng, điều kiện
giảm giá ( hiển thị số tiền được giảm ). Mỗi hóa đơn có thể áp dụng nhiều mã giảm giá.. lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
CHƯƠNG II. CÁC CHỨC NĂNG CỦA HỆ THỐNG
Các chức năng chính trong chương trình quản lý cho bài toán quản lí siêu thị có thể bao gồm: 1. Quản lí nhân viên:
• Thêm nhân viên mới vào hệ thống.
• Cập nhật thông tin nhân viên (họ tên, số điện thoại, địa chỉ, ngày sinh).
• Xóa nhân viên khỏi hệ thống.
• Tìm kiếm và xem thông tin nhân viên.
2. Quản lí quầy bộ phận:
• Thêm quầy bộ phận mới vào hệ thống.
• Cập nhật thông tin quầy bộ phận (tên quầy).
• Xóa quầy bộ phận khỏi hệ thống.
• Xem danh sách quầy bộ phận và nhân viên thuộc quầy bộ phận. 3. Quản lí hàng hóa:
• Thêm sản phẩm mới vào hệ thống.
• Cập nhật thông tin sản phẩm (tên sản phẩm, giá, số lượng tồn, nhà cung cấp).
• Xóa sản phẩm khỏi hệ thống.
• Tìm kiếm và xem thông tin sản phẩm. 4. Quản lí hóa đơn:
• Tạo hóa đơn mới cho khách hàng.
• Cập nhật thông tin hóa đơn (tên hóa đơn, mã nhân viên lập hóa
đơn, mã khách hàng, ngày lập hóa đơn).
• Thêm chi tiết hóa đơn (mã sản phẩm, đơn giá, số lượng sản phẩm). lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
• Xem danh sách hóa đơn và thông tin chi tiết hóa đơn. 5. Quản lí khách hàng:
• Thêm khách hàng mới vào hệ thống.
• Cập nhật thông tin khách hàng (tên khách hàng, địa chỉ, giới tính, số điện thoại).
• Xóa khách hàng khỏi hệ thống.
• Tìm kiếm và xem thông tin khách hàng. 6. Quản lí giảm giá:
• Thêm mã giảm giá mới vào hệ thống.
• Cập nhật thông tin giảm giá (tên loại giảm giá, thời gian áp dụng, điều kiện giảm giá).
• Xóa mã giảm giá khỏi hệ thống.
• Xem danh sách mã giảm giá và thông tin chi tiết.
Sau đây là sơ đồ phân ra chức năng :
CHƯƠNG III. THIẾT KẾ CƠ SỞ DỮ LIỆU
1. Phụ thuộc hàm và tập thuộc tính tương ứng Các phụ thuộc hàm thể hiện
mối quan hệ giữa các thuộc tính. Để xác định các phụ thuộc hàm, ta tìm
kiếm các thuộc tính xác định giá trị của các thuộc tính khác. Lược đồ quan hệ =
Các phụ thuộc hàm F và tập thuộc tính như sau: lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền Tập thuộc tính:
U = {Mã nhân viên, họ, tên, ngày sinh, giới tính, Mã bảng lương, mức
lương, số ngày làm, tiền lương nhận được, Mã quầy, tên quầy, Mã sản phẩm ,
tên sản phẩm, giá, số lượng tồn, mã nhà cung cấp, Mã hóa đơn, tên hóa đơn,
Mã khách hàng, Ngày lập hóa đơn, Đơn giá, số lượng sản phẩm, tổng tiền, Mã
giảm giá, tên loại giảm giá, Thời gian áp dụng, Điều kiện giảm giá, số tiền giảm,
tên khách hàng, địa chỉ, giới tính, SĐT ) Tập phụ thuộc hàm:
F = { Mã nhân viên -> {Họ tên, giới tính, ngày sinh}; Mã quầy -> Tên quầy;
Mã sản phẩm -> {Tên sản phẩm, giá, số lượng tồn, mã nhà cung cấp};
Mã hóa đơn -> {Tên hóa đơn, Ngày lập hóa đơn};
Mã hóa đơn -> {Mã nhân viên, mã sản phẩm}
{Mã hoá đơn, mã sản phẩm } -> {đơn giá, số lượng sản phẩm, tổng
tiền}; Mã hoá đơn -> Mã giảm giá;
Mã giảm giá -> {Tên loại giảm giá, Thời gian áp dụng, Điều kiện giảm giá };
{Mã hóa đơn, mã giảm giá} -> số tiền giảm; lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
Mã khách hàng -> {Tên khách hàng, địa chỉ, giới tính, SĐT} }
2. Tìm khóa của lược đồ quan hệ: U, F = { Li -> Ri | i = 1,2,…,m } I = U \
I = U \ {TenHD, Ngay_lap, TenSP, So_luong_ton, Gia, Don_gia,
So_luong, Thanh_tien, MaNV,MaKH, HoNV, TenNV, NgaysinhNV, GioiTinhNV,
TenKH, DiaChi, Muc_luong, So_ngay_lam, Tien_luong, MaQuay, TenQuay,
MaGG, TenGG, Thoigian, Dieukien} = MaHD, MaSP. Tính bao đóng I+ = U
Xét tập thuộc tính {MaHD, MaSP}
- (MaHD, MaSP)+ = (MaHD, MaSP, TenHD, Ngay_lap, TenSP,
So_luong_ton, Gia, Don_gia, So_luong, Thanh_tien, MaNV,MaKH,
HoNV, TenNV, NgaysinhNV, GioiTinhNV, TenKH, Gioi_tinh,
DiaChi, MaQuay, TenQuay, MaGG, TenGG, Thoigian, Dieukien) = U
- (MaHD)+ = (TenHD, Ngay_lap, MaNV,MaKH, HoNV, TenNV, NgaysinhNV,
GioiTinhNV, TenKH, Gioi_tinh, DiaChi, MaQuay,
TenQuay, MaGG, TenGG, Thoigian, Dieukien) # U
- (MaSP)+ = (TenSP, So_luong_ton, Gia, MaQuay, TenQuay) # U
=> Khóa chính của lược đồ quan hệ TK = {MaHD, MaSP}
3. Tìm phủ tối thiểu a)
Tách về phải phụ thuộc hàm và loại bỏ phụ thuộc hàm dư thừa
- Mã nhân viên -> Họ; Mã nhân viên -> tên; Mã nhân viên -> giới tính; Mã nhân viên -> ngày sinh; Mã quầy -> Tên quầy;
Mã sản phẩm -> Tên sản phẩm; Mã sản phẩm -> giá; Mã sản phẩm -> số
lượng tồn; Mã sản phẩm -> mã nhà cung cấp Mã hóa đơn -> Tên hóa đơn;
Mã hóa đơn -> Ngày lập hóa đơn
Mã hóa đơn -> Mã nhân viên; Mã hóa đơn -> mã sản phẩm lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
{Mã hoá đơn, mã sản phẩm } -> đơn giá; {Mã hoá đơn, mã sản phẩm } -> số
lượng sản phẩm; {Mã hoá đơn, mã sản phẩm } -> tổng tiền
Mã giảm giá -> Tên loại giảm giá; Mã giảm giá -> Thời gian áp dụng; Mã giảm
giá -> Điều kiện giảm giá {Mã hóa đơn, mã giảm giá} -> số tiền giảm;
Mã khách hàng -> Tên khách hàng; Mã khách hàng -> địa chỉ; Mã khách hàng
-> giới tính; Mã khách hàng -> SĐT
Không có phụ thuộc hàm dư thừa b)
Tách vế trái và loại bỏ phụ thuộc hàm thừa - {MaSP,MaHD} -> {Don_gia}
Thử bỏ MaSP tính MaHD + = (TenHD, Ngay_lap, MaNV,MaKH…) -> Không thừa
Thử bỏ MaHD tính MaSP + =( TenSP, So_luong_ton, Gia, MaQuay…) -> Không thừa
Không có phụ thuộc hàm nào thừa.
4. Thiết kế CSDL dựa trên chuẩn hóa lược đồ quan hệ
Ta có 1 bảng gồm các thuộc tính U và có các phụ thộc hàm F
a) Chuẩn hóa đưa về dạng chuẩn 1NF Điều kiện dạng chuẩn loại 1NF:
• Các thuộc tính của bảng phải là nguyên tố
• Giá trị của các thuộc tính trên các hàng phải là đơn trị, không chứa nhóm lặp
• Không có một thuộc tính nào có giá trị có thể tính toán được từ một thuộc tính khác
Từ đó, ta có thể thiết kế lại bảng dữ liệu trên như sau:
• Tách các thuộc tính đa trị thành đơn trị như: Họ tên nhân viên -> Họ, tên
• Tách các thuộc tính lặp trong bảng như: Mã hóa đơn, tên hóa đơn, ngày
lập, mã nhân viên, mã khách hàng thành bảng mới là Hóa đơn.
• Mã giảm giá, Tên loại giảm giá, Thời gian áp dụng, Điều kiện giảm giá
thành bảng mới là Giảm giá.
b) Chuẩn hóa đưa về dạng chuẩn 2NF lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
Quy tắc chuẩn hóa từ chuẩn 1NF thành 2NF:
• Bước 1: Loại bỏ các thuộc tính không khóa phụ thuộc vào một bộ phận
khóa chính và tách ra thành một bảng riêng, khóa chính của bảng là bộ
phận của khóa mà chúng phụ thuộc vào.
• Bước 2: Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó là khóa chính ban đầu.
Bảng dữ liệu mới mà ta thiết kế vẫn chưa đạt chuẩn 2NF, ví dụ như tên sản
phẩm chỉ phụ thuộc vào 1 phần của khóa là mã sản phẩm chứ không cần phụ
thuộc vào cả tập khóa… Vậy nên để đạt chuẩn 2NF ta tách các thuộc tính thành các bảng riêng như sau:
• Mã quầy, Tên quầy thành 1 bảng mới là Quầy bộ phận
• Mã sản phẩm, Tên sản phẩm, giá, số lượng tồn, mã nhà cung cấp thành 1 bảng mới là Sản phẩm
• Mã hoá đơn, mã sản phẩm, đơn giá, số lượng sản phẩm, tổng tiền thành
1 bảng mới là Chi tiết hóa đơn
• Mã hóa đơn, mã giảm giá, số tiền giảm thành 1 bảng mới là Áp dụng
• Mã nhân viên ,họ, tên, ngày sinh, giới tính ra thành một bảng mới là Nhân viên
• Mã quầy, Tên quầy thành 1 bảng mới là Quầy bộ phận
• Mã khách hàng ,Tên khách hàng, địa chỉ, giới tính, SĐT tạo thành 1 bảng mới tên là Khách hàng
c) Đưa về dạng chuẩn 3NF Điều kiện: • Phải đạt chuẩn 2NF
• Mọi thuộc tính không khóa phụ thuộc bắc cầu vào thuộc tính khóa
(nghĩa là tất cả các thuộc tính không khóa phải được suy ra trực tiếp từ
thuộc tính khóa) Quy tắc chuẩn hóa từ 2NF thành 3NF:
• Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và tách
chúng thành quan hệ riêng có khóa chính là thuộc tính bắc cầu.
• Bước 2: Các thuộc tính còn lại lập thành một quan hệ có khóa chính là khóa ban đầu.
Cơ sở dữ liệu mà ta thiết kế ở chuẩn 2NF cũng đã đạt tiêu chuẩn 3NF. lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
- Các bảng đã xác định khóa chính duy nhất cho từng bảng.
- Sau khi thực hiện chuẩn hóa, ta có lược đồ quan hệ sau: Bảng "Nhân viên": Mã nhân viên (PK) Họ và tên nhân viên Giới tính Ngày sinh Mã quầy (FK) Bảng "Quầy bộ phận": Mã quầy (PK) Tên quầy Bảng "Sản phẩm": Mã sản phẩm (PK) Tên sản phẩm Giá
Số lượng tồn Mã nhà cung cấp Bảng "Khách hàng": Mã khách hàng (PK) Tên khách hàng Địa chỉ Giới tính Số điện thoại Bảng "Hóa đơn": Mã hóa đơn (PK) Tên hóa đơn
Mã nhân viên lập hóa đơn (FK) Mã khách hàng (FK) Ngày lập hóa đơn lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
Bảng "Chi tiết hóa đơn": Đơn giá Số lượng sản phẩm Tổng tiền Mã hóa đơn (PK) Mã sản phẩm (PK) Bảng “Áp dụng” Mã giảm giá (PK) Mã hóa đơn (PK) Số tiền giảm Bảng "Giảm giá":
Mã giảm giá (PK) Tên loại giảm giá Thời gian áp dụng
Điều kiện giảm giá (số tiền được giảm)
Vậy lược đồ cơ sở dữ liệu đã ở dạng 3NF và các phụ thuộc bắc cầu đã bị
loại bỏ. Mỗi bảng đại diện cho một thực thể duy nhất và dữ liệu được tổ chức
hiệu quả, giảm dư thừa dữ liệu và đảm bảo tính toàn vẹn của dữ liệu.

5. Đánh giá dạng chuẩn:
- Các bảng đều có khóa chính duy nhất
- Không có giá trị lặp trong các thuộc tính.
- Không có thuộc tính đa giá trị.
➔ Mức độ chuẩn hóa 1NF
- Các thuộc tính không khóa phải phụ thuộc đầy đủ vào khóa chính
➔ Mức độ chuẩn hóa 2NF
- Các thuộc tính không khóa phải phụ thuộc trực tiếp vào khóa chính
➔ Mức độ chuẩn hóa 3NF lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
- Không có thuộc tính khóa mà phụ thuộc hàm vào thuộc tính không khóa.
➔ Mức độ chuẩn hóa BCNF
- Dựa trên thông tin trên, có thể kết luận rằng cơ sở dữ liệu đã đạt chuẩn
1NF, 2NF, 3NF và BCNF. Các bảng trong cơ sở dữ liệu đã được chuẩn hóa
đầy đủ để đảm bảo tính chính xác và tránh các phụ thuộc không cần thiết. lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
CHƯƠNG IV. THIẾT KẾ THEO MÔ HÌNH THỰC THỂ LIÊN KẾT Mô hình quan hệ
NhanVien(MaNV, Ho, Ten, Tuoi, GioiTinh, MaQuay )
Quay_bo_phan( MaQuay, TenQuay)
SanPham( MaSP,TenSP, So_luong_ton, Gia,MaQuay )
HoaDon( MaHD, TenHD, Ngay_lap, MaNV, MaKH)
Chi_tiet_hoa_don (MaHD, Don_gia, So_luong, MaSP, Thanh_tien)
KhachHang( MaKH, TenKH, Gioi_tinh, DiaChi, SĐT ) ( MaHDA p_Dung, MaGG , So_tien_giam)
GiamGia( MaGG, Ten_loai_GG, Thoi_gian_ap_dung, Dieu_Kien)
Mô hình thực thể liên kết lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền Sơ đốề R-E :
CHƯƠNG V. SO SÁNH QUÁ TRÌNH THIẾT KẾ
So sánh quá trình thiết kế CSDL bằng lí thuyết chuẩn và quá trình thiết kế CSDL
qua mô hình thực thể liên kết :
Quá trình thiết kế cơ sở dữ liệu bằng lý thuyết thiết kế chuẩn hoá và quá trình
thiết kế bằng mô hình thực thể liên kết và đại số quan hệ có những điểm khác nhau và ưu điểm riêng.
Thiết kế cơ sở dữ liệu bằng lý thuyết thiết kế chuẩn hoá: Ưu điểm: lOMoARcPSD| 45315597
Cơ sở dữ liệu
TS. Nguyễn Thị Thanh Huyền
- Đảm bảo tính toàn vẹn và duy nhất dữ liệu: Các quy tắc chuẩn hoá giúp
đảm bảo dữ liệu không bị trùng lặp và hạn chế lỗi dữ liệu.
- Hiệu suất tốt: Thiết kế chuẩn hoá giúp cải thiện hiệu suất truy vấn và
thao tác cơ sở dữ liệu.
- Dễ dàng bảo trì và mở rộng: Cấu trúc cơ sở dữ liệu chuẩn hoá giúp dễ
dàng bảo trì và thêm mới các tính năng. Nhược điểm:
- Phức tạp: Quá trình thiết kế chuẩn hoá đòi hỏi hiểu rõ về lý thuyết và có
thể làm phức tạp quá trình thiết kế ban đầu.
Thiết kế cơ sở dữ liệu bằng mô hình thực thể liên kết và đại số quan hệ: Ưu điểm:
- Dễ hiểu và dễ triển khai: Mô hình thực thể liên kết giúp đơn giản hóa
quá trình thiết kế và triển khai cơ sở dữ liệu.
- Linh hoạt: Mô hình thực thể liên kết cho phép tùy chỉnh cấu trúc dữ liệu
một cách linh hoạt, dễ dàng thay đổi khi có yêu cầu mới.
- Tích hợp dữ liệu từ nhiều nguồn: Mô hình thực thể liên kết cho phép tích
hợp dữ liệu từ nhiều nguồn khác nhau. Nhược điểm:
- Dễ xảy ra lỗi dữ liệu: Do tính linh hoạt và không yêu cầu chuẩn hoá
nghiêm ngặt, có thể dễ dàng xảy ra lỗi dữ liệu và trùng lặp.
- Hiệu suất có thể giảm: Mô hình thực thể liên kết có thể dẫn đến hiệu
suất truy vấn không tốt nếu không được xử lý đúng cách.
Tóm lại, quá trình thiết kế cơ sở dữ liệu bằng lý thuyết thiết kế chuẩn hoá đảm
bảo tính toàn vẹn và duy nhất dữ liệu, cải thiện hiệu suất và dễ bảo trì. Trong
khi đó, quá trình thiết kế bằng mô hình thực thể liên kết và đại số quan hệ dễ
dàng triển khai, linh hoạt và tích hợp dữ liệu từ nhiều nguồn khác nhau. Tuy
nhiên, việc xử lý lỗi dữ liệu và hiệu suất truy vấn cần được chú ý khi sử dụng mô hình này.