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

Thu gọn lược đồ quan hệ và ứng dụng

66 1,1K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 66
Dung lượng 2,65 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Thu gọn lược đồ quan hệ và ứng dụng

Trang 1

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN THỊ XUÂN THU

THU GỌN LƯỢC ĐỒ QUAN HỆ VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Thái Nguyên - 2010

Trang 2

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN THỊ XUÂN THU

THU GỌN LƯỢC ĐỒ QUAN HỆ VÀ ỨNG DỤNG

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

Mã số: 60 48 01

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TSKH NGUYỄN XUÂN HUY

Thái Nguyên – 2010

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành bày tỏ lòng cảm ơn và kính trọng sâu

sắc đối với PGS.TS Nguyễn Xuân Huy, người đã tận tình hướng dẫn em

trong suốt quá trình hoàn thành luận văn này Thầy đã mở ra cho em 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 hết sức thiết thực và vô cùng bổ ích, đồng thời tạo điều kiện thuận lợi cho em học tập

và nghiên cứu Em đã học hỏi được rất nhiều ở Thầy phong cách làm việc, cũng như phương pháp nghiên cứu khoa học… Em luôn được Thầy cung cấp các tài liệu, các chỉ dẫn hết sức quý báu khi cần thiết trong suốt thời gian thực hiện luận văn

Em cũng xin thể hiện sự kính trọng và lòng biết ơn đến Quý Thầy Cô trong Khoa Công nghệ thông tin - ĐHTN, những người đã trang bị cho em

rất nhiều kiến thức chuyên ngành, cũng như sự chỉ bảo, giúp đỡ tận tình của quý Thầy cô đối với em trong suốt quá trình học tập Tất cả các kiến thức mà

em lĩnh hội được từ bài giảng của các Thầy cô là vô cùng quý giá

Cuối cùng, em xin được cảm ơn các bạn học viên trong lớp Cao học K7, những người đã cung cấp và chia sẻ những tài liệu, 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 10 năm 2010

Học viên

Nguyễn Thị Xuân Thu

Trang 4

MỤC LỤC

Trang

Trang phụ bìa

Lời cam đoan

Lời cảm ơn

Mục lục i

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

Danh mục hình vẽ iii

MỞ ĐẦU 1

Chương 1 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 2

1.2 Phụ thuộc hàm 3

1.3 Lược đồ quan hệ 7

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

1.5 Phủ của tập phụ thuộc hàm 9

1.6 Khoá của lược đồ quan hệ 14

1.7 Chuẩn hoá LĐQH trên cơ sở PTH 20

Chương 2 KỸ THUẬT THU GỌN LƯỢC ĐỒ QUAN HỆ 2.1 Định nghĩa kỹ thuật thu gọn LĐQH 25

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

2.3 Định lý thiết lập công thức biểu diễn bao đóng 29

2.4 Bổ đề về siêu khoá trong phép thu gọn 32

2.5 Hệ quả về siêu khoá trong phép thu gọn 33

2.6 Bổ đề về khoá trong phép thu gọn 34

2.7 Định lý thứ nhất về cách biểu diễn khoá 35

2.8 Định lý thứ hai về cách biểu diễn khoá 38

2.9 Lược đồ cân bằng 45

Trang 5

Chương 3 CÀI ĐẶT CHƯƠNG TRÌNH ỨNG DỤNG KỸ THUẬT THU GỌN LƯỢC ĐỒ QUAN HỆ TRONG

THIẾT KẾ CƠ SỞ DỮ LIỆU

3.1 Giới thiệu 52 3.2 Một số giao diện của chương trình 53 3.3 Hướng dẫn sử dụng 59

KẾT LUẬN VÀ KIẾN NGHỊ

1 Kết luận 61

2 Kiến nghị 61

TÀI LIỆU THAM KHẢO 62

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

Trang 6

LĐCB Lược đồ cân bằng

DANH MỤC HÌNH VẼ

Hình 3.1 Giao diện chính 53

Hình 3.2 Giao diện tạo LĐQH mới 54

Hình 3.3 Giao diện ghi dữ liệu 55

Hình 3.4 Giao diện mở dữ liệu 56

Trang 7

Hình 3.5 Giao diện xử lý 57 Hình 3.6 Giao diện help 58

MỞ ĐẦU

