Với mục đích tối ưu hóa quy trình kinh doanh, hệ thống này giúp các doanh nghiệp và cửa hàng chuyên kinh doanh phần cứng máy tính tổ chức thông tin, theo dõi hàng tồn kho, quản lý đơn hà
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Duy Anh
DATABASE MANAGEMENT SYSTEM
OF DICTIONARY
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Duy Anh
DATABASE MANAGEMENT SYSTEM
OF DICTIONARY
Khoa: Công nghệ thông tin
Ngành: Hệ thống thông tin
Mã sinh viên: 22024512
GIẢNG VIÊN: TS NGUYỄN THỊ HẬU
TRỢ GIẢNG: ThS NGUYỄN THỊ CẨM VÂN
Trang 3Giới thiệu
A dictionary is a useful tool for users to learn and search for meanings, definitions, word usage examples, parts of speech, and other related information Our project will create a multilingual dictionary application that enables users to quickly and easily search for vocabulary in different languages
This project aims to build an intelligent and efficient dictionary application that provides the ability to look up and manage vocabulary in various languages
An important part of the project is to construct a database to store the vocabulary and related information The database will be carefully designed and structured to ensure efficient storage and retrieval of data The information in the database may include words, definitions, parts of speech, usage examples, pronunciation, etymology, and other relevant vocabulary inform
Trang 4Giới thiệu
Hệ thống quản lý mua bán phần cứng máy tính là một ứng dụng thông tin được thiết kế
để hỗ trợ quá trình quản lý và giao dịch trong lĩnh vực mua bán các thành phần và phụ kiện máy tính Với mục đích tối ưu hóa quy trình kinh doanh, hệ thống này giúp các doanh nghiệp và cửa hàng chuyên kinh doanh phần cứng máy tính tổ chức thông tin, theo dõi hàng tồn kho, quản lý đơn hàng và tương tác với khách hàng một cách hiệu quả
Bằng cách tích hợp các chức năng quản lý sản phẩm, nhân viên, khách hàng, và giao dịch, hệ thống giúp cải thiện khả năng kiểm soát, đồng thời tối ưu hóa trải nghiệm mua sắm cho người tiêu dùng Đồng thời, thông qua việc theo dõi và báo cáo tổng quan về hoạt động kinh doanh, doanh nghiệp có thể đưa ra quyết định chiến lược và dựa vào dữ liệu để tối ưu hóa hiệu suất kinh doanh của mình
Hệ thống quản lý mua bán phần cứng máy tính không chỉ giúp nâng cao năng suất làm việc mà còn đóng vai trò quan trọng trong việc xây dựng và duy trì mối quan hệ tích cực với khách hàng, đồng thời mang lại sự linh hoạt và hiệu quả trong quản lý doanh nghiệp
Trang 5Table of Contents
1 Ứng dụng và Quy tắc Kinh doanh 2
3 vẽ ERD bằng Chen ‘s model 5
4 chuyển sang relation model 6
5 chuẩn hóa 2NF, 3NF, BCNF 5
6 tạo và áp dụng DBMS 9
Trang 6I.Ứng dụng
1 Chức năng:
Quản lý Khách hàng:
Thêm, sửa đổi và xóa thông tin khách hàng
Tìm kiếm và xem chi tiết khách hàng
Quản lý danh sách khách hàng
2 Quản lý Nhân viên:
Thêm, sửa đổi và xóa thông tin nhân viên
Tìm kiếm và xem chi tiết nhân viên
Quản lý danh sách nhân viên
3 Quản lý Sản phẩm:
Thêm, sửa đổi và xóa thông tin sản phẩm
Tìm kiếm và xem chi tiết sản phẩm
Cập nhật số lượng tồn kho của sản phẩm
Quản lý danh sách sản phẩm
4 Quản lý Kho:
Thêm, sửa đổi và xóa thông tin kho
Tìm kiếm và xem chi tiết thông tin kho
Quản lý danh sách các kho
5 Quản lý Đơn hàng:
Tạo đơn hàng mới
Cập nhật trạng thái đơn hàng
Xem danh sách các đơn hàng
Xem chi tiết đơn hàng, bao gồm các sản phẩm và thông tin khách hàng
6 Quản lý Quan hệ:
Quản lý mối quan hệ giữa khách hàng, nhân viên và sản phẩm
Liên kết đơn hàng với khách hàng và nhân viên
7 Báo cáo và Thống kê:
Tạo và xem các báo cáo về doanh số bán hàng, doanh thu, lợi nhuận, và số lượng tồn kho
Trang 7 Thống kê về sản phẩm bán chạy, khách hàng mua nhiều, và nhân viên hiệu quả
8 Bảo mật và Quyền truy cập:
Xác thực người dùng và quản lý quyền truy cập
Bảo vệ thông tin nhạy cảm và đảm bảo tính an toàn của dữ liệu
9 Tích hợp Thanh toán:
Hỗ trợ các phương thức thanh toán khác nhau
Ghi lại và quản lý thông tin thanh toán của khách hàng
10 Thông báo và Gửi email:
Gửi thông báo cho khách hàng về trạng thái đơn hàng
Gửi email xác nhận và thông báo khác đến nhân viên và khách hàng
Quy tắc Kinh doanh:
Mỗi khách hàng phải có một Mã khách hàng duy nhất.NOTNULL
Mỗi nhân viên phải có một Mã nhân viên duy nhất NOTNULL
Mỗi sản phẩm phải có một Mã sản phẩm duy nhất NOTNULL
Mỗi kho phải có một Mã kho duy nhất NOTNULL
Mỗi đơn hàng phải có một Mã đơn hàng duy nhất NOTNULL
Thực thể Đơn hàng có một khóa ngoại trỏ đến Thực thể Khách hàng (khách hàng đặt hàng)
Thực thể Đơn hàng có một khóa ngoại trỏ đến Thực thể Nhân viên (nhân viên xử
lý đơn hàng)
Thực thể Sản phẩm có một khóa ngoại trỏ đến Thực thể Kho (nơi lưu trữ sản phẩm)
Ngày lập đơn không được quá ngày hiện tại khi tạo ra 1 phần tử
Số lượng sản phẩm trong relationship (chứa) không được quá số lượng trong kho
Các attribute như Gmail, CMND, họ tên, đều độc nhất, không trùng lặp và không thể rỗng
Mỗi đơn hàng không nên có quá 10 sản phẩm
Tổng giá trị của đơn hàng không được nhở hơn só 0
Productprice không thể nhỏ hơn 0 và không thể null
Trạng thái đơn hàng chỉ có 2 lựa chọn là chưa thanh toán và đã thanh toán
Phương pháp thanh toán không thể NULL
Trang 8 Productname không thể null
Productprice không thể nhỏ hơn 0
Số lượng trong kho không được nhỏ hơn 0
• Số lượng sản phẩm trong mỗi đơn hàng không thể vượt quá số lượng tồn kho của sản phẩm đó 1 **Mối quan hệ "Mua" giữa "Khách hàng" và "Đơn hàng":**
Relationship
1.- **Mối quan hệ " Mua " giữa " Khách hàng " và "Đơn hàng":**
- Khách hàng (1) —(Mua)—> Đơn hàng (N)
- **Mô tả thêm:** Mỗi khách hàng có thể đặt nhiều đơn hàng, nhưng mỗi đơn hàng chỉ thuộc về một khách hàng
2 **Mối quan hệ "Bán" giữa "Nhân viên" và "Đơn hàng":**
- Mô tả: Mỗi đơn hàng được xử lý bởi một nhân viên, nhưng một nhân viên có thể
xử lý nhiều đơn hàng
- **Cardinality:**
- Nhân viên (1) —(Bán)—> Đơn hàng (N)
- **Mô tả thêm:** Mỗi nhân viên có thể xử lý nhiều đơn hàng, nhưng mỗi đơn hàng chỉ được xử lý bởi một nhân viên
3 **Mối quan hệ "Chứa" giữa "Kho" và "Sản phẩm":**
- Mô tả: Mỗi sản phẩm được lưu trữ trong một kho cụ thể, và mỗi kho có thể chứa nhiều sản phẩm
- **Cardinality:**
- Kho (1) —(Chứa)—> Sản phẩm (N)
- **Mô tả thêm:** Mỗi sản phẩm chỉ thuộc về một kho, nhưng mỗi kho có thể chứa nhiều sản phẩm
4.Mối quan hệ "Bao gồm" giữa "Đơn hàng" và "Sản phẩm":
Mô tả: Mỗi đơn hàng bao gồm thông tin về nhiều sản phẩm, và mỗi sản phẩm có thể thuộc về nhiều đơn hàng
Cardinality:
Đơn hàng (N) —(Bao gồm)—> Sản phẩm (N)
Thuộc tính:
ID Đơn hàng (Khóa ngoại)
ID Sản phẩm (Khóa ngoại)
Số lượng sản phẩm
Tổng giá trị của sản phẩm
Trang 9II.Drawing ERD of the database using Chen ‘s model.
(Week 4)
III Converting the database into the relation model.
Trang 11Write 5 queries used in your application (in word, and in Relational Algebra)
DonHang_IntelGen14 ← σ ProductName='Intel Gen 14' AND NgayLap='2023-06-27' (DonHang
⨝_ProductID=ProductID SanPham)
DonHang_SoLuong10 ← σ SoLuong>10 (DonHang)
DonHang_NhanVienCHI ← σ hoTen='CHI' (DonHang ⨝_IDNhanVien=IDNhanVien NhanVien)
SanPham_Kho20 ← σ SoLuongTonKho>3 AND KhoID=1 (SanPham ⨝_ProductID=ProductID Kho)
NhanVien_SanPham1 ← π HoTen ((σ ID_san_pham=1 (SanPham))
⨝_ID_san_pham=BG_ID_san_pham
BaoGom ⨝_BG_ID_don_hang=ID_don_hang DonHang ⨝_ID_nhan_vien=ID_nhan_vien NhanVien)
IV.Normalizing the database into 2NF, 3NF, BCNF
2NF
Khách hàng(ID khách hàng, SĐT, họ tên, gmail, CMND)
F1 = { ID khách hàng → SĐT
ID khách hàng → họ tên
ID khách hàng → gmail
ID khách hàng → CMND}
Đơn hàng(ID đơn hàng, ngày lập, trạng thái đơn hàng, phương pháp thanh toán, ID khách hàng, ID nhân viên, Tổng giá trị đơn hàng, ĐH_ID khách hàng, NV_ID nhân viên)
F2 = { ID đơn hàng → ngày lập
Trang 12ID đơn hàng → trạng thái đơn hàng
ID đơn hàng → phương pháp thanh toán
ID đơn hàng → Tổng giá trị đơn hàng
ID đơn hàng → ĐH_ID khách hàng
ID đơn hàng → NV_ID nhân viên}
Bao gồm(BG_ID đơn hàng, BG_ID sản phẩm, số lượng sản phẩm, tổng giá thành)
F3= { BG_ID đơn hàng, BG_ID sản phẩm → số lượng sản phẩm
BG_ID đơn hàng, BG_ID sản phẩm → tổng giá thành}
sản phẩm(ID sản phẩm, Tên sản phẩm, Hãng sản phẩm, Giá thành, Mô tả, Số lượng trong kho, K_ID kho)
F4={ ID sản phẩm → Tên sản phẩm
ID sản phẩm → Hãng sản phẩm
ID sản phẩm → Giá thành
ID sản phẩm → Mô tả
ID sản phẩm → Số lượng trong kho
ID sản phẩm → K_ID kho}
Nhân viên(ID Nhân viên, SĐT, họ tên, gmail, CMND)
F5 = { ID Nhân viên → SĐT
ID Nhân viên → họ tên
ID Nhân viên → gmail
ID Nhân viên → CMND}
kho (ID kho, Địa chỉ)
F6 = {ID kho → địa chỉ)
3NF, BCNF tương tự như trên
V.Creating & implementing the database using a DBMS.
Write 5 queries used in your application in MySQL (show query + result)
Trang 131 tìm đơn hàng có nhiều tiền nhất
2 tìm 10 sản phẩm có giá trị cao nhất
3 tìm toàn bộ đơn mà có nhân viên ID là 2
Trang 144 tìm đơn hàng có id sản phẩm là 3
5 tìm đơn hàng có số lượng sản phẩm lớn hơn 2