Lý do chọn đề tài.Từ nhu cầu thực tế như hiện nay và với sự phát triến ngày càng nhanhrộng của ngành Công nghệ thông tin thì vấn đề tin học hóa các quy trình nghiệpvụ trong việc mua bán
NỘI DUNG
Mô tả bài toán
Vấn đề đặt ra là quản lý bán xe máy trong cửa hàng Phạm vi quản lý bao gồm nhân viên, khách hàng, sản phẩm, phiếu nhập, hóa đơn bán hàng.
Thông tin nhân viên bao gồm: Mã nhân viên, tên nhân viên, lương, ngày sinh, địa chỉ, giới tính, cmnd, sđt, dân tộc.
Thông tin khách hàng bao gồm: Mã khách hàng, tên khách hàng, ngày sinh, địa chỉ, giới tính, cmnd, sđt, dân tộc
Thông tin sản phẩm bao gồm: Mã xe, loại xe, hãng xe, dung tích, mẫu xe, ngày sản xuất.
Thông tin về phiếu nhập: Mã phiếu nhập, ngày nhập, nhà cung cấp.Thông tin về hóa đơn: Mã hóa đơn, khuyến mãi, ngày bán.
Xác định các đối tượng thực thể
Bài toán quản lý bán xe máy trong cửa hàng bao gồm các thực thể
Mô hình E-R
Chuẩn hóa các lược đồ quan hệ về dạng chuẩn 3NF
Sản phẩm (Mã xe, Loại xe, Hãng xe, Dung tích, Mẫu xe, Ngày sản xuất)
F1 = {Mã xe → Loại xe, Mã xe → Hãng xe, Mã xe → Dung tích, Mã xe → Mẫu xe, Mã xe → Ngày sản xuất}
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã xe, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã xe → Loại xe, Mã xe → Hãng xe, Mã xe → Dung tích, Mã xe
→ Mẫu xe, Mã xe → Ngày sản xuất, và Mã xe là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
Nhân viên (Mã NV, Tên NV, Lương, Ngày sinh, Địa chỉ, Giới tính, CMND,
F2 = {Mã NV → Tên NV, Mã NV → Lương, Mã NV → Ngày sinh, Mã NV → Địa chỉ, Mã NV → Giới tính, Mã NV → CMND, Mã NV → Sđt, Mã NV → Dân tộc}
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã NV, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã NV → Tên NV, Mã NV → Lương, Mã NV → Ngày sinh, Mã
NV → Địa chỉ, Mã NV → Giới tính, Mã NV → CMND, Mã NV → Sđt, Mã NV → Dân tộc, và Mã NV là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
Khách hàng (Mã KH, Tên KH, Ngày sinh, Địa chỉ, Giới tính, CMND, Sđt, Dân tộc)
F3 = {Mã KH → Tên KH, Mã KH → Ngày sinh, Mã KH → Địa chỉ, Mã KH
→ Giới tính, Mã KH → CMND, Mã KH → Sđt, Mã KH → Dân tộc}
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã KH, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã KH → Tên KH, Mã KH → Ngày sinh, Mã KH → Địa chỉ,
Mã KH → Giới tính, Mã KH → CMND, Mã KH → Sđt, Mã KH → Dân tộc, và Mã KH là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
Phiếu nhập (Mã PN, Ngày nhập, NCC, Mã NV)
F4 = {Mã PN → Ngày nhập, Mã PN → NCC, Mã PN → Mã NV}
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã PN, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã PN → Ngày nhập, Mã PN → NCC, Mã PN → Mã NV, và Mã
PN là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
CT Phiếu nhập (Mã PN, Mã xe, Số lượng, Đơn giá)
F5 = {Mã PN → Mã xe, Mã PN → Số lượng, Mã PN → Đơn giá}
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã PN, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã PN → Mã xe, Mã PN → Số lượng, Mã PN → Đơn giá, và Mã
PN là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
Hóa đơn (Mã HD, Mã xe, Đơn giá bán, Số lượng)
F6 = {Mã HD → Mã xe, Mã HD → Đơn giá bán, Mã HD → Số lượng}
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã HD, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã HD → Mã xe, Mã HD → Đơn giá bán, Mã HD → Số lượng, và Mã HD là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
CT Hóa đơn (Mã HD, Mã NV, Mã KH, Khuyến mãi, Ngày bán)
F7 = {Mã HD → Mã NV, Mã HD → Mã KH, Mã HD → Khuyến mãi, Mã HD
Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố: lược đồ ở dạng chuẩn 1NF.
Lược đồ có khóa dự bị là Mã HD, các thuộc tính khác phụ thuộc đầy đủ vào Mã xe, nên lược đồ ở dạng chuẩn 2NF.
Do Mã HD → Mã NV, Mã HD → Mã KH, Mã HD → Khuyến mãi,
Mã HD → Ngày bán, và Mã HD là khóa dự bị nên lược đồ ở dạng chuẩn 3NF.
Tạo bảng trong SQL Sever
Nhập thông tin cho bảng CTHOADON:
Nhập thông tin cho bảng CTPHIEUNHAP:
Nhập thông tin cho bảng HOADON:
Nhập thông tin cho bảng KHACHHANG:
Nhập thông tin cho bảng NHANVIEN:
Nhập thông tin cho bảng PHIEUNHAP:
Nhậ p thông tin cho bảng SANPHAM:
2.6.9 Tạo khóa chính, khóa ngoại:
Các câu truy vấn của đại số quan hệ
Câu 1: Cho biết tên nhân viên có lương trên 5.000.000 của nhân viên
Câu 2: Tìm mã nhân viên nhập hàng trong tháng 4
Câu 3: Cho biết mã hoá đơn có đơn giá bán từ 20 triệu đến 50 triệu
- Thuộc tính: DONGIABAN và MANV
- Điều kiện: DONGIABAN >= 20000000 và DONGIABAN 18
TENKH ((YEAR(CURDATE() - YEAR(NGAYSINH)) > 18) (KHACHHANG) )
Câu 9: Cho biết mã xe của nhà sản xuất HONDA
- Thuộc tính: MAXE và NHASANXUAT
Câu 10: Cho biết mã khách hàng hoặc mã nhân viên là dân tộc kinh
- Quan hệ: KHACHHANG và NHANVIEN
- Thuộc tính: DANTOC, MANV và MAKH
MANV (σ (DANTOC=’Kinh’) (NHANVIEN)) VMAKH (σ (DANTOC = ’Kinh’) (KHACHHANG))
Câu 11: Cho biết mã hoá đơn có đơn giá bán từ 50 triệu hoặc có số lượng trên 2
- Thuộc tính: DONGIABAN và MANV
- Điều kiện: DONGIABAN >= 50000000 và SOLUONG = 2
Các câu truy vấn bằng ngôn ngữ SQL
Câu 1: Cho biết mã hoá đơn có đơn giá bán từ 50 triếu đến 100 triệu
Câu 2: Tìm mã nhân viên và tên nhân viên có giới tính là ‘Nữ’ và có lương > 6000000
Where GIOITINH LIKE N'Nữ' AND LUONG > 6000000
Câu 3: Cho biết thông tin khách hàng có địa chỉ tại ‘Bình Dương’ hoặc ‘TP Hồ
Chí Minh’ và là dân tộc ‘Kinh’
Where (DIACHI = N'Bình Dương'or DIACHI = N'TP Hồ Chí Minh')
Câu 4: In ra nhân viên có giới tính ‘Nam’ và mức lương tăng dần của từng nhân viên
Câu 5: Cho Biết mã khách hàng và tên khách hàng đến mua xe vào ngày
Select KH.MAKH KH TENKH HD NGAYBAN, ,
From KHACHHANG KH INNER JOIN HOADON HD ON KH.MaKH
Câu 6: Tìm Nhân Viên có lương lớn nhất trong tất cả các Nhân Viên ‘Nữ’
Câu 7: Cho biết Mã xe và Hãng của xe có dung tích từ 120-150.
Câu 8: Cho biết Mã khách hàng, Tên khách hàng mua ít nhất 3 xe.
Select KH.MAKH KH TENKH CTHD SOLUONG, ,
From KHACHHANG KH INNER JOIN (HOADON HD INNER JOIN CTHOADON CTHD ON HD MAHD CTHD = MAHD)ON KH MAKH HD MAKH.
Câu 9: Cho biết mã NV và tên NV không có hóa đơn nào vào ngày 13/01/2022.
Select NV.MANV NV TENNV,
From NHANVIEN NV INNER JOIN HOADON HD ON NV MANV HD MANV.
Câu 10: Tìm xe máy có dung tích lớn nhất được sản xuất trong ngày