Thiết kế 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, khoá, phản khoá…Một số thuật toán tốt theo nghĩa độ phức tạp giới hạn ở các hàm tuyến tính như : Thuật toán tìm một khoá, thuật toán xác định thành viên, hay thuật toán xác định PTH suy dẫn, thuật toán tìm giao các khoá, thuật toán xác định một lược đồ quan hệ có một khoá duy nhất hay không …

Một nhận xét hết sức tự nhiên là nếu kích thước của LĐQH càng nhỏ thì hiệu quả xử lý hay tính toán càng cao Một số hướng nghiên cứu cho phép tinh giản lược đồ cơ sở dữ liệu đã được thực hiện thông qua phép biến đổi tương

Trang 8

đương như đưa tập PTH về dạng thu gọn hoặc thu gọn tự nhiên, dạng không dư, dạng tối ưu…

Trong luận văn này, em xin trình bày một kỹ thuật tinh giản khác, đó là

“Kỹ thuật thu gọ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ủa các đối tượng đang quan tâm như bao đóng, khoá, phản khoá… Mặc dù LĐQH thu được qua phép thu gọn không tương đương với LĐQH 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 vào một số thuộc tính

Đặc biệt 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 (có vế trái chứa vế phải) hoặc mang thông tin tiền định Kỹ thuật này có thể được ứng dụng

để giải quyết các bài toán cơ sở dữ liệu phức tạp Đây là hướng nghiên cứu chính của đề tài

Luận văn được trình bày trong 3 chương:

Chương 1: Trình bày các kiến thức cơ bản về cơ sở dữ liệu

Chương 2: Tìm hiểu về kỹ thuật thu gọn lược đồ quan hệ, các định lý cơ bản của phép thu gọn và các dạng biểu diễn khoá thông qua phép thu gọn Chương 3: Cài đặt chương trình Ứng dụng kỹ thuật thu gọn lược đồ quan

hệ trong thiết kế cơ sở dữ liệu

Trang 9

CHƯƠNG I : CÁC KIẾN THỨC CƠ BẢN VỀ CƠ SỞ DỮ LIỆU 1.1 Khát quát về cơ sở dữ liệu

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, nhằm giải quyết các bài toán quản lý, tìm kiếm thông tin trong những hệ thống lớn, đa dạng, phức tạp cho nhiều người sử dụng trên máy tính điện tử Cùng với sự ứng dụng mạnh mẽ công nghệ thông tin vào đời sống xã hội, kinh tế, quốc phòng .Việc nghiên cứu CSDL đã và đang phát triển ngày càng phong phú và hoàn thiện Từ những năm 70, mô hình dữ liệu quan hệ do E.F Codd đưa ra với cấu trúc hoàn chỉnh đã tạo nên cơ sở toán học cho các vấn đề nghiên cứu lí thuyết về CSDL Với ưu điểm về cấu trúc đơn giản và khả năng hình thức hoá phong phú, CSDL quan hệ dễ dàng mô phỏng các hệ thống thông tin đa dạng trong thực tiễn, tạo điều kiện lưu trữ thông tin tiết kiệm, có tính độc lập dữ liệu cao, dễ sửa đổi, bổ sung cũng như khai thác dữ liệu Mặt khác, việc khai thác và áp dụng các kĩ thuật tổ chức và

Trang 10

sử dụng bộ nhớ cho phép việc cài đặt các CSDL quan hệ đưa lại hiệu quả cao và làm cho CSDL quan hệ chiếm ưu thế trên thị trường

Mô hình dữ liệu quan hệ đặt trọng điểm hàng đầu không phải là khai thác các tiềm năng của máy mà ở sự mô tả trực quan dữ liệu theo quan điểm của người dùng, cung cấp một mô hình dữ liệu đơn giản, trong sáng, chặt chẽ, dễ hiểu và tạo khả năng tự động hoá thiết kế CSDL quan hệ Có thể nói lí thuyết thiết kế và cài đặt CSDL, nhất là

mô hình dữ liệu quan hệ đã phát triển ở mức độ cao và đạt được những kết quả sâu sắc Hàng loạt vấn đề đã được nghiên cứu giải quyết như:

- Lý thuyết thiết kế CSDL, các phương pháp tách và tổng hợp các lược đồ quan hệ theo tiêu chuẩn không tổn thất thông tin hay bảo toàn tính nhất thể của các ràng buộc trên dữ liệu

