View lấy danh sách đơn vị cung cấp 6.. Quản lý cửa hàng mua bán laptop NamMainI.Kịch bản thế giới thực: Thông tin hóa đơn Thông tin khách hàng Tiền lương Tiền thưởng Quản lý tài chính Dữ
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNGHỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚNNHẬP MÔN CƠ SỞ DỮ LIỆU
XÂY DỰNG HỆ CƠ SỞ DỮ LIỆU
“Quản lý cửa hàng mua bán laptop Nam Main”
Nhóm thực hiện: 04Nhóm môn học: 82Giảng viên: Nguyễn Tiến Hùng
Hà Nội, tháng 11 năm 2023
Trang 3Mục LụcI.KỊCH BẢN THẾ GIỚI THỰC:
SƠ ĐỒ MODULE CHỨC NĂNG HỆ THỐNG
SƠ ĐỒ NGỮ CẢNH HỆ THỐNG
1 Ứng dụng của hệ CSDL quản lý cửa hàng mua bán laptop Nam Main:
2 Yêu cầu dữ liệu cần lưu trữ:
3 Các thao tác trên cơ sở dữ liệu:
II LƯỢC ĐỒ E-R:
1 Mô tả lược đồ.
2 Lược đồ E-R:
III THIẾT KẾ LOGIC VÀ CHUẨN HÓA:
1 Ánh xạ lược đồ E-R sang lược đồ quan hệ.
2 Chuẩn hóa lược đồ quan hệ về dạng chuẩn 3NF.
IV TẠO BẢNG:
1 Tạo bảng đơn vị cung cấp
2 Tạo bảng khách hàng
3 Tạo bảng nhân viên
4 Tạo bảng hóa đơn nhập
5 Tạo bảng hóa đơn bán hàng
Trang 42 View lấy danh sách cho quản lý
3 View lấy danh sách cho kế toán
4 View lấy danh sách cho khách hàng
5 View lấy danh sách đơn vị cung cấp
6 View lấy bảng lương
7 View lấy danh sách thiết bị
8 View lấy danh sách hãng sản xuất
9 View lấy danh sách hóa đơn nhập
10 View lấy danh sách nhân viên tư vấn
VI CÁC TRUY VẤN:
Trang 5Quản lý cửa hàng mua bán laptop Nam
MainI.Kịch bản thế giới thực:
Thông tin hóa đơn
Thông tin khách hàng
Tiền lương
Tiền thưởng
Quản lý tài chính
Dữ liệu quản lý thu chi
Lợi nhuận
Trang 6Sơ đồ module chức năng hệ thống
Trang 7Sơ đồ ngữ cảnh hệ thống
1 Ứng dụng của hệ CSDL quản lý cửa hàng mua bán laptop Nam
Main:
Xây dựng hệ thống quản lý cơ sở dữ liệu phục vụ cho 1 cơ sở dịch
vụ laptop Nam Main:
- Quản lý sản phẩm và tồn kho
- Quản lý hóa đơn bán hàng
- Quản lý khách hàng và khuyến mãi
- Quản lý nhân viên và tính lương
- Quản lý tài chính và bảo hành sản phẩm
Danh sách này tóm tắt các hoạt động quản lý quan trọng trong cửa hàng mua bán laptop "Nam Main."
2 Yêu cầu dữ liệu cần lưu trữ:
● Dữ liệu quản lý khách hàng
● Dữ liệu quản lý nhân viên
● Dữ liệu quản lý hóa đơn nhập
● Dữ liệu quản lý đơn vị cung cấp
● Dữ liệu hóa đơn bán hàng
Trang 83 Các thao tác trên cơ sở dữ liệu:
- Thêm sản phẩm mới vào cơ sở dữ liệu, thêm khách hàng mới vào danh sách,tạo hóa đơn cho giao dịch mua bán
- Cập nhật giá của sản phẩm, sửa đổi thông tin khách hàng (ví dụ: thay đổi địachỉ)
- Xóa sản phẩm không còn bán nữa, loại bỏ khách hàng không sử dụng dịch
vụ nữa, hoặc xóa thông tin máy đã hết hạn bảo hành
- Truy xuất thông tin từ cơ sở dữ liệu để hiển thị danh sách sản phẩm, lịch sử mua hàng của khách hàng, hoặc tạo báo cáo về doanh số bán hàng và lợi nhuận
II Lược đồ E-R:
1 Mô tả lược đồ
Có 10 tập thực thể trong đó 1 thực thể liên kết,1 thực thể
yếu, 9 thực thể mạnh
● Thực thể liên kết: Nhân viên tư vấn
● Thực thể yếu: Lương(số buổi làm)
- Hóa đơn nhập(id hóa đơn nhập, tổng tiền, ngày nhập)
- Đơn vị cung cấp(tên đơn vị cung cấp, id đơn vị cung
NamMain cũng có thể nhập nhiều thiết bị, thiết bị
được nhập bởi NamMain
Trang 9NamMain thì có nhiều loại hóa đơn, hóa đơn chỉ có ở NamMain
NamMain thì có nhiều nhân viên, nhân viên thì có làm
ở NamMain
Hãng sản xuất cung cấp cung cấp nhiều thiết bị, thiết
bị được cung cấp bởi 1 Hãng sản xuất
NamMain có nhiều hóa đơn bán hàng, hóa đơn bán hàng được cấp bởi NamMain
Khách hàng có thể chọn nhiều sản phẩm, sản phẩm thì được nhiều khách hàng lựa chọn
2 Lược đồ E-R:
Trang 10III Thiết kế logic và chuẩn hóa:
1 Ánh xạ lược đồ E-R sang lược đồ quan hệ
ST
hàng
Trang 113 Địa chỉ dia_chi Nvarchar
● Dữ liệu quản lý nhân viên (bảng: nhan_vien)
ST
● Dữ liệu quản lý hóa đơn nhập thiết bị (bảng:
Trang 123 ID NamMain id_Nam_main Varchar Khóa ngoại
tham chiếutới bảngnam_main
● Dữ liệu quản lý đơn vị cung cấp thiết bị (bảng: dvcc)
Trang 133 ID NamMain id_Nam_main Varchar Khóa ngoại
tham chiếutới bảngnam_main
xuất
tham chiếutới bảnghang_san_xuat
● Dữ liệu Hãng sản xuất(bảng: hang_san_xuat)
Trang 142 Tên hãng
● Dữ liệu NamMain (bảng: Nam_main)
liệu
Lưu ý
● Dữ liệu Lương (bảng: luong)
liệu
Lưu ý
Trang 15tham chiếutới bảngnhan_vien
● Dữ liệu Nhân viên tư vấn (bảng: nhan_vien_tu_van)
viên
chiếu tới bảngnhan_vien
bị
chiếu tới bảngthiet_bi
● Nhân viên (ID_NV, TEN_NV, NGAY_SINH, SO_DIEN_THOAI,
DIA_CHI, CHUC_VU, LUONG_CO_DINH, LUONG_DUOC_NHAN)ID_NV -> TEN_NV
Trang 17● NAM MAIN(ID_NAM_MAIN, DIA_CHI, SDT)
2 Chuẩn hóa lược đồ quan hệ về dạng chuẩn 3NF
Mô hình lược đồ quan hệ đã đạt chuẩn 3NF
Trang 19Thêm dữ liệu vào bảng dvcc
INSERT INTO dvcc(id_dvcc, ten_dvcc, dia_chi, so_dien_thoai) VALUES ('DV0001', N'Đơn vị A', 'Nam Định', '0981236547');
INSERT INTO dvcc(id_dvcc, ten_dvcc, dia_chi, so_dien_thoai) VALUES ('DV0002', N'Đơn vị B', 'Hà Nam', '0981236548');
END;
2 Tạo bảng khách hàng
CREATE TABLE khach_hang1(
id_khach_hang VARCHAR(50) PRIMARY KEY,
Trang 20INSERT INTO khach_hang1(id_khach_hang, ten_khach_hang, dia_chi,
so_dien_thoai) VALUES('KH0001', N'Nguyễn Văn A', 'Hà Nội', '0983187195');INSERT INTO khach_hang1(id_khach_hang, ten_khach_hang, dia_chi,
so_dien_thoai) VALUES('KH0002', N'Nguyễn Văn B', 'Nam Định', '0891234567');
3 Tạo bảng nhân viên
CREATE TABLE nhan_vien
Thêm dữ liệu vào bảng nhan_vien
INSERT INTO nhan_vien(id_nhan_vien, ten_nhan_vien, dia_chi, so_dien_thoai, ngay_sinh, Chuc_vu, luong_co_ban) VALUES('NV0001', N'Nguyễn Văn A', 'Hà Nội', '0981234567', '01/05/2003', N'Quản Lý', 6000000);
INSERT INTO nhan_vien(id_nhan_vien, ten_nhan_vien, dia_chi, so_dien_thoai, ngay_sinh, Chuc_vu, luong_co_ban) VALUES('NV0002', N'Nguyễn Văn B', 'Hà Nội', '0981234567', '01/05/2003', N'Chốt Khách', 4000000);
4 Tạo bảng hóa đơn nhập
CREATE TABLE hoa_don_nhap
Thêm dữ liệu vào bảng hoa_don_nhap
INSERT INTO hoa_don_nhap(id_hoa_don_nhap, id_dvcc, ngay_nhap, tong_tien) VALUES('NH0001', 'DV0001', '01/08/2023', '20000000');
INSERT INTO hoa_don_nhap(id_hoa_don_nhap, id_dvcc, ngay_nhap, tong_tien) VALUES('NH0002', 'DV0002', '01/07/2023', '50000000');
5 Tạo bảng hóa đơn bán hàng
CREATE TABLE hoa_don_ban_hang
Trang 21Thêm dữ liệu vào bảng hoa_don_ban_hang
INSERT INTO hoa_don_ban_hang(id_hoa_don_ban_hang, id_khach_hang, id_hoa_don_nhap, ngay_ban, tong_tien, thoi_gian) VALUES('HD0001', 'KH0001','NH0001', '01/09/2023', 300000, 903);
INSERT INTO hoa_don_ban_hang(id_hoa_don_ban_hang, id_khach_hang, id_hoa_don_nhap, ngay_ban, tong_tien, thoi_gian) VALUES('HD0002', 'KH0002','NH0002', '02/09/2023', 400000, 1003);
Thêm dữ liệu vào bảng hang_san_xuat
INSERT INTO hang_san_xuat(id_hang_san_xuat, ten_hang_san_xuat, dia_chi, so_dien_thoai) VALUES('HSX0001', N'Hãng A', 'Hà Nội', '0981234567');INSERT INTO hang_san_xuat(id_hang_san_xuat, ten_hang_san_xuat, dia_chi, so_dien_thoai) VALUES('HSX0002', N'Hãng B', 'Hà Nam', '0981234568');
Trang 22FOREIGN KEY (id_hang_san_xuat) REFERENCES
hang_san_xuat(id_hang_san_xuat)
);
Thêm dữ liệu vào bảng thiet_bi
INSERT INTO thiet_bi(id_thiet_bi, laptop, phukien, id_hang_san_xuat) VALUES('TB0001', 1, 1, 'HSX0001');
INSERT INTO thiet_bi(id_thiet_bi, laptop, phukien, id_hang_san_xuat) VALUES('TB0002', 2, 2, 'HSX0002');
Thêm dữ liệu vào bảng Nam_main
INSERT INTO Nam_main(id_Nam_main, dia_chi, so_dien_thoai)
Thêm dữ liệu vào bảng luong
INSERT INTO luong(id_nhan_vien, so_buoi_lam) VALUES('NV0001', 26);INSERT INTO luong(id_nhan_vien, so_buoi_lam) VALUES('NV0002', 25);
10 Tạo bảng nhân viên tư vấn
CREATE TABLE nhan_vien_tu_van
Trang 23FOREIGN KEY (id_thiet_bi) REFERENCES thiet_bi(id_thiet_bi),
Kiểm tra xem giá trị id_nhan_vien có tồn tại trong bảng nhan_vien không
IF EXISTS (SELECT 1 FROM nhan_vien WHERE id_nhan_vien =
@id_nhan_vien)
BEGIN
Thêm dữ liệu vào bảng nhan_vien_tu_van
INSERT INTO nhan_vien_tu_van (id_khach_hang, id_nhan_vien, id_thiet_bi, id_hoa_don_ban_hang)
VALUES ('KH0001', @id_nhan_vien, 'TB0001', 'HD0001');
V Tạo View:
1 View lấy danh sách cho nhân viên
CREATE VIEW ds_nv AS
SELECT id_nhan_vien, ten_nhan_vien, ngay_sinh,
so_dien_thoai, dia_chi, chuc_vu, luong_co_ban
FROM nhan_vien
WHERE nhan_vien.chuc_vu = 'Nhân viên';
2 View lấy danh sách cho quản lý
CREATE VIEW ds_ql AS
SELECT id_nhan_vien, ten_nhan_vien, ngay_sinh,
so_dien_thoai, dia_chi, chuc_vu, luong_co_ban
FROM nhan_vien
WHERE nhan_vien.chuc_vu = 'Quản lý';
Trang 243 View lấy danh sách cho kế toán
CREATE VIEW ds_kt AS
SELECT id_nhan_vien, ten_nhan_vien, ngay_sinh,
so_dien_thoai, dia_chi, chuc_vu, luong_co_ban
FROM nhan_vien
WHERE nhan_vien.chuc_vu = 'Kế toán';
4 View lấy danh sách cho khách hàng
6 View lấy bảng lương
CREATE VIEW bang_luong AS
SELECT id_nhan_vien, so_buoi_lam
Trang 26VI Các truy vấn: