Phép địch chuyển lược đồ quan hệ 2MỜ ĐÀU Trong các mô hình dừ liệu cho cơ sở dữ liệu thì mô hình quan hệ được sử dụng rộng rãi hTn cả do tính trực quan, kiến trúc đơn giản và có cơ sở to
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
T R Ư Ờ N G ĐẠI H Ọ C C Ồ N G N G H Ệ
PHẠM THỊ MINH CHÂU • *
PHÉP CHUYỂN DỊCH LƯỢC ĐỒ QUAN HỆ
Chuyên ngành: Công nghệ thông tin
Trang 2Phép dịch chuyến lược dồ quan hệ 1
MỤC LỤC
MỞ ĐẦU 2
Chương 1 - CÁC KHÁI NIỆM CHUNG 4
ỉ ỉ Khái niệm về cơ sở dữ liệu quan h ệ 5
ỉ.2 Đại sổ quan hệ 7
ỉ 3 Phụ thuộc hàm 12
ỉ 4 Bao đóng của tập thuộc tỉnh 17
1.5 Phủ 20
Ị 6 Khóa của lược đồ quan hệ 28
ỉ 7 Chuẩn hỏa lược đồ quan hệ trên cơ sở phụ thuộc hàm 32
1.8 Một số bài toán 3 7 Chương 2 - PHÉP DỊCH CHUYÊN LƯỢC ĐỒ QUAN H Ệ 39
2 ỉ Phép chuyển dịch lược đồ quan hệ 40
2.2 Dạng biểu diễn thứ nhất của khóa 46
2.3 Các tập thuộc tính nguyên thủy và phỉ nguyên ihủy 49
2.4 Lược đồ cân bằng 55
2.5 Một sổ tính chất của lược đồ cân bằng 56
2.6 Dạng biểu diễn thứ hai của kh óa 62
K ẾT LUẬN 67
Những kết quả thu được 67
Hưởng phát triển tiếp theo 67
TÀI LIỆU THAM KHẢO 68
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 3Phép địch chuyển lược đồ quan hệ 2
MỜ ĐÀU
Trong các mô hình dừ liệu cho cơ sở dữ liệu thì mô hình quan hệ được sử dụng rộng rãi h(Tn cả do tính trực quan, kiến trúc đơn giản và có cơ sở toán học chặt chẽ Quản ỉý các cơ sở dữ liệu lớn và phức tạp đòi hỏi nhiều thuật toán hữu hiệu để tính toán các đối tượng như bao đóng, khóa, phủ Một sổ thuật toán tốt theo nghĩa
độ phức tạp tính toán giới hạn ở các hàm tuyển tính hoặc đa thức theo chiều đài dữ liệu vào thuật toán tính bao đóng của tập thuộc tính, thuật toán tìm một khóa, thuật toán xác định thành viên hay thuật toán xác định phụ thuộc hàm suy dẫn, thuật toán tìm giao các khóa, thuật toán xác định một lược đồ quan hệ có một khóa duy nhất Chúng ta có nhận xét là nếu kích thước của lược đồ quan hệ càng nhỏ thì các thuật toán càng phát huy hiệu quả hơn
dữ liệu được thực hiện thông qua phép dịch chuyển lược đồ quan hệ Bản chất của kỹ thuật này là loại bỏ khỏi lược đồ quan hệ ban đàu một số thuộc tính không quan trọng theo nghĩa chúng không làm ảnh hưởng đến kết quả tính toán các đối tượng đang quan tâm như bao đỏng, khóa, phản khóa Mặc dù lược đồ quan hệ thu được qua phép dịch chuyển không tương đương với lược đồ quan hệ ban đầu, nhưng ta có thể thu được các đối tượng cần tìm bằng những phép toán đưn giản như loại bỏ hoặc thêm một sổ thuộc tính Điều lý thú là sau khi loại bỏ một số thuộc tính thì một số phụ thuộc hàm sẽ được loại bỏ theo, vì chúng trở thành các phụ thuộc hàm tầm thường hoặc mang thông tin tiền định
• Ỷ nghĩa khoa học : Thiết kể cơ sở dữ liệu phục vụ các hệ thống thông tin ỉà lĩnh vực được quan tâm trong hầu hết các ứng dụng của công nghệ thông tin Nghiên cửu phép chuyển dịch các lược đồ quan hệ định hướng đến việc phát triển và hoàn thiện các phương pháp, công cụ trợ giúp thiết ké các cơ sở dữ liệu chuẩn hóa
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 4Phép dịch chuyền lược dồ quan hệ 3
• Phạm vỉ nghiên cứu: Luận văn nghiên cứu phần lý thuyết chung về mô hình cơ
sở đữ liệu quan hệ và cơ sở lý thuyết của phép chuyển dịch lược đồ quan hệ
Chương 1 Khái niệm chung - Trình bày các khái niệm cơ bản của cơ sở dữ liệu quan hệ, đại sổ quan hệ, Phụ thuộc hàm, bao đóng của tập thuộc tính, phủ, khóa của lược đồ quan hệ và chuẩn hóa lược đồ quan hệ trên cơ sở các phụ thuộc hàm
Chương 2 Phép chuyển dịch lưực đồ quan hệ - Trình bày phép dịch chuyển lược đồ quan hệ, các dạng biểu diễn của khóa, Tập thuộc tính nguyên thủy và phi nguyên thủy, lược đồ cân bằng
Kết luận - Những kết quả thu được,
- Hướng phát triển của luận văn
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 5Phép dịch chuyển lược dồ quan hệ _ 4
C h ư ơ n g 1 - C Á C KHÁI NIỆM CH U N G
Trong các mô hinh dữ liệu cho cơ sở dữ liệu thì mô hình quan hệ được sử dụng rộng rãi hơn cả do tính trực quan, kiến trúc đơn giản và có cơ sở toán học chặt chẽ Ngoài ra người ta cũng đã chứng minh sự tương đương và cung cấp những phép chuyển đổi giữa mô hình quan hệ với các mô hình mạng và phân cấp
Chương này trình bày một sổ khái niệm mở đầu về mô hình quan hệ Trọng tâm chương được tập trung vào các khái niệm hình thức của mô hình quan hệ, trong
đó vận dụng chủ yểu các cấu trúc rời rạc Phần đầu tiên của chương giới thiệu định nghĩa về quan hệ và đại số quan hệ như một ngôn ngữ truy nhập dữ liệu trong các
cơ sở dữ liệu quan hệ Phần thứ hai mô tả phụ thuộc hàm như một công cụ toán học trợ giúp cho việc biểu đạt ngữ nghĩa dữ liệu và đảm bảo tính nhất quán của dữ liệu trong cơ sở dữ liệu Các tính chất của phụ thuộc hàm và các hệ tiên đề cho phụ thuộc hàm được mô tả đầy đủ, trong đó hệ tiên đề Armstrong được sử dụng nhiều hơn cả Một trong những khái niệm quan trọng của phụ thuộc hàm ià bao đóng của tập thuộc tính và các tính chất cơ bản của phép toán lấy bao đóng được trình bày trong phần thứ ba của chương Phần thứ tư giới thiệu các loại phủ quan trọng nhất, đóng vai trò thu gọn các tập phụ thuộc hàm, tạo thuận tiện cho tối ưu hóa các thao tác ngữ nghĩa Hai khái niệm chủ chốt liên quan đến phụ thuộc hàm là khóa và các dạng chuẩn của lược đồ quan hệ được trình bày trong hai phần cuối, phần thứ năm
và thứ sáu của chương Phụ thuộc hàm ỉà lớp phụ thuộc đầu tiên đồng thời cũng là lớp phụ thuộc kinh điển theo nghĩa, được Codd, tác giả của mô hình dữ liệu quan hệ
đề xuất sớm nhất và được sử dụng như một công cụ thiết kế các cơ sở dữ liệu chuẩn hóa, do đó chương này sẽ cổ gắng trình bày những nội dung quan trọng và tinh túy nhất liên quan đén khái niệm phụ thuộc hàm
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 6Phép dịch chuyển lược đồ quan hệ 5
1.1 Khái niệm về c ơ s ở d ữ liệu quan hệ
Các khái niệm cơ bản về cơ sở dữ liệu quan hệ được trình bày lần đàu tiên trong các công trình của Codd [13, 14] Trong [ỉ, 16] và đặc biệt là trong [20] trình bày đầy đù về các khái niệm liên quan đến các cơ sở dữ liệu và tri thức Riêng về cơ
sở dữ liệu quan hệ, các công trình [2, 5, 8] giới thiệu khá đầy đủ những khái niệm
và các bài toán cơ bản liên quan đến các khí a cạnh lý thuyết và thực hành
Q u a n hệ, t h u ộ c t í nh, bộ
Đ ịn h n g h ía
Cho tập hữu hạn ư = {A/, A2 , , A„} khác rỗng (n > 1) Các phần tử của ơ được gọi là thuộc tính, ứng với mỗi thuộc tính AịEƯ, ỉ — 1,2, ,« có một tập chứa ít nhất hai phần tử dom(Aj) được gọi là miền trị của thuộc tính A ị
Gọi D là hợp của các dom(Ai), ỉ = 1,2, ,« Một quan hệ R với các thu ộc tính
ơ, ký hiệu là R(ư), là một tập các ánh xạ t: ơ —>£> sao cho với mỗi A,e u ta có
t{A,) € dom(Aj). Mỗi ánh xạ được gọi là một bộ của quan hệ R.
Mỗi quan hệ R(ư) có hình ảnh là một bảng, mỗi cột ứng với một thuộc tính, mỗi dòng là một bộ
Ta ký hiệu t{ư) là một bộ trên tập thuộc tính ư.
Vì mỗi quan hệ là một tập các bộ nên trong quan hệ không có hai bộ trùng lặp.
Trang 7Phép dịch chuyền luợc đồ quan hệ 6
Tập thuộc tính được ký hiệu bàng các chữ LATIN HOA cuối bảng chữ X,
y, z,
Các phần tử trong một tập thường được liệt kê như một xâu ký tự, không
có các ký hiệu biểu diễn tập, chẳng hạn ta viết X = ABC thay vì viết
x = {A, B, C}. AT biểu diễn hợp của hai tập X và Y, X'U Y. Phép trừ hai tập X
và Y được ký hiệu là X\Y, hoặc X-Y.
Một phân hoạch của tập M (thành các tập con rời nhau và có hợp là M),
Với mỗi bộ í trong quan hệ R(Ư) và mỗi tập con các thuộc tính Xçz u ta
ký hiệu t[X\ hoặc t.x là hạn chế của bộ (ánh xạ) / trên tập thuộc tính X.
Ta chấp nhận quy ước tự nhiên là miền trị của mọi thuộc tính chứa ít
nhất hai phần tử T ro n g trường hợp m ột m iền trị củ a th u ộc tính ch ỉ chứa m ột
giá trị duy nhất thì ta có thể loại bỏ cột tương ứng của thuộc tính đó trong quan hệ
Ta chấp nhận quy ước sau đây: Mọi cặp bộ / và V trong mọi quan hệ giống nhau trên miền rỗng các thuộc tính, Í.0 = V 0.
• Hàm Attr{R) cho tập thuộc tính của quan hệ R.
• Hàm Card{R) cho lực lượng (số bộ) của quan hệ R.
Trong trường hợp tập thuộc tính u đã cho trước ta có thể viết đơn giản R
thay cho R(ư).
Ký hiệu REL(Ư) là lập toàn thể các quan hệ trên lập thuộc tính u, REL_p(ư)
là tập toàn thể các quan hệ có không qúa p bộ trên tập thuộc tính u, p > 1
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 8Phép dịch chuyển lược dồ quan hệ 7
Hai quan hệ R và s được gọi là tương thích nếu chúng có cùng một tập thuộc tính, tức ià nếu Attr(R) = Attr(S).
Với mỗi bộ t trong quan hệ R(Ư) và mỗi bộ V trong quan hệ S(V) ta ký hiệu t*v là phép dán hai bộ t và V t*v cho ta bộ r trên tập thuộc tính ư v thoả điều kiện: r ư = / và r V - V
Với mỗi bộ ỉ trong quan hệ R(ư) và với mỗi quan hệ ta ký hiệu t*s
là phép dán bộ t với quan hệ s t*s cho ta quan hệ P(UV) = { t*v I v eS }
sở ỉà chọn, chiếu, kết nổi tự nhiên, chia, hợp, giao và trừ. Mục này sử dụng các ký pháp theo phương án cài đặt cho hệ quản trị cơ sờ dữ liệu PRIMER [4]
Luận vãn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 9pụ j) = R(e) = { t e R I Sat(t, e) }trong đó hàm logic Sat{t, e) kiểm tra bộ t thoả điều kiện e được xác định như sau:
Thay mọi xuất hiện của mỗi thuộc tính A trong biểu thức chọn e bằng tri tương ứng của A trong bộ t, t.A, ta thu được một mệnh đề logic b.
Tính trị của b. Nếu ỉà đúng (True) thì bộ t thoả điều kiện <?; ngược lại, nếu trị của b ỉà sai (False) thì bộ t không thoả điều kiện e.
Trong các biểu thức chọn ta sử dụng ký hiệu cho các phép toán logic như sau:
Hội: A , Tuyển: V , Phủ định: Kéo theo:
(i) Xoá các cột không thuộc Xcủa bảng R,
(ii) Lược bớt các đòng giống nhau trong bảng kết quả: chỉ giữ lại một đòng trong số các dòng giống nhau
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 10Phép dịch chuyển lược dồ quan hệ 9
Phép kết nói tự nhiên
Đ ị n h n g h ĩ a
Cho hai quan hệ R(ư) và ^(F) Đặt M = UnV. Phép kết nối {tự nhiên) hai quan hệ R(ư) và ký hiệu R*s, cho ta quan hệ chứa các bộ được dán từ
cá c bộ u của quan hệ R với m ỗi b ộ V củ a quan h ệ s (sao ch o c á c trị ứ ê n m iền
thuộc tính chung M của hai bộ này giống nhau)
P(ƯV) = R * s = { u*v I ueR, veS, U.M- V.M}Nếu M - Un V = 0 , R * s sẽ cho ta tích Descartes, trong đó mỗi bộ của quan hệ R sẽ được ghép với mọi bộ của quan hệ s
Phép cộng (hợp)
Đ ị n h n g h ĩ a
Phép hợp (theo lý thuyết tập hợp hoặc nổi dọc) hai quan hệ tương thích
R{ư) và S{ư), ký hiệu R s j S, hoặc R+S, cho ta quan hệ chứa các bộ của mỗi quan hệ thành phần,
P(U) = R \ S = { t ị t e R , t e S }
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 11Phép địch chuyển lược dồ quan hệ _ 10
Phép giao
Đị n h n g h ĩ a
Phép giao (theo lý thuyết tập hợp hoặc lẩy phần chung) hai quan hệ
tưcyng thích R(U) và S(ư), ký hiệu RnS, hoặc R& scho ta quan hệ chứa các bộ xuất hiện đồng thời trong cả hai quan hệ thành phần,
Cho hai quan hệ R(ư) và thỏa V c u. Đặt M = íAV Phép chia
quan hệ R cho quan hệ s, ký hiệu R:S, cho ta quan hệ
P(M) = R : S = { t M I / e R, t.M*S £ R }
Thứ tự thực hiện các phép toán quan hệ
Trong một biểu thức quan hệ các phép toán một ngôi có độ ưu tiên cao
hơn (do đó được thực hiện sớm hơn) các phép toán hai ngôi Tiếp đến là nhóm các phép toán kết nổi, giao và chia, cuối cùng là nhóm các phép toán cộng và trừ Thứ tự ưu tiên từ cao đến thấp của các phép toán quan hệ được liệt kê như sau: 0 , []
u ,\
Dãy các phép toán cùng thứ tự ưu tiên được thực hiện lần lượt từ trái qua phải Nếu biểu thức quan hệ có chứa các cặp ngoặc (*) thì các biểu thức con trong các cặp ngoặc được thực hiện trước
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 12Phép dịch chuyển lược dồ quan hệ _ n
Một s ố hàm t i ện í ch
Sim(R, A): cho tong các giá trị sổ trong thuộc tỉnh (cột) A cùa quan hệ R.
Avg(R, A): cho trung bình cộng các giá trị trong thuộc tính (cột) A của quan
hệ R.
Max(R, A): cho giả trị lớn nhất trong thuộc tính (cột) A của quan hệ R.
Min(R, A): cho giá trị nhỏ nhất trong thuộc tính (cột) A của quan hệ R.
Nếu trong biểu thức quan hệ có chứa các hàm tiện ích thì các hàm này được thực hiện sớm nhất trong ngữ cảnh cho phép
cơ sở dữ liệu quan hệ truyền thống
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 13Phép dịch chuyển lược đồ quan hệ _12
Y X là vê trải và Y là vế phải của phụ thuộc hàm / T a cũng dùng hai toán tử
LS(J) và RSỰ) để xác định vế trái và vế phải của phụ thuộc hàm f , cụ thể là nếu
ỹ X ^ Yth ìLSự) = X; RSự) = Y.
Cho quan hệ R(ư) và một phụ thuộc hàm f: X—>ỵ trên ư. Ta nói quan
hệ R thoả phụ thuộc hàm / và viết /?(/), nếu hai bộ tuỳ ý trong R giống nhau trên X thì chúng cũng giống nhau trên Y,
R(X-+Y) (Vk,v 6 R): ( « jr = v J0 => (u.Y= V.Y)
Ta dùng ký hiệu X ■+* Y với ý nghĩa tập thuộc tính Y không phụ thuộc hàm vào tập thuộc tính ^ [1 3 ,1 4 ]
Cho tập phụ thuộc hàm F trên tập thuộc tính ư. Ta nói quan hệ R(ư) thoả tập phụ thuộc hàm F, và viết R(F), nếu R thoả mọi phụ thuộc hàm trong F,
và các phụ thuộc hàm //: A-*A, fj A-+B, fị AC->C, f 4: A-^D, f s: D—>A, f6: A—>C.
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 14Phcp dịch chuyển lược dồ quan hệ 13
Khi đó các phụ thuộc hàm ft -fs đúng trong R, mặt khác, R không thỏa phụ thuộc hàm f 6.
Cho trước tập phụ thuộc hàm F trên tập thuộc tính ư, ký hiệu SA T(F) là tập toàn thể các quan hệ trên ư thoả tập phụ thuộc hàm F, SATJ?(Ư), p > 1 là tập toàn thể các quan hệ cỏ không quá p bộ trên ơ và thoả tập phụ thuộc hàm F , cụ thể là
SAT{F) = { R I ReREL(ư), R(F) }
Cho tập S.R các quan hệ trên ơ, ký hiệu FDỌ.R) là tập các phụ thụộc hàm trên
u đủng trong mọi quan hệ của 9Î
VI,r,Zcơ:
F 1 Tính phản xạ: Nếu X ịd Y thì X-+ Y e F +
F3 Tính bắc cầu: Nếu X->y € F + và Y-+Z e F + thì X-+Z e F +
C hú ỷ
Các phụ thuộc hàm có vế trái chứa vế phải như mô tả trong F 1 được gọi là tầm
hệ trên tập thuộc tính Ư có không quá một bộ thỏa mọi phụ thuộc hàm trên u.
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 15Phép dịch chuyền lược dồ quan hệ _ M
Suy dẫn theo tiên đề (suy dẫn logic)
Đị nh n g h ĩ a
T a nói phụ thuộc hàm / được suy dẫn theo tiên đề (hoặc suy dẫn logic) từ
tập phụ thuộc hàm F và ký hiệu là F Yf, nếu/ e F 4
F h / o / e fNói cách khác phụ thuộc hàm / được suy đẫn theo tiên đề từ tập phụ thuộc hàm F nếu xuất phát từ F, áp dụng các luật F I, F2 và F3 của hệ tiên đề Armstrong A° sau hữu hạn lần ta sẽ thu được phụ thuộc hàm/
Suy dẫn theo quan hệ
Đị n h n g h ĩ a
Cho tập phụ thuộc hàm F trên tập thuộc tính ư và / là một phụ thuộc hàm trên ư. Ta nói phụ thuộc hàm / được suy dẫn theo quan hệ từ tập phụ thuộc hàm F và viết F Y f, nếu mọi quan hệ R(Ư) thoả F thì R cũng thoả/
F 1 - / 0 SA T(F) ÇZ SA Tự)
Cho tập thuộc tính ư và tập phụ thuộc hàm F trên ơ, ta định nghĩa F* là tập các phụ thuộc hàm / trên u được sưy dẫn theo quan hệ từ tập phụ thuộc hàm F
Trang 16Phép dịch chuyển lược đồ quan hệ _ 15
Suy dẫn theo quan hệ có không quá p bộ
Đị nh n g h ĩ a
Cho tập phụ thuộc hàm F trên tập thuộc tính u và / là một phụ thuộc hàm trên ơ Ta nói phụ thuộc hàm / được suy dẫn theo quan hệ có không quá
p bộ từ tập phụ thuộc hàm F và viết F Yp f , nếu mọi quan hệ R trong
REL_p{U) thoả F thì R cũng thoả/[2 5 ]
(i) Suy dẫn logic: F ^ f ,
(ii) Suy dẫn theo quan hệ: F \-f , và
(iii) Suy dẫn theo quan hệ có không quá hai bộ: F \-2 /
Một s ố t í nh c h ấ t c ủ a p h ụ t h u ộ c hàm
Cho tập thuộc tính Ư và các tập phụ thuộc hàm F, G trên ư, tập các quan
hệ 9? trên ơ, các quan hệ R và s trên ư. Khi đó:
1 Nểu F œ G thì SAT(F) 3 SAT(G)
3 FD(R kj S) s FD(R) n FD(S)
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 17Phép dịch chuyển luợc dồ quan hệ _ 16
Ta chọn u = AB\ quan hệ R(ư) chứa một bộ duy nhất u = (a,x); quan hệ S(ơ)
Mộ t s ố t í nh c h ấ t m ở r ộ n g c ủ a p h ụ t h u ộ c hà m
Sử dụng ba tiên đề Armstrong ta dễ dàng chứng minh các tính chất F4 -F 11 sau đây [20] Một sổ tính chất được chia nhỏ nhằm mục đích mô tả các hệ tiên đề khác cho phụ thuộc hàm trong các mục tiếp theo
V X, K Z, V q ư , \/A e ơ:
F4 Tính tựa bắc cầu: X->Y, YZ-+V=> XZ-+V
F5 Tính phản xạ chặt: X—> X
F6 Mở rộng vế trái và thu hẹp vế phải: X->Y => XZ-*Y\V
F7 Cộng tính đầy đủ: X-*Y, Z^>V=>XZ^>YV
F8 Mở rộng vé trái: X—>Y => XZ->Y
F9 Cộng tính ở vế phải: X->Y, X-+Z => X-+YZ
F10 Bộ phận ở vế phải: X—>YZ => X-+Y
F 11 Tính tích luỹ: X-+YZ, Z-*A V => X-+YZA
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 18Phép dịch chuyển lược đồ quan hệ 17
L ư ợ c đ ồ q u a n hệ
Đị nh n g h ĩ a
Lược đồ quan hệ là một cặp a = (UJF), trong đó u là tập hữu hạn các thuộc tính, F là tập các ràng buộc trên các miền trị (dữ liệu) của các thuộc tính trong ơ [18, 20, 15]
Trong chương này chúng ta chi xét một loại ràng buộc là phụ thuộc hàm
và một sổ biến thể của phụ thuộc hàm
Theo quy ước trên, trong chương này, chúng ta hiểu lược đồ quan hệ là một cặp a = (UJF), trong đó u là tập hữu hạn các thuộc tính, F là tập các phụ thuộc hàm trên ơ
Cho tập phụ thuộc hàm F trên tập thuộc tính ơ và một tập con các thuộc
tính X trong ơ Bao đóng của tập thuộc tỉnh X, ký hiệu X' là tập thuộc tính
x * = {A eơ | A"-> A e F h}
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 19Phép dịch chuyền lược đồ quan hệ _ 18
T h u ậ t t o á n tì m b a o đ ó n g c ủ a m ộ t t ập t h u ộ c t í nh
Cho tập phụ thuộc hàm F trên tập thuộc tính u và một tập con các thuộc tính X trong u. Đe xác định bao đóng X' của tập thuộc tính X ta xây dựng đãy bao nhau ÇZ s £ như sau
Trang 20Phcp dịch chuyển lược đồ quan hộ _ 19
Thuật toán trên có độ phức tạp 0(mn2 ) Trong [12,20] trình bày thuật toán tính bao đóng của tập thuộc tính với độ phức tạp tuyến tính theo chiều dài dữ liệu vào, 0{mn), trong đó n là số lượng thuộc tính trong ư, m là số lượng phụ thuộc hàm trong tập F.
Quy ước giản lược
Ta thường viết X->Y thay vì viết X-^YeF^ hoặc F Ị= X—
X -^Y e F + khi và chì khi Y ç X ' [10, 11]
Thuật toán cho bài toán thành viên
Trang 21Phép dịch chuyển lược đồ quan hệ _ 20
Nếu F = G ta nói G là một phủ của F.
Ký hiệu F í G có nghĩa F và G không tương đương.
Cho tập phụ thuộc hàm F trên tập thuộc tính u và X là tập con của ơ, ta
lấy theo tập phụ thuộc hàm F.
Luận văn Thạc sỹ ngành Công nghẹ thông tin - Phạm Thị Minh Châu
Trang 22Phép dịch chuyển lược đồ quan hệ 21
Ph ủ t h u g ọ n t ự n h i ê n
Đ ị n h n g h ĩ a
Cho hai tập phụ thuộc hàm F và G trên cùng một tập thuộc tính u G là
1 G là một phủ của F, và
2 G có dạng thu gọn tự nhiên theo nghĩa sau:
2a. Hai vế trái và phải của mọi phụ thuộc hàm trong G rời nhau (không giao lĩhau.)
Trang 23Phép dịch chuyển lược đồ quan hệ _ 22
0{mn) chính là độ phức tạp tuyến tính theo chiều dài dữ liệu vào
M ệ n h đ ề
Nếu F và G là hai tập phụ thuộc hàm trên cùng một tập thuộc tỉnh u thì
F = G khi và chi khi y X Ç ư: X / = XG+
Ph ù k h ô n g d ư
Đị n h n g h ĩ a
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính u G được gọi là
1 ) ơ là một phủ của F, và2) G có dạng không dư: VgeG: G \{g} 5É G
Thuật toàn tìm phủ không dư của tập phụ thuộc hàm
Trang 24Phép dịch chuyển lược đồ quan hệ 23
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính ư G được gọi là
phủ thu gọn trái của F nếu
Trang 25Phcp dịch chuyển ỉược đồ quan hệ 24
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính u G được gọi là
1) G là một phủ của F, và
Thuật toán tìm phủ tíìu gọn phải của tập phụ thuộc hàm
Để ý ràng, VAeR: R\A s R, nên Vg: L^>R<=G,VAeR: G 1= L-*R\A
do đó ta chì cần kiểm tra G\{Z,-»/?}u{L— f-L-+A.
Trang 26Phép dịch chuyển lược đồ quan hệ 25
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính u G được gọi là
phủ thu gọn của F nếu G đồng thời là phủ thu gọn trái và thu gọn phải của F.
Thuật toán tìm phủ thu gọn của tập phụ thuộc hàm
Trang 27Phép dịch chuyển lược dồ quan hệ 26
P h ủ tối t hi ể u
Đị nh n g h ĩ a
(Ưllman J.)
Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính u G được gọi là
phủ tối thiểu của F nếu
1) G là một phủ thu gọn của F,
2) v ế phải của mọi phụ thuộc hàm trong G chỉ chứa một thuộc tính
Thuật toán tìm phủ tối thiểu của tập phụ thuộc hàm
Trang 28Phép địch chuyến lược đồ quan hệ _27
P h ụ t h u ộ c đ ầ y đủ
Đị n h n g h ĩ a
Tập thuộc tính Y ÇZ u được gọi ỉà phụ thuộc đầy đủ vào tập thuộc tính
X q ư , và được ký hiệu là X >-* Y nếu
1) x->ỵ, và2) (VA e X)\ X\A ■*+ Y
P hụ t h u ộ c b ắ c c ầ u
Đ ị n h n g h ĩ a
Tập thuộc tính Y ÇZ u được gọi là phụ thuộc bắc cầu vào tập thuộc tính
X Ç ơ, và được ký hiệu là X ~ Y nếu
(3Z ÇZ U): Y\z * 0 , X-+Z, z + x , Z-+Y
Nếu X->Y và Y không phụ thuộc bắc cầu vào X thì ta nói Y phụ thuộc trực tiếp vào X và ký hiệu là X *— Y.
P h ụ t h u ộ c m ạ n h , y ế u và đ ố i n g ẫ u
Đị nh n g h ĩ a
Cho tập thuộc tính u và hai tập con các thuộc tính X,Y ç u.
trong R giống nhau tại một thuộc tính A nào đó trong X thì hai bộ đó giống nhau trên Y.
V«,v G R: (3 A € X: U.A = vA => U.Y- V.Y)
trong R giống nhau trên X thì hai bộ đó giống nhau tại một thuộc tính B nào đó của Y.
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 29Phép dịch chuyển lược dồ quan hệ _ 28
Vw,v e R : ( u J C = v J ( ) ^ ( 3 B e Y: U.B = V.B)
Quan hệ R(ư) thỏa phụ thuộc đổi ngẫu X (c/)—> Y nếu với hai bộ tùy ý u
nhau tại một thuộc tính B nào đó của Y.
Vu,v E R: (3 A e X: U.A = vA) = > ( 3 B e Y: U.B = V.B)
Cho lược đồ quan hệ a = (ơ, F). Tập thuộc tính K çz u được gọi là khoá
của lược đồ quan hệ a nếu
Nếu K thoả điều kiện (i) (hoặc (i')) thì K được gọi ỉà một siêu khoá.
Thuộc tính A e u được gọi là thuộc tính khoá (nguyên thuỳ hoặc cơ sở)
nếu A có trong một khoá nào đấv A được gọi là thuộc tính không khoá {phỉ nguyên thuỳ hoặc thứ cấp) nếu A không có trong bất kỳ khoá nào
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 30Phép dịch chuyển lược đồ quan hệ 29
Cho lược đồ quan hệ a = (ơ, F). Ta ký hiệu ưfc là tập các thuộc tính khóa
của a và U() là tập các thuộc tính không khóa cùa a. Dễ thay ƯỊC \ư0 là một
phân hoạch của u.
C h ủ ỷ
Trong một số tàì liệu thuật ngừ khoá được dùng theo nghĩa siêu khoá và thuật
Trang 31Phép dịch chuyển lược đồ quan hệ 30
Mộ t s ố t í n h c h ấ t c ủ a k hóa
Các tính chắt đon giản
Cho lược đồ quan hệ (Ư,F) Khi đó
ỉ K çz u là một khoá khi và chỉ khi uphụ thuộc đầy đủ vùo K.
3 Mọi lược đồ quan hệ đều có ít nhất một khoá.
Đ ị n h lỷ
( Đặc trưng của các thuộc tính khóa [5 J)
Cho K là một khóa của lược đồ quan hệ a = (Ư,F) Khỉ đỏ với mọi tập
C h ứ n g mi nh
Vì X ÇZ ỉC v ầ X çz K nên X Ç X' r\K.Ta cần chứng minh ỉCC\Kç X. Giả sử
A GX* r\K và A £X. Ta xét tập M = K\A. Dễ thấy XçzM. Ta có, theo tính chất đồngbiến của bao đóng, ẢeX* ÇZ M*. Từ đây suy ra K e h t , do đó, theo tính chất lũy đẳng của bao đóng và tính chất khóa của K ta có, u = ỉC £ A/" = Mt, tức là M là bộ
phận thực sự của khóa K lại đồng thời là siêu khóa, tó i với định nghĩa khóa Vậy A G X.
Đ ị n h lý
(Công thức tính giao các khóa [16, 17])
Cho lược đồ quan hệ a = (Ư,F) với n thuộc tính trong ư vàm phụ thuộc
khóa bằng một thuật toán tuyến tính theo mn qua công thức
u, = u \ u (/? \ L)
L-*R*F
C h ứ n g mi nh
Trước hết để ý rằng các phụ thuộc hàm và là tương đương, do
đó ta có thể giả thiết ràng mọi phụ thuộc hàm trong F đều có dạng L—>R, Lr\R = 0 ,
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 32Phép dịch chuyển lược dồ quan hệ _ 31
tức là giả thiết ràng tập phụ thuộc hàm F được cho dưới dạng thu gọn tự nhiên Do giả thiết này ta có R\L - R. Dễ nhận thấy, theo công thức tính ơ/ trong định lý, ơ/ là tập các thuộc tính không có mặt trong vế phải của mọi phụ thuộc hàm trong F, do
đó chúng phải cỏ mặt trong mọi khóa Giả sử A là một thuộc tính có trong vế phải cùa phụ thuộc hàm L-+AR' nào đó của F. Ta chứng minh A sẽ không xuất hiện trong một khóa K nào đấy của a.
Thật vậy, xét tập X = ỈM. Dễ thẩy X ^>L\ ầX* = XAR' = ư và do đó X ỉà siêu khóa Từ siêu khóa X không chứa A ta lấy ra được một khóa K không chứa A.
Thuật toán xác định giao các khóa trong lược đồ quan hệ
Theo thuật toán trên, để tính giao các khóa ta cần thực hiện m lần lặp ứng với
số lượng phụ thuộc hàm trong tập F. Trong mỗi lần lặp, phép toán trên tập hợp n
phần tử có độ phức tạp o(n) do đỏ độ phức tạp của thuật toán tính giao các khóa, Keyĩntersec là o(mn). Tích nm chính là chiều dài của biểu diễn lược đồ quan hệ
a = (Ư,F) tức là chiều dài của dữ liệu vào trong thuật toán
Đ ị n h lý
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 33Phép dịch chuyển lược đồ quan hệ _ 32
(Định lý về khóa duy nhất, Hồ Thuần, Lẽ Văn Bào)
Cho lược đồ quan hệ a = (U,F) Gọi ơ/ là giao của các khóa trong a
C h ứ n g m in h
Nếu Uị " - ư thì u! là siêu khóa Vì ơ/ là giao của các khóa đồng thời lại là siêu khóa nên a không thể còn khóa nào khác ngoài Ư Ị Ngược lại, nếu a chỉ có một khóa duy nhất K thì giao của các khóa đương nhiên là ơ/ = K, và do đó, theo tính chất cùa khóa ơ/ * = u ■
T h í dụ
Cho lược đồ quan hệ a = (U, F), u = ABCDE, F = {AB-*C, AD^>B, B—>D}
Ta có, giao của các khóa là ư/ = ABCDEXBCD - AE. ơ / = (AE)+ = AE * u
nên a có hơn một khóa Vì ơ/ là giao các khóa nên ta có thể bổ sung cho ơ/ một số thuộc tính để thu được các khỏa Dễ xác định được a có hai khóa là K ị = ABE và K2
= A DE. Ta còn có, tập các thuộc tính khóa là UK= ABDE, tập các thuộc tính không
Phép tách p = (X/, x 2, ,xk) lược đồ a được gọi là không tổn thất (hoặc
V R(ư) e SAT(F): R[X,) * R[X2] * * R[Xk] = R
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 34Phép dịch chuyển lược đồ quan hệ 33
Ngược lại, nếu không tồn tại đẳng thức thì ta gọi p là phép tách tổn thất
Ị Khởi trị: Lập bảng T với các cột là các thuộc tính trong u và k dòng, dòng thứ i ứng
tính Aj trong Ư\Xị Chủ ỷ rằng mọi KHPB trong cột j cùa T là giong nhau và bằng dj còn mọi KtìKPB trong toàn bảng T được khởi trị khác nhau.
2 S ử a b ả n g : L ặp đến khi bảng T không còn thay đoi
Vận dụng c á c F-luột đ ể biến đ ỏi bàng như sau:
Với m ỗi phụ thuộc hàm L —> R trong F, nếu trong bàng T có chứ a hai dòng u và V
g iốn g nhau trên L thì sử a cúc kỷ hiệu của chúng cho giỏn g nhau trên m ọi cột A trong R theo các quy lác sau:
2b Nếu chi một trong hai ký hiệu U.A hoặc V.A là KHPB p thì sửa mọi xuất hiện trong bảng của KHKPỈỈ cùa U.A hoặc V.A thành KHPB p,
2c Neu cả hai ký hiệu U.A và V.A đều là KHKPB thì sửa mọi xuất hiện trong bảng của ký hiệu có chi so thứ nhất lớn hơn thành kỷ hiệu thứ hai.
3 Kết luận : N ếu trong bùng ch ứ a một dòng toàn KH PB thì return True; n g ư ợ c lại thì
return False.
e n d L T e s t
Luận văn Thạc sỹ ngành Công nghệ thông tin - Phạm Thị Minh Châu
Trang 35Phép dịch chuyển lược đồ quan hệ 34