BÀI TẬP-THIẾT KẾ CƠ SỞ DỮ LIỆU - Pdf 27

BÀI TẬP THIẾT KẾ CƠ SỞ DỮ LIỆU

Xây dựng mô hình quan hệ cho cơ sở dữ liệu
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.
Kiểm tra dạng chuẩn của lược đồ quan hệ
Bài 1
Cho biết các dạng chuẩn của lược đồ quan hệ sau
a) R=ABCDEG; F={A→BC, C→DE, E→G}
b) R=ABCDEG; F={C→AB, D→E, B→G}
c) R=ABCDEGH; F={A→BC, D→E, H→G}
d) R=ABCDEG; F={AB→C, C→B, ABD→E, G→A}
Bài 2
Kiểm tra các dạng chuẩn

5
=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 : R
1
=AB, R
2
=AC, R
3
=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 THIẾT KẾ CƠ SỞ DỮ LIỆU

Xây dựng mô hình quan hệ cho cơ sở dữ liệu

Khóa của lược đồ là ADH Tương tự câu b, dạng chuẩn cao nhất của lược đồ
là chuẩn 1
d) R=ABCDEG;
F={AB→C,
C→B,
ABD→E,
G→A}
Khóa của lược đồ là DGB, DGC. Các thuộc tính không khóa A,E. Chọn
DBG là khóa chính
- Lược đồ đã ở dạng chuẩn 1
- Lược đồ không ở dạng chuẩn 2 vì các thuộc tính không khóa không
phụ thuộc đầy đủ vào khóa chính. Vậy dạng chuẩn cao nhất của lược
đồ là chuẩn 1.
Bài 2
Kiểm tra các dạng chuẩn
a) R=ABCD; F={CA→D, A→B}
Khóa của lược đồ AC. Các thuộc tính không khóa B,D
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên không ở dạng chuẩn 2 vì các thuộc tính không khóa
không phụ thuộc đầy đủ vào khóa chính
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 1
b) R=SDIM; F={SI→D, SD→M}
Khóa của lược đồ SI. Các thuộc tính không khóa D,M
- Lược đồ trên đã ở dạng chuẩn 1
- Lược đồ trên ở dạng chuẩn 2 vì các thuộc tính không khóa phụ thuộc
đầy đủ vào khóa chính
- Lược đồ trên không ở dạng chuẩn 3 vì thuộc tính D, M không phụ
thuộc trực tiếp vào khóa chính SI
Vậy dạng chuẩn cao nhất của lược đồ là chuẩn 2
c) R=SNDTX; F={S→N, S→D, S→T, S→X}

Không có phụ thuộc hàm nào trong F có vế trái dư thừa
ii.Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các
phụ thuộc hàm có vế phài có một thuộc tính.
Vế phải của tất cả các phụ thuộc hàm trong F chỉ có một thuộc tính.
iii. Loại khỏi F các phụ thuộc hàm dư thừa
A
è
B dư thừa?
F
1
=F\{AèB} = {A→C, B→A, C→A, B→C}
(A)
F1
+
= AC không chứa B vậy AèB không dư thừa ; F
1
= F
AèC dư thừa?
F
2
= F
1
\{AèC} = {A→B, B→A, C→A, B→C}
(A)
F2
+
= ABC chứa C vậy AèC dư thừa; F
2
= F
1

= C không chứa A vậy CèA không dư thừa F
4
=

F
3
BèC dư thừa?
F
5
= F
4
\ {BèC} = {A→B, C→A}
(B)
+
F5
= B không chứa C vậy BèC không dư thừa F
5
= F
4
F
tt
= F
5
= {A→B, C→A, B→C}
Bước 2: Khóa của R là A
Bước 3 : R được tách thành các quan hệ R
1
(AB), R
2
(CA), R

1
=F
CèA dư thừa?
F
2
=F
1
\{CèA} = {AèC, CB→D, AD→B, CD→B, AB→D}
(C)
+
F2
=C không chứa A, vậy CèA không dư thừa F
2
=F
1
CBèD dư thừa?
F
3
= F
2
\{CBèD} = {A→C, C→A, AD→B, CD→B, AB→D}
(CB)
+
= CBAD chứa D, vậy CBèD dư thừa F
3
= F
2
\{CBèD}
ADèB dư thừa?
F

