You are on page 1of 24

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI

BÀI TẬP LỚN

Đề tài

Nhóm …
1. Nguyễn Văn A
2….
3….
4….
5….

Hà nội, tháng 10 năm 2023


LỜI CẢM ƠN
BẢNG ĐÁNH GIÁ
NHÓM …

STT Họ tên Công việc Đánh giá Ký tên

Công việc 1
1 Nguyễn Văn A Công việc 2 A
Công việc 3
Công việc 4
2 Nguyễn Thị B Công việc 5 B
Công việc 6
3
4
5

(Ghi chú: đánh giá theo nhóm dựa trên thái độ công việc và khả năng đóng góp
cho nhóm. Đây là một cơ sở quan trọng giúp giáo viên đánh giá điểm cho cả
nhóm và cho từng cá nhân trong nhóm)
MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU BÀI TOÁN VÀ XÂY DỰNG MÔ HÌNH
THỰC THỂ LIÊN KẾT.....................................................................................2
1.1. Phát hiểu bài toán.......................................................................................2
1.2. Xây dựng mô hình thực thể liên kết..........................................................3
1.2.1. Xác định các tập/kiểu thực thể và các thuộc tính tương ứng..............3
1.2.2. Xác định các liên kết và kiểu liên kết.................................................5
1.2.3. Vẽ mô hình ER...................................................................................6
CHƯƠNG 2. XÂY DỰNG CƠ SỞ DỮ LIỆU..................................................7
2.1. Xây dựng mô hình cơ sở dữ liệu quan hệ..................................................7
2.1.1. Áp dụng lần lượt các quy tắc biến đổi mô hình thực thể liên kết về
mô hình CSDL quan hệ:...............................................................................7
2.1.2. Chốt lại cơ sở dữ liệu cuối cùng của bài toán.....................................8
2.1.3. Xác định các ràng buộc bài toán.........................................................9
2.2. Chuẩn hóa cơ sở dữ liệu bài toán.............................................................10
2.3. Thiết kế vật lý của cơ sở dữ liệu..............................................................11
CHƯƠNG 3. KHAI THÁC CƠ SỞ DỮ LIỆU...............................................14
3.1. Xây dựng các phép chọn, chiếu, nối theo yêu cầu...................................14
3.2. Các lệnh SQL cụ thể................................................................................18
3.3. Phân quyền sử dụng cơ sở dữ liệu...........................................................18
CHƯƠNG 4. TỔNG KẾT................................................................................19
4.1. Ưu nhược điểm của cơ sở dữ liệu............................................................19
4.1.1. Ưu điểm............................................................................................19
4.1.2. Nhược điểm......................................................................................19
4.2. Những cải tiến và hướng phát triển.........................................................19
TÀI LIỆU THAM KHẢO...............................................................................20

1
CHƯƠNG 1. GIỚI THIỆU BÀI TOÁN VÀ XÂY DỰNG MÔ HÌNH
THỰC THỂ LIÊN KẾT
1.1. Phát hiểu bài toán
Một cửa hàng muốn quản lý một cửa hàng kinh doanh vải nên cần xây
dựng một hệ thống cơ sở dữ liệu để quản lý bán hàng tại cửa hàng của mình.
Dưới đây là một số yêu cầu phải có để thành lập hệ thống kinh doanh:
Hệ thống quản lý cửa hàng vải bao gồm loại vải, mỗi loại vải có các
thông tin: Mã loại vải dùng để phân biệt các loại khác nhau, tên loại vải, xuất xứ
là tên quốc gia sản xuất, thông tin khác là các thông tin liên quan nếu có.
Mỗi loại vải sẽ có nhiều cây vải, mỗi cây vải được phân biệt với nhau bởi
mã cây vải, gồm các thông tin: đơn giá cho mỗi đơn vị tính, tình trạng và số
lượng cây vải tồn kho.
Cửa hàng phân loại các đối tác. Mỗi một loại đối tác gồm có thông tin về
mã loại đối tác, mã loại đối tác này dùng để phân biệt các loại đối tác với nhau.
Ngoài ra còn có thông tin về tên loại đối tác và các ghi chú nếu có.
Các đối tác được phân biệt với nhau bởi mã đối tác, mỗi đối tác sẽ lưu
thông tin về tên người đại diện, địa chỉ, điện thoại, email của người đại diện đó
và thông tin về tổng tiền nợ của đối tác, tình trạng của đối tác. Mã đối tác chứa
thông tin mã đối tác tương ứng trong quan hệ đối tác để cho biết đối tác của
từng đơn hàng. Các đơn hàng khác nhau được phân biệt bởi mã đơn hàng.
Cửa hàng quản lý đơn hàng bao gồm gồm thông tin các hóa đơn của cửa
hàng, trong đó có các thông tin về mã số của đơn hàng, ngày lập, ngày giao dự
kiến, thành tiền là tổng trị giá tiền của hóa đơn và tình trạng của đơn hàng.
Mỗi đơn hàng sẽ có thông tin chi tiết đơn hàng, mỗi chi tiết đơn hàng
thuộc về một đơn hàng cụ thể, có các thông tin cho biết số lượng mét vải được
mua của một cây vải nào đó và đơn giá thành tiền tương ứng. Mã đơn hàng
chứa mã số đơn hàng tương ứng trong quan hệ đơn hàng. Từ mã cây vải ta có
thể dựa vào quan hệ cây vải để biết được thông tin sản phẩm của mỗi chi tiết
đơn hàng.
2
1.2. Xây dựng mô hình thực thể liên kết
1.2.1. Xác định các tập/kiểu thực thể và các thuộc tính tương ứng
 Xác định thực thể
