Tải bản đầy đủ (.ppt) (59 trang)

Hậu quả của giả thuyết quan hệ phổ quát

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (631.36 KB, 59 trang )

1
Hậu quả của giả thuyết quan
hệ phổ quát
W.Kent
Giảng viên: PGS.TS Đồng Thị Bích Thủy
Học viên: Võ Thành C
Phạm Minh Dũng
Hoàng Đăng Quang
Trần Quốc Việt
2
Nội dung
I. Kent
1. Giới thiệu
2. Quan hệ phổ quát
3. Các giả thuyết khác
4. Tên cột toàn cục
5. Các lo ngại về định nghĩa
6. Các phụ thuộc ẩn
7. Thiết kế lược đồ
8. Kết luận
II. Ullman
3
1. Giới thiệu

Tên cột có ý nghĩa cục bộ: hai cột cùng tên
trong hai quan hệ có cùng ý nghĩa? Có kết
được không? Có cần đổi tên khi kết?

Tên cột có ý nghĩa toàn cục: giả thuyết quan
hệ phổ quát: Cho một tập các quan hệ S, tồn
tại trên nguyên tắc một QHPQ U sao cho mỗi


quan hệ trong S là một phép chiếu trên U.

Tên của cột là duy nhất trong U.
4
2. Quan hệ phổ quát
Cho tập các quan hệ
S = {R
1
<X
1
;D
1
>, R
2
<X
2
;D
2
>, …, R
n
<X
n
;D
n
>}
Tồn tại một quan hệ phổ quát U<T;G> thỏa:
1. T = X
1
∪ X
2

∪… ∪ X
n
2. R
i
= U[X
i
]
5
3. Các giả thuyết khác
1. Không có miền: một quan hệ là một tập hợp
các tên cột khác nhau và không có miền
nhỏ hơn chỉ với vài cột
2. Phép kết so sánh các cột khi và chỉ khi
chúng có cùng tên và luôn luôn so sánh tất
cả các cột cùng tên trong hai quan hệ
(natural join)
6
4. Tên cột toàn cục
4.1. Miền chung
4.2. Phụ thuộc cập nhật
4.3. Các quan hệ có cột đồng nhất
4.4. Tên quan hệ
4.5. Tên cột
4.6. Cột duy nhất và kết tự nhiên
7
4.1. Miền chung
Các cột cùng tên phải được định nghĩa trên
cùng miền
Quan hệ BẦUCỬ ĐUANGỰA
Cột Năm Thắng CuộcĐua Thắng

Miền Người Ngựa
Không cùng miền  không có quan hệ phổ quát
8
4.2. Phụ thuộc cập nhật
Để phép cập nhật các quan hệ R
1
(XY) và R
2
(XZ) phải
bảo toàn phép chiếu R
1
[X]=R
2
[X] trong quan hệ phổ
quát, nên:
1. Tập các giá trị X trong R
1
phải bằng tập các giá trị X
trong R
2
2. Nếu có quan hệ R
3
(ZM) thì tập các giá trị Z trong R
2

cũng phải bằng tập các giá trị Z trong R
3
3. Nếu có quan hệ R
4
(XZN) thì tập các cặp giá trị XZ

trong R
4
phải là tích Decarte của tập giá trị X trong R
1

tập giá trị Z trong R
2
Bùng nổ số record của R
4
9
4.3. Các quan hệ có cột đồng nhất
Hai quan hệ có cùng tên cột thì chứa giá trị của
hai cột trong hai quan hệ hoàn toàn giống nhau.
Không có quan hệ phổ quát
Thực tế:
PHÂNCÔNG CHOMƯỢN
NV Phòng Ngày NV Phòng Ngày
10
4.4 Tên quan hệ

Các quan hệ không cần đặt tên vì đã
xác định duy nhất quan hệ dựa theo
tập các tên cột

Có thể nhóm vài cột thành một cái
tên để tránh lặp lại danh sách dài
các tên cột

Thực tế: Các quan hệ khác nhau vẫn
có các cột giống nhau

11
4.5. Tên cột

Thực tế miền thường được dùng như tên cột.

Ví dụ: R(NV, PLV, PM, NQL)

Tên dùng trong QHPQ: Mã-nhân-viên, Phòng-
làm-việc, Phòng-mượn, Người-quản-lý

Nếu có thêm dự án trong một phòng, các tên
cột có thể là: Mã-nhân-viên, Phòng-làm-việc-
của-nhân-viên, Ngày-bắt-đầu-làm-của-nhân-
viên, Phòng-mượn-nhân-viên, Người-quản-lý-
của-nhân-viên, Phòng-làm-việc-của-dự-án,
Ngày-bắt-đầu-làm-của-dự-án
12
4.6. Cột duy nhất và kết tự nhiên
MaNV PhongLV PhongMuon NQL
Giả sử PhongLVNQL, CSDL chuẩn hóa từ QHPQ trên như sau
MaNV PhongLV PhongMuon PhongLV NQL
Dùng kết tự nhiên xác định Người quản lý của Phòng mượn nhân viên?
Dùng kết có chỉ định cột so sánh (có thể cả lĩnh vực):
MaNV PhongLV PhongMuon Phong NQL
13
5. Các lo ngại về định nghĩa
5.1. NULL, khóa và phụ thuộc
5.2. Tính duy nhất của QHPQ
5.3. Giá trị trên một dòng của các cột
không phụ thuộc

