1. Trang chủ
  2. » Luận Văn - Báo Cáo

Các dạng biểu diễn khóa trong lược đồ quan hệ

71 124 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 0,96 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT CSDL Cơ sở dữ liệu LĐQH Lược đồ quan hệ PTH Phụ thuộc hàm ≠ Khác  Với mọi LSF Tập các vế trái của phụ thuộc hàm F RSF Tập các vế phải của phụ thuộ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

VÀ TRUYỀN THÔNG

NGUYỄN THỊ DUNG

KEY REPRESENTATIONS IN RELATIONAL SCHEMATA

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TSKH NGUYỄN XUÂN HUY

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, em xin bày tỏ lòng cảm ơn và kính trọng sâu sắc đối với Thầy PGS.TSKH Nguyễn Xuân Huy, người đã tận tình hướng dẫn em trong suốt quá trình làm luận văn này Thầy giúp em hiểu và tiếp cận những vấn đề khoa học rất lý thú, hướng em vào nghiên cứu các lĩnh vực rất thiết thực và bổ ích Em

đã học hỏi được rất nhiều ở Thầy cũng như phong cách làm việc, phương pháp tiếp cận tri thức Em luôn được Thầy chỉ bảo tận tình trong suốt quá trình làm luận văn

Em cũng xin thể hiện sự kính trọng và biết ơn đến Quý Thầy Cô trong ĐHCNTT-TT, trang bị cho chúng em đầy đủ về cơ sở vật chất cũng như tài liệu chuyên ngành

Cuối cùng em xin cảm ơn các bạn học viên trong lớp Cao học K9A, những người luôn bên cạnh và cung cấp những thông tin quý báu trong suốt quá trình học tập, nghiên cứu để hoàn thành luận văn này

Thái Nguyên, tháng 06 năm 2012

Học viên

Nguyễn Thị Dung

Trang 5

LỜI CAM ĐOAN

Tôi xin cam đoan, luận văn là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ

Trang 6

MỤC LỤC

Trang

Lời cảm ơn i

Lời cam đoan ii

Mục lục iii

Danh mục các kí hiệu, chữ cái viết tắt v

Danh mục hình vẽ vi

MỞ ĐẦU 1

Chương I: CÁC KIẾN THỨC CƠ BẢN VỀ CƠ SỞ DỮ LIỆU 5 1.1 Khái quát về cơ sở dữ liệu quan hệ 5

1.2 Lược đồ quan hệ 7

1.3 Phụ thuộc hàm 7

1.3.1 Định nghĩa phụ thuộc hàm 7

1.3.2 Hệ tiên đề Armstrong 8

1.3.3 Bao đóng của tập phụ thuộc hàm 8

1.4 Bao đóng của tập thuộc tính 8

1.5 Khóa của lược đồ quan hệ 11

1.5.1 Cách tính giao các khóa 14

1.5.2 Thuật toán tìm 2 khóa của LĐQH 15

1.5.3 Các ví dụ 16

Chương II: THU GỌN LƯỢC ĐỒ QUAN HỆ 21

Trang 7

2.1 Định nghĩa kỹ thuật thu gọn LĐQH 22

2.2 Thuật toán thu gọn LĐQH 23

2.3 Các ví dụ 23

2.4 Bổ đề về siêu khóa trong phép thu gọn LĐQH 25

2.5 Hệ quả về siêu khóa trong phép thu gọn LĐQH 26

2.6 Bổ đề về khóa trong phép thu gọn LĐQH 27

Chương III: CÁC DẠNG BIỂU DIỄN KHOÁ TRONG 29

LƯỢC ĐỒ QUAN HỆ

3.1 Dạng biểu diễn thứ nhất của khoá 29

3.1.1 Các ví dụ 30

3.1.2 Hệ quả về phép thu gọn LĐQH 35

3.2 Dạng biểu diễn thứ hai của khoá 35

3.2.1 Các ví dụ 36

3.2.2 Định nghĩa tập các vế trái cực tiểu 42

3.2.3 Bổ đề vế trái cực tiểu 42

3.2.4 Bổ đề các khóa sinh ra từ khóa của lược đồ 45

3.2.5 Bổ đề 48

3.3 Giới thiệu 50

3.4 Một số giao diện của chương trình 52

3.5 Các ví dụ 56

TÀI LIỆU THAM KHẢO 60

1 Kết luận 59

2 Kiến nghị 59

Trang 8

DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT

CSDL Cơ sở dữ liệu LĐQH Lược đồ quan hệ PTH Phụ thuộc hàm

≠ Khác

 Với mọi LS(F) Tập các vế trái của phụ thuộc hàm F RS(F) Tập các vế phải của phụ thuộc hàm F

Trang 9

DANH MỤC HÌNH VẼ

Hình 3.4.1 Giao diện chính 52

Hình 3.4.2 Giao diện nhập các thuộc tính 53

Hình 3.4.3 Giao diện nhập các PTH 53

Hình 3.4.4 Giao diện dạng thứ nhất biểu diễn khóa 54

Hình 3.4.5 Giao diện dạng thứ hai biểu diễn khóa 55

Trang 11

MỞ ĐẦU

Cơ sở khoa học của luận văn

Cơ sở dữ liệu(CSDL) là một trong những lĩnh vực được tập trung nghiên cứu và phát triển của công nghệ thông tin Cùng với sự phát triển của công nghệ thông tin, việc sử dụng các kiến thức về cơ sở dữ liệu ngày càng trở lên cần thiết Trong quản lý các cơ sở dữ liệu (CSDL), phụ thuộc dữ liệu được hiểu là những mệnh đề mô tả các ràng buộc mà dữ liệu phải đáp ứng trong thực tế Nhờ có những mô tả phụ thuộc này mà hệ quản trị cơ sở dữ liệu có thể quản lý tốt được chất lượng dữ liệu Lý thuyết về các phụ thuộc dữ liệu đóng vai trò quan trọng trong việc mô tả thế giới thực, phản ánh ngữ nghĩa dữ liệu trong cơ sở dữ liệu Phụ thuộc dữ liệu được Codd, tác giả của mô hình dữ liệu quan hệ đặt nền móng

từ những năm 70 với khái niệm phụ thuộc hàm Sau đó một loạt tác giả khác tiếp tục phát triển các dạng phụ thuộc bậc cao, phụ thuộc mờ cũng như xây dựng các

hệ tiên đề cho các lớp phụ thuộc - tức là đặt cơ sở lý thuyết về phụ thuộc dữ liệu Trong thực tế phụ thuộc dữ liệu nào cũng giới hạn ở việc so sánh hai bộ theo đẳng thức, nghĩa là chỉ so sánh từng cặp trị tương ứng của hai bộ đó xem chúng giống hay khác nhau Ở đây từ kỹ thuật thu gọn các lược đồ quan hệ (LĐQH) được gọi là 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ĐQH 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 được quan tâm như bao đóng, khóa, phản khóa Chẳng hạn như nếu dịch chuyển LĐQH a=(U,F) thu được LĐQH b=a/X(XU) thì ta có khoá của LĐQH a sẽ được biểu diễn như thế nào hay nếu ta có K=LM với L là vế trái cực tiểu của F thì M phải được tính như nào? Vậy là các phép dịch chuyển LĐQH được phát triển cho lớp các phụ thuộc logic đầu tiên là phụ thuộc hàm cho ta một số kết quả lý thú về

Trang 12

biểu diễn bao đóng, khóa, phản khóa cùng một số dấu hiệu cần và đủ để nhận biết các đặc trưng tương quan giữa các đối tượng nói trên

Mục tiêu và nhiệm vụ của luận văn

Đề tài này tập trung vào tìm hiểu nghiên cứu cách biểu diễn khóa trong lược đồ quan hệ qua thuật toán thu gọn lược đồ quan hệ theo thuộc tính khóa hay giao các khóa cũng như tập các vế trái cực tiểu Như vậy theo nhận xét tự nhiên khi dịch chuyển lược đồ quan hệ về kích thước càng nhỏ thì thuật toán càng phát huy hiệu quả

Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài có thể vận dụng cho các quy trình thiết kế các cơ sở dữ liệu quan hệ dùng trong hệ thống thông tin, cụ thể là:

- Tính bao đóng của các tập thuộc tính

- Tìm khóa của lược đồ quan hệ

