Phân tích từng bảng

Một phần của tài liệu Báo cáo kết thúc học phần cơ sở dữ liệu nâng cao Đề tài fabric agency database (Trang 57 - 65)

CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.3 Thao tác với cơ sở dữ liệu

3.3.2 Phân tích từng bảng

1. Bảng Employees:

Employee_id (Khóa chính): Định danh duy nhất cho nhân viên.

Fname: Tên đầu tiên của nhân viên.

Lname: Họ của nhân viên.

Gender: Giới tính của nhân viên.

Address: Địa chỉ của nhân viên.

PhoneNumber: Số điện thoại của nhân viên.

2. Bảng Manager:

employee_id (Khóa chính): Định danh duy nhất cho quản lý.

Liên kết khóa ngoại tới employee_id trong bảng Employees.

3. Bảng OfficeStaff:

employee_id (Khóa chính): Định danh duy nhất cho nhân viên văn phòng.

Liên kết khóa ngoại tới employee_id trong bảng Employees.

4. Bảng OperationalStaff:

employee_id (Khóa chính): Định danh duy nhất cho nhân viên vận hành.

Liên kết khóa ngoại tới employee_id trong bảng Employees.

5. Bảng PartnerStaff:

employee_id (Khóa chính): Định danh duy nhất cho nhân viên đối tác.

Liên kết khóa ngoại tới employee_id trong bảng Employees.

6. Bảng Customers:

customer_id (Khóa chính): Định danh duy nhất cho khách hàng.

first_name: Tên đầu tiên của khách hàng.

last_name: Họ của khách hàng.

address: Địa chỉ của khách hàng.

arrearage: Số nợ của khách hàng.Thuộc tính dẫn xuất: được tính bằng tổng giá trị đơn đặt của khách hàng - số tiền đã trả cho các đơn hàng của khách hàng.

warningTime: Ngày và giờ cảnh báo. Thuộc tính dẫn xuất:

nhận giá trị mặc định là null, khi khách hàng có thuộc tính arrearage >2000, nhận giá trị là ngày hiện tại.

offemployee_id: Liên kết khóa ngoại tới employee_id trong bảng OfficeStaff.

7. Bảng CustomerPhoneNumber:

Khóa chính kết hợp: (customer_id, phoneNumber).

Liên kết khóa ngoại tới customer_id trong bảng Customers.

8. Bảng Orders:

order_id (Khóa chính): Định danh duy nhất cho đơn đặt hàng.

customer_id: Liên kết khóa ngoại tới customer_id trong bảng Customers.

operational_staffID: Liên kết khóa ngoại tới employee_id trong bảng OperationalStaff.

orderDate: Ngày đặt hàng.

orderTime: Giờ đặt hàng.

total_price: Tổng giá trị đơn hàng.

order_status: Trạng thái đơn hàng.

cancelReason: Lý do hủy đơn hàng.

processEmployeeID: Liên kết khóa ngoại tới employee_id trong bảng Employees.

9. Bảng PartialPayment:

Khóa chính kết hợp: (order_id, date, amoutOfMoney).

Liên kết khóa ngoại tới order_id trong bảng Orders.

10. Bảng Suppliers:

supplier_id (Khóa chính): Định danh duy nhất cho nhà cung cấp.

parEmployeeID: Liên kết khóa ngoại tới employee_id trong bảng PartnerStaff.

taxcode: Mã số thuế của nhà cung cấp.

name: Tên của nhà cung cấp.

address: Địa chỉ của nhà cung cấp.

bankAccount: Tài khoản ngân hàng của nhà cung cấp.

11. Bảng Categories:

category_id (Khóa chính): Định danh duy nhất cho danh mục.

supplier_id: Liên kết khóa ngoại tới supplier_id trong bảng Suppliers.

name: Tên của danh mục.

color: Màu sắc của danh mục.

12. Bảng Bolts:

bolt_id (Khóa chính): Định danh duy nhất cho cuộn vải.

category_id: Liên kết khóa ngoại tới category_id trong bảng Categories.

order_id: Liên kết khóa ngoại tới order_id trong bảng Orders.

