Bài 1: Giới thiệu về Trình quản lý quảng cáo

Thực hành: Phân tích mô hình dữ liệu quan hệ cho cơ sở sửa chữa xe máy có cấp phát phụ tùng

Dưới đây là các bước phân tích chi tiết:


1. Xác định thực thể chính

Dựa trên yêu cầu của hệ thống, ta có các thực thể chính sau:

  1. Khách hàng (Customer): Lưu thông tin khách hàng mang xe đến sửa chữa.
  2. Xe (Vehicle): Lưu thông tin xe thuộc về khách hàng.
  3. Phiếu sửa chữa (RepairTicket) (Tương tự hóa đơn): Lưu thông tin về mỗi lần sửa chữa.
  4. Công việc sửa chữa (RepairJob): Chứa danh sách các công việc thực hiện trên xe hoặc phụ tùng được thay thế
  5. Nhân viên (Employee): Quản lý thông tin nhân viên sửa chữa.
  6. Phụ tùng (SparePart): Lưu trữ thông tin về phụ tùng có sẵn. 

2. Xác định mối quan hệ giữa các thực thể

  • Khách hàng – Phiếu sửa chữa: Một khách hàng có thể có nhiều lần sửa chữa (1-N). 
  • Phiếu sửa chữa – Công việc sửa chữa: Một phiếu sửa chữa có nhiều công việc hoặc phụ tùng được cấp (1-N).
  • Công việc sửa chữa – Nhân viên: Một nhân viên có thể thực hiện nhiều công việc sửa chữa (1-N).
  • Công việc sửa chữa – Phụ tùng: Một công việc có thể sử dụng nhiều phụ tùng, và một phụ tùng có thể được dùng trong nhiều công việc (N-N).
  • Phiếu sửa chữa – Hóa đơn: Mỗi phiếu sửa chữa có một hóa đơn (1-1).

3. Thiết kế bảng quan hệ với khóa chính (PK) và khóa ngoại (FK)

1. Bảng Khách hàng (Customer)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
CustomerID INT PK, AUTO_INCREMENT Mã khách hàng
FullName VARCHAR(100) NOT NULL Họ và tên khách hàng
PhoneNumber VARCHAR(15) NOT NULL, UNIQUE Số điện thoại
Address TEXT NULL Địa chỉ khách hàng

 


2. Bảng Phiếu sửa chữa (RepairTicket)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
RepairTicketID INT PK, AUTO_INCREMENT Mã phiếu sửa chữa
VehicleID INT FK → Vehicle(VehicleID) Xe được sửa chữa
EmployeeID INT FK → Employee(EmployeeID) Nhân viên tiếp nhận
CreateDate DATETIME NOT NULL Ngày lập phiếu
Status VARCHAR(20) NOT NULL Trạng thái phiếu sửa chữa

3. Bảng Công việc sửa chữa (RepairJob)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
RepairJobID INT PK, AUTO_INCREMENT Mã công việc sửa chữa
RepairTicketID INT FK → RepairTicket(RepairTicketID) Phiếu sửa chữa liên quan
EmployeeID INT FK → Employee(EmployeeID) Nhân viên thực hiện
JobDescription TEXT NOT NULL Mô tả công việc
LaborCost DECIMAL(10,2) NOT NULL Chi phí công
Status VARCHAR(20) NOT NULL Trạng thái công việc
SparePartID INT FK → SparePart () Phụ tùng được cấp

4. Bảng Nhân viên (Employee)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
EmployeeID INT PK, AUTO_INCREMENT Mã nhân viên
FullName VARCHAR(100) NOT NULL Họ và tên
PhoneNumber VARCHAR(15) NOT NULL, UNIQUE Số điện thoại
Role VARCHAR(50) NOT NULL Vai trò

5. Bảng Phụ tùng (SparePart)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
SparePartID INT PK, AUTO_INCREMENT Mã phụ tùng
PartName VARCHAR(100) NOT NULL Tên phụ tùng
Brand VARCHAR(50) NOT NULL Hãng sản xuất
Price DECIMAL(10,2) NOT NULL Giá tiền
StockQuantity INT NOT NULL Số lượng tồn kho

6. Bảng Cấp phát phụ tùng (SparePartAllocation)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
AllocationID INT PK, AUTO_INCREMENT Mã cấp phát
RepairJobID INT FK → RepairJob(RepairJobID) Công việc sửa chữa liên quan
SparePartID INT FK → SparePart(SparePartID) Phụ tùng sử dụng
Quantity INT NOT NULL Số lượng cấp phát

7. Bảng Hóa đơn (Invoice)

Tên cột Kiểu dữ liệu Ràng buộc Mô tả
InvoiceID INT PK, AUTO_INCREMENT Mã hóa đơn
RepairTicketID INT FK → RepairTicket(RepairTicketID) Phiếu sửa chữa liên quan
TotalLaborCost DECIMAL(10,2) NOT NULL Tổng chi phí công
TotalSparePartCost DECIMAL(10,2) NOT NULL Tổng chi phí phụ tùng
TotalAmount DECIMAL(10,2) NOT NULL Tổng tiền thanh toán
PaymentStatus VARCHAR(20) NOT NULL Trạng thái thanh toán

Tóm tắt

Hệ thống này có 8 bảng chính, với khóa chính và khóa ngoại rõ ràng, giúp quản lý thông tin về khách hàng, xe, sửa chữa, phụ tùng và thanh toán. Mô hình này đảm bảo tính nhất quán dữ liệu và thuận tiện trong quản lý.

Áp dụng kiến thức đã học, hãy khảo sát và phân tích cơ sở dữ liệu cho bài toán thực tế sau:
Một khách sạn cần xây dựng hệ thống quản lý đặt phòng, bao gồm thông tin khách hàng, phòng, dịch vụ đi kèm, nhân viên, hóa đơn thanh toán và lịch sử lưu trú.

Yêu cầu: Biên soạn kết quả làm bài hoặc nộp file word phân tích