- Thu gọn lược đồ quan hệ

- Các dạng biểu diễn khóa trong lược đồ quan hệ

Phương pháp nghiên cứu

1 Tiếp cận chủ yếu để giải quyết các vấn đề đặt ra trong phạm vi đề tài là tiên đề hóa Cơ sở toán học các hệ tiên đề là định lý về tính xác đáng và đầy đủ cùng với các định lý về điều kiện cần đủ cho các hệ tiên đề tương đương

2 Tiếp cận hình thức vận dụng chủ yếu các phương pháp và các cấu trúc của toán học rời rạc( bao gồm cả logic hình thức), kết hợp với các phương pháp đối sánh, mô hình hóa, tối ưu và quy hoạch rời rạc

Trang 13

3 Kết hợp chặt chẽ giữa lý thuyết và thực hành, sử dụng và phát triển các phần mềm nói chung và các phần mềm toán học nói riêng để kiểm định

và thể hiện các kết quả lý thuyết

Phạm vi nghiên cứu

Các kết quả thu được có thể vận dụng cho các quy trình thiết kế các cơ sở

dữ liệu quan hệ dùng tong các hệ thống thông tin, cụ thể là:

- Tính bao đóng của các tập thuộc tính

- Tìm khóa của LĐQH

- Thu gọn LĐQH

- Các dạng biểu diễn khóa của LĐQH

Cấu trúc của luận văn

Cấu trúc của luận văn gồm:

- Phần mở đầu

- Chương 1, 2 và 3

- Phần kết luận và đề nghị

- Tài liệu tham khảo

Nội dung chính của luận văn

Chương 1 giới thiệu các kiến thức cơ bản về CSDL, các định nghĩa về quan hệ, thuộc tính, bộ Phụ thuộc hàm cũng như thuật toán tính bao đóng của các tập thuộc tính, tìm khóa của LĐQH

Chương 2 trình bày một kỹ thuật thu gọn LĐQH hay còn gọi là phép dịch chuyển LĐQH Bản chất của kỹ thuật này là loại bỏ khỏi LĐQH 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 được quan tâm như bao đóng, khóa, phản khóa Và sau khi loại bỏ một số thuộc tính thì một số PTH sẽ được loại bỏ theo vì chúng

Trang 14

trở thành phụ thuộc hàm tầm thường (có vế trái chứa vế phải) hoặc mang thông tin tiền định

Chương 3 là chương mang nội dung trọng tâm của đề tài, chương này trình bày về hai dạng biểu diễn khóa trong LĐQH Dạng thứ nhất ta đi thu gọn LĐQH theo thuộc tính không khóa và giao các khóa Dạng thứ hai ta đi tìm tập

vế trái cực tiểu để từ đó có quyết định thu gọn LĐQH theo tập vế trái cực tiểu

nào Phần cuối cùng của chương 3 là cài đặt chương trình mô phỏng Các dạng

biểu diễn khóa trong LĐQH

Trang 15

Chương I: CÁC KIẾN THỨC CƠ BẢN VỀ CƠ SỞ DỮ LIỆU

1.1 Khái quát về cơ sở dữ liệu quan hệ

Cơ sở dữ liệu(CSDL) là một trong những lĩnh vực được tập trung nghiên cứu và phát triển của công nghệ thông tin Trong quản lý các cơ sở dữ liệu (CSDL), phụ thuộc dữ liệu được hiểu là những mệnh đề mô tả các ràng buộc mà

dữ liệu phải đáp ứng trong thực tế Nhờ có những mô tả phụ thuộc này mà hệ quản trị cơ sở dữ liệu có thể quản lý tốt được chất lượng dữ liệu Lý thuyết về các phụ thuộc dữ liệu đóng vai trò quan trọng trong việc mô tả thế giới thực, phản ánh ngữ nghĩa dữ liệu trong cơ sở dữ liệu Phụ thuộc dữ liệu được Codd, tác giả của mô hình dữ liệu quan hệ đặt nền móng từ những năm 70 với khái niệm phụ thuộc hàm Một cách giải thích rất trực quan cho bài toán quản lý được

