BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
55555555555555555555555555555555555555555555555555555555555555
5555555555555555555555555555555555555555555555
NGUYỄN TRƯỜNG GIANG
PHỤ THUỘC ĐA TRỊ
TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI
LUẬN VĂN THẠC SĨ MÁY TÍNH
HÀ NỘI, 2018
BỘ GIÁO DỤC2 VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
NGUYỄN TRƯỜNG GIANG
PHỤ THUỘC ĐA TRỊ
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 THẠC SĨ MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Trịnh Đình Thắng
TS Trần Minh Tuyến
i
LỜI CẢM ƠN
Hoàn thành luận văn này tôi xin chân thành cảm ơn các thầy cô giáo
trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện tốt nhất cho tôi trong suốt
quá trình học tập và nghiên cứu.
Tôi xin bày tỏ lòng biết ơn sâu sắc nhất đến PGS.TS Trịnh Đình Thắng
và TS Trần Minh Tuyến – những người hướng dẫn khoa học, đã tận tình
hướng dẫn tôi trong suốt quá trình học tập, nghiên cứu đề tài và giúp đỡ tôi
hoàn thành luận văn này.
Tôi xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, đồng nghiệp đã
luôn tạo điều kiện, ủng hộ, động viên trong suốt thời gian qua.
Mặc dù đã 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 sai sót. Tôi mong nhận được sự góp ý chân thành của quý
thầy cô, quý đồng nghiệp và bạn bè.
Xin trân trọng cảm ơn!
Hà Nội, tháng 8 năm 2018
Học viên
Nguyễn Trường Giang
ii
LỜI CAM ĐOAN
Tôi xin cam đoan đây là kết quả 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 và TS Trần Minh Tuyến. Tôi xin
cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn này là trung thực
và không trùng lặp với các đề tài khác. 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.
Hà Nội, tháng 8 năm 2018
Học viên
Nguyễn Trường Giang
iii
MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
CHƯƠNG 1...................................................................................................... 4
CÁC MÔ HÌNH DỮ LIỆU............................................................................. 4
1.1. Mô hình thực thể - liên kết ..................................................................... 4
1.2. Mô hình dữ liệu mạng ............................................................................ 4
1.3. Mô hình dữ liệu phân cấp....................................................................... 5
1.4. Mô hình hướng đối tượng ...................................................................... 6
1.5. Mô hình dữ liệu datalog ......................................................................... 7
1.6. Mô hình dữ liệu quan hệ ........................................................................ 7
1.6.1. Quan hệ, thuộc tính, bộ ................................................................... 8
1.6.2. Đại số quan hệ ................................................................................. 9
1.6.3. Phụ thuộc hàm, hệ tiền đề Armstrong ........................................... 17
1.6.4. Bao đóng của tập thuộc tính .......................................................... 19
1.6.5. Khóa của lược đồ quan hệ ............................................................. 22
CHƯƠNG 2.................................................................................................... 25
MÔ HÌNH DỮ LIỆU DẠNG KHỐI............................................................ 25
2.1. Khối, lát cắt của khối ........................................................................... 25
2.1.1. Khối, lược đồ khối ........................................................................ 25
2.1.2. Lát cắt ............................................................................................ 27
2.2. Các phép tính trên khối ........................................................................ 28
2.2.1. Phép chèn ...................................................................................... 28
2.2.2. Phép loại bỏ ................................................................................... 28
2.2.3. Phép sửa đổi .................................................................................. 29
2.3. Đại số quan hệ trên khối ...................................................................... 29
2.4. Một số tính chất của đại số quan hệ trên khối...................................... 35
2.5. Phụ thuộc hàm ...................................................................................... 36
2.6. Bao đóng trong mô hình dữ liệu dạng khối ......................................... 37
2.6.1. Bao đóng của tập các phụ thuộc hàm............................................ 37
2.6.2. Bao đóng của tập các thuộc tính chỉ số ......................................... 38
2.7. Khóa của lược đồ khối R đối với tập F trên R ..................................... 41
2.8. Khối đồng mức ..................................................................................... 45
CHƯƠNG 3.................................................................................................... 46
PHỤ THUỘC ĐA TRỊ TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI.... 46
3.1. Khái niệm ............................................................................................. 46
3.2. Các tính chất của phụ thuộc đa trị trên lược đồ khối ........................... 47
3.3. Phụ thuộc đa trị trên lược đồ khối và lược đồ lát cắt ........................... 49
KẾT LUẬN .................................................................................................... 55
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................... 56
iv
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Ký hiệu
Ý nghĩa
CSDL
Cơ sở dữ liệu
Dom(A) hoặc dom(A)
Miền giá trị của thuộc tính A
<=>
Tương đương
=> hoặc
Suy ra
∪
Phép hợp
∩
Phép giao
∃
Tồn tại
∄
Không tồn tại
∈
Thuộc
Không thuộc
Là con(chứa trong)
Chứa
∅
Rỗng
∀
Với mọi
¬
Phủ định
→
Kéo theo
|=
Suy diễn logic
1
MỞ ĐẦU
1. Lý do chọn đề tài
Để có đượ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 phù hợp đã được sử dụng trong các hệ thống cơ sở dữ liệu
như: Mô hình thực thể - liên kết, mô hình phân cấp, mô hình hướng đối
tượng, mô hình mạng, mô hình quan hệ và mô hình dữ liệu datalog. Có ba mô
hình dữ liệu trong số các mô hình được nêu tên, thường được sử dụng là mô
hình quan hệ, mô hình phân cấp và mô hình mạng. Trong số này, mô hình
quan hệ đặc biệt được chú trọng. Mô hình quan hệ được E.Codd đề xuất vào
năm 1970. Tuy nhiên, các quan hệ có cấu trúc phẳng (tuyến tính) và vì thế mô
hình này chưa đủ đáp ứng cho các ứng dụng phức tạp hay các cơ sở dữ liệu
cấu trúc phi tuyến tính, …
Những năm gần đây, việc nghiên cứu để mở rộng mô hình dữ liệu quan
hệ đã được các nhà khoa học quan tâm. Theo hướng nghiên cứu này, mô hình
dữ liệu dạng khối - một mô hình dữ liệu mới đã được đề xuất. Đây được xem
là một mô hình mở rộng của mô hình dữ liệu quan hệ.
Trên thực tế, dữ liệu thường rất lớn và đa dạng. Để nắm bắt được những
quy luật biến đổi trong dữ liệu, ta phải phân tích một cách tường tận quan hệ
giữa các dữ liệu với nhau. Một trong những quan hệ đóng vai trò quan trọng
trong bài toán khai phá dữ liệu, đó là sự phụ thuộc giữa các thuộc tính của dữ
liệu. Chẳng hạn, phụ thuộc hàm X → Y biểu diễn sự phụ thuộc của giá trị
thuộc tính Y theo giá trị thuộc tính X. Những giá trị của thuộc tính X xác định
duy nhất giá trị của thuộc tính Y. Nhưng sự phụ thuộc này không phải là duy
nhất. Trên thực tế còn các loại phụ thuộc khác như: những giá trị của thuộc
tính X không phải là xác định duy nhất giá trị của thuộc tính Y. Sự phụ thuộc
này được gọi là phụ thuộc đa trị.
2
Để thấy rõ được tính đa trị trong phụ thuộc hàm và vai trò quan trọng
của phụ thuộc đa trị trong việc thiết kế và xây dựng cơ sở dữ liệu, em lựa
chọn đề tài nghiên cứu là “Phụ thuộc đa trị trong mô hình dữ liệu dạng
khối” nhằm góp phần hoàn thiện hơn lý thuyết về phụ thuộc đa trị trong mô
hình dữ liệu dạng khối.
2. Mục đích nghiên cứu
Tìm hiểu về một số tính chất mới của phụ thuộc đa trị trong mô hình dữ
liệu dạng khối.
3. Nhiệm vụ nghiên cứu
- Tìm hiểu về các mô hình dữ liệu .
- Tìm hiểu về mô hình dữ liệu dạng khối.
- Tìm hiểu thêm một số tính chất mới của phụ thuộc đa trị trong mô
hình dữ liệu dạng khối.
4. Đối tượng và phạm vi nghiên cứu
* Đối tượng nghiên cứu
- Các tính chất của phụ thuộc đa trị trong mô hình dữ liệu dạng khối.
* Phạm vi nghiên cứu
- Nghiên cứu lý thuyết về một số tính chất của phụ thuộc đa trị 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 suy luận và chứng minh.
6. Những đóng góp của đề tài
- Tìm hiểu mô hình dữ liệu dạng khối
- Các khái niệm và tính chất của phụ thuộc đa trị trong mô hình dữ liệu
dạng khối
3
- Phát biểu và chứng minh một số tính chất mới của phụ thuộc đa trị
trong mô hình dữ liệu dạng khối.
7. Cấu trúc luận văn
Luận văn gồm lời mở đầu, nội dung của ba chương, kết luận và tài liệu
tham khảo
Chương 1: Các mô hình dữ liệu
Chương này trình bày một số khái niệm cơ bản nhất về các mô hình dữ
liệu. Tập trung chủ yếu vào mô hình dữ liệu quan hệ do mô hình này có nhiều
ưu điểm, tính độc lập cao lại dễ dàng sử dụng. Trình bày được các phép toán
cơ bản các khái niệm về phụ thuộc hàm, hệ tiên đề Amstrong, khóa, bao đóng
cùng các tính chất trong mô hình dữ liệu quan hệ. Các thuật toán tìm khóa,
bao đóng trong mô hình dữ liệu quan hệ cũng được trình bày trong chương
này.
Chương 2: Mô hình dữ liệu dạng khối
Nội dung trong chương này trình bày về mô hình dữ liệu dạng khối như:
Khái niệm về khối, lát cắt của khối, các phép tính trên khối, đại số quan hệ và
các tính chất của đại số quan hệ trên khối, các phép toán về khóa, bao đóng và
phụ thuộc hàm trên khối cũng được trình bày.
Chương 3: Phụ thuộc đa trị trong mô hình dữ liệu dạng khối
Nội dung chương này trình bày khái niệm về các tính chất của phụ thuộc
đa trị, tính chất của phụ thuộc đa trị trên lược đồi khối và lược đồ lát cắt.
4
CHƯƠNG 1
CÁC MÔ HÌNH DỮ LIỆU
Nội dung chương này trình bày các khái niệm cơ bản về các mô hình dữ
liệu. Tập trung chủ yếu vào mô hình dữ liệu quan hệ do mô hình này có nhiều
ưu điểm, tính độc lập cao lại dễ dàng sử dụng đã được trình bày trong các tài
liệu [1], [5] ,[8], [9].
1.1. Mô hình thực thể - liên kết
Mô hình thực thể - liên kết (Entity-Relationship Model) gọi tắt là mô
hình ER. Là một mô hình dữ liệu ở mức phổ biến, tập trung vào các cấu trúc
dữ liệu và các ràng buộc.
Thuật ngữ “thực thể” (entity) không có một định nghĩa hình thức, cũng
giống như các thuật ngữ “điểm” và “đường” trong hình học ngầm được định
nghĩa bằng các tiêu đề về các đặc tính của chúng. Thực thể là một sự vật tồn
tại và phân biệt được, nghĩa là có thể phân biệt thực thể này với thực thể khác.
Một nhóm bao gồm tất cả các thực thể “tương tự” tạo ra một tập thực
thể (entity set). Các đặc tính của tập thực thể gọi là các thuộc tính.
Mô hình này trình bày các khái niệm cơ bản như: khóa, mối liên hệ,
phân cấp isa, ... Mục đích của mô hình này là cho phép mô tả lược đồ khái
niệm của một tổ chức mà không cần chú ý đến hiệu quả hoặc các chi tiết thiết
kế cơ sở dữ liệu vật lý.
1.2. Mô hình dữ liệu mạng
Ta có thể nói đơn giản rằng mô hình dữ liệu mạng (network data
model) là mô hình thực thể - liên kết mà ở đó các mối liên hệ bị ràng buộc
trong kiểu nhị phân và một nhiều. Hạn chế này cho phép ta dùng một mô hình
đồ thị có hướng cho các dữ liệu. Ở vị trí của các tập thực thể, mô hình mạng
đưa ra kiểu mẫu tin logic (logical record type). Một kiểu mẫu tin logic là tên
gán cho một tập các mẫu tin, được gọi là các mẫu tin logic (logical record).
5
Mẫu tin logic được cấu tạo bởi các trường (field) chứa các giá trị cơ bản như
số nguyên, chuỗi kí tự... Tập các tên trường và kiểu của chúng tạo nên khuôn
dạng mẫu tin logic.
Các thuật ngữ dành cho mô hình mạng gần như tương đồng với các
thuật dùng trong mô hình quan hệ. Tuy nhiên, có một sự khác biệt quan trọng
giữa bộ của quan hệ và mẫu tin của kiểu mẫu tin. Trong mô hình quan hệ, bộ
là giá trị của các thành phần. Hai bộ có cùng giá trị cho các thuộc tính giống
nhau chỉ là một bộ. Mô hình mạng thuộc loại hướng đối tượng, ít nhất theo
nghĩa nó hỗ trợ đặc tính nhận dạng đối tượng. Các mẫu tin của mô hình mạng
có thể được xem như là có một khóa “không nhìn thấy được” mà bản chất là
địa chỉ của mẫu tin, nghĩa là “đặc tính nhận dạng đối tượng” của nó. Dấu hiệu
nhận dạng duy nhất này làm cho các mẫu tin khác nhau, cho dù nếu chúng có
các giá trị giống nhau trong các trường hợp tương ứng.
Trong CSDL được xây dựng trên mô hình mạng, chúng có những con
trỏ vật lí chỉ đến những mẫu tin khác để biểu thị các mối liên hệ mà kiểu mẫu
tin của chúng có tham gia. Những con trỏ này làm cho hai mẫu tin có cùng giá
trị trường trở thành khác nhau và chúng ta không thể phân biệt được chúng
nếu chỉ quan tâm đến các giá trị trong trường.
1.3. Mô hình dữ liệu phân cấp
Mô hình dữ liệu phân cấp (Hierachical Data Model) - gọi tắt là mô hình
phân cấp (Hierachical Model). Ở mô hình này một phân cấp chính là một
mạng có nhiều cây, nghĩa là một tập các cây hay còn gọi là rừng, trong đó tất
cả các đường nối chỉ đi theo hướng từ con đến cha. Đường nối ở đây nếu
được biểu diễn bằng một mũi tên sẽ đi từ con đến cha để biểu thị khái niệm
“xác định duy nhất” chứ không phải là đường duyệt qua cơ sở dữ liệu theo
nghĩa ngược lại.
6
Các thể hiện của CSDL trong mô hình phân cấp tương ứng với một
lược đồ sẽ chứa một tập các cây có các nút là mẫu tin, mỗi cây được gọi là
một mẫu tin CSDL (database record). Một mẫu tin CSDL tương ứng với một
cây trong lược đồ CSDL và mẫu tin gốc của một mẫu tin CSDL tương ứng
với một thực thể của kiểu mẫu tin gốc.
1.4. Mô hình hướng đối tượng
Một đặc điểm chung của mô hình hướng đối tượng là chúng hỗ trợ:
Đặc tính nhận dạng đối tượng (Object Identity), các thuộc tính phức
(Complex object), phân cấp theo kiểu (Type hierarchy).
Tập tất cả các cấu trúc đối tượng (Object structure) được định nghĩa
trong mô hình này rất gần với tập các lược đồ cho các mẫu tin CSDL trong
mô hình phân cấp.
Mô hình hướng đối tượng không bị giới hạn trong khái niệm kiểu đối
tượng. Khái niệm cơ bản thực sự là lớp (class), đó là một kiểu đối tượng làm
cấu trúc dữ liệu nền tảng và một tập các phương pháp (method), đó là các
thao tác được thể hiện trên các đối tượng có cấu trúc thuộc về lớp đó.
Mô hình đối tượng gắn liền với mô hình dữ liệu phân cấp theo nghĩa là
nếu được cho trước một lược đồ phân cấp nào đó, ta có thể mô phỏng nó
trong mô hình hướng đối tượng bằng cách xem các con của một nút trong
lược đồ phân cấp như là các trường trong một cấu trúc đối tượng tương ứng n.
Các cấu trúc đối tượng cho các con của n lại có các con của chúng là các
trường...
Mô hình hướng đối tượng có thể diễn tả mọi cấu trúc của mô hình thực
thể - liên kết, nhưng để đảm bảo yêu cầu truy xuất hiệu quả các thông tin cần
thiết trong các cấu trúc đối tượng cũng không phải là một công việc đơn giản.
7
1.5. Mô hình dữ liệu datalog
Mô hình toán học nền tảng của dữ liệu trong datalog biểu thị các quan
hệ. Cũng giống như trong định nghĩa hình thức của đại số quan hệ, các quan
hệ này không có các thuộc tính để làm tên của các cột. Chúng là các quan hệ
theo nghĩa “tập danh sách”, ở đó các thành phần xuất hiện theo một thứ tự cố
định và ta tham chiếu đến một cột qua vị trí của nó trong danh sách các đối
của ký hiệu vị từ đã cho.
Trong mô hình dữ liệu datalog có hai cách để định nghĩa quan hệ. Một
vị từ có quan hệ được lưu trữ trong CSDL được gọi là quan hệ CSDL ngoại
xạ (extentional database relation: EDB), trong khi đó những quan hệ được
định nghĩa bởi các quy tắc logic được goi là quan hệ CSDL nội hàm
(intentional database relation: IDB).
Trong mô hình quan hệ, tất cả các quan hệ đều là EDB. Khả năng tạo ra
các khung nhìn (view) trong các mô hình quan hệ tương tự như khả năng định
nghĩa quan hệ IDB trong datalog.
Các chương trình datalog được xây dựng từ những công thức nguyên
tử, đó là những kí hiệu vị từ với một danh sách các đối. Một công thức
nguyên tử biểu thị cho một quan hệ, đó là quan hệ của vị từ được giới hạn
bằng cách:
- Chọn theo đẳng thức giữa một hằng và các thành phần mà ở đó là vị
trí của hằng.
- Chọn theo đẳng thức giữa các thành phần có biến giống nhau.
1.6. Mô hình dữ liệu quan hệ
Khái niệm toán học làm nền tảng cho mô hình quan hệ là các quan hệ
theo lý thuyết tập hợp. Đó là tập con của tích Đề-Các của một danh sách các
miền, mỗi miền đơn giản là một tập các giá trị. Ta có thể xem một quan hệ
như một bảng, trong đó mỗi hàng là một bộ và mỗi cột là một thuộc tính.
8
1.6.1. Quan hệ, thuộc tính, bộ
Định nghĩa 1.1:
- Thuộc tính là đặc trưng của đối tượng. 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.
- 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)
Ví dụ 1.2:
Ta có quan hệ NVIEN từ ví dụ 1.1
Quan hệ NVIEN có các thuộc tính như:
Dom(MaNV) = {char(4)} = {‘NV01’, ‘NV02’, ‘NV03’};
Dom(HoTen) = {char(30)} = (‘Trần Thu Hương’, ‘Nguyễn Văn Quân’, ‘Lê
Trung Tá’};
Dom(NgaySinh) = {date} = {‘12/5/1996’, ‘18/6/1995’, ‘22/8/1996’};
Dom(DiaChi) = {char(10)} = {‘TQ’, ‘LC’, ‘HN’};
Dom(Phong) = {char(10)} = {Hành chính};
Định nghĩa 1.2:
Cho U = {A1, A2, ..., An} là một tập hữu hạn các phần tử khác rỗng với
Ai là các thuộc tính. Mỗi thuộc tính Ai (i=l, 2, ..., n) có miền giá trị là
Dom(Ai). Khi đó r là một tập các bộ {h1, h2, ..., hm} được gọi là quan hệ trên
U với hj (j=l, 2, ..., m) là một hàm:
h j: U →
Dom(Ai) sao cho hj(Ai) ∈ Dom(Ai) (i=l, 2, ..., n)
i 1, n
Có thể hiểu rằng một quan hệ như một bảng và 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ệ r thành bảng như sau:
9
h1
h2
...
hm
A1
h1(A1)
h2(A1)
A2
h1(A2)
h2(A2)
An
...
h1(An)
...
h2(An)
...
...
...
...
...
hm(A1)
hm(A2)
hm(An)
...
Bảng 1.1. Biểu diễn quan hệ r
Ví dụ 1.1:
Ta có quan hệ NVIEN
MaNV
HoTen
NgaySinh
DiaChi
Phong
NV01
Trần Thu Hương
12/5/1986 TQ
Hành chính
NV02
Nguyễn Văn Quân
18/6/1985 LC
Tổ chức CB
NV03
Lê Trung Tá
22/8/1986 HN
Khảo thí
Bảng 1.2. Biểu diễn quan hệ NVIEN
Trong đó các thuộc tính là MaNV: Mã nhân viên; HoTen: Họ tên;
NgaySinh: Ngày sinh; DiaChi: Địa chỉ; Phong: Phòng.
Bộ giá trị: NV01, Trần Thu Hương, 12/5/1986, TQ, Hành chính: là một
bộ
Nếu có một bộ b = (b1, b2, ..., bm) ∈ r, r xác định trên U, X U thì
b(X)(hoặc b.X) được gọi là giá trị của tập thuộc tính X trên bộ b.
1.6.2. Đại số quan hệ
1.6.2.1 Quan hệ khả hợp
Hai lược đồ quan hệ R(A1, A2,..., An) và S(B1, B2,..., Bm) được gọi
là khả hợp nếu: Chúng có cùng bậc: n = m, miền giá trị (Dom) của các
thuộc tính tương ứng bằng nhau: Dom(A) = Dom(B) với 1 ≤ i ≤ n.
1.6.2.2 Phép hợp
Hai quan hệ r và s khả hợp, phép hợp của 2 quan hệ kí hiệu: r ∪ s là tập
tất cả các bộ thuộc r hoặc thuộc s. Ta có
r ∪ s = {t | t ∈ r hoặc t ∈ s}
10
Ví dụ 1.3:
Cho hai quan hệ NVIEN1, NVIEN2 như sau:
NVIEN1
MaNV
Ten
NV01
Nguyễn Thị Hà
NV02
Chu Minh Toàn
NV03
Lê Bá Thu
MaNV
Ten
NV01
Nguyễn Thị Hà
NV04
Mai Hồng Hạnh
NVIEN2
Khi đó phép hợp của NVIEN1 ∪ NVIEN2
MaNV
Ten
NV01
Nguyễn Thị Hà
NV02
Chu Minh Toàn
NV03
Lê Bá Thu
NV04
Mai Hồng Hạnh
Bảng 1.3. Biểu diễn quan hệ NVIEN1 ∪ NVIEN2
1.6.2.3 Phép giao
Hai quan hệ r và s khả hợp, phép giao của 2 quan hệ kí hiệu: r ∩ s là
tập tất cả các bộ thuộc r và thuộc s. Ta có
r ∩ s = {t | t ∈ r và t ∈ s}
Ví dụ 1.4: Cho hai quan hệ NVIEN1, NVIEN2 như sau:
11
NVIEN1
MaNV
Ten
NV01
Nguyễn Thị Hà
NV02
Chu Minh Toàn
NV03
Lê Bá Thu
NVIEN2
MaNV
Ten
NV01
Nguyễn Thị Hà
NV04
Mai Hồng Hạnh
Khi đó phép giao của NVIEN1 ∩ NVIEN2
MaNV
NV01
Ten
Nguyễn Thị Hà
Bảng 1.4. Biểu diễn quan hệ NVIEN1 ∩ NVIEN2
1.6.2.4 Phép trừ
Hai quan hệ r và s khả hợp, phép trừ của 2 quan hệ kí hiệu: 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 | t ∈ r và t
s}
Ví dụ 1.5:
Cho hai quan hệ NVIEN1, NVIEN2 như sau:
NVIEN1
MaNV
Ten
NV01
Nguyễn Thị Hà
NV02
Chu Minh Toàn
NV03
Lê Bá Thu
12
NVIEN2
MaNV
Ten
NV01
Nguyễn Thị Hà
NV04
Mai Hồng Hạnh
- Phép trừ của NVIEN1 - NVIEN2
MaNV
Ten
NV02
Chu Minh Toàn
NV03
Lê Bá Thu
Bảng 1.5. Biểu diễn quan hệ NVIEN1 – NVIEN2
- Phép trừ của NVIEN2 – NVIEN1
MaNV
Ten
NV04
Mai Hồng Hạnh
Hình 1.6. Biểu diễn quan hệ NVIEN2 – NVIEN1
1.6.2.5 Tích Đề-Các
Cho 2 quan hệ r và s, r xác định trên U1= {A1, A2,..., An} và s xác định
trên U2{B1, B2,..., Bm}. Tích Đề-Các của 2 quan hệ r và s kí hiệu: r x s là tập
tất cả các bộ thuộc ghép được từ các bộ r và s. Ta có
r x s = {t = (a1, a2, ..., an, b1, b2, ..., bm) | (a1, a2, ..., an) ∈ r và (b1, b2, ..., bm) ∈ s }
Ví dụ 1.6:
Cho 2 quan hệ NVIEN, PHONG như sau:
NVIEN
MaNV
Ten
MaPhong
NV01
Nguyễn Thị Hà
TCCB
NV02
Chu Minh Toàn
HC
13
PHONG
MaPhong
TenPhong
TCCB
Tổ chức cán bộ
HC
Hành chính
Tích Đề-Các của NVIEN x PHONG
MaNV
Ten
MaPhong
TenPhong
NV01
Nguyễn Thị Hà
TCCB
Tổ chức cán bộ
NV02
Chu Minh Toàn
HC
Hành chính
NV01
Nguyễn Thị Hà
TCCB
Tổ chức cán bộ
NV02
Chu Minh Toàn
HC
Hành chính
Bảng 1.7 Biểu diễn quan hệ NVIENx PHONG
a) Phép chiếu
Phép chiếu thực chất là phép toán loại bỏ những thuộc tính không
cần thiết và giữ lại một số thuộc tính cần thiết của quan hệ.
Cho r là một quan hệ xác định trên tập thuộc tính U1= {A1, A2,...,
An}, X là tập con của U1. Phép chiếu của quan hệ r trên tập thuộc tính X
kí hiệu:
X(r) = {t.X | t ∈ r}
Ví dụ 1.7:
Cho quan hệ NhanVien
MaNV
Ten
MaPhong
Luong
NV01
Nguyễn Thị Hà
TCCB
500
NV02
Chu Minh Toàn
HC
600
NV03
Lê Bá Thu
QLCL
700
QLCL
800
NV04 Mai Hồng Hạnh
14
Phép chiếu quan hệ NhanVien trên hai thuộc tính MaNV và Luong
là:
MaNV, Luong (NhanVien)
Sẽ cho ta một quan hệ mới chỉ gồm hai thuộc tính là MaNV và
Luong như sau:
MaNV
Luong
NV01
500
NV02
600
NV03
700
NV04
800
Bảng 1.8 Biểu diễn phép chiếu
MaNV, Luong (NhanVien)
b) Phép chọn
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 G đượ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 G 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 và logic trong biểu thức G: >, <, =,≥, ≤, ≠,
, , .
Cho quan hệ r và G 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 G kí hiệu:
các bộ của r thoả mãn G. Ta có
Ví dụ 1.8:
δ G(r) là tập tất cả
δ G(r) = {t | t ∈ r và G(t)}
15
Cho quan hệ NhanVien
TT
MaNV
Ten
MaPhong
Luong
1
NV01
Nguyễn Thị Hà
TCCB
500
2
NV02
Chu Minh Toàn
HC
600
3
NV03
Lê Bá Thu
QLCL
700
4
NV04 Mai Hồng Hạnh
QLCL
800
5
NV05
TCHC
900
Nguyễn Văn E
Tìm nhân viên ở phòng TCHC và có Lương lớn hơn 700?
Khi đó phép chọn Phòng TCHC và có lương > 700 của quan hệ
Nhanvien được biểu diễn bằng công thức sau:
δ (Phong=TCHC Luong > 700) (NhanVien)
ta được quan hệ sau:
TT
MaNV
Ten
MaPhong
Luong
4
NV04 Mai Hồng Hạnh
QLCL
800
5
NV05
TCHC
900
Nguyễn Văn E
Bảng 1.9 Biểu diễn phép chọn
δ (Phong=TCHC Luong > 700) (Nhanvien)
c) Phép kết nối
Phép kết nối là một phép ghép các bộ giá trị của quan hệ mà đi kèm
là có điều kiện.
Cho 2 quan hệ r(U) và s(V). Đặt X= U ∩ V. Phép kết nối hai quan
hệ r(U) và s(V), kí hiệu r*s, cho ta quan hệ giữa các bộ được gán từ các
bộ u của quan hệ R với mỗi bộ v của quan hệ S (sao cho các giá trị trên
miền thuộc tính chung X của hai bộ này giống nhau).
P(UV) = r*s={u*v | u ∈ r, v ∈ s, u.X=v.X}.
16
Nếu X= U ∩ V = ∅, thì r*s sẽ cho ta tích Đề-Các mà trong đó mỗi
bộ của quan hệ r sẽ được ghép với mỗi bộ của quan hệ s .
Ví dụ 1.9:
Cho quan hệ r
A
B
C
D
A1
A1
A1
3
A1
B1
A1
8
B1
A1
B1
8
B1
B1
B1
9
B
C
D
E
A1
A1
3
3
A1
B1
6
7
B1
B1
9
9
và quan hệ s
Khi đó phép kết nối của 2 quan hệ r*s là
A
B
C
D
E
A1
A1
A1
3
3
B1
B1
B1
9
9
Bảng 1.10 Biểu diễn phép kết nối r*s
d) Phép chia
Cho 2 quan hệ r(U) và s(V) với V U. Phép chia của quan hệ r
cho quan hệ s kí hiệu là r÷s là tập tất cả các bộ t trên U\V sao cho với
mọi bộ v ∈ s thì khi ghép bộ t với bộ v ta được một bộ thuộc r. Ta có
r÷s = {t | ∀ v ∈ s, (t,v) ∈ r}
Ví dụ 1.10:
Cho quan hệ r
17
A
B
A1
3
A1
6
B1
3
B1
6
C1
8
và quan hệ s
B
3
6
Khi đó phép chia 2 quan hệ r ÷ s là:
A
A1
B1
Bảng 1.11 Biểu diễn phép chia r ÷ s
1.6.3. Phụ thuộc hàm, hệ tiền đề Armstrong
a) Phụ thuộc hàm
Định nghĩa1.3:
Cho quan hệ r xác định trên tập thuộc tính U, trong đó X, Y U. Ta
nói rằng X xác định hàm Y hay Y phụ thuộc hàm vào X trên quan hệ r và
kí hiệu: X → Y, nếu r là một quan hệ nào đó xác định trên lược đồ quan
hệ r thỏa mãn
t1, t2 ∈ r sao cho t1.(X)=t2.(X) thì t1.(Y)=t2.(Y).
Khi xét đến mối quan hệ dữ liệu trong CSDL quan hệ một trong
những yếu tố quan trọng được xét đến là sự phụ thuộc giữa các thuộc
18
tính này với thuộc tính khác. Từ đó có thể xây dựng những ràng buộc dữ
liệu cũng như loại bỏ đi những dư thừa dữ liệu trong một CSDL.
Phụ thuộc hàm là những mối quan hệ giữa các thuộc tính trong
CSDL quan hệ. Khái niệm về phụ thuộc hàm có một vai trò quan trọng
trong việc thiết kế mô hình dữ liệu. Một trạng thái phụ thuộc hàm chỉ ra
rằng giá trị của một thuộc tính được quyết định một cách duy nhất bởi
giá trị của thuộc tính khác. Sử dụng các phụ thuộc hàm để chuẩn hóa
lược đồ quan hệ về dạng chuẩn 3 hoặc chuẩn Boyce-Codd.
b) Các tính chất của phụ thuộc hàm
Cho lược đồ quan hệ R xác định trên tập thuộc tính U={Al, A2, ...,
An}, cho X, Y, Z, W U, ta có một số tính chất cơ bản của các phụ thuộc
hàm như sau:
1) Nếu Y X thì X → Y.
2) Nếu X → Y thì XW → YW.
3) Nếu X → Y, Y → Z thì X → Z.
4) Nếu X → Y, YZ → W thì XZ → W.
5) Nếu X → Y, Z → W thì XZ → YW.
6) Nếu X → Y thì XZ → Y.
7) Nếu X → Y, X → Z thì X → YZ.
8) Nếu X → YZ thì X → Y.
9) Nếu X → YZ, Z → WV thì X → YZW.
Ví dụ 1.11: Cho quan hệ r như sau:
A
B
C
D
2
4
5
6
4
2
6
7
5
5
7
8
3
2
6
9
19
Những quan hệ nào sau đây không thỏa r? Tại sao?
F = {A → B, BC → D, C → A}
+ BC → D không thỏa r vì: t1, t2 ∈ r, ta có t1.(BC) = t2.(BC) = (2,6)
Mà t1.D = 7
t2.D = 9 (không thỏa định nghĩa phụ thuộc hàm)
+ C → A không thỏa r vì: t1, t2 ∈ r, ta có t1.C = t2.C = 6
Mà t1.A = 4
t2.A = 3 (không thỏa định nghĩa phụ thuộc hàm)
c) Hệ tiên đề Armstrong
Gọi F là tập tất cả các phụ thuộc hàm đối với lược đồ quan hệ r(U)
và X → Y là một phụ thuộc hàm với X, Y U, ta nói rằng X → Y
được suy diễn logic từ F nếu quan hệ r trên U là r(U) đều thỏa mãn các
phụ thuộc hàm của F thì cũng thỏa X → Y. Tập quy tắc của hệ tiên đề
được Armstrong đề xuất vào năm 1974, được gọi là hệ tiên đề Armstrong.
Hệ tiên đề Armstrong:
Cho lược đồ quan hệ R(U) với U={ A1, A2,..., An }. Các tập thuộc
tính X, Y, Z U khi đó ta có các tiên đề Amstrong như sau:
- Luật phản xạ: Nếu Y X thì X → Y.
- Luật tăng trưởng: Nếu X→ Y thì XV → YV.
- Luật bắc cầu: Nếu X → Y, Y → Z thì X → Z.
Hệ quả:
- Luật hợp: Nếu X→ Y và X → Z thì X → Z
- Luật tách: Nếu X→ Y và Z Y thì X → Z
- Luật tự bắc cầu: Nếu X→ Y và VY → Z thì VX → Z
1.6.4. Bao đóng của tập thuộc tính
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, cho X 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
mà X → A được suy ra từ F.