




Preview text:
  lOMoAR cPSD| 58950985
Bài thực hành môn học: Hệ cơ sở dữ liệu   
Bài thực hành số 4: Thiết kế CSDL hệ thống thực Mô 
hình hóa dữ liệu (Phần II)   
Bài 1: Chuyển mô hình thực thể liên kết sau thành mô hình dữ liệu vật lý   
Bài 2: Hãy xây dựng mô hình dữ liệu cho hệ thống từ mẫu phiếu xuất của công ty thương  mại Y dưới đây. 
- Danh sách thuộc tính: số PX, ngày, số đại lý, địa chỉ, tên hàng, đơn vị tính, đơn  giá, số lượng. 
- Bổ sung thêm thuộc tính mã hàng. 
- Phụ thuộc hàm: (quy định giá bán của mặt hàng không thay đổi) số PX -> ngày, 
mã KH số đại lý -> địa chỉ mã hàng -> tên hàng, đơn vị tính, đơn giá 
{số PX, mã hàng }-> số lượng -  Khoá chính: số PX. 
- Nhóm lặp (*): mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng. 
Hãy tiến hành quá trình chuẩn hóa từ dạng chuẩn 1NF đến dạng chuẩn BCNF nếu có:      lOMoAR cPSD| 58950985
Bài thực hành môn học: Hệ cơ sở dữ liệu   
• 0NF: DAILY_HANGXUAT (SoPX, NgayXuat, SoDaiLy, DiaChi, MaHang, 
TenHang, DonViTinh, DonGia, SoLuong) Gợi ý: Các bước tiến hành 
• Bước 1: Từ một biểu mẫu (tài liệu xuất: hoá đơn, chứng từ,…) lấy ra một danh sách 
các thuộc tính cho quan hệ chưa được chuẩn hoá (còn gọi là dạng chuẩn 0). 
o Mỗi tiêu đề trong biểu mẫu là một thuộc tính. o Bỏ qua phần đầu đề và phần 
dưới cùng (một số ghi chú, chữ ký …) của biểu mẫu. o Không lấy các thuộc 
tính được suy diễn từ những thuộc tính khác (như thành 
tiền = đơn giá x số lượng) và các thuộc tính trình bày như ‘số thứ tự’ nếu có. 
o Bổ sung thêm một số thuộc tính định danh tương ứng với một số thuộc tính 
tên gọi chưa có định danh nếu cần thiết. 
o Xác định nhóm thuộc tính lặp, các phụ thuộc hàm giữa các thuộc tính. 
• Bước 2: Chuẩn hoá về dạng chuẩn 1 (1NF): Tách nhóm thuộc tính lặp. 
o Tách các thuộc tính không nằm trong nhóm lặp thành một quan hệ (R1). Xác 
định khoá chính của quan hệ này. 
o Các thuộc tính của nhóm lặp và khoá chính của quan hệ trên (R1) tạo thành  một quan hệ (R2). 
o Xác định khóa chính cho quan hệ R2 (khoá chính của R2 sẽ là một khoá ghép 
giữa khoá của R1 và một thuộc tính khác trong R2) ▪ Ví dụ: R{A, B, C, D,  E} và khoá là {A}. 
▪ Tồn tại nhóm thuộc tính lặp {C,D} thì tách thành 2 quan hệ R1{A, B,  E} và R2{A,C,D}. 
• Bước 3: Chuẩn hoán về dạng chuẩn 2 (2NF): Loại bỏ phụ thuộc bộ phận vào khoá 
(chỉ áp dụng với các quan hệ có khoá ghép) o Tách các thuộc tính tham gia vào phụ 
thuộc hàm được xác định bởi một phần của khoá vào một quan hệ mới (R3). 
Khoá chính của quan hệ là thuộc tính xác định hàm. 
o Phần còn lại với khoá chính của quan hệ trên (R3) là một quan hệ giữ nguyên 
khoá chính như quan hệ ban đầu. o Ví dụ: R{A, B, C, D} và khoá là {A,B}.      lOMoAR cPSD| 58950985
Bài thực hành môn học: Hệ cơ sở dữ liệu   
Tồn tại phụ thuộc hàm A C thì tách thành 2 quan hệ R1{A,C} và R2{A, B,  D}. 
• Bước 4: Chuẩn hoá về dạng chuẩn 3 (3NF): Loại bỏ phụ thuộc hàm giữa các thuộc  tính không khoá. 
o Tách các thuộc tính tham gia vào phụ thuộc hàm giữa các thuộc tính không 
khoá vào một quan hệ mới (R4). Khoá chính của quan hệ là thuộc tính xác  định hàm. 
o Phần còn lại và khoá chính của quan hệ trên (R4) là một quan hệ giữ nguyên 
khoá chính của quan hệ ban đầu. 
o Ví dụ: R{A, B, C, D} mà khoá là {A,B}. Tồn tại phụ thuộc hàm C D thì 
tách thành 2 quan hệ R1{C, D} và R2{A, B, C} 
• Bước 5: Chuẩn hóa về dạng BCNF: Loại bỏ phụ thuộc hàm giữa thuộc tính khóa 
vào thuộc tính không khóa o Đối với mỗi phụ thuộc hàm không khóa xác định khóa  AKS với KS là tập 
con của khóa K trong lược đồ quan hệ R. Ta tách thành hai lược đồ quan hệ: 
▪ Loại KS ra khỏi R để tạo lược đồ quan hệ R1 như sau:  • R1 = {R - KS} 
• Bổ sung A vào khóa chính của R1 , K1={K – KS ∪A} 
▪ Tạo lược đồ mới R2 như sau: 
• R2 = {A, KS} có khóa chính là {A} 
o Ví dụ: R{A, B, C, D} mà khoá là {A,B}. Tồn tại phụ thuộc hàm C B thì tách  thành 2 quan hệ 
▪ R1{A, C, D} có khóa chính là AC và 
▪ R2{B, C} có khóa chính là C 
Bài 3: Cho lược đồ quan hệ R (A,B,C,D,E) và hai tập phụ thuộc hàm như sau:  F={A→BC, A→D, CD→E}  G={A→BCE, A→ABD, CD→E} 
a. Hãy tìm phủ tối thiểu của hai tập F và G ở trên.      lOMoAR cPSD| 58950985
Bài thực hành môn học: Hệ cơ sở dữ liệu   
b. Hãy kiểm tra xem F và G có tương đương hay không? 
Bài 4: Cho lược đồ quan hệ R (A,B,C,D,E) và tập phụ thuộc hàm như sau: 
F={A→C, B→C, C→D, DE→C, CE→A} 
a. Hãy tìm khóa tối thiểu của R. 
b. Hãy sử dụng phép tách bảo toàn tập phụ thuộc hàm và không mất tin để chuẩn hóa 
lược đồ quan hệ trên về dạng chuẩn 3NF. 
c. Hãy sử dụng thuật toán kiểm tra phép tách không mất tin để chứng minh cho kết  quả phép tách ở trên. 
Bài 5: Cho mẫu phiếu Hóa đơn bán hàng của công ty TNHH Phát triển thương mại và xuất 
nhập khẩu Hà Linh như sau:   
Hãy xây dựng mô hình dữ liệu cho hệ thống từ mẫu phiếu trên bằng cách: 
a. Hãy chỉ ra lược đồ quan hệ dạng 0NF, khóa chính và tập các phụ thuộc hàm nếu có.      lOMoAR cPSD| 58950985
Bài thực hành môn học: Hệ cơ sở dữ liệu   
b. Hãy tiến hành quá trình chuẩn hóa lược đồ quan hệ trên từ dạng chuẩn 1NF đến 
dạng chuẩn BCNF nếu có.