- Các loại ràng buộc dữ liệu, cấu trúc và các tính chất của chúng, ngữ nghĩa và khả năng áp dụng phụ thuộc dữ liệu ví dụ như phụ thuộc hàm, phụ thuộc đa trị, phụ thuộc kết nối, phụ thuộc lôgic

- Các vấn đề tối ưu hoá: ở mức vật lí trong việc tổ chức quản lí các tệp; ở mức đường truy nhập với các tệp chỉ số hay các danh sách sắp xếp; ở mức lôgic trên cơ sở rút gọn các biểu thức biểu diễn các câu hỏi…

Trong luận văn này, em sẽ trình bày một số kiến thức cơ bản nhất về CSDL bao gồm các kiến thức liên quan đến phụ thuộc hàm, khoá, các dạng chuẩn và đặc biệt là đi sâu tìm hiểu kỹ thuật thu gọn lược đồ quan hệ cũng như các thuật toán để áp dụng chúng vào việc xây dựng và thiết kế các bài toán CSDL hiện nay

1.2 Phụ thuộc hàm

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

Cho tập thuộc tính U Giả sử X, Y  U Một phụ thuộc hàm (PTH) trên U

là biểu thức dạng f: X  Y

Trang 11

Nếu f: X  Y là một PTH trên U thì ta nói tập thuộc tính Y phụ thuộc hàm vào tập thuộc tính X, hoặc tập thuộc tính X xác định hàm tập thuộc tính Y

Cho quan hệ R(U) và một PTH f: X  Y trên U Ta nói quan hệ R thỏa PTH f (hay PTH f đúng trong quan hệ R), ký hiệu R(f), nếu hai bộ tùy ý trong R giống nhau trên X thì cũng giống nhau trên Y, tức là

R(X  Y)  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)

1.2.2 Hệ tiên đề Armstrong

Cho quan hệ R(U) Giả sử X, Y, Z, W  U

F1 Tính phản xạ:

Nếu X  Y thì X  Y  F+ F2 Tính gia tăng:

Nếu X  Y  F+ thì XZ  YZ  F+ F3 Tính bắc cầu:

Nếu X  Y  F+ và Y  Z  F+ thì X  Z  F+

Chú ý: Các PTH có vế trái chứa vế phải như mô tả trong F1 được gọi là tầm

thường Các PTH tầm thường thoả trong mọi quan hệ

1.2.3 Bao đóng của tập PTH

Cho tập PTH F trên tập thuộc tính U Bao đóng của F, ký hiệu F+ là tập nhỏ nhất các PTH trên U chứa F và thỏa mãn các tính chất F1- F3 của hệ tiên đề Armstrong

1.2.4 Các phép suy dẫn

Trang 12

1.2.4.1 Suy dẫn logic

PTH f được suy dẫn logic từ tập PTH F, ký hiệu F╞ f, nếu f  F+

F╞ f  f  F+

Nói cách khác, PTH f được suy dẫn logic từ tập PTH F nếu xuất phát từ F,

áp dụng các luật F1, F2, F3 của hệ tiên đề Arsmtrong sau hữu hạn lần ta sẽ thu

được PTH f

1.2.4.2 Suy dẫn theo quan hệ

Cho tập PTH F trên tập thuộc tính U và f là một PTH trên U Ta nói PTH f được suy dẫn theo quan hệ từ tập PTH F, ký hiệu F├ f, nếu mọi quan hệ R(U) thỏa F thì R cũng thỏa f

F├ f  SAT(F)  SAT(f)

Ký hiệu SAT(F) là tập toàn thể các quan hệ trên U thỏa tập PTH F

Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F* là tập các PTH f trên

U được suy dẫn theo quan hệ từ tập PTH F

F* = {f: X  Y | X,Y  U, F├ f }

1.2.4.3 Suy dẫn theo quan hệ không có quá p bộ

Cho tập PTH F trên tập thuộc tính U và f là một PTH trên U Ta nói PTH f được suy dẫn theo quan hệ có không quá p bộ từ tập PTH F, ký hiệu F├p f, nếu mọi quan hệ Rp(U) thỏa F thì R cũng thỏa f

F├p f  SATp(F)  SATp(f)

Ký hiệu SATp(F) là tập toàn thể các quan hệ có không quá p bộ trên U và thỏa tập PTH F