14
5.1. NULL, khóa và phụ thuộc

QHPQ bắt buộc phải chấp nhận giá trị Null

Có rất ít khóa trong QHPQ, hầu như cột nào cũng có
thể bị lặp lại thông tin

“Khóa” có giá trị Null, mà có thể có giá trị Null ở bất
kỳ cột nào trong QHPQrất khó xác định khóa

“Khóa” không có giá trị Null, QHPQ không có
“khóa”, kể cả toàn bộ các cột
Phụ thuộc suy từ khóa vô nghĩa

Phụ thuộc hàm/đa trị phải giới hạn vế trái khác Null
 rất khó tìm ra phụ thuộc hàm/đa trị
15
5.2. Tính duy nhất của QHPQ
Với một tập các quan hệ cho trước, có rất
nhiều QHPQ có thể xác định nó.
X Y
0 0
1 1
X Y X Y X Y X Y X Y X Y X Y
0 0 0 1 0 1 0 0 0 0 0 0 0 0
1 1 1 0 1 0 1 0 0 1 0 1 0 1
1 1 1 1 1 1 1 0 1 0
1 1
16

5.3. Giá trị trên một dòng của
các cột không phụ thuộc

Tính không duy nhất của QHPQ là
do giá trị của các cột không phụ
thuộc lẫn nhau

Ví dụ: R(NhânViên, Phòng)
NhânViên Phòng NhânViên Phòng
E1 D1 hoặc E1
E2 D2 E2
E3 E3
D1
D2
17
5.3. Giá trị trên một dòng của
các cột không phụ thuộc

QHPQ với số dòng là tích của số giá trị NhânViên và
số giá trị Phòngthích hợp để xác định phụ thuộc
đa trị
NhânViên Phòng
E1 D1
E2 D1
E3 D1
E1 D2
E2 D2
E3 D2
18
5.3. Giá trị trên một dòng của

các cột không phụ thuộc

Phụ thuộc đa trị không hiển nhiên?
NhânViên Con KỹNăng
E1 C1 K1
E1 C2 K1
E1 C1 K2
E1 C2 K2
E1 C1 K3
E1 C2 K3
 Không nên tồn tại phụ thuộc đa trị không hiển nhiên trong QHPQ
19
6. CÁC PHỤ THUỘC ẨN

6.1. Các phụ thuộc không thể phát
hiện (Undetectable dependencies)

6.2. Các phụ thuộc đa trị được
nhúng (Embebed MVDs)

6.3. Các phụ thuộc đa trị “giáng
cấp” (“Reduced” MVDs)
20
6.1. Các phụ thuộc không thể
phát hiện

Các phụ thuộc không thể phát hiện
được là các phụ thuộc tồn tại trong
các quan hệ riêng lẻ, nhưng lại
không tồn tại sau khi gộp chúng lại

vào trong một quan hệ phổ quát.
21
6.1. Các phụ thuộc không thể
phát hiện

Xét ví dụ sau:

(1) Các nhân viên (E) có một vài kỹ năng (S)

(2) Các nhân viên có vài người lệ thuộc (D)
E S D
A P B
A P C
A Q B
A Q C
Tồn tại phụ thuộc đa trị
E  S | D
SK-DEP
22
6.1. Các phụ thuộc không thể
phát hiện

Giả sử ứng dụng được mở rộng ra để có thể lưu trữ thêm
thông tin sau:

(3) Các nhân viên sẽ dạy một số kỹ năng của họ cho một
vài người lệ thuộc của họ.
E S D
A P B
A P C

A Q B
TEACH

Để thực hiện điều này, chúng ta có thể
thêm quan hệ TEACH như bảng bên.

Giả sử trong quan hệ TEACH, nhân viên A
không dạy kỹ năng Q cho người phụ thuộc C

PTĐT E S |D không tồn tại trong quan
hệ TEACH
23
6.1. Các phụ thuộc không thể
phát hiện

Với cách biểu diễn 3 yêu cầu trên bằng
2 quan hệ (SK-DEP và TEACH) như
trên, rõ ràng có sự dự thừa dữ liệu.

Để giảm bớt dư thừa, chúng ta có thể
gộp 2 quan hệ này vào quan hệ TEACH
và đặt lại tên tổng quát hơn cho quan
hệ này là E-S-D.
24
6.1. Các phụ thuộc không thể
phát hiện
E S D
A P B
A P C
A Q B

A Q C
SK-DEP
E S D
A P B
A P C
A Q B
TEACH
E S D
A P B
A P C
A Q B
A - D
A R -
E-S-D
Tồn tại PTĐT
E S | D
Không tồn tại PTĐT
E  S | D
Không tồn tại PTĐT
E S | D
+
(Phụ thuộc không thể phát hiện)
25
6.2. Các PTĐT được nhúng

PTĐT được nhúng (bao bên trong quan hệ
phổ quát) là PTĐT chỉ tồn tại trong các phép
chiếu từ quan hệ phổ quát nhưng lại không
tồn tại trong quan hệ phổ quát ban đầu (do
bị che lấp bởi các thông tin “gây nhiễu” trong

quan hệ phổ quát).

PTĐT được nhúng (EMVD) không phải là một
PTĐT, nó chỉ là khái niệm chỉ khả năng xuất
hiện các PTĐT trong phép chiếu của QHPQ.

×