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.. Đe g
Trang 1Bộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2
NGÔ 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,
Trang 2Bộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2
NGÔ MINH LOAN
KHOA VẢ SIEƯ KHOA 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 YĂN THẠC SỸ MÁY TÍNH
Ngưòi hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn này em xin chân thành gửi lời cảm ơn đến quý thầy cô trong trường Đại học Sư phạm Hà Nội 2, các thầy trong Viện Công nghệ thông tin thuộc Viện Hàn lâm Khoa học và Công nghệ Việt Nam, các anh chị thư viện Viện Công nghệ thông tin thuộc Viện Hàn lâm Khoa học và Công nghệ Việt Nam, thư viện trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên, trung tâm học liệu Đại học Thái Nguyên, thư viện Đại học Công nghệ - Đại học Quốc gia
Hà Nội đã quan tâm giúp đỡ trong quá trình thực hiện đề tài Nhờ đó tôi đã tiếp thu được nhiều ý kiến đóng góp và nhận xét quý báu của quý thầy, cô thông qua các buổi trao đổi thông tin và bảo vệ đề cương
Em xin gửi lời cảm ơn sâu sắc nhất đến PGS.TS Trịnh Đình Thắng đang công
tác tại trường Đại học Sư Phạm Hà Nội 2 đã trực tiếp hướng dẫn, định hướng chuyên môn, tận tâm chỉ bảo trong quá trình thực hiện luận văn
Em xin bày tỏ sự biết ơn sâu sắc đến gia đình đã tạo mọi điều kiện tốt nhất để
em có thể hoàn thành tốt mọi công việc trong quá trình thực hiện luận văn Em cũng xin gửi lời cảm ơn của mình tới bạn bè và đồng nghiệp, luôn quan tâm, chia sẻ, động viên em trong suốt thời gian thực hiện luận văn
Mặc dù đã rất cố gắng trong quá trình thực hiện nhưng luận văn không thể tránh khỏi những thiếu sót Em xin mong nhận được sự góp ý của quý thầy cô, quý đồng nghiệp và bạn bè
Hà Nội, ngày 10 tháng 11 năm 2015 Học
viên
Ngô Mình Loan
3
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung được trình bày trong bản luận văn này là kế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 trong luận văn này
Hà Nội, ngày 10 tháng 11 năm 2015
Hoc viên
*
Ngô Minh Loan
4
Trang 5MỤC LỤC
TrangTrang bìa phụ
Trang 6DANH MỤC KÝ HIỆU VÀ CHỮ CÁI VIẾT TẮT
Trong luận văn này dùng thống nhất các ký hiệu và chữ cái viết tắt sau:
Trang 7DANH MỤC CÁC BẢNG
Trang 8Việ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 trong 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
Đe góp phần hoàn chỉnh 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
Trang 93 Nhiệm vụ nghiên cứu
Tìm hiểu khái quát về mô hình dữ liệu
Tì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 luợc đồ khối
4 Đối tượng và phạm vi nghiên cứu
- Đối tượng: Khóa và siêu khóa qua phép dịch chuyển.
- Phạm 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 10CHƯƠ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ệ
Đị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 111.1.1.2, Quan he, luffc dó quan he [6,7]
Dinh nghía 1.2 [6]
Cho U = {Ai, A2, An} la mot tap hüu han khóng róng các thuoc tính Moi thuoc tính Ai(i=l, 2, , n) có míen giá tri la Dom(Ai)- Khi dó r la mot tap các bo (hi, h2, hm} duoc goi la quan he tren U vói hj (j = 1, 2, ,m) la mot hám:
hj :U -> U sao cho hj (Ai) G DA¿ (i = 1, 2, ,n)
/ Tacó thé xem mot quan he nhu mot báng, trong dó moi háng (phán tu) la mot bo
va moi cot tuong úng vói mot thánh phán goi la thuoc tính Biéu dién quan he r nhu sau:
Bo giá tri: (SV01, A, 24/01/92, HN, TOAN) la mot bo
Aj
Báng 1.1 Vi du ve quan he r
MaSV
Trang 12Nếu có một bộ t = (di, d2, d3, dm) G r, r xác định trên U, X eU thì t(X) (hoặc t.X) được gọi là giá trị 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 trong 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 u = {Ai, A2, An} được viết là R(U) hoặc
Trang 13I.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 tat cä cäc bo thuoc r vä thuoc s Ta co: rns = { t | t e r v ä t es}
Vi du 1.4: Cho hai bang: Sinhvii
vä Sinh vien 2
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: r- s = {t I te r vä t g}
Trang 14?Bảngl.5 Biêu diên quan hệ Sinhvienl-Sinhvien2
Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần luợt là Ui và Ư2 với Ui n
u 2 = 0 Tích đề các của r và s ký hiệu là: r X s là một quan hệ trên Ui n u 2 gồm tập tất
cả các bộ ghép đuợc từ các bộ của r và s Ta có: rx s = jt = (u,v)/Vu er, v e s j
Trang 16Cầ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ẽ đuợc sử dụng nhu sau: YímãSK lớp Điểm ra(SV) = quan hệ
Biểu thức chọn F đuợ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 ter AF(Í) = đúng}.
Mã sv
Trang 17r XI s = {t = (u, v) / u e r A V es A F(t) đúng}
F
Do đó, phép kết nối chính là một phép chọn trên tích đề các
r X s = ôF(r X s) F
Điều kiện kết nối F là tố hợp logic của các toán hạng trong đó mỗi toán hạng là một phép so sánh giữa thuộc tính của r và s
T003 rn A rnTran Trang TIN2 8
Trang 18Ví du 1.9
sv
Phép nôi tự nhiên giữa 2 quan hệ trên sẽ có kêt quả sau:
Bảng 1.9 Biểu diễn phép nối tự nhiên giữa 2 quan hệ
Cho hai quan hệ r(U) và r(V) ={Ai,A2, ,An}, Vc u Phép chia của quan hệ r cho quan hệ s ký hiệu là: r s là một quan hệ trên u - V gồm các bộ t sao cho tồn tại bộ
ue s và ghép t với u ta đuợc bộ thuộc r: r s ={ 11 V ues, (t,u)er)
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 duới 5 điểm)
Cho 2 quan hệ
Mã sv Họ và tên T001 Nguyễn Lan Anh T002 Nguyễn Văn Bình
Và bangma
Trang 19Bảng 1.10 Biểu diễn phép chia
•
Định nghĩa 1.4 [6]
Cho lược đồ quan hệ R xác định trên tập thuộc tính u Cho X, Y là hai tập con
của u Nói rằng X xác định hàm Y hay Y phụ thuộc hàm vào X và ký hiệu X -► Y nếu
với mọi quan hệ r xác định trên R và với 2 bộ ti, t2 bất kỳ mà
t1(X) = t2(X)thìt1(Y) = t2(Y)
Ví dụ 1.11 Quan hệ SINHVIEN
Sinhvien
MaS
Bảng 1.11 Quan hệ SINHVIEN
Trang 20Trong quan hệ SINHVIEN, dựa vào định nghĩa phụ thuộc hàm của quan hệ ta
{MaSV} —► {Hoten, Diachi, Tinh, Khuvuc}
- Thuộc tính là các đặc điểm riêng của một đối tuợ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ô huớng (là các kiểu dữ liệu cơ bản nhu chuỗi, số, logic, ngày tháng ) hoặc các kiểu có cấu trúc đuợ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 tuợ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ọp 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 đuợc gọi là miền giá trị của thuộc tính A, thuờng đuợc kí hiệu là Dom(A) hay viết tắt là DA
i
Ví dụ 1.11: Dom(MaSV) = {char (4)}; Dom(Hoten) = {char (3)};
Dom(NgSinh) = {date}; Dom(Đchi) = {‘HN’, ‘VP’, ‘BN’, };
• Tính chất phản xạ: Với mọi tập phụ thuộc hàm F ta luôn có F C F+
• Tính chất đơn điêu: Neu F d G thì F+ d G+
• Tính chất lũy đẳng: Với mọi tập phụ thuộc hàm F ta luôn có F++ = F+ Ví
dụ 1.13: Cho F = (A —> B, c —> X, BX -> Z} Khi đó AC z e
-Vì A —> B => AX —> BX
- Từ AX -> BX , kết hợp BX -> z, suy ra AX -► z
Trang 21Cá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:
Thuậ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, x2, theo phương pháp
sau:
Bước 1 : Xo = 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+
Yí dụ 1.14: Cho tập thuộc tính U = (A, B, c, D, E, G, H} và tập phụ thuộc hàm F = {A
Trang 22-» D, AB -» DE, CE G, E H}
Tính (AB)+
FBước 0: Xo = ABBước 1 : Xi = X0U {DỊ vì CÓ A —> D thỏa mãn điều kiện Bước 2: x2 = XiU {E} vì có AB —» DE thỏa mãn điều kiện Bước 3: x3 = X2U {H} vì có E -» H thỏa mãn điều kiện Bước 4: X4 = x3 = 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ệ.
Định nghĩa 1.7 [6]
Cho s = <U,F> là 1 lược đồ quan hệ, u 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 K 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 K 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 trên có thể suy ra rằng K 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
- ( K - A )+* U , VA G K 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 K là 1 khóa của LĐQH a = (U,F) Khi đó với mọi tập con X của K ta có x+
n K = X
Định lý 1.3 (Công thức tính giao các khóa)
Cho LĐQH a = (U,F) với n thuộc tính trong u và m PTH trong F Gọi Uj 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
Trang 23• Nếu (U \ B) + = u =>(U \ B) là khoá duy nhất của lược đồ quan hệ R = <
K là khóa của lược đồ quan hệ R = <u , F>
End
Trang 24Ví dụ 1.15: u ={A, B, c, D, E, G}, F = (B —> c, c —> B, A —> GD}
x= ABC, Y = BCDG , X n Y = BC.
(U \ Y) = AE không là khóa của <u , F> vì (U \
Y)+ = (AE)+ = AEDG Ỷ u.
ABCDEG = u =>K = ABE (K - B)+ = (AE)+ = ADEG + u.
Vậy K = ABE là khóa (2)
Từ (1) và (2) suy ra khóa của lược đồ quan hệ trên là Ki = ACE; 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ĐQTI thu được qua phép dịch chuyển không tưong đưong với LĐQTI 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 đon 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ố PTTI sec được loại bỏ theo, vì chúng trở thành các PTTI 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 PTTI dạng 0—> X)
Cho hai LĐQH a =(U,F), b =(V,G) và tập thuộc tính M c U , 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
Trang 25đượ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 u
- 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, F\M) đượ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 D Y ) thì ta loại các PTH này
khỏi G
- G chứa các PTTI trùng lặp thì ta lược bớt các PTTI này
Ví dụ 1.16: Cho LĐQH a = (U,F), u = ABCDEH, F = ( AE -> D, A -> DH, BC
-> E, E -> BC} Với M = ADH, hãy xác định b = (V,G) = a\M
Ta có: v= U\ADH = ABCDEH\ADH = BCE, G = {E —> 0 (loại), 0 -> 0 (loại), BC —»
E, E -> BC} = (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ĐQTI
trên tập thuộc tính u và X, Y là 2 tập con của u thì: a\(XY) = (a\X)\Y trong trường hợp
X và Y là hai tập con rời nhau của u ta có: a\XY = (a\X)\Y = (a\Y)\X
Thuật toán Translation dưới đây mô tả phép dịch chuyển một LĐQH với độ
Trang 26có vế trái và vế phải rời nhau và gộp các PTH có cùng vế trái.
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ệ [2]
Định lý 1.5
Nếu dịch chuyển LĐQH a = (U,F) theo tập X Ç u để nhận được LĐQH b=a\x
thì:
a) Key(a) = Key(b) khi và chỉ khi X c U ( i
b) Key(a) = X©Key(b) khi và chỉ khi X ç U i Ví dụ
1.17
- Cho LĐQH a = (U,F) với tập phụ thuộc u = ABCDEH và tập phụ thuộc hàm F
= (AE -» D, BC -» E} Ta được tính giao các khóa Eh = ABCDEH \ DE = ABCH ĐẶt b = (V,G) với V = U\ABCH = DE, G = F\ABCH = {E—»D, 0—Æ} 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 UK = ABCH nên Uo = U\UK = BCDEH\ ANCH = DE Đặt c = a\DE = (P,W) ta có p = U\DE = ABCH, w = F\DE = {A-
>0 (loại), BC-»0 (loại)} =0 và do đó Key(c) = ABCFI Theo định lý về dạng
Trang 27biểu diễn thứ nhất của khóa , vì Uo = DE nên Key(a) = Key(c) = ABCH.
Định lỷ 1.6
Cho LDQFI a = (U,F) Khi đó mọi khóa K của a đều biểu diễn được dưới dạng
K = 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 LDQFI a = (U,F) với tập phụ thuộc U = ABCDEFI và tập phụ
thuộc hàm F = (AE —» D, A —» c, E —» BC, AC —» EH, BD —» C}
Ta 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ễ thấ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+
Cho hai LĐQH a = <U,F>, b = <V,G> v à X c U Biết b = a\x 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ì zx là siêu khoá của a Nói riêng nếu X c ơ0 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ì xz là siêu khóa của lược đồ a.
Chú ý
Để ý rằng hệ quả trê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+ ỊD X
Trang 28Cho hai LĐQH a = (U,F), b = (V,G) và tập thuộc tính X CỊ u0 Biết b = a\x Khi
đó Key(a) = Key(b)
KẾT LUẬN CHƯƠNG 1Chươ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ệ
Trang 29CHƯƠNG 2: MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Chương 2 trình bày các khái niệm cơ bản trong mô hình dữ liệu dạng khối như: khái niệm về khối, lược đồ khối, lát cắt, các phép toán cơ bản trên khối, khái niệm về bao đóng của tập phụ thuộc hàm, bao đóng của tập thuộc tính chỉ số, khóa của lược đồ khối R cùng với các thuật toán tìm bao đóng, tìm khóa của lược đồ khối và phép dịch chuyển lược đồ khối Các vấn đề trình bày ở chương 2 được tham khảo trong các tài liệu [8]
2.1 Khối, Lát cắt [8]
Khối được định nghĩa như sau:
Định nghĩa 2.1[8]: Gọi R = (id; Ai, A2, , An) là một bộ hữu hạn các phần tử,
trong đó id là tập chỉ số hữu hạn khác rỗng, Ai (i = l,n ) là các thuộc tính Mỗi thuộc tính Ai (i =l,n) có miền giá trị tương ứng là dom(Ai) Một khối r trên tập R, kí hiệu r(R) gồm một số hữu hạn phần tử mà mỗi phần tử là một họ các ánh xạ từ tập chỉ số id đến các miền trị của các thuộc tính Ai (i=l,n) Nói một cách khác:
t e r(R) <=> t = ứ : id -klomtAi)} i =77
Ta kí hiệu khối đó là r(R) hoặc r(id; Ai, A2, , An), hoặc kí hiệu đơn giản là r Khi đó khối r(R) được gọi là có lược đồ khối R Như vậy trên cùng một lược đồ khối R
ta có thể xây dựng được nhiều khối khác nhau
Ví dụ: Công ty HONDA có các đại lý bán xe máy tại các tỉnh thành trong toàn quốc Các đại lý cùng bán các loại xe theo mẫu của nhà sản xuất là: Dream II (kí hiệu
DII), Wawe s (kí hiệu WS), Lead (kí hiệu Lead), SH model25 (kí hiệu SH) Mỗi quý
công ty lập biểu đồ theo dõi số lượng hàng được bán theo từng chủng loại xe tại mỗi đại lý (trên cơ sở số lượng bán hàng ra hàng ngày) Căn cứ vào các biểu đồ theo dõi của mỗi loại mặt hàng tại các đại lý này mà công ty điều chỉnh số lượng sản phấm phân cho các đại lý phù
Trang 30Hình 2.1: Biểu diễn khối BANHANG(R).
Với khối BANHANG(R) ở hình 2.1, ta thấy nó gồm 3 phần tử: ti, t2, t3 Khi đó ta cỏ:
•Số lượng xe bán của Đại lý 1 trong tháng 1 là:
Xe Dreamll = 80 chiếc, Xe WereS = 40 chiếc, Xe Lead = 20 chiếc Tháng 2:
Xe Dreamll =140 chiếc, Xe WereS = 70 chiếc, Xe Lead = 30 chiếc Tháng 3:
Xe Dreamll =120 chiếc, Xe WereS = 60 chiếc, Xe Lead = 25 chiếc
•Số lượng xe bán của Đại lý 2 trong tháng 1 là:
Xe Dreamll = 40 chiếc, Xe WereS = 20 chiếc, Xe Lead = 40 chiếc
hợp hơn Để đáp ứng yêu cầu trên công ty HONDA đã tiến hành xây dựng khối dữ liệu với tên gọi BANH ANG, cụ thể như sau:
Chọn R = (id; Al, A2 A3, A4), trong đó: id = {1/2013, 2/2013,3/2013, , 12/2013, và các thuộc tính là Ai = madl (mã đại lý), A2 = DE (Dream II), A3 =
4/■ 2 ^ _ 03/2013+— 02/2013 ^01/2013 ^