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... Các phụ
Trang 1Hậu quả của giả thuyết quan
Trang 31 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
Trang 53 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)
Trang 7Không cùng miền không có quan hệ phổ quát
Trang 84.2 Phụ thuộc cập nhật
Để phép cập nhật các quan hệ R1(XY) và R2(XZ) phải
bảo toàn phép chiếu R1[X]=R2[X] trong quan hệ phổ
3 Nếu có quan hệ R4(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 và tập giá trị Z trong R2
Bùng nổ số record của R4
Trang 104.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
Trang 11Ngày-bắt-đầu-làm-của-dự-án
Trang 124.6 Cột duy nhất và kết tự nhiên
MaNV PhongLV PhongMuon NQL
Giả sử PhongLVNQL, 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):
Trang 145.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 QHPQrấ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ị
Trang 165.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ụ
Trang 175.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à
Trang 185.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?
Trang 196 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)
Trang 206.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.
Trang 216.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)
Trang 226.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ọ.
Để 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
Trang 236.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.
Trang 246.1 Các phụ thuộc không thể phát hiện
+
(Phụ thuộc không thể phát hiện)
Trang 256.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
Trang 266.2 Các PTĐT được nhúng
Trong một số trường hợp, PTĐT được nhúng có thể được xác định từ những PTĐT khác trong quan hệ (TH1) Trong một số trường hợp khác thì PTĐT được nhúng có thể không xác định
được (TH2) từ những PTĐT khác trong quan hệ
Xét ví dụ cho trường hợp 1
(1) Các nhân viên (E) có vài kỹ năng (S)
(2) Các nhân viên có vài người lệ thuộc (D)
(3) Các người lệ thuộc có vài con vật nuôi (P)
Trang 27(PTĐT được nhúng) suy dẫn
Trang 286.2 Các PTĐT được nhúng
Xét ví dụ cho trường hợp 2
của mình cho tất cả người lệ thuộc của họ,
năm (Y) họ dạy cũng sẽ được ghi nhận lại.
Tương tự như trong ví dụ 1, PTĐT E D | S tồn tại trong phép chiếu
bỏ đi cột Y của quan hệ này, nhưng trong trường hợp này, trong quan
hệ ban đầu không tồn tại PTĐT EDS | Y hay EDY | S
Như vậy PTĐT E D | S không thể được suy dẫn ra từ quan hệ ban
đầu được.
Trang 29 (1) Mỗi người thuê nhà ở tại một địa chỉ duy nhất: OCCUPANT ADDRESS.
(2) Mỗi người chủ nhà có thể sở hữu nhiều căn nhà: LANDLORD ADDRESS.
Trang 30 Theo như yêu cầu ban đầu:
O A và L A | O
Vậy tại sao trong thể hiện
của quan hệ, mỗi người chủ
nhà (L), chỉ có duy nhất
một căn nhà (A) ?
Mỗi căn nhà được sở hữu bởi mỗi người chủ phải tồn tại trong sự kết hợp giữa người chủ nhà và người thuê nhà
Nếu người chủ nhà có nhiều hơn 1 căn nhà và để thoả PTĐT L
A | O, thì những người thuê nhà phải ở tất cả các căn nhà này, điều này lại vi phạm PTH O A.
Trang 316.3 Các PTĐT “giáng cấp”
Vì vậy, PTĐT L A | O sẽ bị “giáng cấp”
xuống trở thành phụ thuộc hàm L A
Điều này lại không thỏa yêu cầu ban đầu, một
người chủ nhà có thể có nhiều căn nhà
Như vậy theo giả thuyết của quan hệ phổ quát thì sẽ có một số trường hợp sẽ không đáp ứng được một số yêu cầu thực tế như trong ví dụ
trên
Trang 337 1 Chọn quan hệ phổ quát nào ?
Theo giả thuyết của quan hệ phổ quát, quy trình thiết kế lượt đồ
quan hệ gồm 2 bước sau:
(1) Xây dựng quan hệ phổ quát.
(2) Áp dụng các thuật toán thiết kế lượt đồ (tổng hợp hay phân rã)
Trang 347 1 Chọn quan hệ phổ quát nào ?
Như đã trình bày trong phần 5, do sự
không đơn nhất trong việc xác định lược
đồ cũng như sự không đơn nhất trong việc xác định nội dung của dữ liệu trong quan hệ phổ quát
Chính vì sự không đơn nhất này dẫn tới
sự khó khăn trong việc chọn quan hệ
phổ quát cụ thể (để thực hiện bước 2).
Trang 357.2 So sánh phương pháp
phân rã và tổng hợp
Tập trung so sánh 3 khía cạnh sau:
(1) Các quan hệ và các cột đầu vào.
(2) Các phụ thuộc đầu vào.
(3) “Sự sắp xếp mặc định” của các cột.
Trong 3 khía cạnh trên, khía cạnh
(3) làm cho kết quả của hai phương pháp có sự khác biệt khá rõ.
Trang 367.2 So sánh phương pháp phân rã và tổng hợp
Trang 377.2 So sánh phương pháp
phân rã và tổng hợp
(1) Các quan hệ và các cột đầu vào
Đầu vào của phương pháp phân rã là một tập các quan hệ và một tập các phụ thuộc (FD, MVD).
Đầu vào của phương pháp tổng hợp là một tập các tên cột và một tập các phụ thuộc hàm.
Nếu đầu vào của phương pháp phân rã chỉ gồm một quan hệ (QHPQ) và một tập các phụ thuộc, hay nói cách khác là đầu vào của phương pháp phân rã là tập các tên cột và tập các phụ thuộc (không cần chỉ
rõ tập các quan hệ), thì xem như đầu vào của
phương pháp phân rã tương tự như đầu vào của
phương pháp tổng hợp.
Trang 387.2 So sánh phương pháp
phân rã và tổng hợp
(2) Các phụ thuộc đầu vào
Các phụ thuộc đầu vào bao gồm: các phụ thuộc hàm, phụ thuộc đa trị, PTĐT nhúng (EMVD), hay có thể là các phụ thuộc chưa được biết (yet-to-be-invented).
Như đã trình bày, các phụ thuộc đầu vào của phương pháp phân rã là PTH và PTĐT và phương pháp tổng hợp chỉ là các PTH Do đó nếu phương pháp tổng hợp
có thể được mở rộng ra cho phép chấp nhận các phụ thuộc đầu vào là PTĐT thì xem như các phụ thuộc
đầu vào của cả hai phương pháp là như nhau.
Trang 399 Kết luận
Quan hệ phổ quát là mô hình không phù hợp
cho lý thuyết quan hệ và thực tiễn
Một số các phụ thuộc xác định với các quan hệ riêng lẻ, nhưng lại không thể xác định được
trong quan hệ phổ quát
Quan hệ phổ quát gây khó khăn trong việc phân biệt giữa phương pháp phân rã và tổng hợp
trong thiết kế lượt đồ
Trang 40II Ý kiến của Ullman
1 Các giả thuyết về quan hệ phổ quát
2 Ngữ nghĩa của quan hệ phổ quát dựa trên đối tượng
3 Chỉ sử dụng phép kết tự nhiên?
4 Quan hệ phổ quát thuần túy
5 Các phụ thuộc đa trị được nhúng
6 Tính không duy nhất của QHPQ
7 Tên các thuộc tính
8 Khả năng của quan hệ phổ quát trong việc biểu diễn các phụ thuộc
9 Kết luận
Trang 411 Các giả thuyết về quan hệ phổ quát
Giả thuyết quan hệ phổ quát có nhiều khái niệm khác nhau tương ứng với nhiều mục đích khác nhau
Kent dùng QHPQ cho mục đích này nhưng lại áp dụng vào một tình huống khác nên dẫn đến xuất hiện những cảnh báo nghiêm trọng Tuy nhiên
nó không ảnh hưởng đến tính hữu dụng của giả thuyết quan hệ phổ quát
Trang 421 Các giả thuyết về quan hệ phổ quát
Ullman đưa ra hai hướng khác nhau mà các giả
thuyết quan hệ phổ quát áp dụng:
1.1 The Universal Relation in Database Scheme Design
1.2 The Universal Relation as a User View
Trang 431 Các giả thuyết về quan hệ phổ quát
1.1 The Universal Relation in Database Scheme Design
Có sự tồn tại của những phụ thuộc mà không nằm trong các quan hệ của CSDL.
Cần có một quan hệ phổ quát chứa tất cả các thuộc tính và các phụ thuộc
Điều này giúp cho việc phát triển các phương pháp thiết kế hiệu quả Kết quả thiết kế sử dụng quan hệ phổ quát dường như phù hợp (ngay
cả khi có những phụ thuộc được nhúng).
Trang 441 Các giả thuyết về quan hệ phổ quát
1.2 The Universal Relation as a User View
Quan hệ phổ quát là giao diện tiện lợi của người sử dụng Người sử dụng có thể truy vấn dựa trên những thuộc tính mà không cần quan tâm đến những quan hệ thực sự trong CSDL.
Truy vấn dựa trên quan hệ phổ quát thì đơn giản, dễ hiểu hơn cả truy vấn sử dụng ngôn ngữ tự nhiên.
Trang 45 Nếu quan hệ phổ quát luôn có nghĩa thì chúng
ta có thể dùng biểu thức ngôn ngữ tân từ để xác định tập các tuple trong quan hệ phổ quát
Biểu thức ngôn ngữ tân từ được viết như là sự
kết hợp của một hoặc nhiều thành phần (mỗi thành phần liên quan đến một tập con các
thuộc tính)
2 Ngữ nghĩa của quan hệ phổ
quát dựa trên đối tượng
Trang 46 Đối tượng (object) là tập nhỏ nhất các thuộc
tính thể hiện sự liên quan có nghĩa trong
CSDL
Ví dụ: Một quan hệ phổ quát (E, D, C, S) được
định nghĩa như sau:
{edcs|e is in department d, c is a child of e, and s
is a skill possessed by e}
Các đối tượng là: ED, EC, ES
2 Ngữ nghĩa của quan hệ phổ
quát dựa trên đối tượng
Trang 47 Trong quan hệ phổ quát, giá trị null không
có nghĩa giống nhau Nó không có nghĩa là
“không có gì” mà nó có thể đại diện cho sự tồn tại nhưng chưa biết
Ví dụ:
2 Ngữ nghĩa của quan hệ phổ
quát dựa trên đối tượng
Trang 483 Chỉ sử dụng phép kết tự nhiên?
trong QHPQ
trong quan hệ phổ quát
chuộng hơn bởi cách diễn tả ngôn ngữ của nó thật sự “tự nhiên”
Trang 494 Quan hệ phổ quát thuần túy
Kent: việc duy trì CSDL là phép chiếu của 1 quan
hệ thì rắc rối vì khi có 1 quan hệ bị thay đổi có thể dẫn đến sự thay đổi của những quan hệ khác
Quan hệ phổ quát chỉ là một khái niệm Nó có
giá trị null và những giá trị null này dùng điền
vào những bộ treo từ những quan hệ của CSDL
Không có gì mâu thuẫn khi thực hiện truy vấn
quan hệ phổ quát trong khi CSDL thực sự không chính xác là phép chiếu của quan hệ phổ quát
này
Trang 50Kent:
Ullman cho rằng, thực chất là đã thừa nhận có
E→→D|S được giữ trong EDSY (không cần
phải suy diễn)
5 Các phụ thuộc đa trị được nhúng
Trang 51 QHPQ có thể định nghĩa một cách tự nhiên là sự kết của tất cả các đối tượng ⇒ Không mất thông tin
Các đối tượng mà mỗi đối tượng được chứa
trong một vài quan hệ nào đó ⇒ kết của những quan hệ cũng sẽ không mất thông tin
Những ví dụ (W Kent) đưa ra chỉ với những
thuộc tính không có nghĩa trực quan ⇒ Kết mất thông tin ⇒ QHPQ không duy nhất (hợp lý)
6 Tính không duy nhất của QHPQ
Trang 538 Khả năng của quan hệ phổ quát
trong việc biểu diễn các phụ thuộc
Các ví dụ của Kent không phù hợp trong thực
tiễn
• Biễu diễn đúng của dữ liệu sẽ không có MVD và
sẽ có các giá trị null trên SKILL (người con không được dạy kỹ năng), null CHILD (kỹ năng không
dạy cho người con)
Trang 548 Khả năng của quan hệ phổ quát
trong việc biểu diễn các phụ thuộc
Giả thuyết của Kent:
L →→ A:(mỗi người chủ có thể sở hữu một số căn nhà)
O A (mỗi người thuê một căn nhà duy nhất →
Suy ra: L A ? →
Trang 558 Khả năng của quan hệ phổ quát
trong việc biểu diễn các phụ thuộc
Ullman cho rằng:
Nếu thừa nhận giả thuyết, suy luận đúng Tuy nhiên:
Về ngữ nghĩa trực quan:
L →→ A ngụ ý: nếu có 2 bộ (la 1 o1) và (la2o2) thỏa
LAO thì cũng tồn tại 2 bộ (la1o2) và (la2o1) thỏa
LAO Như vậy o1 thuê cả a1 và a2, không đúng ngữ
nghĩa thực tế (O → A), giả thuyết L →→ A sai
Trang 56 Mối liên hệ “Sở hữu”, “thuê” xác định từ nghữ
nghĩa các cặp LA và AO ⇒ tồn tại 2 đối tượng LA
và AO trong QHPQ
Nếu bỏ L thì A vẫn không tách biệt với O,
nghĩa là không thể tồn tại L →→ A trên LAO ⇒
Giả thuyết sai
Nếu bỏ A thì L tách biệt với O, do vậy có vẻ
như có A →→ L trên LAO
8 Khả năng của quan hệ phổ quát
trong việc biểu diễn các phụ thuộc
Trang 57 Kent đã sai khi:
Xem định nghĩa cấu trúc CSDL hình thức (FD, MVD) tương đương với phát biểu không hình
8 Khả năng của quan hệ phổ quát
trong việc biểu diễn các phụ thuộc
Trang 58 Kent không đúng khi cho rằng: “Quan hệ phổ quát là không thỏa mãn mô hình cho lý thuyết quan hệ và thực tiễn”
Tuy còn một số vấn đề về mặt lý thuyết và kỹ thuật cần tiếp tục nghiên cứu nhưng QHPQ
vẫn có tính hữu dụng đối với việc thiết kế và
truy vấn thông tin
9 Kết luận
Trang 59Cảm ơn cô và các bạn đã theo dõi