tổ chức theo hàng và cột, trong đó cột được biểu thị thuộc tính thông tin cần quản lý của một đối tượng, thuộc tính này được gọi là tiêu đề của cột và các giá trị trong cột đó có cùng một kiểu Tập hợp tất cả các giá trị thuộc tính trên một hàng( gọi là bộ) là dữ liệu về đối tượng đang quản lý

Định nghĩa về Quan hệ, bộ, thuộc tính: Cho tập hữu hạn U= {A1, A2, ,A n}

khác rỗng (n>=1) Các phần tử của U được gọi là thuộc tính Ứng với mỗi thuộc tính AiU (i=1,2, ,n) có một tập chứa ít nhất 2 phần tử dom(Ai) được gọi là

miền giá trị của Ai, gọi D là tập hợp các dom(Ai) ( i = 1,2, ,n) Một quan hệ R với các thuộc tính U, kí hiệu R(U) là một ánh xạ t: U D sao cho với mỗi

AiU ta có t(Ai) dom(Ai) 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(U) là một bộ trên tập thuộc tính

Trang 16

Một quan hệ rỗng là một quan hệ không chứa bộ nào Vì mỗi quan hệ là một tập các bộ, nên trong quan hệ không có 2 bộ trùng lặp

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}

XY biểu diễn hợp của hai tập X và Y, X 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),

X1, X2, , X m được kí hiệu là

M= X1| X2,| |X m

với ý nghĩa M= X1  X2  X m và X iX j = Ø , 1<=i, j>=m, i j

Các bộ được biểu diễn bằng các chữ Latin thường có thể kèm chỉ số, thí

dụ t, u, v, i1

Với mỗi bộ t trong quan hệ R(U) và mỗi tập con các thuộc tính X U ta

kí hiệu t[X] hoặc t.X là hạn chế của bộ (ánh xạ) t trên tập thuộc tính X Ta chấp

nhận quy ước tự nhiên là miền giá trị của mọi thuộc tính chứa ít nhất hai phần tử

Trang 17

Trong trường hợp một miền trị của thuộ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ộ t và v trong mọi quan hệ giống

nhau trên miền rỗng các thuộc tính

t.Ø = v.Ø

Hàm Artr(R) cho tập thuộc tính của quan hệ R

Hàm Card(R) cho lực lượng (số bội) 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(U)

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 là nếu Artr(U) = Artr(S)

R (XY)  u,v R: u.X = v.X u.Y = v.Y

Cho quan hệ R(U) và tập PTH F trên tập thuộc tính U Ta nói quan hệ R thỏa tập PTH F, ký hiệu R(F), nếu R thỏa mọi PTH trong F

tức là R(F)  f F: R(f)

Trang 18

1.4 Bao đóng của tập thuộc tính

Cho tập hợp PTH 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 Bao đóng của tập thuộc tính X, kí hiệu X+, là tập hợp các thuộc tính A

U mà PTH X A có thể được suy diễn logic từ F nhờ hệ tiên đề Armstrong :

X+ = {A U│ X A F+ }

 Thuật toán tìm bao đóng của tập thuộc tính

Cho tập PTH 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 Để xác định bao đóng của tập thuộc tính X, kí hiệu X+ ta xuất phát từ tập X và

bổ xung dần cho X các thuộc tính thuộc vế phải của các PTH L R f thỏa điều kiện L X Thuật toán sẽ dừng khi không thể bổ xung thuộc tính nào cho

X

Trang 20

5 (X+ Y+) = (XY+)+ = (XY)+

6 X Y F+  Y X+

7 X X+ và X+ X

8 X+ = Y+  X Y và YX

 Bài toán thành viên

Đây là bài toán xác định xem một PTH có thuộc bao đóng của tập PTH không ? thuật toán giải quyết vấn đề này dựa trên một định lý cơ bản, thể hiện mối liên quan giưa bao đóng của tập thuộc tính và bao đóng của tập PTH

Bài toán : Cho tập thuộc tính U, một tập các PTH F trên U và một PTH f : X

Y trên U Hỏi rằng f F+ (f có là thành viên của F+ ) hay không

X Y F+  Y X+

Ý tưởng thuật toán : Kiểm tra X Y F+ không?

- Tính X+

- Kiểm tra Y X+ không ?