length: Chiều dài của cuộn vải.

13. Bảng SupplierPhoneNumber:

Khóa chính kết hợp: (supplier_id, phoneNumber).

Liên kết khóa ngoại tới supplier_id trong bảng Suppliers.

14. Bảng CurrentPrice:

Khóa chính kết hợp: (category_id, price, date).

Liên kết khóa ngoại tới category_id trong bảng Categories.

15. Bảng InventoryReceipt:

Khóa chính kết hợp: (category_id, date, purchase, quantity).

Liên kết khóa ngoại tới category_id trong bảng Categories.

16. Bảng Accounts:

username (Khóa chính): Định danh duy nhất cho tài khoản.

password: Mật khẩu của tài khoản.

Chuẩn hóa lược đồ quan hệ về dạng chuẩn 3NF

Employees

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- employee_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào employee_id nên lược đồ ở dạng chuẩn 2NF.

- Do employee_id xác định các thuộc tính còn lại trong bảng thì employee_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

OfficeStaff

- Lược đồ quan hệ chỉ có một thuộc tính nên nó là dạng chuẩn 3NF.

OperationStaff

- Lược đồ quan hệ chỉ có một thuộc tính nên nó là dạng chuẩn 3NF.

PartnerStaff

- Lược đồ quan hệ chỉ có một thuộc tính nên nó là dạng chuẩn 3NF.

Manager

- Lược đồ quan hệ chỉ có một thuộc tính nên nó là dạng chuẩn 3NF.

Order

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- order_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào order_id nên lược đồ ở dạng chuẩn 2NF.

- Do order_id xác định các thuộc tính còn lại trong bảng thì order_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Suppliers

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- supplier_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào supplier_id nên lược đồ ở dạng chuẩn 2NF.

- Do supplier_id xác định các thuộc tính còn lại trong bảng thì supplier_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

PartialPayment

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- order_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào order_id nên lược đồ ở dạng chuẩn 2NF.

- Do order_id xác định các thuộc tính còn lại trong bảng thì order_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Categories

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- category_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào category_id nên lược đồ ở dạng chuẩn 2NF.

- Do category_id xác định các thuộc tính còn lại trong bảng thì category_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Bolts

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- bolt_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào bolt_id nên lược đồ ở dạng chuẩn 2NF.

- Do bolt_id xác định các thuộc tính còn lại trong bảng thì bolt_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Customers

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- customer_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào customer_id nên lược đồ ở dạng chuẩn 2NF.

- Do customer_id xác định các thuộc tính còn lại trong bảng thì customer_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

CurrentPrice

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- category_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào category_id nên lược đồ ở dạng chuẩn 2NF.

- Do category_id xác định các thuộc tính còn lại trong bảng thì category_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

CustomerPhoneNum

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- customer_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào customer_id nên lược đồ ở dạng chuẩn 2NF.

- Do customer_id xác định các thuộc tính còn lại trong bảng thì customer_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Inventory Receipt

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- category_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào category_id nên lược đồ ở dạng chuẩn 2NF.

- Do category_id xác định các thuộc tính còn lại trong bảng thì category_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

SupplierPhoneNum

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- supplier_id là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào supplier_id nên lược đồ ở dạng chuẩn 2NF.

- Do supplier_id xác định các thuộc tính còn lại trong bảng thì supplier_id là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Accounts

- Lược đồ quan hệ chỉ chứa các thuộc tính nguyên tố nên lược đồ ở dạng chuẩn 1NF.

- userName là khóa dự tuyển, các thuộc tính còn lại phụ thuộc hàm đầy đủ vào userName nên lược đồ ở dạng chuẩn 2NF.

- Do userName xác định các thuộc tính còn lại trong bảng thì userName là siêu khóa nên lược đồ ở dạng chuẩn 3NF.

Một phần của tài liệu Báo cáo kết thúc học phần cơ sở dữ liệu nâng cao Đề tài fabric agency database (Trang 57 - 65)

Tải bản đầy đủ (PDF)

(78 trang)