Professional Documents
Culture Documents
Bài tập thiết kế CSDL
Bài tập thiết kế CSDL
Bài 1
Có các mô tả sau về CSDL “THƯ VIỆN”:
a) Thư viện được chia ra thành các nhánh. Thông tin về mỗi nhánh gồm có
Mã nhánh, Tên nhánh và Địa chỉ.
b) Mỗi cuốn sách trong thư viện có các thông tin về Mã sách, Tên sách Nhà
xuất bản và Tác giả…
c) Một tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể có nhiều
tác giả viết.
d) Một nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách do một nhà
xuất bản xuất bản. Thông tin về Nhà xuất bản gồm có Tên NXB, Địa chỉ
NXB và Số điện thoại NXB.
e) Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các nhánh. Thông
tin về bản sao sách gồm Mã sách, số các bản sao.
f) Thư viện có những người mượn sách. Thông tin về những người mượn
sách gồm có Số thẻ, Họ tên, Địa chỉ và Số điện thoại.
g) Sách được cho các người mượn mượn tại các nhánh. Thông tin về một
lần mượn gồm có Ngày mượn và ngày trả.
Hãy xây dựng lược đồ quan hệ cho CSDL “THƯ VIỆN ” từ các mô tả nói
trên.
Bài 2
Kiểm tra các dạng chuẩn
a) R=ABCD; F={CA→D, A→B}
b) R=SDIM; F={SI→D, SD→M}
e) R=SNDTX; F={S→N, S→D, S→T, S→X}
d) R=ABCDEGHI; F={AC→B, BI→ACD, ABC→D, H→I, ACE→BCG,
CG→AE}
Chuẩn hóa lược đồ quan hệ
Bài 1
Chuẩn hóa lược đồ quan hệ sau về dạng 3NF vừa bảo toàn tập phụ thuộc
hàm vừa bảo toàn thông tin.
a) R=ABC; F={A→B, A→C, B→A, C→A, B→C}
b) R=ABCD; F={A→C,C→A, CB→D, AD→B, CD→B, AB→D}
c) R=ABCDGH; F={GH→AD, AG→B, CD→GH, C→A, BH→C}
Bài 2
Chuẩn hóa lược đồ quan hệ sau về dạng BNF
a) R=SDIM; F={SI→D, SD→M}
b) R=ABCD; F={A→B, B→C, D→B}
Kiểm tra bảo toàn tập phụ thuộc hàm và bảo toàn thông tin
Bài 1
Cho lược đồ quan hệ R=ABCDE
Tập phụ thuộc hàm F={A → C, B → C, C → D, DE → C, CE → A}
Phép tách lược đồ thành các lược đồ con: R1=AD, R2=AB, R3=BE,
R4=CDE, R5=AE.
Kiểm tra phép tách có mất mát thông tin hay không ?
Bài 2
Cho lược đồ quan hệ R=ABCD
Tập phụ thuộc hàm F={A→B, B→C, A→D, D→C}
Phép tách lược đồ thành các lược đồ con : R1=AB, R2=AC, R3=BD
Kiểm tra phép tách có bảo toàn thông tin hay không?
Kiểm tra phép tách có bảo toàn tập phụ thuộc hàm với F ?
Bài 3
Cho lược đồ quan hệ R=ABCDEH
Tập phụ thuộc hàm F={C →ADEH, A →B, DEH →A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kiểm tra phép tách có mất mát thông tin hay không ?
BÀI GIẢI
Bài 2
Chuẩn hóa lược đồ quan hệ sau về dạng BNF
Kiểm tra bảo toàn tập phụ thuộc hàm và bảo toàn thông tin
Bài 1
Cho lược đồ quan hệ R=ABCDE
Tập phụ thuộc hàm F={A → C, B → C, C → D, DE → C, CE → A}
Phép tách lược đồ thành các lược đồ con: R1=AD, R2=AB, R3=BE,
R4=CDE, R5=AE.
Kiểm tra phép tách có mất mát thông tin hay không ?
B→C
A B C D E
R1 = AD a1 b12 b13 a4 b15
R2 = AB a1 a2 b13 b24 b25
R3 = BE b31 a2 b13 b34 a5
R4 = CDE b41 b42 a3 a4 a5
R5 = AE a1 b52 b13 b54 a5
C→D
A B C D E
R1 = AD a1 b12 b13 a4 b15
R2 = AB a1 a2 b13 a4 b25
R3 = BE b31 a2 b13 a4 a5
R4 = CDE b41 b42 a3 a4 a5
R5 = AE a1 b52 b13 a4 a5
DE → C
A B C D E
R1 = AD a1 b12 b13 a4 b15
R2 = AB a1 a2 b13 a4 b25
R3 = BE b31 a2 a3 a4 a5
R4 = CDE b41 b42 a3 a4 a5
R5 = AE a1 b52 a3 a4 a5
CE → A
A B C D E
R1 = AD a1 b12 b13 a4 b15
R2 = AB a1 a2 b13 a4 b25
R3 = BE a1 a2 a3 a4 a5
R4 = CDE a1 b42 a3 a4 a5
R5 = AE a1 b52 a3 a4 a5
Tồn tại trong bảng một dòng chứa toàn ký hiệu a. Phép tách là bảo toàn
thông tin.
Bài 2
Cho lược đồ quan hệ R=ABCD
Tập phụ thuộc hàm F={A→B, B→C, A→D, D→C}
Phép tách lược đồ thành các lược đồ con : R1=AB, R2=AC, R3=BD
a) Kiểm tra phép tách có bảo toàn thông tin hay không?
Bước 1: Xây dựng bảng
A B C D
R1 = AB a1 a2 b13 b14
R2 = AC a1 b22 a3 b24
R3 = BD b31 a2 b33 a4
Bước 2 : Áp dụng các phụ thuộc hàm cho bảng
A→B
A B C D
R1 = AB a1 a2 b13 b14
R2 = AC a1 a2 a3 b24
R3 = BD b31 a2 b33 a4
B→C
A B C D
R1 = AB a1 a2 a3 b14
R2 = AC a1 a2 a3 b24
R3 = BD b31 a2 a3 a4
A→D
A B C D
R1 = AB a1 a2 a3 a4
R2 = AC a1 a2 a3 a4
R3 = BD b31 a2 a3 a4
Tồn tại trong bảng một dòng chứa toàn ký hiệu a. Phép tách là bảo toàn
thông tin.
b) Kiểm tra phép tách có bảo toàn tập phụ thuộc hàm với F ?
Bước 1: Tìm hình chiếu của F lên các lược đồ con
Phụ thuộc hàm là hình chiếu của F lên R1 là : A→B
Phụ thuộc hàm là hình chiếu của F lên R2 là : A→C (A→D; D→C =>
A→C)
Phụ thuộc hàm là hình chiếu của F lên R3 là những phụ thuộc hàm tầm
thường.
Bước 2: Suy diễn các phụ thuộc hàm trong F từ tập các hình chiếu
Từ các phụ thuộc hàm đã cho không suy diễn được tất cả những phụ thuộc
hàm có trong F. Như vậy phép tách này không bảo toàn tập phụ thuộc hàm.
Bài 3
Cho lược đồ quan hệ R=ABCDEH
Tập phụ thuộc hàm F={C →ADEH, A →B, DEH →A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kiểm tra phép tách có mất mát thông tin hay không ?
Bước 1: Xây dựng bảng
A B C D E H
R1 = AB a1 a2 b13 b14 b15 b16
R2 = b21 b22 a3 a4 a5 a6
CDEH
R3 = DEHA a1 b32 b33 a4 a5 a6
Bước 2 : Áp dụng các phụ thuộc hàm cho bảng
A →B
A B C D E H
R1 = AB a1 a2 b13 b14 b15 b16
R2 = b21 b22 a3 a4 a5 a6
CDEH
R3 = DEHA a1 a2 b33 a4 a5 a6
DEH →A
A B C D E H
R1 = AB a1 a2 b13 b14 b15 b16
R2 = a1 b22 a3 a4 a5 a6
CDEH
R3 = DEHA a1 a2 b33 a4 a5 a6
A →B
A B C D E H
R1 = AB a1 a2 b13 b14 b15 b16
R2 = a1 a2 a3 a4 a5 a6
CDEH
R3 = DEHA a1 a2 b33 a4 a5 a6
Tồn tại trong bảng một dòng chứa toàn ký hiệu a. Phép tách là bảo toàn
thông tin.