(AB)
+
=ABC không chứa D vậy ABèD không dư thừa F
6
= F
5
F
tt
= F
6
= {A→C, C→A, CD→B, AB→D}
Bước 2: Khóa của R là AB
Bước 3: R được tách thành các quan hệ R
1
(AC), R
2
(CDB), R
3
(ABD) chứa
khóa AB nên phép tách này bảo toàn thông tin và bảo toàn tập phụ thuộc
hàm.

c) R=ABCDGH; F={GH→AD, AG→B, CD→GH, C→A, BH→C}
Bước 1: Tìm phủ tối thiểu của F
i.Loại bỏ các thuộc tính dư thừa ở vế trái của các phụ thuộc hàm
(A)
+
= A, (B)
+
= B, (C)

F2
+
= GHABC không chứa D; GH→D không dư thừa F
2
=F
1
AG→B dư thừa?
F
3
=F
2
\{AG→B} = {GH→A, GH→D , CD→H, CD→G, C→A, BH→C}

(AG)
F3
+
= AG không chứa B; AG→B không dư thừa F
3
=F
2
CD→H dư thừa?
F
4
=F
3
\{CD→H} = {GH→A, GH→D , AG→B, CD→G, C→A, BH→C}

(CD)
F4
+

=F
5
BH→C dư thừa?
F
7
=F
6
\{BH→C} = {GH→A, GH→D , AG→B, CD→H, CD→G, C→A}

(BH)
F7
+
= BH không chứa C; BH→C không dư thừa F
7
=F
6
F
tt
= F
7
= F
Bước 2: Tìm khóa của lược đồ CD
Bước 3: R được tách thành các quan hệ R
1
(GHAD), R
2
(AGB), R
3
(CDGH),
R

2 lược đồ con này đồng thời đã ở dạng chuẩn Boye-Codd vì có các
xác định hàm đều là khóa.

b) R=ABCD; F={A→B, B→C, D→B}.
Bước 1: Khóa của lược đồ AD, thuộc tính không khóa B, C
Bước 2: Xác định chuẩn cao nhất của lược đồ
- Lược đồ đã ở dạng chuẩn 1
- Lược đồ không ở dạng chuẩn 2: Thuộc tính không khóa B phụ thuộc bộ
phận vào khóa chính AD.
Chuẩn cao nhất của lược đồ là chuẩn 1
Bước 3: Tách lược đồ về dạng chuẩn 2, 3, Boye-Codd
i.Tách lược đồ về dạng chuẩn 2
R được tách thành R
1
(ABC) với khóa chính là A và R
2
(DB) với khóa
chính là D.
ii.Tách lược đồ về dạng chuẩn 3
R
1
được tách thành R
11
(AB) với khóa chính là A và R
12
(BC) với khóa
chính là B
R
2
đã thuộc dạng chuẩn 3.

= AB a1 a2 b23 b24 b25
R
3
= BE b31 a2 b33 b34 a5
R
4
= CDE b41 b42 a3 a4 a5
R
5
= AE a1 b52 b53 b54 a5
Bước 2 : Áp dụng các phụ thuộc hàm cho bảng
A → C
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 b24 b25
R
3
= BE b31 a2 b33 b34 a5
R
4
= CDE b41 b42 A3 a4 a5
R
5
= AE a1 b52 b13 b54 a5

B → C

R
5
= AE a1 b52 b13 a4 a5
DE → C
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 a4 b25
R
3
= BE b31 a2 a3 a4 a5
R
4
= CDE b41 b42 a3 a4 a5
R
5
= AE a1 b52 a3 a4 a5
CE → A
A B C D E
R
1
= AD a1 b12 b13 a4 b15
R
2
= AB a1 a2 b13 a4 b25
R
3

3
= 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
R
1
= AB a1 a2 b13 b14
R
2
= AC a1 a2 a3 b24
R
3
= BD b31 a2 b33 a4
B→C
A B C D
R
1
= AB a1 a2 a3 b14
R
2
= AC a1 a2 a3 b24
R
3
= BD b31 a2 a3 a4
A→D
A B C D
R
1
= AB a1 a2 a3 a4

Bước 1: Xây dựng bảng
A B C D E H
R
1
= AB a1 a2 b13 b14 b15 b16
R
2
=
CDEH
b21 b22 a3 a4 a5 a6
R
3
= 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
R
1
= AB a1 a2 b13 b14 b15 b16
R
2
=
CDEH
b21 b22 a3 a4 a5 a6
R
3
= 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.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status