Nếu Y X+ thì X Y F+, ngược lại thì X Y F+

 Thuật toán cho bài toán thành viên

Trang 21

1.5 Khóa của lƣợc đồ quan hệ

Cho LĐQH p = (U,F), tập thuộc tính K U được gọi là khóa của LĐQH p

nếu:

i) K+ = U

ii) A K: (K\{A})+  U

Hai điều kiện trên tương đương với

(i) KU

(ii) A K: (K\{A}) ! U

Nếu K thỏa mãn điều kiện (i) thì k được gọi là một siêu khóa

Thuộc tính A U được gọi là thuộc tính khóa (nguyên thủy hoặc cơ sở) nếu A có mặt trong một khóa nào đấy A được gọi là thuộc tính không khóa (phi nguyên thủy hoặc thứ cấp ) nếu A không có mặt trong bất kì khóa nào Ký hiệu

U K là tập các thuộc tính khóa của LĐQH p và U0 là tập các thuộc tính không

khóa của p

Chú ý : Trong một số tài liệu, thuật ngữ khóa được dùng theo nghĩa siêu

khóa và thuật ngữ khóa tối tiểu được dùng theo nghĩa khóa

 Thuật toán tìm khóa của LĐQH

Tư tưởng: Xuất phát từ một số siêu khóa K tùy ý của LĐQH, duyệt lần lượt

các thuộc tính A của K, nếu bất biến (K\{A})+

= U được bảo toàn thì A loại khỏi

K Có thể thay kiểm tra (K\{A})+ = U bằng kiểm tra A (K\{A})+

Algorithm Key

Function: Tìm một khóa của LĐQH

Fomat: Key (U,F)

Input: - Tập thuộc tính U

Trang 22

Độ phức tạp tính toán: Thuật toán duyệt n thuộc tính, với mỗi thuộc tính

thực hiện phép lấy bao đóng với mức độ phức tạp n2

Trang 23

}

Hãy tìm một khóa của p

Dễ thấy, LĐQH p có khóa K = G, vì thỏa mãn hai điều kiện:

(i) K+ = G+ = ABCDEGH =U (ii) G tối tiểu (theo nghĩa (K\{G})+ U)

Ví dụ 2: Cho LĐQH p = (U,F), trong đó:

U = {A, B, C, D, E}

F = { D E

AB CD

C AB}

Hãy tìm một khóa của p

Dễ thấy rằng, LĐQH p có khóa K = C, vì thỏa mãn hai điều kiện:

(i) K+ = C+ = ABCD =U (ii) C tối tiểu (theo nghĩa (K\{C})+ U)

Ví dụ 3: Cho p = (U,F) trong đó: U = ABCDE

F = { C B

DE AC

A DE}

Tìm khóa của LĐQH đã cho ?

Ta thấy, LĐQH P có khóa K = A, vì thỏa mãn hai điều kiện :

(i) K+ = A+ = ABCD =U

(ii) A tối tiểu (theo nghĩa (K\{A})+ U)

Mặt khác, tương tự như trên ta cũng thấy rằng LĐQH p còn khóa thứ 2, đó

là K = DE

Trang 24

Để trả lời cho câu hỏi: Lược đồ có trên một khóa hay không, ta đi tìm giao các khóa

1.5.1 Cách tính giao các khóa

Những phần tử không xuất hiện ở vế phải thì nó có mặt ở mọi khóa, đó chính là

giao các khóa

Vậy giao các khóa chính là những thuộc tính không xuất hiện ở vế phải

Giả sử M là giao các khóa Nếu m+

= U thì lược đồ chỉ có đúng một khóa, Nếu M+ U thì lược đồ có trên 1 khóa

Gọi M là giao các khóa khi và chỉ khi: M+

= U

Cho LĐQH p = (U,F) với n thuộc tính trong U và m PTH trong F Gọi M là giao các khóa của p Khi đó có thể xác định giao các khóa bằng một thuật toán tuyến tính theo mn qua công thức: M = U \

F R L

L R

L R

)