- LOAIVAI: MALOAIVAI, TENLOAIVAI, XUATXU, THONGTINKHAC

- CAYVAI: MACAYVAI, tenthuoc, soluongtrongkho, NSX, HSD.

- PHIEUNHAP: maPhieu, Ngaynhap, nhacungcap, soluongnhap,


tongtien.

3
- HOADON: mahoadon, ngaylap, tenkhachhang, SDT, tongtien, loaithuoc.

KHACHHANG : maKH, tenKH, Diachi, SDT.

4
1.2.2. Xác định các liên kết và kiểu liên kết
• Mối liên kết giữa tập thực thể nhân viên và tập thực thể hóa đơn là mối
liên kết 1-n bởi vì 1 nhân viên lập được nhiều hóa đơn nhưng 1 hóa
đơn chỉ được lập bởi 1 nhân viên.
• Mối liên kết giữa tập thực thể nhân viên và tập thực thể phiếu nhập là
mối liên kết 1-n bởi vì 1 nhân viên lập được nhiều phiếu nhập nhưng 1
phiếu nhập chỉ được lập bởi 1 nhân viên.
• Mối liên kết giữa tập thực thể khách hàng và tập thực thể hóa đơn là
mối liên kết 1-n bởi vì 1 khách hàng có được nhiều hóa đơn nhưng 1
hóa đơn chỉ được lập bởi 1 khách hàng.
• Mối liên kết giữa tập thực thể thuốc và tập thực thể hóa đơn là mối liên
kết m-n bởi vì thông tin của nhiều thuốc có trong 1 hóa đơn nhưng
nhiều hóa đơn có chứa thông tin của nhiều loại thuốc.
• Mối liên kết giữa tập thực thể phiếu nhập và tập thực thể thuốc là mối
liên kết m – n bởi vì một phiếu nhập có nhiều thuốc và nhiều thuốc có
trong nhiều phiếu nhập.

5
1.2.3. Vẽ mô hình ER

6
CHƯƠNG 2. XÂY DỰNG CƠ SỞ DỮ LIỆU
2.1. Xây dựng mô hình cơ sở dữ liệu quan hệ
2.1.1. Áp dụng lần lượt các quy tắc biến đổi mô hình thực thể liên kết về mô
hình CSDL quan hệ:
Áp dụng quy tắc 1: chuyển kiểu thực thể mạnh
 R1 : NHANVIEN ( maNV, tenNV, ngaysinh, sodienthoai, chucvu,
HSL, CMND )

Thuộc tính lương là thuộc tính suy dẫn từ HSL nên không được lưu
vào quan hệ Nhân viên
 R2.THUOC ( mathuoc, tenthuoc, soluongtrongkho, NSX, HSD)
 R3. PHIEUNHAP ( maPhieu, soluongnhap, Ngaynhap, nhacungcap,
tongtien)
 R4.HOADON ( mahoadon, ngaylap, tenkhachhang, SDT,
tongtien ,loaithuoc )
 R5.KHACHHANG (maKH , tenKH, SDT, diachi)

Áp dụng quy tắc 2: chuyển kiểu thực thể yếu