Cho tập thuộc tính U và tập PTH F trên U, ta định nghĩa F’ là tập các PTH f trên

U được suy dẫn theo quan hệ có không quá 2 bộ từ tập PTH F

F’ = {f: X  Y | X,Y  U, F├2 f }

Trang 13

Đối với PTH, ba loại suy dẫn sau là tương đương

(i) Suy dẫn logic: F╞ f

(ii) Suy dẫn theo quan hệ: F├ f

(iii) Suy dẫn theo quan hệ có không quá hai bộ: F├2 f

1.2.5 Một số tính chất của phụ thuộc hàm

Cho tập thuộc tính U, các tập PTH F và G trên U, tập một số quan hệ  trên

U, các quan hệ R và S trên U Ta có các tính chất sau:

1 Nếu F  G thì SAT(F)  SAT(G)

2 SAT(FG) = SAT(F)  SAT(G)

Trang 14

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

F11 Tính tích luỹ: XYZ, ZAV  X  YZA

1.4 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 Bao đóng của tập thuộc tính X, ký hiệu X+, là tập tất cả 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ổ sung dần cho X các thuộc tính thuộc vế phải của các PTH LR  F thoả điều kiện L X Thuật toán sẽ dừng khi không thể bổ sung thêm thuộc tính nào cho X

Trang 15

Y: = X ; Repeat

Z: = Y ;

Enddif ; Endfor ;

 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

Trang 16

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ó phải là thành viên của F+) hay không ?

Ta nói F tương đương với G, ký hiệu F  G, nếu F╞ G và G╞ F

Nếu F  G ta nói G là một phủ của F

Ký hiệu : F!╞ G: F không suy dẫn ra được G

F! G có nghĩa là F và G không tương đương

Cho tập PTH F trên tập thuộc tính U và X là tập con của U, ta dùng ký hiệu XF+ trong trường hợp cần chỉ rõ bao đóng của tập thuộc tính X lấy theo tập PTH F

1.5.1 Phủ thu gọn tự nhiên

Trang 17

Cho hai tập PTH F và G trên cùng một thuộc tính U G là phủ thu gọn tự nhiên của F nếu:

1 G là phủ của F, và

2 G có dạng thu gọn tự nhiên theo nghĩa sau:

a Hai vế trái và phải của mọi PTH trong G rời nhau (không giao nhau)

Endif Endif

Endfor Return G;

End Natural_Reduced

Độ phức tạp của thuật toán trên là O(mn), trong đó m là số lượng PTH trong tập

F, n là số lượng thuộc tính trong tập U Để ý rằng mn là chiều dài dữ liệu vào của thuật toán

Trang 18

1.5.2 Phủ không dư

Cho hai tập PTH F và G trên cùng một tập thuộc tính U Tập PTH G được gọi là phủ không dư của F nếu:

(i) G là một phủ của F và

(ii) G có dạng không dư theo nghĩa sau: gG: G\{g}  G

 Thuật toán tìm phủ không dư của tập PTH F

Trang 19

ii) (LR  G, AL) : G\{LR}  {L\{A}R}  G

 Thuật toán tìm phủ thu gọn trái của tập PTH

Ta thấy rằng g: LR  G, A  L : G\{g}{g’: L\{A} R}╞ g vì L\{A} L,

For each attribute A in X do

Delete A from L in G;

Endif Endfor Endfor

Return G;

1.5.3.2 Phủ thu gọn phải

Trang 20

Cho hai tập PTH F và G trên tập thuộc tính U, G được gọi là phủ thu gọn phải của

F nếu:

i) G là một phủ của F, và

ii) (LR  G, AR) : G\{LR}{LR\A}  G

 Thuật toán tìm phủ thu gọn phải của tập PTH

Ta thấy rằng g: LR  G, A  R : G╞ g’: LR \ {A}, vì R\{A}  R , do đó

Trang 21

ii) Vế phải của PTH trong G chỉ chứa một thuộc tính

 Thuật toán tìm phủ tối tiểu của tập PTH

For each attribute A in R\L do

If LA not_in G then

1.6 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) K  U (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

Trang 22

hoặc thứ cấp) nếu A không có mặt trong bất kỳ khóa nào Ký hiệu UK 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ữ khoá được dùng theo nghĩa siêu khoá và

thuật ngữ khoá tối tiểu được dùng theo nghĩa khoá

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

