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:

  1. Xác định các thực thể và thuộc tính.
  2. 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).
  3. Vẽ sơ đồ ERD mô tả toàn bộ hệ thống.
  4. Đư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:

  1. Xác định thực thể và thuộc tính cho hệ thống quản lý bán hàng.
  2. 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ế

  1. 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.
  2. 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.
  3. 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.
  4. Đơ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ý.
  5. 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.