Áp dụng quy tắc 3: chuyển các kiểu thực thể mạnh 1 – 1
Áp dụng quy tắc 4: chuyển các kiểu thực thể mạnh 1-n
- Xét liên kết nhân viên lập hoá đơn 1 – n, thêm maNV vào bảng
HOADON:
 R4 : HOADON ( mahoadon, ngaylap, tenkhachhang, SDT, tongtien,
loaithuoc)

R4.1 : HOADON ( mahoadon, ngaylap, tenkhachhang, SDT, tongtien,


loaithuoc, maNV)
 R3 : PHIEUNHAP ( maPhieu, Ngaynhap, nhacungcap, soluongnhap,
tongtien)

7
R3.3 :PHIEUNHAP: ( maPhieu, Ngaynhap, nhacungcap,
soluongnhap, tongtien, maNV)

- Xét liên kết Khách hàng lập hoá đơn :1-n thêm maKH vào bảng
HOADON
 R4.1: HOADON ( mahoadon, ngaylap, tenkhachhang, SDT, tongtien,
loaithuoc, maNV)

R4.2 : HOADON: ( mahoadon, ngaylap, tongtien, loaithuoc, maNV,


maKH )
Áp dụng quy tắc 5: chuyển kiểu thực thể m-n
- Xét liên kết thuốc và hoá đơn :m-n
- Liên kết nhiều sinh ra 1 liên kết mới
HOADONBAN_THUOC(mahoadon, mathuoc ,soluongban)
HOADONNHAP_THUOC(maPhieu ,mathuoc , soluongnhap)
Áp dụng quy tắc 6: Chuyển đổi các liên kết có bậc lớn hơn 2
Áp dụng quy tắc 7: Chuyển các liên kết “is-a”

2.1.2. Chốt lại cơ sở dữ liệu cuối cùng của bài toán


Cơ sở dữ liệu của bài toán:
NHANVIEN ( maNV, tenNV, ngaysinh, sodienthoai, chucvu, HSL,
CMND)
THUOC ( mathuoc, tenthuoc, soluongtrongkho,NSX, HSD)
PHIEUNHAP ( maPhieu, Ngaynhap, nhacungcap, soluongnhap,
tongtien, maNV)
HOADON ( mahoadon, ngaylaphoadon, tongtien, maNV, maKH )
KHACHHANG (maKH , tenKH, SDT, Diachi)
HOADONBAN_THUOC(mahoadon, mathuoc ,soluongban)
HOADONNHAP_THUOC(maPhieu ,mathuoc , soluongnhap)

8
2.1.3. Xác định các ràng buộc bài toán
a. Ràng buộc toàn vẹn liên bộ: “Mỗi thuốc chỉ có một mã thuốc duy
nhất.”

-Bối cảnh: THUOC.


-Nội dung:
+Tự nhiên: Mỗi thuốc có một mã duy nhất.
+Hình thức: ∀t1, t2 ∋ thuốc,t1 ≠ t2 =>t1.Mat≠ t2.Mat.
Bảng tầm ảnh hưởng:
Thêm Sửa Xóa
THUOC +(Mat) - +*(Mat)

b. Ràng buộc toàn vẹn liên thuộc tính:”Giới Tính của nhân viên chỉ
nhận giá trị Nam hoặc Nữ.”
-Bối cảnh: NHANVIEN.
-Nội dung: Giới Tính của Nhân viên chỉ nhận giá trị Nam hoặc Nữ.
-Hình thức: ∀x ∃ Nhân Viên: x= “Nam” => x≠”Nữ”.
Bảng tầm ảnh hưởng:
Thêm Sửa Xóa
NHAN VIEN + +(Gioitinh) -

c. Ràng buộc toàn vẹn liên bộ: “Mỗi nhân viên chỉ có 1 mã nhân viên
duy nhất.”
-Bối cảnh:NHANVIEN.
-Nội dung:
+Tự nhiên: Mỗi nhân viên có 1 mã nhân viên duy nhất.
+Hình thức:
∀nv1,nv2 ∋ nhân viên:nv1≠ nv2 => nv1.MaNV ≠ nv2.MaNV.
Bảng tầm ảnh hưởng:
Thêm Sửa Xóa
NHANVIEN +(MaNV) - +*(MaNV)

9
2.2. Chuẩn hóa cơ sở dữ liệu bài toán
 Từ mô hình quan hệ ta suy ra các phụ thuộc hàm:
NHANVIEN ( maNV, tenNV, ngaysinh, sodienthoai, chucvu, HSL,
CMND)
THUOC ( mathuoc, tenthuoc, soluongtrongkho,NSX, HSD)
PHIEUNHAP ( maPhieu, Ngaynhap, nhacungcap, soluongnhap,
tongtien, maNV)
HOADON ( mahoadon, ngaylaphoadon, tongtien, maNV, maKH )
KHACHHANG (maKH , tenKH, SDT, Diachi)
HOADONBAN_THUOC(mahoadon, mathuoc ,soluongban)
HOADONNHAP_THUOC(maPhieu ,mathuoc , soluongnhap)
 Từ các phụ thuộc hàm trên ta thấy:
 Mọi thuộc tính đều là nguyên tố, giá trị các thuộc tính trên bộ là đơn
trị, không có thuộc tính nào có giá trị được tính toán từ một số thuộc
tính khác.
 Lược đồ quan hệ trên đã ở dạng chuẩn 1NF.
 Mọi thuộc tính không khóa của quan hệ đều phụ thuộc hàm đầy đủ
vào khóa chính.
 Lược đồ quan hệ trên đã ở dạng chuẩn 2NF.
 Mọi thuộc tính không khóa của quan hệ đều không phụ thuộc bắc cầu
vào bất kì khóa chính của quan hệ.
 Lược đồ quan hệ trên đã ở dạng chuẩn 3NF.

10
2.3. Thiết kế vật lý của cơ sở dữ liệu

Bảng NHANVIEN

maNV Hoten Ngaysinh Gioitinh Hsl Chucvu


277 Vương Sỹ Tuấn 27/07/2002 Nam 5 NV
201 Nguyễn Tiến Trường 07/01/2002 Nam 4 NV
211 Vương Xuân Quân 21/01/2002 Nam 4 Tổ trưởng
100 Nguyễn Danh Nam 12/10/2002 Nam 3 NV
150 Đào Thái Sơn 02/12/2002 Nam 2 NV
146 Nguyễn Thị Phương 20/12/2002 Nữ 5 NV

Bảng KHACHHANG
SDT HotenKH Diachi maKH
096408112 Nguyễn Thị Anh Hà Nội A01
5
032555275 Trần Thế Nhâm Hà Nội A02
0
098765234 Nguyễn Văn An Cà Mau A03
5
098765432 Vương Xuân Tuấn Hà Nội A04
1
091234567 Nguyễn Thị Linh Thanh Hóa B02
11
8

12
Bảng Thuốc
mathuoc tenthuoc So luong NSX HSD
trong kho
102 Thuốc Ho 5 05/03/2019 04/03/2022
207 Tiêu khiết thanh 4 24/09/2019 28/03/2023
555 Tiffy 3 05/03/2019 06/03/2022
999 Panadol 7 05/08/2019 11/03/2023
777 Paracetamol 3 12/07/2020 21/10/2021

Bảng Phiếu Nhập


maPhieu maNV Ngaynhap nhacungca Tong tien
p
1002 277 06/06/2020 Việt Hưng 5.000.000
1007 201 09/12/2020 Trần Điền 2.000.000
1008 211 12/12/2020 Táo Store 4.500.000
1003 100 15/02/2020 Bắc Cường 8.700.00
1004 150 09/08/2020 Nam Châu 1.234.567

Bảng HOADONBAN
Ngaylap mahoadon MaNV SdtKH maKH
08/03/2021 1004 277 0964081125 A01
09/02/2020 1002 201 0325552750 A02
12/12/2020 1007 211 0987652345 A03
09/02/2021 1008 100 0912345678 A04
18/09/2020 1003 150 0987654321 B02

13
Bảng HOADONTHUOC
mahoadon mathuoc Gia ban So luong ban
1004 102 55.000 3
1002 207 12.000 5
1007 555 67.000 3
1008 999 12.000 2
1003 777 45.000 2

Bảng PHIEUNHAP_THUOC
maPhieu mathuoc Gia nhap So luong nhap
1002 102 40.000 50
1007 207 5.000 21
1008 555 60.000 56
1003 999 10.000 72
1004 777 35.000 45