\ (

Trang 25

End KeyIntersec

1.5.2 Thuật toán tìm 2 khóa của LĐQH

Bước 1: Tính giao các khóa

Bước 2: Lấy M+ Nếu M+

= U Lược đồ có 1 khóa M là duy nhất

M+  U  Lược đồ có trên 1 khóa

Gọi thuật toán Key – Tìm khóa 1

Gọi thuật toán Key 2 – Tìm khóa 2

Tư tưởng: Xuất phát từ tập thuộc tính M = U, trước hết duyệt các thuộc tính

A của K, nếu bất biến (M\{A})+ = U được bảo toàn thì loại A khỏi M Sau đó duyệt tương tự với các thuộc tính trong U\K

Algorithm Key 2

Function : tìm một khóa thứ hai của LĐQH

Fomat: Key 2 (U,F)

Trang 26

c p có còn khóa nào khác ngoài K1 không? Vì sao?

d Xác định các tập thuộc tính không khóa U0 của p

Giải

a Xác định phần giao của các khóa trong p

Trang 27

Theo công thức, ta có: M = U \

F R L

L R

)

\ ( = ABCDE – ABDE = C

Vậy khóa K1 của p là AC

c p còn khóa khác ngoài khóa K1 vì:

M+= C+ = C U nên lược đồ có hơn một khóa

Dễ thấy rằng, ngoài khóa K1, lược đồ còn có khóa K2 = BC vì thỏa mãn hai

điều kiện sau:

(i) K+ = BC+ = ABCDE = U (ii) BC tối tiểu (theo nghĩa (K\{BC})+  U)

Tương tự, ta còn tìm được khóa thứ 3 của lược đồ quan hệ p như sau: K3 =

CD

d Xác định tập các thuộc tính không khóa U0 của p

- Thuộc tính khóa là thuộc tính có mặt trong mọi khóa, ký hiệu là Uk

- Thuộc tính không khóa là thuộc tính không có mặt trong bất cứ khóa nào,

ký hiệu là U0

Ta có: U = ABCD, U = E

Trang 28

Ví dụ 2: Cho LĐQH p = (U, F) trong đó: U = ABC

F = {AB C

CA}

a Hãy xác định phần giao của các khóa trong p

b Tìm một khóa K1 của p

c p có còn khóa nào khác ngoài K1 không? Vì sao?

d Xác định các tập thuộc tính không khóa U 0 của p

Giải

a Xác định phần giao của các khóa trong p

Theo công thức, ta có: M = U \

F R L

L R

)

\ ( = ABC – CA = B

c p còn khóa khác ngoài khóa K1 vì:

M+= B+ = B U nên lược đồ có hơn một khóa

Dễ thấy rằng, ngoài khóa K1, lược đồ còn có khóa K2 = AB vì thỏa mãn hai

điều kiện sau:

(i) K+ = AB+ = ABC = U (ii) AB tối tiểu (theo nghĩa (K\{AB})+  U)

d Xác định tập các thuộc tính không khóa U của p

Trang 29

- Thuộc tính khóa là thuộc tính có mặt trong mọi khóa, ký hiệu là Uk

- Thuộc tính không khóa là thuộc tính không có mặt trong bất cứ khóa nào,

c p có còn khóa nào khác ngoài K1 không? Vì sao?

d Xác định các tập thuộc tính không khóa U0 của p

Giải

a Xác định phần giao của các khóa trong p

Theo công thức, ta có: M = U \

F R L

L R

)

