Như chúng ta đã biết trong mô hình quan hệ, để giảm tính phức tạp của việc xác định khóa trong các cơ sở dữ liệu lớn, phức tạp thì phép dịch chuyển lược đồ quan hệ đã được đề xuất.. Để g
Trang 1NGÔ MINH LOAN
KHÓA VÀ SIÊU KHÓA VỚI PHÉP DỊCH CHUYỂN LƯỢC ĐÒ KHỐI
LUẬN VĂN THẠC SĨ MÁY TÍNH
HÀ NỘI, 2015
Trang 2NGÔ MINH LOAN
KHÓA VÀ SIÊU KHÓA TRONG PHÉP DỊCH CHUYỂN LƯỢC ĐÒ KHỐI
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01
LUÂN VĂN THAC SỸ MÁY TÍNH• •
Ngưòi hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng
HÀ NỘI, 2015
Trang 3LOI CAM ON
De hoan thanh luan van nay em xin chan thanh gui loi cam an den quy thay co trong truang Dai hoc Su pham Ha Noi 2, cac thay trong Vien Cong nghe thong tin thuoc Vien Han lam Khoa hoc va Cong nghe Viet Nam, cac anh chi thu vien Vien Cong nghe thong tin thuoc Vien Han lam Khoa hoc va Cong nghe Viet Nam, thu vien truang Dai hoc Cong nghe thong tin va truyen thong - Dai hoc Thai Nguyen, trung tam hoc lieu Dai hoc Thai Nguyen, thu vien Dai hoc Cong nghe - Dai hoc Quoc gia Ha Noi da quan tam giup da trong qua trinh thuc hien de tai Nha do toi da tiep thu dugc nhieu y kien dong gop va nhan xet quy bau cua quy thay, co thong qua cac buoi trao doi thong tin va bao ve d6 cuang
Em xin gui loi cam an sau sac nMt d6n PGS.TS Trinh Dinh Thang dang cong tac tai truang Dai hoc Su Pham Ha Noi 2 da true tiep huang dan, dinh huang chuyen mon, tan tam chi bao trong qua trinh thuc hien luan van
Em xin bay to su bilt an sau sac din gia dinh da tao moi di6u kien t6t nhit d! em co th l hoan thanh t6t moi cong viec trong qua trinh thuc hien luan van Em cung xin gui loi cam an cua minh toi ban be va dong nghiep, luon quan tam, chia se, dong vien em trong su6t thoi gian thuc hien luan van
Mac du da rit c6 g^ng trong qua trinh thuc hien nhung luan van khong the tranh khoi nhung thieu sot Em xin mong nhan ducrc su gop y cua quy thay co, quy dong nghiep va ban be
Ha Noi, ngay 10 thang 11 nam 2015
Hoc vien
Ngo Minh Loan
Trang 4kết quả tìm hiểu và nghiên cứu của riêng tôi, đây là công trình nghiên cứu của tôi dưới sự hướng dẫn khoa học của PGS.TS Trịnh Đình Thắng Các số liệu, kết quả nêu trong luận văn là trung thực, rõ ràng Tôi cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc Tôi xin chịu hoàn toàn trách nhiệm với những nội dung được viết ừong luận văn này.
Hà Nội, ngày 10 tháng 11 năm 2015
Hoc viên
Ngô Minh Loan
Trang 5Lời cảm ơ n 1
Lời cam đoan 2
Mục lục 3
Danh mục kí hiệu và các chữ cái viết tắ t 5
Danh mục các bảng 6
Danh mục các hình 7
MỞ ĐẦU 8
NỘI DUNG
Chương 1: Mô hình dữ liệu quan hệ và phép dịch chuyển lược đồ quan hệ 1.1 Mô hình dữ liệu quan h ệ 10
1.2 Phép dịch chuyển lược đồ quan h ệ 25
1.3 Một số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ quan h ệ 28
Kết luận chương 1 30
Chương 2: Mô hình dữ liệu dạng khối 31
2.1 Khối, Lát cắt 31
2.2 Các phép tính trên khối 34
2.3 Đại số quan hệ trên khối 35
2.4 Phụ thuộc hàm 40
2.5 Bao đóng của tập thuộc tính chỉ s ố 42
2.6 Khóa của khối 44
Trang 62.7 Phép dịch chuyển lược đồ khối 47
Kết luận chương 2 49
Chương 3: Khóa và siêu khóa với phép dịch chuyển lược đồ khối 50
3.1 Biểu diễn khóa và siêu khóa qua phép dịch chuyển 50
3.2 Một số dạng biểu diễn mới của khóa và siêu khóa 55
Kết luận chương 3 60
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62
Trang 811 11
12 13 14 15 16 17 18 19 19
DANH MUC CÁC BẢNG
.1 Bảng ví dụ về quan hệ r
.2 Bảng quan hệ Sinhvien
.3 Bảng biểu diễn quan hệ Sinhvienl u Sinhvien2
.4 Bảng biểu diễn quan hệ Sinhvienl n Sinhvien
.5 Bảng biểu diễn quan hệ Sinhvienl - Sinhvien2
.6 Bảng biểu diễn quan hệ r X s
.7 Biểu diễn phép chiếu : ĩlmãsv, lóp, Đ iểm ra(sinh viên) 8 Biểu diễn phép chọn : ôĐiểmTB>5(Sinhvien)
.9 Biểu diễn phép nối tự nhiên giữa 2 quan h ệ
.10 Biểu diễn phép chia
.11 Bảng quan hệ Sinhvien
Trang 9Hình 2.2 Phép giao trong khối 34
Trang 10MỞ ĐÀU
1 Lý do chọn đề tài
Để có thể xây dựng được một hệ thống cơ sở dữ liệu tốt, người ta thường sử dụng các mô hình dữ liệu thích họp Những mô hình được sử dụng rộng rãi trong hệ thống cơ sở dữ liệu trên thế giới như: mô hình thực thể - liên kết, mô hình mạng, mô hình dữ liệu, mô hình phân cấp, mô hình quan hệ
Việc nghiên cứu tìm ra các mô hình mới đáp ứng các ứng dụng phức tạp, các cơ sở dữ liệu có cấu trúc tuyến tính và phi tuyến tính được các nhà nghiên cứu trong và ngoài nước quan tâm Một ừong những mô hình mới này
là mô hình dữ liệu dạng khối Mô hình dữ liệu này có thể xem là một mở rộng của mô hình dữ liệu quan hệ
Như chúng ta đã biết trong mô hình quan hệ, để giảm tính phức tạp của việc xác định khóa trong các cơ sở dữ liệu lớn, phức tạp thì phép dịch chuyển lược đồ quan hệ đã được đề xuất Trong mô hình cơ sở dữ liệu dạng khối, việc xác định khóa càng khó khăn hơn Chính vì vậy mà phép dịch chuyển lược đồ khối cũng đã được đề xuất ở đây, nhờ việc dịch chuyển lược đồ khối mà trong nhiều trường họp việc tìm khóa của khối trở nên đơn giản hơn
Để góp phần hoàn chinh thêm về mô hình dữ liệu dạng khối em chọn
đề tài là “Khóa và siêu khóa với phép dịch chuyển lược đồ kh ố i” cho luận
văn của mình
2 Mục đích nghiên cứu
Tìm hiểu khái quát về mô hình dữ liệu dạng khối sau đó đi sâu và nghiên cứu một số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ khối
3 Nhiệm vụ nghiên cứu
Tìm hiểu khái quát về mô hình dữ liệu
Trang 11Tìm hiểu về mô hình dữ liệu dạng khối.
Phát biểu và chứng minh một số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ khối
4 Đổi tượng và phạm vỉ nghiên cứu
- Đối tượng: Khóa và siêu khóa qua phép dịch chuyển.
- Pham vi: Mô hình dữ liêu khối.• •
5 Phương pháp nghiên cứu
Phương pháp tổng hợp phân tích các vấn đề có liên quan đến đề tài Phương pháp lý luận
Phương pháp suy luận và chứng minh
Trang 12CHƯƠNG 1: MÔ HÌNH DỮ LIỆU QUAN HỆ VÀ PHÉP DỊCH
CHUYỂN LƯỢC ĐỒ QUAN HỆ
Chương 1 trình bày một số khái niệm cơ bản nhất trong mô hình
dữ liệu quan hệ, các phép toán cơ bản, định nghĩa về phụ thuộc hàm, bao đóng cuả tập phụ thuộc hàm, bao đóng của tập thuộc tính, các tính chất của khóa cùng với thuật toán tìm khoá, phép dịch chuyển lược đồ quan hệ và một
số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ quan
hệ Các vấn đề trình bày ở chương 1 được tham khảo trong các tài liệu [2,3,6,7]
1.1 Mô hình dữ liệu quan hệ
1.1.1 Quan hệ, thuộc tính
1.1.1.1 Thuộc tính và miền thuộc tính [6,7]
Định nghĩa 1.1
- Thuộc tính là đặc trưng của đối tượng
- Tập tất cả các giá trị có thể có của thuộc tính Ai gọi là miền giá trị của thuộc tính đó, ký hiệu: Dom(Ai) hay viết tắt là DA
Trang 131.1.1.2 Quan hệ, lược đồ quan hệ [6,7]
Định nghĩa 1.2 [6]
Cho u = {Ai, A2, An} là một tập hữu hạn không rỗng các thuộc tính Mỗi thuộc tính Aị(i=l, 2, , n) có miền giá ừị là Dom(Ai)- Khi đó r là một tập các bộ {hi, h2, hm} được gọi là quan hệ ừên Ư với hj (j = 1, 2, ,m) là một hàm:
hj :ư —» ỊJ sao cho hj (Ai) e DAi (i = 1, 2, ,n)
ầ
Ta có thể xem một quan hệ như một bảng, trong đó mỗi hàng (phàn tử)
là một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính Biểu diễn quan hệ г như sau:
Bộ giá trị: (SV01, A, 24/01/92, HN, TOAN) là một bộ
ЛBảng 1.1 Ví dụ vê quan hệ r
Trang 14Nếu có một bộ t = (di, d2, d3, dm) € r, r xác định trên и , X ÇÜ thì t(X) (hoặc t.X) được gọi là giá tri của tập thuộc tính X trên bộ t.
Định nghĩa 1.3
Tập tất cả các thuộc tính ừong một quan hệ cùng với mối liên hệ giữa
chúng được gọi là lược đồ quan hệ.
Lược đồ quan hệ R với tập thuộc tính и = {Ai, A2, An} được viết là R(U) hoặc R(Ab A2, A n)
Trang 15I.I.2.2 Phep giao [6]
Cho hai quan he r vä s khä hop Giao cüa r vä s ky hieu r n s lä mot quan he göm tät cä cäc bo thuoc r vä thuoc s Ta co:
Cho hai quan he r vä s khä hop Hieu cüa r vä s ky hieu lä r - s lä tap tat
cä cäc bo thuoc r nhung khöng thuoc s Ta co:
Trang 16Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần lượt là Ui và и 2 với
Ui n u2 = 0 Tích đề các của r và s ký hiệu là: г X s là một quan hệ trên Ư1 n
Trang 17Thực chất của phép chiếu là phép toán giữ lại một số thuộc tính cần thiết của quan hệ và loại bỏ những thuộc tính không càn thiết (trùng lặp).
Ví dụ 1.7 Cho bảng r gồm những thuộc tính sau:
Trang 18cần lấy một số thuộc tính tên sinh viên mà chỉ quan tâm đến mã số, lớp
và Điểm TB thì phép chiếu sẽ được sử dụng như sau: nmãsv, lớp Đ iểm t b {SV) =
Biểu thức chọn F được định nghĩa là một tổ họp logic của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính hoặc giữa một biến là một thuộc tính và một giá trị hằng Biểu thức chọn
F cho giá trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra riêng bộ đó
- Các phép toán so sánh trong biểu thức F: >, <, =, >, #, <
- Các phép toán logic trong biểu thức F: A (và), V (hoặc), - 1 (phủ định) Cho r là một quan hệ và F là một biểu thức logic trên các thuộc tính của
r Phép chọn trên quan hệ r với biểu thức chọn F, kí hiệu là õF(r), là tập tất cả các bộ của r thoả mãn F Ta có: ôF(r) ={ 11 te r AF(t) = đúng}
Trang 19Ví dụ 1.8: Cho bảng sv
Mã sv Họ và tên Lóp Điêm TB
Chọn sinh viên có Điểm TB > 6 ta làm như sau : ÔĐiểmTB >ó(SV)
Kết quả là:
Mã sv Họ và tên Lớp Điêm TB
Bảng 1.8 Biểu diễn phép chọn : ÔĐiểmTB^SV)
Trang 20T002 Nguyên Văn Bình TIN1 6
Ví dụ 1.10: Cho quan hệ sau và tìm sinh viên có Điểm các môn học 1 và 2 >
6 điểm (một trong 2 môn không có điểm nào dưới 5 điểm)
Trang 21Sinhvien Họ tên Đ iêm M l Điêm M2 Điêm M3
Ví dụ 1.11 Quan hệ SINHVIEN
T003 Ngô Thị Thanh TP Hô Chí Minh Hải Dương 1
Bảng 1.11 Quan hệ SINHVIEN
Trang 22Trong quan hệ SINHVIEN, dựa vào định nghĩa phụ thuộc hàm của quan hệ ta có: {Tinh} {Khuvuc}
{MaSV} {Hoten, Diachi, Tinh, Khuvuc}
- Thuộc tính là các đặc điểm riêng của một đối tượng, quan hệ Mỗi thuộc tính có một tên gọi và phải thuộc về một kiểu dữ liệu nhất định, kiểu dữ liệu đó có thể là vô hướng (là các kiểu dữ liệu cơ bản như chuỗi, số, logic, ngày tháng ) hoặc các kiểu có cấu trúc được định nghĩa dựa trên các kiểu dữ liệu có sẵn
Ví dụ 1.12: SINHVIEN (MaSV, Hoten, NgSinh, Đchi).
Đối tượng SINHVIEN có các thuộc tính mã sinh viên, họ tên, ngày sinh, địa chỉ
- Mỗi một thuộc tính có thể chỉ chọn lấy những giá trị trong một tập họfp con của kiểu dữ liệu Tập họp các giá trị mà thuộc tính A có thể nhận được gọi là miền giá ừị của thuộc tính A, thường được kí hiệu là Dom(A) hay viết tắt là D a
Ví dụ 1.11: Dom(MaSV) = {char (4)}; Dom(Hoten) = {char (3)};
Dom(NgSinh) = {date}; Dom(Đchi) = {‘HN’, ‘VP’, ‘BN’, };
1.1.4 Bao đóng của tập phụ thuộc hàm [6,7]
Định nghĩa 1.5
Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc hàm F ký hiệu F4-: là tập lớn nhất chứa các phụ thuộc hàm được suy diễn từ các phụ thuộc hàm F
Vậy: F+ = { f l F Ị=f}
Các tỉnh chất
• Tính chất phản xạ: Với mọi tập phụ thuộc hàm F ta luôn có F Ç F+
• Tính chất đơn điệu: Nếu F çz G thì F* ç: G+
Trang 23• Tính chất lũy đẳng: Với mọi tập phụ thuộc hàm F ta luôn có F++ = F4-
Các tính chất của bao đóng: dựa vào các tính chất của phụ thuộc hàm
ta có các tính chất của bao đóng tập thuộc tính sau:
Trang 24Thuật toán tìm bao đóng
Tính liên tiếp tập các tập thuộc tính Xo, XI, x 2, theo phương phápsau:
Bước 1: X o = X
Bước 2: lần lượt xét các phụ thuộc hàm của F Nếu Y —> z có Y с Xi
thì Xi + 1 = Xi u z Loại phụ thuộc hàm Y —> z khỏi F.
Bước 3: Nếu ở bước 2 không tính được Xi + 1 thì Xi chính là bao đóng của X Ngược lại lặp lại bước 2
Định lý 1.1: Thuật toán tìm bao đóng cho kết quả Xi = x +
Ví dụ 1.14: Cho tập thuộc tính и = {А, в , с , D, Е, G, H} và tập phụ thuộc hàm F = {A -» D, AB -» DE, CE -» G, E -» H}
Tính (AB)+f
Bước 0: X o = AB
Bước 1 : Xỉ = X0U {D} vì có A —» D thỏa mãn điều kiện
Bước 2: x 2 = XiU {E} vì có AB —» DE thỏa mãn điều kiện
Bước 3: x 3 = X2U {H} vì có E —» H thỏa mãn điều kiện
Bước 4: X4 = x 3 = ABDEH
Do đó, tất cả các phụ thuộc hàm có thể xác định từ AB:
(AB -» D, AB -» E, AB -» H, AB -> AB)Vậy (AB)+f = ABDEH.
Đánh giá độ phức tạp tỉnh toán: Độ phức tạp thời gian của thuật toán trên là đa thức theo kích thước của lược đồ quan hệ.
Trang 251.1.6 Khóa và siêu khóa trên lược đồ quan hệ [6]
Định nghĩa 1.7 [6]
Cho s = <U,F> là 1 lược đồ quan hệ, Ư là tập thuộc tính khác rỗng và F
là tập các phụ thuộc hàm Cho tập con bất kỳ V K Ç U Ta nói rằng к là khóa của lược đồ quan hệ s khi và chỉ khi nó thỏa mãn 2 điều kiện sau:
- (K-> U) ÉF+
- Không tồn tại z (Z к sao cho (Z U) € F+
Hai điều kiện trên khẳng định các thuộc tính không khóa phụ thuộc đầy
đủ vào khóa Từ định nghĩa ừên có thể suy ra rằng к là khóa của lược đồ quan hệ khi và chỉ khi nó thỏa mãn 2 điều kiện:
- K+ = U
- ( К - А )+Ф u, VAG К
Các tính chất của khóa trong lược đồ quan hệ
Định lý 1.2 (Đặc trưng của các thuộc tính khóa)
Cho К là 1 khóa của LĐQH а = (U,F) Khi đó với mọi tập con X của к
t a c ó X +r ì K = X
Định lý 1.3 (Công thức tính giao các khóa)
Cho LĐQH а = (U,F) với n thuộc tính trong Ư và m PTH trong F Gọi
Ui là giao các khóa của a Khi đó có thể xác định giao các khóa bằng 1 thuật toán tuyến tính theo mn qua công thức:
Trang 26Thuât toán xác đỉnh môt khoá của lươc đồ quan hê :• • • • M •
Input: u ={ Ư1 , u 2 , ư n } ^ 0
A = uAj và B = UBjAjC: u BjCi u
A n B ={ U j!, ư j2 Ujk}
Output: Xác định một khoá K của lược đồ quan hệ
Phương pháp: Khoá của lược đồ quan hê R = <U,F> chỉ khác nhau trên các thuộc tính của A n B, vì vậy chỉ cần kiểm tra và loại dần những phần tử ƯịG A n B sao cho (K\ u)+ = R
• Nếu (U \ B) + = u =>(U \ B) là khoá duy nhất của lược đồ quan
Trang 27Ví dụ 1.15: и ={A, в, с, D, E, G}, F = {В —►с, с —> в, А —> GD}
х = ABC, Y = BCDG , X n Y = ВС
(U \ Y) = AE không là khóa của <u , F>
vì (U \ Y)+ = (AE)+ = AEDG Ф Ư.
Vậy К = ABE là khóa (2)
Từ (1) và (2) suy ra khóa của lược đồ quan hệ trên là Ki = АСЕ; K2 = ABE
1.2 Phép dịch chuyển lược đồ quan hệ [2,3]
Trong 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ĐQH thu được qua phép dịch chuyể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 tim 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ố PTH see được loại bỏ theo, vì chúng trở thành các PTH tầm thường (có vế trái chứa vế phải) hoặc mang thông tin tiền định (là các PTH dạng 0 —>
Trang 281.2.1 Định nghĩa [3]
Cho hai LĐQH a =(U,F), b =(V,G) và tập thuộc tính M Ç ư , ta nói
lược đồ quan hệ b nhận được từ lược đồ quan hệ a qua phép dịch chuyển theo
tập thuộc tính M, nếu sau khi loại bỏ mọi xuất hiện của thuộc tính của M trong lược đồ quan hệ a thì thu được lược đồ b
Nếu sau khi thực hiện phép dịch chuyển theo M cho lược đồ quan hệ a
ta thu được lược đồ quan hệ b thì ta viết: b = a\M
Thao tác loại bỏ M được thực hiện trên lược đồ quan hệ a = (U,F) để thu được lược đồ b = (V,G) như sau:
- Tính V = U\M có độ phức tạp Oịn) với n là số lượng thuộc tính trong Ư
- Với mỗi PTH X —> Y trong F tạo ra một PTH X\M -► Y\M cho G Thủ
tục này được 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 b = a\M = (U\M, FVM) được thực hiện với độ phức tạp là
O(mn), tức là tuyến tính theo chiều dài của dữ liệu vào LDQH a Sau khi thực
hiện thực hiện thủ tục G = F\M nếu :
- G chứa các PTH tầm thường (dạng X —> Y, X 3 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 lược bớt các PTH này.
Ví dụ 1.16: Cho LĐQH a = (U,F), Ư = ABCDEH, F = { AE —> D, A —>
DH, BC —> E, E —> BC} Với M = ADH, hãy xác định b = (V,G) = aVM
Ta có: v = U\ADH = ABCDEHXADH = ВСЕ, G = {E —> 0 (loại), 0 -► 0 (loại), BC —> E, E —> ВС} = {BC -> E, E—> BC}
Nhận thấy phép dịch chuyển lược thỏa tính hợp thành, cụ thể là nếu a là LĐQH trên tập thuộc tính и và X, Y là 2 tập con của Ư thì: a\(XY) = (a\X)\Y
trong trường hợp X và Y là hai tập con rời nhau của и ta có:
a\XY = (a\X)\Y = (a\Y)\X
Trang 291.2.2 Thuật toán dịch chuyển lược đồ quan hệ [3]
Thuật toán Translation dưới đây mô tả phép dịch chuyển một LĐQH
LĐQH b = (V,G) = а\м, V = U\M, G = F\M.
Method:
V := Ư\M;
G: = 0 ;For each FD L—> R in F do
Trang 301.3 Một sổ dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ quan hệ [2]
1.3.1 Dạng biểu diễn thứ nhất của khóa [2]
Định lý 1.5
Nếu dịch chuyển LĐQH а = (U,F) theo tập X с и để nhận được LĐQH
b=a\x thì:
a) Key(a) = Key(b) khi và chỉ khi X c U o
b) Key(a) = X0Key(b) khi và chỉ khi X c U i
Ví du 1.17
- Cho LĐQH а = (U,F) với tập phụ thuộc Ư = ABCDEH và tập phụ thuộc hàm F = {AE —» D, BC —» E} Ta được tính giao các khóa ƯI = ABCDEH \ DE = ABCH ĐẶt b = (V,G) với V = U\ABCH = DE, G = F\ABCH = {E—»D, 0->E} Ta có b = a\ABCH và tính được Key(a) = ABCH 0 Key(b) = { ABCH}
- Với lược đ ồ đã cho ta tính được ƯK = ABCH nên U o = U\UK =
BCDEH\ ANCH = DE Đặt с = a\DE = (P,W) ta có p = Ư\DE = ABCH, w = F\DE = {A—» 0 (loại), B C ->0 (loại)} = 0 và do đó Key(c) = ABCH Theo định lý về dạng biểu diễn thứ nhất của khóa , vì
ưo = DE nên Key(a) = Key(c) = ABCH
1.3.2 Dạng biểu diễn thứ hai của khóa [2]
Định lý 1.6
Cho LĐQH а = (Ư,F) Khi đó mọi khóa к của a đều biểu diễn được dưới dạng к = LM trong đó L là một vế trái cực tiểu của F và M là khóa của
LĐQH a\L+
Ví dụ 1.18: Cho LĐQH а = (Ư,F) với tập phụ thuộc ư = ABCDEH và
tập phụ thuộc hàm F = {AE —> D, А —> с , E —> ВС, АС —» EH, BD —> С}.
Trang 31Ta có ML(F) = {A, E, BD} Ta thấy E+ = EBC ^ u vậy E không phải là khóa của a Ta dịch chuyển a theo E+.
Đặt b = a\E+ = (V,G), ta có V = ABCDEH \ EBC = ADH, F = {A->D,
A 0 (loại), 0 ->« 0 (loại), H - > A , A - > H , D - » 0 (loại)} = {A D, H—» A, A —» H} = {A —» DH, H —» A} Dễ ứiấy H là một khóa của b Như vậy EH là khóa của a, trong đó E là vế trái cực tiểu, H là khóa của a\E+
1.3.3 Bổ đề về siêu khóa trong phép dịch chuyển lược đồ quan hệ
Cho hai LĐQH a = <Ư,F>, b = <V,G> v à X c U Biết b = aVX Khi đó:i) Nếu M là siêu khóa của a thì M\x là siêu khoá của b.ii) Nếu z là siêu khoá của b thì z x là siêu khoá của a Nói riêng nếu X
c ơ „ v à z là siêu khoá của b thì z là siêu khoá của a
Hệ quả
(Hệ quả về siêu khóa trong phép dịch chuyển LĐQH)
Cho LĐQH a = (U,F) và tập thuộc tính X c u Khi đó nếu z là siêu khóa của lược đồ a\x+ thì x z là siêu khóa của lược đồ a
Chú ý
Để ý rằng hệ quả ừên không hoàn toàn tương tự như bổ đề về siêu khóa trong phép dịch chuyển LĐQH Điểm khác nhau chính là lượng dịch chuyển trong bổ đề về siêu khóa là X, trong hệ quả này là bao đóng của X, x + = 2 X
1.3.4 Bồ đề về khóa trong phép dịch chuyển LĐQH
Cho hai LĐQH a = (Ư,F), b = (V,G) và tập thuộc tính X CỊ u 0 Biết b = a\x Khi đó Key(a) = Key(b)
Trang 32KẾT LUÂN CHƯƠNG 1
Chương 1 trình bày một số khái niệm cơ bản nhất trong mô hình
dữ liệu quan hệ, các phép toán cơ bản, định nghĩa về phụ thuộc hàm, bao đóng cuả tập phụ thuộc hàm, bao đóng của tập thuộc tính, các tính chất của khóa cùng với thuật toán tìm khoá, phép dịch chuyển lược đồ quan hệ và một
số dạng biểu diễn của khóa và siêu khóa qua phép dịch chuyển lược đồ quan hệ