Tư tưởng: Xuất phát từ một siêu khoá K tuỳ ý 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 khoá của LĐQH

Format: Key (U,F)

Độ 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 độ phức tạp n2m Tổng hợp lại, độ phức tạp tính toán của thuật toán là O(n3m)

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

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

F = { D  E

AB  CD

Trang 23

C  AB } Hãy tìm một khoá của p

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

(i) K+ = C+ = ABCDE = U

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

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

F = { C B

DE  AC

A  DE } Tìm khoá của LĐQH đã cho ?

Ta thấy, LĐQH P có khoá K = A, vì thoả mãn 2 điều kiện :

(i) K+ = A+ = ABCDE = 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 dễ thấy rằng LĐQH P còn khoá thứ 2, đó là K =

Vậy giao các khoá 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 khoá Nếu M+ = U thì lược đồ chỉ có đúng 1 khoá, nếu M+ 

U thì lược đồ có trên 1 khoá

Gọi M là giao các khoá 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 khoá của p Khi đó có thể xác định giao các khoá bằng một thuật toán tuyến tính

F R L

L R U

M

 \ ( \ )

Trang 24

 Thuật toán xác định giao các khoá trong LĐQH

Algorithm KeyIntersec Format: KeyIntersec(U,F)

- Tập PTH F

F R L

L R U

1.6.2 Thuật toán tìm 2 khoá của LĐQH

Bước 1: Tính giao các khoá

Bước 2: Lấy M+ Nếu M+ = U  Lược đồ có 1 khoá M là duy nhất

M+  U  Lược đồ có trên 1 khoá Gọi thuật toán Key – Tìm khoá 1

Gọi thuật toán Key 2 – Tìm khoá 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 khoá thứ 2 của LĐQH Format: Key 2 (U,F)

Trang 25

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

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

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

Giải

a Xác định phần giao của các khoá trong P

F R L

L R U

Trang 26

K2 = K1 – D = ABC vì (K1 - D)+ = U và BC D

K3 = K2 = ABC vì (K2 - C)+  U

K4 = K3 – B = AC vì (K3 - B)+ = U và A B

K5 = K4 = AC vì (K4 - A)+  U

Vậy khoá K1 của P là AC

c P còn khoá khác ngoài khoá K1 vì:

M+ = C+ = C  U nên lược đồ có hơn một khoá

Dễ thấy rằng, ngoài khoá K1, lược đồ còn có khoá K2 = BC vì thoả mãn 2 đ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 khoá 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 khoá U0của P

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

- Thuộc tính không khoá là thuộc tính không có mặt trong bất cứ khoá nào, ký hiệu U0

b Dạng chuẩn 2 (2NF)

LĐQH p = (U,F) được gọi là lược đồ ở dạng chuẩn 2 (2NF) nếu p là lược đồ 1NF và mọi thuộc tính không khoá phụ thuộc đầy đủ vào mọi khoá

 A  U0, K  Key (p): K+  A

Trang 27

c Dạng chuẩn 3 (3NF)

LĐQH p = (U,F) được gọi là lược đồ ở dạng chuẩn 3 (3NF) nếu p là lược đồ 1NF và mọi thuộc tính không khoá đều phụ thuộc trực tiếp vào mọi khoá

 A  U0, K  Key (p): K*  A LĐQH p = (U,F) được gọi là lược đồ ở dạng chuẩn 3 (3NF) nếu p là lược đồ 1NF và mọi PTH không tầm thường X  A, A là thuộc tính không khoá đều cho ta X

là một siêu khoá

(X A, A  U0 \ X)  X+ = U

d Dạng chuẩn BCNF (Boyce - Codd)

LĐQH p = (U,F) được gọi là lược đồ ở dạng chuẩn BCNF nếu p là lược đồ 1NF

và mọi thuộc tính đều phụ thuộc trực tiếp vào mọi khoá

 A  U, K  Key (p): K*  A LĐQH p = (U,F) được gọi là lược đồ ở dạng chuẩn BCNF nếu p là lược đồ 1NF

và mọi PTH không tầm thường X  Y đều cho ta X là một siêu khoá

(X Y, Y \ X  )  X+ = U

1.7.2 Định nghĩa phép tách

Cho lược đồ quan hệ p = (U,F) Một phép tách trên tập thuộc tính U là một họ các

