ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC KINH TẾ … … BÁO CÁO BÀI TẬP NHÓM HỌC PHẦN CƠ SỞ DỮ LIỆU Tên đề tài XÂY DỰNG CƠ SỞ DỮ LIỆU QUẢN LÝ QUY TRÌNH NHẬP HÀNG VÀ BÁN HÀNG CỦA CỬA HÀNG FAIFO MA
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC KINH TẾ
… …
BÁO CÁO BÀI TẬP NHÓM HỌC PHẦN CƠ SỞ DỮ LIỆU
Tên đề tài
XÂY DỰNG CƠ SỞ DỮ LIỆU QUẢN LÝ QUY TRÌNH NHẬP HÀNG VÀ BÁN HÀNG CỦA CỬA HÀNG FAIFO MART
Giáo viên hướng dẫn : Nguyễn Thị Uyên Nhi
Thành viên : Phan Thanh Thảo (NT)
Trần Thị Ánh Lai Trương Thanh Hạnh Trình Thị Mỹ Thu Trần Thị Thanh Tâm
Đà Nẵng, 2024
Trang 2MỤC LỤC
I Xây dựng mô hình thực thể kết hợp 1
1.1 Hóa đơn nhập hàng 1
1.2 Hóa đơn bán hàng 3
1.3 Hóa đơn ER tích hợp 4
II.Xây dựng mô hình quan hệ dữ liệu 5
2.1 Chuyển đổi mô hình thực thể kết hợp thành mô hình dữ liệu quan hệ 5
2.2 Thiết kế chi tiết bảng 5
2.3 Tổng hợp 9
III Tạo Cơ Sở Dữ Liệu 9
Trang 3Video phỏng vấn:
Video phỏng vấn nhóm 05_CSDL
I Xây dựng mô hình thực thể kết hợp
1.1 Hóa đơn nhập hàng
Bước 1: Chọn lọc thông tin:
Từ trong
hoá đơn
Từ rõ
nghĩa
Từ viết tắt
MST Mã số
thuế của
nhà cung
cấp
MST_NCC
Tên đơn
vị
Tên nhà
cung cấp
Ten_NCC
Địa chỉ Địa chỉ
nhà cung
cấp
DC_NCC
STK Số tài
khoản
STK
Số điện
thoại
Số điện
thoại nhà
cung cấp
SĐT_NCC
Mã số Mã hàng
hoá
MaHH
Tên hàng
hoá
Tên hàng
hoá nhập
TenHH
ĐVT Đơn vị
tính của
hàng hoá
DVT
Đơn giá Đơn giá
nhập hàng
DongiaNH
Địa Chỉ Địa chỉ
của cửa
DC_CH
Trang 4nhập hàng
MaNH
Ngày Ngày đặt
hàng
NgayDH
Số lượng Số lượng
hàng hoá
đã nhập
SL
Tổng tiền
hàng
Tổng tiền
hàng hoá
TongTienHan g
Bước 2: Xác định thực thể, thuộc tính:
● Hàng hoá (MaHH, TenHH, DVT, DongiaNH)
● Nhà cung cấp (MST_NCC, DC_NH, SDT_NCC, Ten_NCC, STK)
● Cửa hàng (MaCH, DC_CH, SDT, TenCH)
Bước 3: Xác định quan hệ:
● Mua hàng (MaNH, NgayDH, SL, TongTienHang)
Bước 4: Vẽ sơ đồ quan hệ:
Trang 51.2 Hóa đơn bán hàng
Bước 1: Chọn lọc thông tin:
Từ trong
HSDL
Từ rõ
nghĩa
Viết tắt
Tên khách
hàng
Tên người
mua
TenKH
Số điện
thoại
Số điện
thoại
SDT
Tên Hàng Tên Hàng
Hóa
TenHH
Dơn vị tính Đợn vị
tính
ĐVT
Đơn giá Đơn giá
bán hàng
DongiaBH
Số hóa đơn Mã hóa
đơn
SoHD
Thành tiền Thành
Tiền
ThanhTien
Tổng tiền
hàng
Tổng tiền Tongtien
Tổng thanh
toán
Tổng
thanh toán
TongThanhT oan
Chiết khấu Chiết
Khấu
ChietKhau
Ngày mua
hàng
Ngày mua
hàng
NgayMH
Số lượng Số lượng Soluong
Bước 2: Chọn lọc thông tin:
● Khách hàng (MaKH, TenKH, SĐT)
Trang 6● Hàng hóa (MaHH,TenHH,DVT,DongiaBH)
Bước 3: Xác định quan hệ:
● Lập hóa đơn (SoHD, Soluong, NgayMH, ThanhTien, ChietKhau, Tongtien, Tongthanhtoan)
Bước 4: Vẽ sơ đồ:
1.3 Hóa đơn ER tích hợp
Trang 7II.Xây dựng mô hình quan hệ dữ liệu
2.1 Chuyển đổi mô hình thực thể kết hợp thành mô hình dữ liệu quan hệ
LoaiHang( MaLH, TenLH, Soluong )
HangHoa( MaHH, MaLH, TenHH, DVT, DongiaNH, DongiaBH )
KhachHang( MaKH, TenKH, SDT )
NhaCungCap( MST_NCC, Ten_NCC, STK, SDT, DC_NCC )
DatHang(MaNH, MaHH, MST_NCC , NgayDH, TongTienHang,
SL)
BanHang(SoHD, MaHH, MaKH , Soluong, TongTien, ChietKhau,
TongThanhToan, NgayDH)
2.2 Thiết kế chi tiết bảng
Bảng LoaiHang
Thuộc tính Diễn giải Kiểu dữ liệu Ràng buộc
MaLH Mã loại hàng Chuỗi(10) PK
TenLH Tên loại hàng Chuỗi(20) NOTNULL,UNIQUE
Bảng HangHoa
MaLH Mã loại hàng Chuỗi(10) FK
Trang 8TenHH Tên hàng hóa Chuỗi(50) NOTNULL,UNIQUE
DongiaNH Đơn giá khi nhập
hàng
DongiaBH Đơn giá khi bán
hàng
Bảng KhachHang
MaKH Mã khách hàng Chuỗi(10) PK
TenKH Tên khách hàng Chuỗi(10)
SDT Số điện thoại Chuỗi(10) DEFAULT
Bảng NhaCungCap
MST_NCC Mã số thuế của nhà
cung cấp
Chuỗi(14) PK
Ten_NCC Tên nhà cung cấp chuỗi(50) NOTNULL
Trang 9SDT Số điện thoại Chuỗi(10) ĐEFAULT,
NOTNULL DC_NCC Địa chỉ của nhà cung
cấp
Chuỗi(100) NOTNULL
Bảng DatHang
MST_NCC Mã số thuế của nhà
cung cấp
Chuỗi(14) PK,FK
NgayDH Ngày đặt hàng DATE <= thời điểm
hiện tại TongTienHang Tổng tiền hàng Int CHECK(>=0)
Bảng BanHang
Trang 10MaKH Mã khách hàng Chuỗi(10) PK,FK
NgayDH Ngày mua hàng DATE <= thời điểm hiện
tại TongTien Tổng tiền hàng MONEY CHECK(>0) ChietKhau Chiết Khấu
(VND)
FLOAT CHECK(>=0)
TongThanhToa
n
Tổng Thanh Toán MONEY CHECK(>=0)
2.3 Tổng hợp
Trang 11III Tạo Cơ Sở Dữ Liệu
CREATE DATABASE FAIFO_MART_nhom5
USE FAIFO_MART_nhom5
CREATE TABLE LoaiHang
(
MaLH CHAR(10) NOT NULL CONSTRAINT PK_MaLH PRIMARY KEY,
TenLH NVARCHAR(20) NOT NULL CONSTRAINT UQ_TenLH UNIQUE(TenLH),
Soluong INT NOT NULL
)
CREATE TABLE HangHoa
(
MaHH CHAR(10) NOT NULL CONSTRAINT PK_MaHH PRIMARY KEY,
MaLH CHAR(10) NOT NULL CONSTRAINT FK_TenLH FOREIGN KEY (MaLH)
REFERENCES LoaiHang(MaLH),
TenHH NVARCHAR(50) NOT NULL CONSTRAINT UQ_TenHH UNIQUE(TenHH),
DVT NVARCHAR(10) NOT NULL,
DongiaNH MONEY CONSTRAINT CHK_DgNH CHECK(DongiaNH>=0),
DongiaBH MONEY CONSTRAINT CHK_DgBG CHECK(DongiaBH>=0)
)
ALTER TABLE HangHoa
ALTER COLUMN DVT NVARCHAR(20)
CREATE TABLE KhachHang
(
MaKH CHAR(10) NOT NULL CONSTRAINT PK_MaKH PRIMARY KEY,
TenKH NVARCHAR(50),
SDT CHAR(10),
CONSTRAINT UQ_SDT UNIQUE(SDT),
CONSTRAINT CHK_SDT CHECK(LEN(SDT)=10)
)
CREATE TABLE NhaCungCap
Trang 12MST_NCC CHAR(14) NOT NULL CONSTRAINT PK_MST_NCC PRIMARY KEY,
Ten_NCC NVARCHAR(50) NOT NULL,
STK CHAR(20) CONSTRAINT UQ_STK UNIQUE(STK),
SDT CHAR(10) CONSTRAINT UQ_SDT_NCC UNIQUE(SDT),
DC_NCC NVARCHAR(100) NOT NULL,
CONSTRAINT CHK_SDT_NCC CHECK(LEN(SDT)=10)
)
CREATE TABLE DatHang
(
MaNH CHAR(14) NOT NULL,
MaHH CHAR(10) NOT NULL,
MST_NCC CHAR(14) NOT NULL,
NgayDH DATE CONSTRAINT CHK_NgDH CHECK(NgayDH<=GETDATE()),
TongTienHang MONEY CONSTRAINT CHK_TTH CHECK(TongTienHang>=0),
SL INT CONSTRAINT CHK_SL CHECK(SL>=0),
CONSTRAINT PK_MaNH_MaHH_MST_NCC PRIMARY KEY(MaNH, MaHH, MST_NCC), CONSTRAINT FK_MaHH_DH FOREIGN KEY(MaHH) REFERENCES HangHoa(MaHH), CONSTRAINT FK_MST_NCC_DH FOREIGN KEY(MST_NCC) REFERENCES
NhaCungCap(MST_NCC)
)
CREATE TABLE BanHang
(
SoHD CHAR(12) NOT NULL,
MaHH CHAR(10) NOT NULL,
MaKH CHAR(10) NOT NULL,
Soluong INT CONSTRAINT CHK_Soluong_BH CHECK(Soluong>=0),
NgayBH DATE CONSTRAINT CHK_NgBH CHECK (NgayBH <= GETDATE()),
TongTien MONEY CONSTRAINT CHK_TTien CHECK(TongTien>=0),
ChietKhau FLOAT CONSTRAINT CHK_CK CHECK(ChietKhau>=0),
Trang 13CONSTRAINT PK_SoHD_MaHH_MaKH PRIMARY KEY(SoHD, MaHH, MaKH),
CONSTRAINT FK_MaHH_BH FOREIGN KEY(MaHH) REFERENCES HangHoa(MaHH), CONSTRAINT FK_MaKH_BH FOREIGN KEY(MaKH) REFERENCES KhachHang(MaKH)
)
INSERT LOAIHANG (MaLH, TenLH, Soluong) VALUES
('LH001', N'Sách', '52'),
('LH002', N'Giấy', '100'),
('LH003', N'Bút', '20'),
('LH004', N'Thước', '20'),
('LH005', N'Gạo', '10'),
('LH006', N'Gia Vị', '100'),
('LH007', N'Thịt', '50'),
('LH008', N'Nước', '100'),
('LH009', N'chén', '30'),
('LH010', N'Đĩa', '50')
INSERT INTO HangHoa ( MaHH, MaLH, TenHH, DVT, DongiaNH, DongiaBH) VALUES ('HH001', 'LH001', N'Sách lớn', N'quyển', '90000','105000'),
('HH002', 'LH002', N'Giấy A4', N'xấp', '40000','50000'),
('HH003', 'LH003', N'Bút chì B2', N'cái', '3000','4000'),
('HH004', 'LH004', N'Thước kẻ 20cm', N'cái', '10000','18000'),
('HH005', 'LH005', N'Gạo loại 1', N'túi', '110000','160000'),
('HH006', 'LH006', N'Mì chính - gói lớn', N'cái', '25000','30000'),
('HH007', 'LH007', N'Thịt bò Úc', N'1 kg', '420000','450000'),
('HH008', 'LH008', N'Nước lọc Aqua', N'chai', '5000','9000'),
('HH009', 'LH009', N'Chén sứ cao cấp', N'cái', '5000','10000'),
('HH010', 'LH010', N'Đĩa nhựa lớn', N'cái', '10000','19000'),
('HH011', 'LH002', N'Giấy A3', N'xấp', '50000','60000'),
('HH012', 'LH008', N'Nuớc Ngọt Coca Cola', N'chai', '7000','10000'),
Trang 14('HH013', 'LH008', N'Nuớc Ngọt Pepsi', N'chai', '8000','11000'),
('HH0014', 'LH007', N'Thịt bò Hàn', N'1 kg', '450000','480000')
SELECT * FROM HANGHOA
INSERT KhachHang (MaKH, TenKH, SDT) VALUES
('KH001', N'Trương Thanh Hạnh', '0858006497'),
('KH002', N'Phan Thanh Thảo', '0858006789'),
('KH003', N'Lê Thị Ánh Lai', '0236547689'),
('KH004', N'Trần Thị Mỹ Thu', '0949498648'),
('KH005', N'Trần Thị Thanh Tâm', '0327209839'),
('KH006', N'Lê Thị Nhung Nguyệt', '0832118820'),
('KH007', N'Trương Thị Lan', '0831350064'),
('KH008', N'Phạm Thị Phương', '0135792468'),
('KH009', N'Nguyễn Thành Luân', '0905876543'),
('KH010', N'Bùi Thị Thảo Ly', '0987654321')
INSERT BanHang(SoHD, MaHH, MaKH, Soluong, NgayBH, ChietKhau) VALUES
('HD001', 'HH007', 'KH001', 4, '8/31/2024', 0.03),
('HD002', 'HH001', 'KH002', 2, '9/8/2024', 0.01 ),
('HD003', 'HH004', 'KH003', 1, '9/8/2024', 0),
('HD004', 'HH010', 'KH004', 10, '9/9/2024', 0.07),
('HD005', 'HH006', 'KH005', 5, '9/10/2024', 0),
('HD006', 'HH008', 'KH006', 3, '9/10/2024', 0),
('HD007', 'HH009', 'KH007', 8, '9/12/2024', 0.05),
('HD008', 'HH005', 'KH008', 5, '9/14/2024', 0.05),
('HD009', 'HH002', 'KH009', 2, '9/15/2024', 0),
('HD010', 'HH003', 'KH010', 3 , '9/16/2024',0),
('HD011', 'HH007', 'KH001', 4, '09/25/2024', 0.03),
('HD012', 'HH004', 'KH003', 2, '10/10/2024', 0.01 ),
('HD013', 'HH010', 'KH001', 4, '10/11/2024', 0.03),