Lý do chọn đề tài: 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 ti
Trang 1Bộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2
NGUYỄN VĂN SƠN
NGHIÊN CỨU BAO ĐÓNG TRONG MÔ HÌNH DỬ LIỆU DẠNG
Trang 2NGHIÊN CỨU BAO ĐÚNG TRONG MÔ HÌNH DỮ LIỆU DẠNG
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 • •
Trang 3Để 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 TS Trịnh Đình Vinh đang công tác tại trường Đại học Sư Phạm Hà Nội II đã trực tiếp hướng dẫn, định hướng chuyên môn, quan tâm giúp đỡ 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 Bên cạnh đó, 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 22 tháng 12 năm 2014
Hoc viên
Nguyễn Văn Sơn
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 TS Trịnh Đình Vinh 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
LỜI CẢM ƠN
Trang 4dẫ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.
Nguyễn Văn Sơn
LỜI CẢM ƠN
Trang 5MỤC LỤC
Trang
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
BẢNG KÍ HIỆU CÁC CHỮ CÁI VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
DANH MỤC CÁC KÝ HIỆU, CHỮ CÁI VIÉT TẮT
Trong luận án này dùng thống nhất các kí hiệu và các chữ viết tắt sau:
А, В, С Thuộc tính
X, Y, z Tập thuộc tính
XY XuY (hợp của 2 tập thuộc tính X YỠ Y)
ABC [А, В, С] (tập thuộc tính gồm 3 phàn tử А, в, C)
Dom(A) Miền giá trị của thuộc tính A
r hoặc r(R) Khối r trên tập R
(i) ,
X = (x, A.) Các thuộc tính chỉ sô của 1-ợc đô khôi (xeid, i = l „
(i) (i)|
id = {x I xeid } Tập các thuộc tính chỉ sô của 1-ợc đô khôi
|r| Số phần tử của khối r
|r|' Số phần tò của khối con r’ của khối r
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài:
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 Từ những năm 70 của thế kỉ trước, mô hình
dữ liệu quan hệ do Edgar Frank Codd (Nhà khoa học máy tính người Anh) đưa
ra với cấu trúc hoàn chỉnh đã tạo nên cơ sở nền tảng cho các vấn đề nghiên cứu
lý thuyết về CSDL
Để 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 Ngoài những mô hình được sử dụng trong hệ thống cơ sở dữ liệu đã có từ lâu và được rộng rãi 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ệ
Trong những năm gần đây, 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 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ệ
Để góp phần hoàn chỉnh thêm về mô hình dữ liệu dạng khối tôi chọn đề tài là “ N g h i ê n c ứ u b a o đ ó n g t r o n g m ô h ì n h d ữ l i ệ u d ạ n g
k h ố i”cho luận văn của mình
Bao đóng có vai trò rất quan trọng trong cơ sở dữ liệu Với mục tiêu tìm hiểu về bao đóng trong mô hình dữ liệu dạng khối cũng như các khái niệm liên quan, trong đề tài nghiên cứu đã tìm hiểu sâu về bao đóng trong mô hình dữ liệu dạng khối và tính chất mở rộng của bao đóng trong mô hình dữ liệu dạng
khối
2 Mục đích nghiên cứu
7
Trang 8Tì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 các tính chất mở rộng của bao đóng trong mô hình dữ liệu dạng khối.
Trình bày và chứng minh các tính chất của bao đóng trong mô hình dữ liệu dạng khối, đặc biệt là tính chất mở rộng của bao đóng trong mô hình dữ liệu dạng khối
3 Nhiệm vụ nghiền cứu
Nghiên cứu lý thuyết về mô hình dữ liệu dạng khối Cụ thể là các tính chất mở rộng của bao đóng trong mô hình mô hình dữ liệu dạng khối
4 Đổi tượng và phạm vỉ nghiên cứu
- Đối tượng : Bao đóng trong mô hình dữ liệu dạng 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
6 Giả thiết khoa hoc
Phát biểu và chứng minh một số tính chất mở rộng của bao đóng trong
mô hình dữ liệu dạng khối
KẾT QUẢ ĐẠT ĐƯỢC TRONG LUẬN VĂN
Luận văn bao gồm: Lời mở đầu, 3 chương và phần kết luận Các kết quả đạt được của luận văn được trình bầy trong chương 3
Chương I: Mô hình dữ liệu quan hệ.
Chương này đã trình bày một số các khái niệm cơ bản nhất trong mô hình dữ liệu quan hệ Trình bày các phép toán cơ bản, các khái niệm về phụ thuộc hàm, bao đóng, khóa cùng với các tính chất của chúng Ngoài ra các thuật toán tìm
8
Trang 9khoá, bao đóng và phép dịch chuyển lược đồ trong mô hình dữ liệu quan hệ cũng được trình bày trong chương này.
Chương II: Mô hình dữ liệu dạng khối.
Nội dung chương này 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 Trình bầy 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 cùng với các thuật toán tìm bao đóng, tìm khóa của lược đồ khối Ngoài ra chương này còn trình bầy phép dịch chuyển của lược đồ khối
Chương III: Tính chất mở rộng của bao đóng trong mô hình dữ liệu
dạng khối.
Phát biểu và chứng minh tính chất của bao đóng, tính chất mở rộng của bao đóng tập thuộc tính chỉ số trong mô hình dữ liệu dạng khối, xây dựng chương
trình Demo minh họa thuật toán tìm bao đóng của tập thuộc tính chỉ số trong
mô hình dữ liệu dạng khối
Kết quả đạt được :
- Tìm hiểu về mô hình dữ liệu dạng khối cũng là một mở rộng tự nhiên của mô hình dữ liệu quan hệ trong đó tìm hiểu kĩ hơn về bao đóng của tập chỉ số và một vài tính chất cơ bản của nó trong mô hình dữ liệu dạng khối
- Phát biểu và chứng minh các tính chất mở rộng của bao đóng tập thuộc tính chỉ
số trong mô hình dữ liệu dạng khối
Giới thiệu bài toán và xây dựng chương trình Demo tính bao đóng của tập thuộc tính chỉ số trong mô hình dữ liệu dạng khối
CHƯƠNG I: MÔ HÌNH DỮ LIỆU QUAN HỆl.l Các khái niêm cơ bản:
1.1.1 Thuộc tính và miền thuộc tính: [6,7]
- 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
9
Trang 10V í d ụ : SINHVIEN (MaSV, Hoten, NgSinh, Đchi).
Đối tượngSINHVIEN 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 được gọi là miền giá trị 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ụ: Dom(MaSV) = {char(4)}; Dom(Hoten) = {char(3)};
Dom(NgSinh) = {date}; Dom(Đchi) = {‘HN\ ‘VP\ ‘BN’
1.1.2 Quan hệ và lược đồ quan hệ :
Trang 11Một bộ q là một vectơ gồm n thành phần thuộc tập hợp con của tích Đề-Các miền giá ừị của các thuộc tính và thỏa mãn tân từ đã cho của quan hệ.
Ví dụ : Xét bảng SINHVIEN ta có:
Bảng 1.2 Quan hệ SINHVIEN Bộ giá trị: (T001,
Nguyễn Lan Anh, TIN1, 7) là một bộ
Nếu một bộ t = (di, d2, dm) £ r, r xác định trên tập thuộc tính u, X c u thì t(X) được gọi là giá trị của tập thuộc tính X trên bộ t Nếu X = {Al5 A2,
AK) thì t.x = (di, d2, dK)
Lược đồ quan hệ[ 6,7]
1
Trang 12Tâ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ínhu = {Ai, A2, An} được viết là R(U) hoặc R{A1? A2, An}
1.2 Các phép toán đại số trên lược đồ quan hệ:
Trang 131.2.2 Phép giao[6] :
Cho hai quan hệ r và s khả hợp Giao của r và s ký hiệu r n s là một quan hệ gồm tất cả các bộ thuộc r và thuộc s Ta có: r n s = { t | t e r v à t es}
Ví dụ : Cho hai bảng: Sinhvienl
Bảngl.4.Biểu diễn quan hệ sinhvienln sinhvien2
1.2.3 Phép trừ [6]:
Cho hai quan hệ r và s khả hợp Hiệu của r và s ký hiệu là r - s là tập tất cả
các bộ thuộc r nhưng không thuộc s Ta có: r- s = {t I te r vàt Ể }
Trang 14Bảngl.5 Biếu diễn quan hệ Sinhvien2 Sinhvien2 - Sinhvienl
Sinhvienl-Bảng 1.6.Biểu diễn quan hệ Sinhvien2-Sinhvienl
1.2.4 Tích Đề - các [6]:
Cho hai quan hệ r và s bất kỳ có tập thuộc tính lần lượt là Ui và u 2với UiO
Ư2 = Tích đề các của r và s ký hiệu là: r X s là một quan hệ trên UiO u2
gồm tập tất cả các bộ ghép được từ các bộ của r và s Ta có: r X s = |t = (u,v)/Vu e r, V € sj Ví dụ : cho hai bảng
và bảng s
Trang 15Ví dụ : Cho bảng r gồm những thuộc tính sau:
Điểm TB thì phép chiếu sẽ được sử dụng như sau: H m ã s v, lớp Điểmra(sinh viên) = q u a n h ệ k ế t q u ả
Bảng 1.7 Biểu diễn quan hệ r X s
D1224856
và Ta có :nBD(r)
AВСDa1i2b2g4D
Trang 16Bảng 1.8 Biểu diễn phép chiếu : nmẫSY ỉởp Đi i mra(sinh viên).
1.2.6 Phép chọn [6]:
Phép chọn là phép toán lọc lấy ra một tập con các bộ của quan hệ đã cho thoả mãn một điều kiện xác định Điều kiện đó được gọi là điều kiện chọn hay biểu thức chọn
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: >, <, =, >, #, <
1
Trang 17- 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}
Sinhvien
Bảng 1.9 Biểu diễn phép chọn : ỗĐiểm TB
>5(Sinhvien)
Trang 19Bảng 1.10 Biểu diễn phép nối tự nhiên giữa 2 quan hệ Bảng biểu diễn phép kết nối tự nhiên giữa quan hệ Sinhvien và bangma.Phép nối tự nhiên ngoài tạo ra bảng sinhvienl và có thêm dòng ứng với giá trị:1
Trang 20Ma sv là T003 nhưng cột: Họ và tên nhận giá trị rỗng.
1.2.8 Phép chia[6,7]:
Cho hai quan hệ r(U) và r(V) = {A1,A2, ,An}, Ve 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 được bộ thuộc r: r -7- s ={ 11 V ues, (t,u)er}
Ví dụ : 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)
ĐiêmMl Điêm M2
Trang 21hiệ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ụ :Quan hệ SINHVIEN
Bảng 1 11 Quan hệ SINHVIEN Trong 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}
Khái niệm phụ ứiuộc hàm miêu tả một loại ràng buộc (phụ thuộc dữ liệu) xảy
ra tự nhiên nhất giữa các tập thuộc tính
1.4 Hệ tiền đề Armstrong
Gọi F là tập xác định của các phụ thuộc hàm đối với lược đồ quan hệ R và X
- * Y là một phụ thuộc hàm X, Y != R Nói rằng X Y được suy diễn logic từ F nếu mỗi quan hệ r trên R đều thỏa mãn phụ thuộc hàm của F thì cũng thỏa mãn X -í- Y Chẳng hạn F = {A - f - B, B -í- C} thì A c suy diễn logic từ F Gọi
F+ là bao đóng của F, tức là tập tất cả các phụ thuộc hàm được suy diễn logic
từ F Neu F = F+ ứiì F là họ đầy đủ của các phụ thuộc hàm
Đe có thể xác định khóa của một lược đồ quan hệ và các suy diễn logic giữa các phụ thuộc hàm cần thiết phải tính được F+ từ F Do đó đòi hỏi phải có các
hệ tiên đề Tập các quy tắc của hệ tiên đề được Armstrong đưa ra ( 1974 ) thường được gọi là hệ tiên đề Armstrong
Trang 22- A2 ( tăng trưởng ): Neu z £ R và X ->■ Y thì xz YZ
- A3 ( bắc cầu ): Neu X -> Y và Y -> z thì X -í z
Trong đó ký hiệu xz là hợp của hai tập X và z thay cho ký hiệu X Ư z
1.5 Bao đóng trong lược đồ quan hệ :
Đ ị n h n g h ĩ a 1 2: Cho tập phụ thuộc hàm F, bao đóng của tập phụ thuộc hàm F ký hiệu F+: 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 I 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çG thì F+ç= 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ụ : Cho F = {A -> в, с -> X, вх —» Z} Khi đó AC —> z e F + ?
-Vi A - > B => AX —> BX
- Từ AX —> BX , kết hợp BX ->z, suy га AX -> z.
-Tù c ^ x 4 AC AX
- Áp dụng tính chất bắc cầu, AC —> AX và A X - ^ Z suy ra AC ->ZEF+
1.5.2 Bao đóng của tập thuộc tính [6,7]:
Đ ị n h n g h ĩ a 1 3 : Cho lược đồ quan hệ R xác định trên tập thuộc tính
U , X c
u. Bao đóng của tập thuộc tính X ký hiệu là x + : là tập tất cả các thuộc tính A
mà X—»A được suy diễn từ F Ta có: x + = {A IX -» A e F + }
C á c t ỉ n h c h ấ t c ủ a b a o đ ó n g : á ự d L 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 23Bướ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 laị lặp lại bước 2 Ví dụ: Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F,
F={ fi:B -> A; f2:DA -> CE ; f 3: D -> H; f 4: GH —> с ;f5: AC —> D } Tìm bao đóng của các tập X = {AC} dựa trên F
Giải: - Bl: X 0 = AC
- B2: Do fb f2, f3, f4 không thoả mãn f5 thoảmãn vì x +□ AC Xi =
АС u D = ACD Lặp lại bước 2:
fi không thoả, f2
thoả YÌ Xj2 AD,
X 2 = ACD u CE = ACDE f 3 thoả vì x 2 3 D, X3 =ACDE и H =
ACDEH f 4 không thỏa, f5 không xét vì đã thỏa
Lặp lại bước 2: f2,ß khôngxét vì đã thoả, fl,f4 không thoả,f5 không xét
vì đã thỏa Trong bước này X3 không thay đổi => X+= X3={ACDEH} là bao đóng của X
Đ ị n h l ý l 4 : Thuật toán tìm bao đóng cho kết quả Xj = x+
Ví dụ: Cho tập thuộc tính и = {А, B, c, D, E, G, H} và tập phụ thuộc hàm F
= {A -> D, AB -> DE, CE -> G, E -> H}
2
Trang 24Tính (AB) +
f Bước
0: x 0 = AB
Bước 1 : Xi = X0U {D} vì CÓ A —> D thỏa mãn điều kiện
Bước 2: x2 = {E} vì có AB —» DE thỏa mãn điều
H ệ q u ả :
• Q là lược đồ quan hệ F là tập phụ thuộc hàm, A là thuộc tính chỉ xuất hiện ở
vế phải của các phụ thuộc hàm trong F thì x+ = (X - A)+ и А
• Q là lược đồ quan hệ F là tập phụ thuộc hàm, X là tập con của Q+ và Y là thuộc tính chỉ xuất hiện ở vế phải của các phụ thuộc hàm trong F thì x+c X
u Y.
Đá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ệ
1.6 Khóa của lược đồ quan hệ Định nghĩa
7.5[6]
Cho s = < Ư, 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) e F+
- Không tồn tại z <z К sao cho ( z —► и ) G 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 к 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
2
Trang 25■ ( K - A )+í U , VA ẽ K Các tính
chất của khóa trong lược đồ quan hệ Đ ị n h l ý
1 6 [6] ( Đặc trưng của các thuộc tính khóa)
Cho К là 1 khóa của LĐQH а = ( Ư,F ) Khi đó với mọi tập con X của к ta
có x + n К = X
Đ ị n h l ý 1 7[6]( Công thức tính giao các khóa)
Cho LĐQH а = ( и,F ) với n thuộc tính trong и và m PTH trong F Gọi ƯI
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 26K: = ( u \ B )
If ( Ư \ B )+C u then BeginK: =K u (A n B)
Xét (K - C)+ = (ABE)+ = ABCDEG = ư =>K = ABE (K -
B) + = (AE) + = ADEG Ỷ ư.
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.7 Phép dịch chuyển lược đồ [2,3]:
Quản lý 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 dài dữ liệu vào đã được công bố như thuật toán tính bao đóng của tậpthuộc tính, thuật toán tìm một khóa, thuật toán xác địnhthành viên hay thuậttoá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
2
Trang 27Một nhận xét tự nhiên là nếu kích thước của LĐQH càng nhỏ thì các thuật toán càng phát huy hiệu quả hơn Một số hướng nghiên cứu tinh giản các các lược đồ cơ sở dữ liệu được thực hiện thông qua các phép biến đổi tương đương, chẳng hạn đưa tập phụ thuộc hàm 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 p h é p d ị c h c h u y ể n l ư ợ c đ ồ q u a n 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 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ố PTH sec được loại bỏ theo, YÌ 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 - ^ > X )
Cho hai LĐQH a = (Ư, 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 đượ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 0(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 :
2
Trang 28- G chứa các PTH tầm thường (dạng X —> Y, X 2 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ụ : 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) = a\M
Ta có : v= IAA.DH = 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ĐQH 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 YỚi độ phức tạp O(mn)
Trang 29Đ ị n h l ý : Cho LDQH a = (U,F) và hai tập con không giao nhau X và Y trong
u, khi đó
( X Y ) * r = X Y * r ư H ệ q u ả :
(công thức tính bao đóng cho một tập thuộc tính)
Cho LĐQH a = (U,F) và tập X ç U , khi đó X+ F = X(0)+ FVX
Ví dụ : Cho LĐQH a = (U,F), и = ABCDEH, F= {AB —> D, BC —> E, E —>
2
Trang 30Mô hình dữ liệu quan hệ có tính độc lập dữ liệu cao, dễ dàng sử dụng và còn cho phép dễ dàng mô phỏng các hệ thống thông tin đa dạng trong thực tiễn.
Trong mô hình này, cơ sở dữ liệu được xem như là một tập hợp các quan hệ, mỗi quan
hệ có thể được hình dung một cách trực quan như là một bảng chữ nhật gồm có các hàng
và các cột Ở bảng này mỗi cột ứng với một thuộc tính, mỗi hàng được gọi là một bộ Do các quan hệ có cấu trúc phẳng (tuyến tính) nên mô hình này sẽ rất khó khăn khi biểu diễn các dữ liệu có tính chất động (phi tuyến)
CHƯƠNG II : MÔ HÌNH DỮ LIỆU DẠNG KHỐI
2.1 Khốỉ, Lược đồ khối, Lát cắt [1,5,8]:
Đ ị n h n g h ĩ a 2 1 : Gọi R = (id; Aj, A2, , A n) 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= 1,11 ) 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 —»dom(Ai)} i=7^
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ý này 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 DU), 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ù 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 BANHANG, cụ thể như sau:
ChọnR = (id; Ai, A A3, A4), trong đó:
3