\ ( = ABCD – ABC = D

c p còn khóa khác ngoài khóa K1 vì:

M+= D+ = DC U nên lược đồ có hơn một khóa

Trang 30

Dễ thấy rằng, ngoài khóa K1, lược đồ còn có khóa K2 = AD vì thỏa mãn hai

điều kiện sau:

(i) K+ = AD+ = ABCD = U (ii) AD tối tiểu (theo nghĩa (K\{AD})+  U)

d Xác định tập các thuộc tính không khóa U0 của p

- Thuộc tính khóa là thuộc tính có mặt trong mọi khóa, ký hiệu là Uk

- Thuộc tính không khóa là thuộc tính không có mặt trong bất cứ khóa nào,

ký hiệu là U0

Ta có: Uk = ABD, U0 = C

Trang 31

CHƯƠNG II : THU GỌN LƯỢC ĐỒ QUAN HỆ

2.1 Định nghĩa kỹ thuật thu gọn LĐQH

Cho hai LĐQH p = (U, F) , q = (V, G) và tập thuộc tính M U Ta nói LĐQH q nhận được từ LĐQH p qua phép thu gọn theo tập thuộc tính M, nếu sau khi loại bỏ mọi xuất hiện của các thuộc tính của M trong lược đồ p thì thu được lược đồ q

Nếu sau khi thực hiện phép thu gọn theo M cho LĐQH p ta thu được LĐQH

q thì ta viết q = p\M

Thao tác loại bỏ M được thực hiện trên lược đồ p = (U, F) để thu được lược

đồ q = (V, G) như sau :

1 Tính V = U\M có độ phức tạp O(n) với n là số lượng thuộc tính trong U

2 Mỗi PTH X Y trong F ta tạo ra PTH X\M Y\M cho G Thủ tục này

ký hiệu là G = F\M Tính F\M đòi hỏi độ phức tạp O(m,n) với m là số lượng PTH trong F

Như vậy q = P\M = (U\M, F\M) được thực hiện với độ phức tạp O (m, n), tức là tuyến tính theo chiều dài dữ liệu vào (của LĐQH p)

Sau khi thực hiện thủ tục G = F\M nếu :

- G chứa PTH tầm thường (dạng X Y, X Y) thì ta loại các PTH này khỏi G

- G chứa các PTH trùng lặp thì ta bớt các PTH này

 Ví dụ 1: Cho LĐQH p = (U, F) ; U = abcdefg

F = {abc de, bcd ag,

de fc,

ce fg}

Trang 32

e Ø, (loại)} = {abde, bda}

Ta cũng dễ nhận thấy kỹ thuật thu gọn LĐQH thỏa tính hợp thành và giao

hoán, cụ thể nếu p là LĐQH trên tập thuộc tính U và X, Y là hai tập con rời nhau của U thì

p\XY = (p\X)\Y = (p\Y)\X

2.2 Thuật toán thu gọn LĐQH

G : = G{L\MR\M};

Endfor;

Trang 33

Với M = ADH, hãy xác định q = (V,G) = p\M?

Ta có: V = U\ADH = ABCDEH\ADH = BCE,

p\XY = (p\X)\Y = (p\Y)\X

Ví dụ 2 : Cho LĐQH p = (U, F), U = ABCDEH

F = {AED,

BCE,

Trang 34

EBC}

DỂ TÌM TẬP KHÓA Key (p) của lược đồ p chúng ta xây dựng một lược đồ

q bằng cách xóa khỏi lược đồ p các thuộc tính A, D, H

Ta thu gọn lược đồ q = (V,G) trong đó :

V = U\ADH = ABCDEH \ ADH = BCE,

Trang 35

Ta dễ dàng suy ra Key(q) = Ø

Để thu được Key (p), ta chỉ cần thêm vào Key (q) các thuộc tính vừa thu gọn ABC Ta được Key (p) = ABC

 Ví dụ 4: Cho LĐQH p = (U,F), Với tập thuộc tính U = ABCDEH

Tập PTH F = {ABC, CA, BCD, ACDB, DEH, BEC,

Ta tìm được khóa của lược đồ q: Key(q) = {B,D,E,H} Để thu được Key (p),

ta thêm thuộc tính C vào khóa của q

Ta được Key (p) = {BC, DC, EC, HC}

2.4 Bổ đề về siêu khóa trong phép thu gọn LĐQH

Cho hai LĐQH p = (U,F), q = (V,G) và XU Biết q= p\X Khi đó :

i) Nếu M là siêu khóa của p thì M\X là siêu khóa của q

ii)Nếu Z là siêu khóa của q thì ZM là siêu khóa của p Nói riêng nếu

XU 0 và Z là siêu khóa của q thì Z là siêu khóa của p

Chứng minh

i) Giả sử M là siêu khóa của a Đặt P =M\X, ta có XP = Ø và MXP

Vì M là siêu khóa của p, vận dụng tính đồng biến của bao đóng và công thức biểu diễn bao đóng ta có, U = XV = M+

F (XP)+F = XP+F\X Từ đẳng thức

Ngày đăng: 26/03/2021, 06:56

TỪ KHÓA LIÊN QUAN

w