tập con của U,  = (X1, X2, , Xk) thoả tính chất K

i

i U X

1

 Phép tách  = (X1, X2, , Xk) trên tập thuộc tính U được gọi là không tổn thất (hoặc không mất thông tin ) đối với tập PTH F nếu :

R(U)  SAT(F) : R[X1] * R[X2] * * R[Xk] = R

Ngược lại, nếu không tồn tại đẳng thức thì ta gọi  là phép tách tổn thất

1.7.3 Thuật toán chuẩn hoá 3NF không tổn thất và bảo toàn PTH

Algorithm 3NF Function: Chuẩn hoá 3NF không tổn thất và bảo toàn PTH

Input: - LĐQH p = (U,F)

Trang 28

Output:

- Các LĐQH 3NF (U1,K1),(U2,K2), ,(Us,Ks) thoả

R

đồ tương ứng iii) Tập PTH F được bảo toàn Method

1 Tìm khoá K của p

2 Tìm phủ tối thiểu của F

G = {K1A1, K2A2, , KmAm }

3 Ghép các PTH có cùng vế trái trong G để thu được phủ

G = {K1X1, K2X2, , KsXs }

4 Xét phép tách  = (K1X1, K2X2, , KsXs) Nếu khóa K không có mặt trong thành phần nào của  thì thêm thành phần K vào 

5 Return {(K1X1,K1), (K2X2, K2), , (KsXs, Ks)} End 3NF

Ta có, giao các khoá 

F R L

L R U

M

Tính M+ = (BDE)+ = ABCDEGH = U Vì M+ = U nên lược đồ p có một khoá duy nhất là K = BDE

Trang 29

Tập các thuộc tính khoá Uk = BDE, tập các thuộc tính không khoá U0 = ACGH Bước 2 : Vì bộ phận thực sự của khoá K là DE và DE  H, H  U0 nên p không ở dạng 2NF và do đó cũng không ở dạng 3NF

Bước 3: Để ý rằng, F đã ở dạng tối tiểu, ta có:

= (AC, DHA, DCH, AEG, DEH)

Khoá K = BDE không có trong thành phần nào của nên ta thêm K vào để thu được kết quả sau:

Trang 30

Quan hệ SD có 1 khoá là K = SV# DT# SD không ở 3NF vì có phụ thuộc bắc cầu của thuộc tính không khoá KM vào khoá K Ta chuẩn hoá SD như sau:

1 Tách

SV#, DT#  NTT SV#, DT#  KQ NTT  KM

Ta thấy: LĐQH p có hai khoá là A và C vì A+ = C+ = ABCD = U Tập thuộc tính khoá là UK = AC, tập thuộc tính không khoá Uo = BD

Ta có DB, B là thuộc tính không khoá, D không phải là siêu khoá đó do

đó a không ở 3NF đương nhiên không ở BCNF Vì hai khoá A và C đều chỉ có một thuộc tính nên các thuộc tính không khoá khác là B và D đều phụ thuộc đầy đủ vào hai khoá này

Trang 31

Vậy a ở 2NF

CHƯƠNG II: KỸ THUẬT 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(mn) 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 (mn), 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

Trang 32

Ta có: V = U \ cfg = abcdefg \ cfg = abde

G = { ab  de,

bd a,

de  , (Loại)

e  , (Loại) } = {ab  de, bd a }

Ta cũng dễ nhận thấy kỹ thuật thu gọn LĐQH thoả 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

Algorithm Translation Format: Translation (p,M) Input:

- LĐQH p = (U,F)

- Tập thuộc tính M U Output:

- LĐQH q = (V,G) = p\M, V = U\M, G = F\M Method

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

F={ AE  D,

Trang 33

A  DH,

BC  E,

E  BC}

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

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

G = {E   (loại) ,    (loại),

BC  E,

E  BC} = {BC  E, E  BC}

Ta nhận thấy phép thu gọn thoả 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

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

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

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

G = { E (loại), BCE, EBC} = { BCE, EBC}

Ta dễ dàng tìm được Key (q) = {BC,E} Để thu được Key (p) ta chỉ việc thêm tập thuộc tính AH (không thêm D) vào mỗi khoá của lược đồ q

Vậy Key (p) = {AHBC, AHE} Dù F đã là tập PTH tối ưu theo nghĩa chứa ít ký hiệu nhất, nhưng G còn chứa ít ký hiệu hơn F

