Bài 1: Giới thiệu về Trình quản lý quảng cáo
Thực hành: Thiết kế mô hình ERD cho CSDL quản lý thư viện
Yêu cầu: Thiết kế cơ sở dữ liệu để quản lý hoạt động mượn – trả sách tại một thư viện trường học.
1. Các đối tượng và thông tin cần quản lý
- Bạn đọc: Mã bạn đọc, Họ tên, Ngày sinh, Giới tính, Số điện thoại, Email, Địa chỉ.
- Sách: Mã sách, Tên sách, Tác giả, Nhà xuất bản, Năm xuất bản, Thể loại, Số lượng hiện có.
- Thẻ thư viện: Mã thẻ, Mã bạn đọc, Ngày cấp, Hạn sử dụng.
- Thủ thư: Mã thủ thư, Họ tên, Ngày vào làm, Bộ phận, Email.
- Phiếu mượn: Mã phiếu mượn, Mã thẻ thư viện, Ngày mượn, Ngày hẹn trả, Mã thủ thư lập phiếu.
- Chi tiết mượn: Mã phiếu mượn, Mã sách, Số lượng mượn, Ngày trả (có thể NULL nếu chưa trả).
🧠 Gợi ý phân tích:
Thực thể (Entities)
- Bạn đọc – lưu thông tin người mượn.
- Sách – thông tin về sách trong thư viện.
- Thẻ thư viện – một bạn đọc có một thẻ, dùng để mượn sách.
- Thủ thư – người quản lý hoạt động mượn trả.
- Phiếu mượn – đơn vị mượn sách (mỗi lần mượn tạo một phiếu).
- Chi tiết mượn – thể hiện mối quan hệ nhiều sách trên một phiếu mượn.
Mối quan hệ (Relationships)
- Bạn đọc - Thẻ thư viện: 1-1 (mỗi bạn đọc chỉ có 1 thẻ, và mỗi thẻ thuộc về 1 bạn đọc).
- Phiếu mượn - Thẻ thư viện: N-1 (mỗi thẻ có thể lập nhiều phiếu mượn).
- Phiếu mượn - Thủ thư: N-1 (mỗi phiếu mượn do 1 thủ thư lập, nhưng 1 thủ thư lập nhiều phiếu).
- Phiếu mượn - Sách (qua Chi tiết mượn): N-M (1 phiếu mượn nhiều sách, 1 sách có thể được mượn ở nhiều phiếu).
- Chi tiết mượn là thực thể trung gian, lưu thêm Số lượng mượn và Ngày trả.
🎯 Yêu cầu:
- Xác định các thực thể và thuộc tính.
- Xác định các mối quan hệ giữa các thực thể, xác định bậc của mối quan hệ (1-1, 1-N, N-M).
- Vẽ sơ đồ ERD mô tả toàn bộ hệ thống.
- Đưa ra nhận xét về tính mở rộng, tính toàn vẹn dữ liệu của mô hình.
Bài tập: Thiết kế CSDL quản lý bán hàng
Yêu cầu:
- Xác định thực thể và thuộc tính cho hệ thống quản lý bán hàng.
- Vẽ sơ đồ ERD, thể hiện mối quan hệ giữa các thực thể.
Gợi ý thực thể và mối quan hệ thực tế
-
Khách hàng (Customer) 🛒
- Dùng để: Lưu thông tin khách hàng.
- Liên hệ: Mỗi khách hàng có thể đặt nhiều đơn hàng.
-
Nhân viên (Employee) 👨💼
- Dùng để: Lưu thông tin nhân viên xử lý đơn hàng.
- Liên hệ: Một nhân viên có thể phụ trách nhiều đơn hàng.
-
Sản phẩm (Product) 📦
- Dùng để: Quản lý thông tin sản phẩm.
- Liên hệ: Một sản phẩm có thể xuất hiện trong nhiều đơn hàng.
-
Đơn hàng (Order) 🧾
- Dùng để: Lưu thông tin đơn hàng.
- Liên hệ: Một đơn hàng do một khách hàng đặt và một nhân viên xử lý.
-
Chi tiết đơn hàng (OrderDetail) 🔗
- Dùng để: Thể hiện mỗi sản phẩm trong đơn hàng, số lượng và giá tại thời điểm mua.
- Liên hệ: Kết nối nhiều sản phẩm với một đơn hàng.