Trong quá trình nghiên cứu về mô hình dữ liệu khối, em thấy việc tìm hiểu và phân tích mối quan hệ của ánh xạ đóng với cơ sở dữ liệu dạng khối đóng vai trò quan trọng trong việc thiết kế
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN
======
NGUYỄN THỊ QUỲNH TRANG
BIỂU DIỄN CỦA ÁNH XẠ ĐÓNG TRÊN KHỐI VÀ TRÊN LÁT CẮT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
HÀ NỘI - 2019
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN
======
NGUYỄN THỊ QUỲNH TRANG
BIỂU DIỄN CỦA ÁNH XẠ ĐÓNG
TRÊN KHỐI VÀ TRÊN LÁT CẮT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm Tin học
Người hướng dẫn khoa học
PGS TS TRÌNH ĐÌNH THẮNG
HÀ NỘI - 2019
Trang 3Sư phạm Hà Nội 2 đã trực tiếp hướng dẫn em
Bằng lòng biết ơn chân thành nhất, em xin gửi lời cảm ơn tới tất cả quý thầy cô Viện CNTT - Trường ĐHSP Hà Nội 2 cùng với tri thức và tâm huyết của mình đã truyền đạt vốn kiến thức quý báu trong suốt thời gian em học tập tại trường Vốn kiến thức tích lũy được không chỉ giúp em làm nền tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang quý báu để em bước vào đời một cách vững chắc và tự tin
Đặc biệt, em xin chân thành cảm ơn thầy Trịnh Đình Thắng không quản khó khăn, vất vả đã tận tình giúp đỡ và hướng dẫn em hoàn thành đề tài khóa luận này
Em xin chân thành cảm ơn!
Trang 4LỜI CAM ĐOAN
Em xin cam đoan:
1 Em xin cam đoan đây là công trình nghiên cứu của riêng em và được sự hướng dẫn trực tiếp của PGS.TS: Trịnh Đình Thắng
2 Các cơ sở lí thuyết và tài liệu tham khảo sử dụng trong khóa luận đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian và địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm
Hà Nội, tháng 5 năm 2019
Sinh viên thực hiện
Nguyễn Thị Quỳnh Trang
Trang 5DANH MỤC CÁC KÍ HIỆU VÀ CHỮ CÁI VIẾT TẮT
Trang 6DANH MỤC BẢNG BIỂU
Bảng 1.1: Bảng biểu diễn quan hệ r 10
Bảng 1.2: Bảng biểu diễn quan hệ Sinhvien 10
Bảng 1.3: Biểu diễn của các quan hệ SV1, SV2, SV1SV2 11
Bảng 1.4: Biểu diễn của các quan hệ SV1, SV2, SV1SV2 12
Bảng 1.5: Biểu diễn của các quan hệ SV1, SV2, SV1\SV2 13
Bảng 1.6: Biểu diễn của các quan hệ SV1, SV2, SV1xSV2 14
Bảng 1.7: Biểu diễn của các quan hệ SV, 15
Bảng 1.8: Biểu diễn của các quan hệ SV, 'Toan' 'Tin'(SV) 16
Bảng 1.9: Biểu diễn của các quan hệ SV, SV1, SVSV1 16
Bảng 1.10: Biểu diễn của các quan hệ SV, SV1, SV*SV1 17
Bảng 2.1: Biểu diễn khối bán hàng tháng 1 (BHT1) 23
Bảng 2.2: Biểu diễn một lát cắt trên khối r(R) 24
'HT' (SV), 'HT Toan Tin',' ',' ' (SV)
Trang 7DANH MỤC HÌNH VẼ
Hình 1.1: Kiểu thực thể và tập thực thể .5
Hình 1.2: Biểu diễn kiểu thực thể VĂNPHÒNG và các thuộc tính .6
Hình 1.3: Biểu diễn kiểu thực thể Nhânviên và các thuộc tính .6
Hình 1.4 Mô hình phân cấp quản lý nhân sự của một công ty .8
Hình 2.1: Biểu diễn một phân khối BANHANG(R) .22
Hình 2.2: Biểu diễn của khối r .24
Hình 2.3: Biểu diễn của khối s .25
Hình 2.4: Biểu diễn các khối r,s và r ∪ s .25
Hình 2.5: Biểu diễn các khối r,s và r ∩ s .26
Hình 2.6: Biểu diễn khối r, s, r \ s và s \ r .27
Hình 2.7: Biểu diễn khối r, s, r x s .28
Hình 2.8: Biểu diễn khối s, ∏‘MSV,ten‘ (r) và ∏‘Pascal‘(r) .29
Hình 2.9: Biểu diễn khối r và σTen='Hoa'(r) 30
Hình 2.10: Biểu diễn khối r, s và r ÷ s .32
Trang 8MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 1
MỞ ĐẦU 1
CHƯƠNG 1 CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU 3
1.1.Mô hình thực thể - liên kết 3
1.2.Mô hình dữ liệu mạng 6
1.3.Mô hình dữ liệu phân cấp 7
1.4.Mô hình hướng đối tượng 7
1.5.Mô hình dữ liệu quan hệ 8
CHƯƠNG 2 MÔ HÌNH DỮ LIỆU DẠNG KHỐI 20
2.1 Khối, lược đồ khối 20
2.2 Lắt cắt 22
2.3.Các phép toán đại số quan hệ trên khối 23
2.4.Phụ thuộc hàm trên khối 32
2.5.Bao đóng của tập phụ thuộc hàm trên khối 32
2.6.Bao đóng của tập chỉ số trên khối 33
2.7.Khóa của lược đồ khối 35
CHƯƠNG 3 BIỂU DIỄN CỦA ÁNH XẠ ĐÓNG TRONG MÔ HÌNH DỮ LIỆU DẠNG KHỐI VÀ TRÊN LÁT CẮT 37
3.1.Phép chuyển dịch lược đồ khối 37
3.2 Ánh xạ đóng trên lược đồ khối và trên lát cắt 39
3.3 Biểu diễn một số tính chất mới của ánh xạ đóng trên khối và lát cắt 47
KẾT LUẬN 54
TÀI LIỆU THAM KHẢO 55
Trang 9Trong quá trình nghiên cứu về mô hình dữ liệu khối, em thấy việc tìm hiểu và phân tích mối quan hệ của ánh xạ đóng với cơ sở dữ liệu dạng khối đóng vai trò quan trọng trong việc thiết kế và xây dựng các khối dữ liệu trên
thực tế Vì vậy, em đã chọn đề tài: “Biểu diễn của ánh xạ đóng trên khối và
trên lát cắt” để đi sâu vào nghiên cứu các tính chất của ánh xạ đóng trên khối
và trên lát cắt
2 Mục đích nghiên cứu
- Tìm hiểu về mô hình dữ liệu dạng khối
- Tìm hiểu về ánh xạ đóng trên khối và các tính chất của nó
- Mối quan hệ của ánh xạ đóng trên khối và trên lát cắt
3 Nhiệm vụ nghiên cứu
- Tìm hiểu về mô hình dữ liệu dạng khối
- Tìm hiểu về ánh xạ đóng và các tính chất của nó trong mô hình dữ liệu dạng khối
Trang 10- Phát biểu và chứng minh một số tính chất mới của mối quan hệ giữa ánh xạ đóng trên khối và trên lát cắt
4 Đối tượng và phạm vi nghiên cứu
4.1 Đối tượng nghiên cứu
Ánh xạ đóng trên lược đồ khối và mối quan hệ của nó trên lược đồ khối
và lược đồ lát cắt
4.2 Phạm vi nghiên cứu
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 thu thập tài liệu
- Phương pháp suy luận và chứng minh
6 Cấu trúc khóa luận
Ngoài mở đầu, kết luận và hướng phát triển, mục lục và tài liệu tham khảo khóa luận gồm 3 chương:
Chương 1: Giới thiệu về các mô hình dữ liệu cơ sở dữ liệu đã được nghiên cứu
như mô hình thực thể - liên kết, mô hình hướng đối tượng, mô hình dữ liệu mạng, mô hình dữ liệu phân cấp trong đó mô hình dữ liệu quan hệ được trình bày chi tiết hơn cả
Chương 2: Chương này giới thiệu về mô hình cơ sở dữ liệu dạng khối với các
khái niệm cơ bản như: khối, lát cắt, các phép toán của đại số quan hệ trên khối, phụ thuộc hàm, bao đóng, bao đóng tập chỉ số và khóa của lược đồ khối
Chương 3: Đây là phần chính của khóa luận, trong đó phần đầu chương trình
bày về ánh xạ đóng trên khối Tiếp theo là một số tính chất của ánh xạ đóng đã được nghiên cứu bởi các tác giả trước Phần cuối cùng của chương phát biểu
và chứng minh một số tính chất mới của ánh xạ đóng trên lược đồ khối và mối quan hệ của nó với ánh xạ đóng trên lược đồ lát cắt
Trang 11CHƯƠNG 1 CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU
Chương này trình bày một số khái niệm cơ bản 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 của 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á Các nội dung trình bày trong chương được tham khảo trong các tài liệu [5], [11], [14], [15]
1.1 Mô hình thực thể - liên kết
1.1.1 Thực thể
Thuật ngữ “thực thể” (entity) không có một định nghĩa hình thức, cũng giống như thuật ngữ “điểm” và “đường” trong hình học ngầm được định nghĩa bằng các tiên đề về các đặc tính của chúng Ta có thể nói rằng: thực thể là một vật thể tồn tại và phân biệt được, có nghĩa 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) Tính tương tự ít nhất cũng đòi hỏi rằng có thể tìm được một tập các đặc tính chung cho tất cả các phần tử của một tập thực thể
Các đặc tính của một tập thực thể gọi là các thuộc tính
Một tập hợp các thực thể có các thuộc tính như nhau gọi là một kiểu thực thể Một kiểu thực thể trong cơ sở dữ liệu được mô tả bằng tên và các thuộc tính
1.1.2 Mô hình thực thể - liên kết
Mô hình thực thể - liên kết hay còn được gọi tắt là mô hình ER (Entity – Relationship Model) Đó là mô hình dữ liệu mức quan niệm phổ biến, tập trung vào các cấu trúc dữ liệu và các ràng buộc Mô hình này thường được
sử dụng làm thiết kế các ứng dụng cơ sở dữ liệu và nhiều công cụ thiết kế cơ
sở dữ liệu sử dụng các mô hình này
Ví dụ 1.1: NHÂNVIÊN (Họtên, Tuổi, Lương), VĂNPHÒNG (Tên,
Địađiểm, Giámđốc) Một tập hợp các thực thể của một kiểu thực thể cụ thể
Trang 12trong cơ sở dữ liệu tại một thời điểm được gọi là một tập thực thể, nó thường được tham chiếu đến bằng cách sử dụng tên của kiểu thực thể thì NHÂNVIÊN vừa dùng để chỉ một kiểu thực thể, vừa để chỉ tập hợp hiện tại của tất cả các thực thể nhân viên trong cơ sở dữ liệu Hình 1.1 minh họa các kiểu thực thể
NHÂNVIÊN, VĂNPHÒNG và các tập thực thể tương ứng
Một kiểu thực thể được biểu diễn trong lược đồ ER như là một hộp hình chữ nhật có chứa tên kiểu thực thể Các thuộc tính được đặt trong các hình ô van và được nối với các kiểu thực thể bằng các đường thẳng Các thuộc tính phức hợp cũng được nối với các thuộc tính thành phần của nó bằng đường thẳng Các thuộc tính đa trị được hiển thị trong các hình ô van đúp (hình 1.2)
Một kiểu thực thể mô tả một lược đồ (hoặc một mục đích) cho một tập các thực thể chia sẻ cùng một cấu trúc Tập hợp các thực thể của một kiểu thực thể cụ thể được nhóm vào một tập thực thể và được gọi là một thể hiện của một kiểu thực thể
Hình 1.1: Kiểu thực thể và tập thực thể
Thuộc tính khóa của một kiểu thực thể: Một ràng buộc quan trọng trên
các thực thể của một kiểu thực thể là khóa Một kiểu thực thể thường có một
thuộc tính mà các giá trị của nó là khác nhau đối với mỗi thực thể riêng biệt
trong một tập thực thể
NHÂN VIÊN (Họ tên, Tuổi, Lương)
VĂN PHÒNG (Tên, Địa điểm, Giám đốc) Nv1
(Lê Lan, 20, 5000000)
Nv2 (Hoàng Hoa, 30, 8000000)
Nv3 (Phương Trang, 22, 6000000)
Vp1 (Vp Kế toán, Hà Nội, Phạm Hà)
Vp2 (Vp Thiết kế, Vinh, Hoàng Hải)
Vp3 (Vp Mĩ Thuật, Sài Gòn, Mai Lan)
Trang 13Thuộc tính như vậy gọi là thuộc tính khóa và các giá trị của nó có thể dùng để xác định từng thực thể một cách duy nhất
Ví dụ 1.2:
Thuộc tính Tên của kiểu thực thể VĂNPHÒNG là khóa của kiểu thực thể đó vì mỗi thực thể văn phòng có một tên duy nhất Đôi khi, nhiều thuộc tính kết hợp với nhau tạo thành một khóa, nghĩa là tổ hợp các giá trị của các thuộc tính này phải khác nhau đối với mỗi thực thể Trong trường hợp như vậy ta có một thuộc tính khóa phức hợp Chú ý rằng khóa phức hợp phải tối thiểu, nghĩa
là tất cả các thuộc tính thành phần phải có mặt trong thuộc tính phức hợp để thỏa mãn tính chất duy nhất Trong biểu đồ đồ họa của mô hình ER, thuộc tính khóa được biểu diễn bằng cách gạch ngang dưới tên của nó (hình 1.2)
Hình 1.2: Biểu diễn kiểu thực thể VĂNPHÒNG và các thuộc tính
Trang 14Khi chỉ ra rằng một thuộc tính là khóa của một kiểu thực thể nghĩa là tính chất duy nhất nêu trên phải được thỏa mãn đối với đối với mỗi mở rộng của kiểu thực thể Như vậy, ràng buộc khóa cấm hai thực thể bất kỳ có giá trị cho thuộc tính khóa như nhau tại cùng một thời điểm Đó là một ràng buộc trên tất cả các thể hiện của thực thể Ràng buộc khóa cũng như các ràng buộc sẽ được giới thiệu về sau được lấy ra từ các ràng buộc của “thế giới nhỏ” của cơ
sở dữ liệu
Một kiểu thực thể có thể có nhiều hơn một thuộc tính khóa
Một kiểu thực thể cũng có thể không có khóa Một thực thể không có
khóa được gọi là kiểu thực thể yếu
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ị hạn chế trong kiểu nhị phân và nhiều một 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 (logic 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 (logic record) 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ùng cho mô hình mạng gần như tương đồng với các thuật ngữ dùng cho 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ộ chẳng qua 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ộ Ngược lại, 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 cơ sở dữ liệu đượ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à
Trang 15kiể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 các trường
1.3 Mô hình dữ liệu phân cấp
Mô hình phân cấp được đưa ra vào những năm 60, trong mô hình này dữ liệu được tổ chức thành cấu trúc cây, các nút (node) là tập các thực thể, các cành là các mối quan hệ giữa hai nút theo mối quan hệ nhất định, cứng nhắc
- Một con chỉ có một chachỉ có một đường truy nhập tới dữ liệu trước đó
Tập dữ liệu được tổ chức theo cấu trúc của mô hình dữ liệu phân cấp gọi
là CSDL phân cấp
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 thành phần chúng xử
lý điển hình là những mẩu tin có địa chỉ duy nhất giống như trong mô hình mạng và mô hình phân cấp
Các đối tượng phức (Complex Object): cho phép xây dựng một kiểu mới bằng thao tác tạo lập mẫu tin hoặc tạo lập tập hợp
Trang 16 Phân cấp theo kiểu (Type hierarchy): cho phép những kiểu có thể có những kiểu con và có thuộc tính riêng
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 cơ sở dữ liệu trong mô hình dữ liệu phân cấp
Một 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ực hiện trên các đối tượng có cấu trúc thuộc về lớp đó
Mô hình hướng đối tượng gắn liền với mô hình phân cấp theo nghĩa là nếu được cho trước một mô hình 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 (gồm tất cả các con là các kiểu mẫu tin ảo) trong lược đồ phân cấp như là các trường trong một cấu trúc đối tượng ứng với 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 Như vậy, 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, tuy nhiên để đả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
1.5 Mô hình dữ liệu quan hệ
1.5.1 Các khái niệm cơ bản
Định nghĩa 1.1 [5]
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à DAi
Ví dụ 1.5:
Đối tượng Sinh viên (SV) có các thuộc tính là: Mã sinh viên (MSV),
Họ tên (HT), Ngày sinh (NS) Như vậy, ta sẽ có miền giá trị của các thuộc tính
của đối tượng là SV như sau:
Dom(MSV) = {‘SV001’, ‘SV002’, …}
Dom(HT) = {‘Nguyễn Thị Hoa’, ‘Trịnh Văn Thành’, …}
Dom(NS) = {‘9/10/1997’, ‘27/07/1997’, …}
Trang 171.5.1.1 Quan hệ và lược đồ quan hệ
Định nghĩa 1.2 [14]
Cho U = {A1, 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 Ai (i 1,n ) có miền giá trị là Dom (Ai) viết tắt là DAi 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=1, m) là một hàm:hj: U → DA i sao cho hj(Ai) ∈ DA i (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ệ r thành bảng như sau:
Bảng 1.1: Biểu diễn quan hệ r
Ví dụ 1.6: Cho quan hệ Sinhvien có các thuộc tính là: Mã sinh viên
(MSV), Họ tên (HT), Giới tính (GT), Ngày sinh (NS), Địa chỉ (ĐC)
Trang 18Bộ giá trị (SV001, Hương, Nữ, 23/04/1998, Hà Nội) là một phần tử trong quan hệ Sinhvien
Nếu có một bộ t = (d1, d2, d3, , dn) r, r xác định trên U, X U thì t(X) (hoặc t.X) gọi là giá trị của tập thuộc tính X trên bộ t
Định nghĩa 1.3 [12]
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 = {A1, A2,…, An} được viết là R(U) hoặc R(A1, A2,…, An)
1.5.2 Các phép toán đại số trên quan hệ
Các phép toán đại số trên quan hệ gồm:
- Phép toán tập hợp như: hợp, giao, hiệu, tích Đề - các
- Phép toán quan hệ: chiếu, chọn, kết nối, chia
Chú ý: Đối với phép hợp, phép giao, phép trừ hai quan hệ tham gia phải khả hợp
Định nghĩa 1.4 [14]
Hai quan hệ r và s được gọi là khả hợp nếu như hai quan hệ này xác định trên cùng một tập thuộc tính và các thuộc tính cùng tên có cùng miền giá trị
1.5.2.1 Phép toán hợp
Cho hai quan hệ r và s khả hợp Hợp của hai quan hệ r và s là một quan
hệ gồm tập tất cả các bộ thuộc r hoặc thuộc s, ký hiệu là: r s
Trang 20Bảng 1.4: Biểu diễn của các quan hệ SV1, SV2, SV1SV2
Trang 21Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U = {A1, A2, ,
An}, X U Phép chiếu của quan hệ r trên tập thuộc tính X là tập các bộ của r xác định trên X, ký hiệu:
Thực chất của phép chiếu là phép toán giữ lại một số thuộc tính thuộc X
và loại bỏ những thuộc tính không thuộc X
Ví dụ 1.11: Cho quan hệ SV, hãy thực hiện 2 phép chiếu sau:
- Đưa ra giá trị của thuộc tính Họ tên (HT)
- Đưa ra giá trị 3 thuộc tính sau:
Họ tên (HT),
Điểm Toán (Toan),
Điểm tin (Tin)
Trang 22Bảng 1.7: Biểu diễn của các quan hệ SV,
1.5.2.6 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, ký hiệu: F
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: (và), (hoặc), (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, là tập tất cả các bộ của r thoả mãn F, ký hiệu là F(r )
Trang 23Ví dụ 1.12: Cho quan hệ SV sau, hãy đưa ra thông tin của các sinh viên có
điểm toán điểm tin
Trang 24Bảng 1.9: Biểu diễn của các quan hệ SV, SV1, SV÷SV1
1.5.2.8 Phép kết nối
Cho quan hệ r(U) và s(V) Đặt M=U ∩V Phép kết nối tự nhiên hai quan
hệ r(U) và s(V) cho ta quan hệ gồm các bộ được dá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 trị trên miền thuộc tính chung M của hai bộ này giống nhau, ký hiệu: r*s
Trang 251.5.3 Phụ thuộc hàm
Định nghĩa 1.4 [15]
Cho lược đồ quan hệ R xác định trên tập thuộc tính U; X,Y ⊆ U; r là quan hệ trên U Ta nói rằng X xác định hàm Y hay Y phụ thuộc hàm vào X (ký hiệu X → Y), nếu ∀ t1, t2 ∈ r mà t1(X) = t2(X) thì t1(Y) = t2(Y)
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 = {A1, , An}, cho
X, Y, Z, W ⊆ U thì ta có một số tính chất cơ bản của các phụ thuộc hàm như sau:
Trang 26Cho 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 trong tập F, khi đó:
F+ = {f │F╞ f }
Các tính chất của bao đóng của tập phụ thuộc hàm:
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+
1.5.4.2 Bao đóng của tập thuộc tính
Định nghĩa 1.6 [14]
Cho lược đồ quan hệ R xác định trên tập thuộc tính U, 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 diễn từ F Ta có: X+ = {A | X → A ∈ F+}
Các tính chất của bao đóng của tập thuộc tính:
Trang 27Kết luận:
Nội dung chương này đã giới thiệu về một vài mô hình cơ sở dữ liệu đã được nghiên cứu như mô hình thực thể - liên kết, mô hình dữ liệu mạng, mô hình dữ liệu phân cấp, mô hình hướng đối tượng và cuối cùng là mô hình dữ liệu quan hệ với những phép toán đại số như: phép hợp, phép giao, tích
Đề - các, chiếu chọn kết nối và chia trên nó
Trang 28CHƯƠNG 2 MÔ HÌNH DỮ LIỆU DẠNG KHỐI
Mô hình dữ liệu dạng khối biểu diễn các dữ liệu có tính chất động, có khả năng đáp ứng tốt đối với nhiều lớp bài toán phức tạp Các vấn đề được trình bày trong chương 2 được tham khảo trong các tài liệu [9]
2.1 Khối, lược đồ khối
Khái niệm toán học làm nền tảng cho mô hình dữ liệu dạng khối là các khối hiểu theo nghĩa của lý thuyết tập hợp Khối được định nghĩa như sau:
Định nghĩa 2.1 [9]
Gọi R = (id; A1, 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 = 1 n) là các thuộc tính Mỗi thuộc tính Ai(i = 1 n) có miền giá trị tương ứng là dom(Ai) Một khối r trên 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 = 1 n)
Ví dụ 2.1: Công ty chuyên sản xuất và phân phối vật liệu xây dựng Hòa
Phát có đại lý bán hàng trên toàn Việt Nam Các cửa hàng cùng bán vật liệu của nhà sản xuất này là: Xi măng (XM), Sắt (Fe), Thép (TH), Ván gỗ (VG) Mỗi quý công ty lập biểu đồ theo dõi số lượng hàng ngày được bán theo từng loại vật tư tại mỗi cửa hàng (trên cơ sở số lượng hàng ngày bán ra)
Căn cứ vào các biểu đồ theo dõi của mỗi mặt hàng tại các cửa hàng này
mà công ty điều chỉnh số lượng sản phẩm cung ứng cho các cửa hàng sao cho phù hợp nhất Để đáp ứng yêu cầu trên của công ty Hòa Phát đã tiến hành xây dựng khối dữ liệu với tên gọi BANHANG, cụ thể như sau:
Trang 29Chọn R = {id; A1, A2, A3, A4, A5}, trong đó:
id = {1/2019, 2/2019} và các thuộc tính là:
Hình 2.1: Biểu diễn một phân khối BANHANG(R)
Với khối BANHANG(R) ở hình 2.1 thì nó gồm 3 phần tử t1, t2, t3.
Ví dụ 2.2: Từ khối BANHANG, ta tách thành một khối con với tên là
bán hàng tháng 1, kí hiệu BHT1 với lược đồ R =({1/2019}; A1, A2, A3, A4, A5)
và các thuộc tính là:
A1 = mch (mã cửa hàng), A2 = XM (xi măng), A3 = Sắt (Fe),
A4 = TH (thép), A5 = VG (ván gỗ)
Trang 30và khối BHT1 gồm 3 phần tử t1, t2, t3
Bảng 2.1: Biểu diễn khối bán hàng tháng 1 (BHT1)
Từ ví dụ này ta thấy rằng khối BHT1 có thể biểu diễn dưới dạng một quan hệ trong mô hình dữ liệu quan hệ
là một lát cắt trên khối r(R) tại điểm x
Ví dụ 2.3: Cho quan hệ r(R) = BANHANG(R) (đã cho ở trên), trong đó:
R = (id; A1, A2, A3, A4),id = {1/209, 2/2019} và các thuộc tính là:
A1 = mch (mã cửa hàng) A2 = XM(Xi măng)
Trang 31Cho lược đồ khối R = (id; A1, A2, , An), r(R) là một khối trên R Với mỗi
x ∈ id thì lát cắt r(Rx) là một quan hệ Trong trường hợp tập chỉ số id chỉ gồm một phần tử thì r(R) trở thành một quan hệ
Như vậy, mỗi quan hệ r(A1, A2, , An) là một trường hợp đặc biệt của khối, đó chính là khối r(R) với R = ({x}; A1, A2, , An)
2.3 Các phép toán đại số quan hệ trên khối
Lấy r là một khối trên R = (id; A1, A2, , An) Cũng tương tự như đại số quan hệ trong mô hình dữ liệu quan hệ, ở đây các phép toán của đại số quan hệ được áp dụng cho các khối như: phép hợp, phép giao, phép trừ, phép chiếu, phép chọn, phép kết nối, phép chia ngoài ra còn bổ sung thêm các phép toán mới là tích Đề - các và tích Đề - các theo tập chỉ số
Cho 2 khối r(R) và s(R) có lược đồ khối R= (id; A1, A2, A3, A4)
được biểu diễn như sau:
Hình 2.2: Biểu diễn của khối r
Trang 32s:
Hình 2.3: Biểu diễn của khối s
Với id = {t1,t2} và các thuộc tính
A1= MS (Mã số sinh viên) A3 = Pascal (Điểm Pascal)
Chú ý:
- Đối với phép hợp, giao và trừ thì 2 khối tham gia phải khả hợp
- Hai khối r và s được gọi là khả hợp nếu chúng có cùng lược đồ khối và mỗi thuộc tính chỉ số tương ứng trên khối đều có cùng miền giá trị