Ngày đăng: 23/11/2012, 09:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), Giàn giao của ánh xạ đóng, Chuyên san Các công trình nghiên cứu - triển khai Viễn thông và Công nghệ thông tin Sách, tạp chí
Tiêu đề: Giàn giao của ánh xạ đóng
Tác giả: Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh
Năm: 2005
2. Nguyễn Xuân Huy (2006), Các phụ thuộc logic trong cơ sở dữ liệu, Viện Khoa học và Công nghệ Việt Nam, Nxb Thống Kê Sách, tạp chí
Tiêu đề: Các phụ thuộc logic trong cơ sở dữ liệu
Tác giả: Nguyễn Xuân Huy
Nhà XB: Nxb Thống Kê
Năm: 2006
3. Nguyễn Xuân Huy, Đoàn Văn Ban, Đàm Gia Mạnh, Nguyễn Thế Dũng (2001), Về mối liên hệ giữa suy diễn phụ thuộc hàm và suy diễn logic, Tạp chí Tin học và điều khiển học Sách, tạp chí
Tiêu đề: Về mối liên hệ giữa suy diễn phụ thuộc hàm và suy diễn logic
Tác giả: Nguyễn Xuân Huy, Đoàn Văn Ban, Đàm Gia Mạnh, Nguyễn Thế Dũng
Năm: 2001
4. J.D Ullman Tập 1,2 (2001), Trần Đức Quang biên dịch, Nguyên lý các hệ cơ sở dữ liệu và cơ sở tri thức, Nxb Thống kê Sách, tạp chí
Tiêu đề: Nguyên lý các hệ cơ sở dữ liệu và cơ sở tri thức
Tác giả: J.D Ullman Tập 1,2
Nhà XB: Nxb Thống kê
Năm: 2001
5. Lê Tiến Vương (1999), Nhập môn cơ sở dữ liệu quan hệ, Nxb Thống kê Sách, tạp chí
Tiêu đề: Nhập môn cơ sở dữ liệu quan hệ
Tác giả: Lê Tiến Vương
Nhà XB: Nxb Thống kê
Năm: 1999
6. Vũ Đức Thi (1997), Cơ sở dữ liệu: Kiến thức và thực hành, Nxb Thống kê. Tiếng Anh Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu: Kiến thức và thực hành
Tác giả: Vũ Đức Thi
Nhà XB: Nxb Thống kê. Tiếng Anh
Năm: 1997
7. Demetrovic J., Nguyen Xuan Huy (1991), Closed Sets and Translations of Relation Schemes, Computers math applic Sách, tạp chí
Tiêu đề: Closed Sets and Translations of Relation Schemes
Tác giả: Demetrovic J., Nguyen Xuan Huy
Năm: 1991

HÌNH ẢNH LIÊN QUAN

Hình 3.5. Giao diện xử lý ................................................................................ - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.5. Giao diện xử lý (Trang 7)
Hình 3.5. Giao diện xử lý ................................................................................ - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.5. Giao diện xử lý (Trang 7)
Hình 3.1. Giao diện chính - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.1. Giao diện chính (Trang 57)
Hình 3.1. Giao diện chính - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.1. Giao diện chính (Trang 57)
Hình 3.2. Giao diện tạo LĐQH mới - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.2. Giao diện tạo LĐQH mới (Trang 58)
Hình 3.2. Giao diện tạo LĐQH mới - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.2. Giao diện tạo LĐQH mới (Trang 58)
Hình 3.3. Giao diện tạo ghi dữ liệu - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.3. Giao diện tạo ghi dữ liệu (Trang 59)
Hình 3.3. Giao diện tạo ghi dữ liệu - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.3. Giao diện tạo ghi dữ liệu (Trang 59)
Hình 3.4. Giao diện tạo mở dữ liệu - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.4. Giao diện tạo mở dữ liệu (Trang 60)
Hình 3.4. Giao diện xử lý - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.4. Giao diện xử lý (Trang 61)
Hình 3.4. Giao diện xử lý - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.4. Giao diện xử lý (Trang 61)
Hình 3.4. Giao diện Help - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.4. Giao diện Help (Trang 62)
Hình 3.4. Giao diện Help - Thu gọn lược đồ quan hệ và ứng dụng
Hình 3.4. Giao diện Help (Trang 62)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w