14
CHƯƠNG 3. KHAI THÁC CƠ SỞ DỮ LIỆU
3.1. Xây dựng các phép chọn, chiếu, nối theo yêu cầu
1. Lấy dữ liệu từ 1 bảng:
Câu 1: Lấy danh sách họ tên nhân viên:
∏(hoten) (NHANVIEN)
Vương Sỹ Tuấn
Nguyễn Tiến Trường
Vương Xuân Quân
Nguyễn Danh Nam
Đào Thái Sơn
Nguyễn Thị Phương

Câu 2: Lấy ra khách hàng ở Hà Nội:

σ<diachi=”Hà Nội”> (KHACHHANG)


0964081125 Nguyễn Thị Anh Hà Nội
0325552750 Trần Thế Nhâm Hà Nội
0987654321 Vương Xuân Tuấn Hà Nội

Câu 3 : Lấy ra mã thuốc, tên thuốc mà số lượng trong kho >3:


∏(mathuoc,tenthuoc,soluongtrongkho)(σsoluongtrongkho>3)(THUOC)
mathuoc tenthuoc So luong trong kho
102 Thuốc Ho 5
207 Tiêu khiết thanh 4
999 Panadol 7

Câu 4: Lấy ra nhân viên tên Tuấn :


∏(hoten,ngaysinh,Gioitinh)(σ<hoten=”Tuấn”>)(NHANVIEN)

15
Vương Sỹ Tuấn 27/07/2002 Nam

Câu 5: Lấy ra mã nhân viên,tên nhân viên , ngày sinh của nhân
viên có hệ số lương >4

∏(maNV,hoten,ngaysinh ,HSL)(σHSL>4)(NHANVIEN)

277 Vương Sỹ Tuấn 27/07/2002 5


146 Nguyễn Thị Phương 20/12/2002 5

2. Lấy dữ liệu từ 2 bảng:


Câu 1:Lấy ra mã nv và họ tên nhân viên lập hoá đơn mã “1002”

∏(hoten,maNV)( σsohoadon=1002)(HOADONBAN*NHANVIEN)

201 Nguyễn Tiến Trường

Câu 2: Lấy ra họ tên sdt khách hàng có số hoá đơn là “1002”

∏(hoten,SDT)( σsohoadon=1002)(KHACHHANG*HOADONBAN)

0325552750 Trần Thế Nhâm

Câu 3:Lấy ra mã nhân viên ,tên nhân viên lập hoá đơn xuất tháng 12

∏(maNV,hoten)(σ(month(denngay)=12)(NHANVIEN*HOADONBAN)

211 Vương Xuân Quân

3. Tính toán từ bảng dữ liệu


Câu 1:Cho biết số lượng nhân viên

16
ℑ(count(maNV))(NHANVIEN)
STT Họ tên
1 Vương Sỹ Tuấn
2 Nguyễn Tiến Trường
3 Vương Xuân Quân
4 Nguyễn Danh Nam
5 Đào Thái Sơn
6 Nguyễn Thị Phương
 Vậy số lượng nhân viên là 6.

Câu 2: Cho biết thuốc có giá trị nhập cao nhất:


∏(Mathuoc,Gianhap)ℑMAX(Gianhap)(PHIEUNHAPTHUOC_THUOC)
555 60.000đ

Câu 3: Tính trung bình hệ số lương của tất cả nhân viên

ℑAVG(HSL)(NHANVIEN)
HSL

4
 Vậy 4 trung bình cộng
mỗi nhân viên có hệ
số 3 lương là :3.8

2
Câu 4: Tính tổng số lương của
nhân viên 5
AVG 3.8
ℑ(SUM(HSL)*135000
0)(NHANVIEN)
17
HSL
5
4
4
3
2
5

SUM 23
Tổng lương các 23*1.350.000đ=6.768.000đ
nhân viên

 Vậy Tổng tiền lương của các nhân viên là 6768000đ


Câu 5:Tìm ra nhân viên có hệ số lương ít nhất

∏(maNV,hoten,HSL)ℑMIN(HSL)(NHANVIEN)
150 Đào Thái Sơn 2

18
3.2. Các lệnh SQL cụ thể
...
3.3. Phân quyền sử dụng cơ sở dữ liệu

19
CHƯƠNG 4. TỔNG KẾT
4.1. Ưu nhược điểm của cơ sở dữ liệu
4.1.1. Ưu điểm

4.1.2. Nhược điểm

4.2. Những cải tiến và hướng phát triển

20
TÀI LIỆU THAM KHẢO

21

You might also like