Đăng ký Đăng nhập
Trang chủ Một số phụ thuộc hàm mở rộng trong mô hình dữ liệu dạng khối...

Tài liệu Một số phụ thuộc hàm mở rộng trong mô hình dữ liệu dạng khối

.PDF
71
361
61

Mô tả:

1 Lời cảm ơn Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS Trịnh Đình Vinh, người đã tận tình hướng dẫn, giúp đỡ và động viên tôi trong suốt quá trình làm luận văn. Xin cám ơn tập thể cán bộ, giáo viên công nhân viên trường trung cấp nghề Kỹ thuật xây dựng và Nghiệp vụ đã tạo điều kiện hết sức để tôi được học tập và hoàn thành khóa học được thuận lợi. Xin chân thành cảm ơn các thầy giáo, cô giáo đã trực tiếp giảng dạy và mang đến cho tôi niềm say mê nghiên cứu khoa học. Tôi xin gửi lời biết ơn chân thành tới đồng nghiệp, bạn bè, gia đình đã luôn tạo điều kiện, ủng hộ về mọi mặt để tôi hoàn thành luận văn. Hà Nội, tháng 12 năm 2013 Tác giả luận văn Trịnh Thị Thuy 1 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 thầy TS Trịnh Đình Vinh. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Học viên Trịnh Thị Thuy 1 MỞ ĐẦU 1. Lý do chọn đề tài Trong những thập niên gần đây, việc ứng dụng công nghệ thông tin trở nên rộng rãi và vai trò của công nghệ thông tin ngày càng được khẳng định trong nhiều lĩnh vực khác nhau như: Học tập, khoa học kỹ thuật, kinh doanh,... dưới nhiều quy mô khác nhau. Với việc sử dụng các ứng dụng của công nghệ, lượng dữ liệu được sử dụng ngày càng tăng và việc xây dựng các mô hình quản lý dữ liệu trên ngày càng cấp thiết và ảnh hưởng rất lớn đến giá trị sử dụng của dữ liệu. Từ đó, đã có nhiều mô hình cơ sở dữ liệu được ra đời nhằm đáp ứng nhu cầu trên như: Mô hình dữ liệu 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, mô hình dữ liệu quan hệ, mô hình dữ liệu khối. Trong đó, mô hình dữ liệu dạng khối là mở rộng của các mô hình đang được sử dụng rất phổ biến là mô hình dữ liệu quan hệ và mô hình thực thể liên kết. Mô hình dữ liệu khối thể hiện mối quan hệ giữa dữ liệu với các thông tin thực tế một cách tự nhiên hơn. Trong quá trình nghiên cứu về mô hình dữ liệu khối thì việc xây dựng và phân tích mối quan hệ phụ thuộc dữ liệu đóng vai trò quan trọng trong việc thiết kế và xây dựng cơ sở dữ liệu. Việc khai phá lớp phụ thuộc hàm có yếu tố quyết định trong việc thiết kế lược đồ khối và mối quan hệ giữa các khối bên trong lược đồ khối. Từ đó, trong luận văn này nghiên cứu các dạng phụ thuộc hàm của mô hình dữ liệu khối. Đặc biệt là hai dạng phụ thuộc hàm là phụ thuộc hàm mạnh và phụ thuộc hàm yếu. Vì vậy, em lựa chọn đề tài nghiên cứu là: “Một số phụ thuộc hàm mở rộng 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ề mô hình dữ liệu dạng khối. 2 2. Mục đích nghiên cứu Tìm hiểu về mối quan hệ giữa các khối trong lược đồ khối. Tiến hành nghiên cứu về các phụ thuộc hàm trên khối như: phụ thuộc hàm đa trị, phụ thuộc hàm mạnh, phụ thuộc hàm yếu… Đồng thời tìm hiểu mối quan hệ giữa các phụ thuộc hàm mạnh, yếu và ý nghĩa của chúng. 3. Nhiệm vụ nghiên cứu Tìm hiểu về mô hình cơ sở dữ liệu dạng khối Tìm hiểu các mối quan hệ giữa các khối trong lược đồ khối Nghiên cứu và đề xuất các phụ thuộc hàm mới trong mô hình cơ sở dữ liệu dạng khối. 4. Đối tượng và phạm vi nghiên cứu Đối tượng, phạm vi nghiên cứu về phụ thuộc hàm, các khái niệm cơ bản về phụ thuộc hàm mạnh , phụ thuộc hàm yếu và mối quan hệ giữa chúng. 5. Phương pháp nghiên cứu Thu thập tài liệu, phân tích, suy luận, tổng hợp, đánh giá. Từ đó, đề xuất các khái niệm liên quan đến phụ thuộc hàm trong cơ sở dữ liệu dạng khối. 6. Những đóng góp mới của đề tài - Phát biểu định nghĩa, chứng minh các mệnh đề về phụ thuộc hàm mạnh trong mô hinh dữ liệu khối. - Phát biểu định nghĩa, chứng minh các mệnh đề về phụ thuộc hàm yếu trong mô hinh dữ liệu khối. - Mối quan hệ giữa phụ thuộc hàm mạnh và yếu trong mô hình dữ liệu khối. 7. Cấu trúc của luận văn Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và tài liệu tham khảo. 3 Chương 1: Các mô hình dữ liệu Chương này giới thiệu tóm tắt các mô hình dữ liệu đã được nghiên cứu. Đầu tiên là mô hình dữ liệu 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 tới đối tượng và mô hình dạng datalog. Phần cuối của chương trình bày mô hình dữ liệu quan hệ, trong đó có nêu nội dung phần phụ thuộc hàm mạnh, phụ thuộc hàm yếu. Chương 2: Mô hình cơ sở dữ liệu dạng khối Chương này trình bày các khái niệm cơ bản về mô hình dữ liệu dạng khối như : định nghĩa khối, lát cắt, lược đồ khối, đại số trên khối, khóa của khối, phụ thuộc hàm trên khối…. được trình bày. Chương 3: Một số phụ thuộc hàm mở rộng trên mô hình cơ sở dữ liệu dạng khối Chương này trình bày các nội dung liên quan đến phụ thuộc hàm mạnh và phụ thuộc hàm yếu trong mô hình cơ sở dữ liệu dạng khối: định nghĩa phụ thuộc hàm mạnh và yếu, các tính chất liên quan, mối quan hệ giữa các phụ thuộc hàm mạnh, yếu. 4 CHƯƠNG 1: CÁC MÔ HÌNH DỮ LIỆU 1.1. Mô hình dữ liệu thực thể - liên kết. 1.1.1 Thực thể [1], [2] 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ên đề về các đặc tính của chúng. Ta có thể nói rằ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). Tính “tương tự” ít nhất cũng đủ hiểu 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 tập thực thể gọi là các thuộc tính. Thuộc tính của thực thể bao gồm các loại sau: - Thuộc tính định danh (còn gọi là định danh thực thể, đôi khi còn gọi là thuộc tính khoá): Là một hoặc một số thuộc tính mà giá trị của nó cho phép phân biệt các thực thể khác nhau. Một thực thể bao giờ cũng được xác định một thuộc tính định danh làm cơ sở để phân biệt các thể hiện cụ thể của nó. Ví dụ : Số hiệu khách hàng, Mã mặt hàng, Mã sinh viên,... Thuộc tính mô tả: Là các thuộc tính mà giá trị của chúng chỉ có tính mô tả cho thực thể hay liên kết mà thôi. Hầu hết các thuộc tính trong một kiểu thực thể đều là mô tả. Có một số thuộc tính mô tả đặc biệt như sau: - Thuộc tính tên gọi: là thuộc tính mô tả để chỉ tên các đối tượng thuộc thực thể. Thuộc tính tên gọi để phân biệt các thực thể (tách các thực thể). - Thuộc tính kết nối (thuộc tính khoá ngoài): là thuộc tính chỉ ra mối quan 5 hệ giữa một thực thể đã có và một thực thể trong bảng khác. Thuộc tính kết nối giống thuộc tính mô tả thông thường trong thực thể chứa nó nhưng nó lại là thuộc tính khoá của một thực thể trong bảng khác. 1.1.2 Liên kết và các kiểu liên kết [1], [2] Liên kết (còn gọi là quan hệ) là sự kết hợp giữa hai hay nhiều thực thể phản ánh sự rang buộc trong quản lý. Đặc biệt: Một thực thể có thể liên kết với chính nó ta thường gọi là tự liên kết. Giữa hai thực thể có thể có nhiều hơn một liên kết. Có ba kiểu liên kết: một - một, một - nhiều, nhiều - nhiều. - Liên kết một - một (1-1): Mỗi thể hiện của thực thể A quan hệ với một thể hiện của thực thể B và ngược lại. Ví dụ: Một học viên có một luận văn, một luận văn thuộc về một học viên - Liên kết một - nhiều (1-N): Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một thể hiện của thực thể A. Ví dụ: Một khoa có nhiều sinh viên, nhiều sinh viên thuộc về một khoa - Liên kết nhiều - nhiều (N-N): Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A. Ví dụ: Một giáo viên dạy nhiều sinh viên. Một sinh viên được dạy bởi nhiều giáo viên. 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 tính hiệu quả hoặc các chi tiết thiết kế cơ sở dữ liệu vật lý. Mô tả bằng hình ảnh: Mô hình thực thể liên kết 6 Hình 1.1 Mô hình thực thể liên kết * Nhận xét: - Ưu điểm: Dễ dàng biểu diễn cái mà con người nhận thức từ thế giới thực. Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa các thực thể. - Nhược điểm: Không dễ dàng ánh xạ vào những cấu trúc lưu trữ trên máy. 1.2. Mô hình dữ liệu mạng Mô hình dữ liệu mạng (Network Data Model) hay gọi tắt là mô hình mạng (Network Model) là mô hình được biểu diễn bởi một đồ thị có hướng. Mô hình này được xây dựng bởi Honeywell vào năm 1964-1965. Trong mô hình này, có 3 khái niệm được sử dụng: mẫu tin hay bản ghi (record), loại mẫu tin (record type) và loại liên hệ (set type). Loại mẫu tin: đặc trưng cho một loại đối tượng riêng biệt. Chẳng hạn như trong quản lý nhân sự tại một đơn vị thì đối tượng cần phản ảnh của thế giới thực có thể là: phòng, nhân viên, công việc, lý lịch,… do đó có các loại mẫu tin đặc trưng cho từng đối tượng này. Trong mô hình mạng, mỗi loại mẫu 7 tin được thể hiện bằng một hình chữ nhật, một thể hiện (instance) của một loại mẫu tin được gọi là bản ghi (record). Ở ví dụ trên loại mẫu tin phòng có các mẫu tin là các phòng ban trong công ty, loại mẫu tin Nhân viên có các mẫu tin là các nhân viên đang làm việc tại các phòng ban của công ty,… Loại liên hệ: là sự liên kết giữa một loại mẫu tin chủ với một mẫu tin thành viên. Trong mô hình mạng, một loại liên hệ được thể hiện bằng hình bầu dục và sự liên kết giữa hai loại mẫu tin được thể hiện bằng các cung có hướng đi từ loại mẫu tin chủ đến loại liên hệ và từ loại liên hệ đến loại mẫu tin thành viên. Trong loại liên kết người ta còn chỉ ra số lượng các mẫu tin tham gia vào trong mối kết hợp. Có một số loại sau: • 1÷ 1 (One to One): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi nhân viên có duy nhất một lý lịch cá nhân. • 1÷ n (One to Many): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với 1 hay nhiều mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi phòng ban có thể có một hoặc nhiều nhân viên. • n ÷ 1 (Many to One): Nhiều mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên. Ví dụ, nhiều nhân viên cùng làm một công việc. • Đệ quy (Recursive): Một loại mẫu tin chủ cũng có thể đồng thời là mẫu tin thành viên với chính nó. Ví dụ, trưởng phòng cũng là một nhân viên thuộc phòng trong công ty. 8 Hình 1.2: Mô hình dữ liệu mạng *Nhận xét: - Ưu điểm: đơn giản, dễ sử dụng. Có thể biểu diễn các ngữ nghĩa đa dạng với kiểu bản ghi và kiểu móc nối. Truy vấn thông qua phép duyệt đồ thị. - Nhược điểm: Số lượng các con trỏ lớn. Hạn chế biểu diễn bởi ngữ nghĩa của các móc nối giữa các bản ghi. 1.3. Mô hình dữ liệu phân cấp [1], [2] Mô hình dữ liệu phân cấp (Hieracical Data Model), còn gọi là mô hình phân cấp (Hieracical Model), được thực hiện thông qua sự kết hợp giữa IBM và North American Rockwell vào khoảng năm 1965. Mô hình là một cây, trong đó mỗi nút của cây biểu diễn một thực thể, giữa nút con với nút cha được liên hệ với nhau theo một mối quan hệ xác định. Đường lố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 đường duyệt qua cơ sở dữ liệu theo nghĩa ngược lại. 9 Các thể hiện của cơ sở dữ liệu 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 cơ sở dữ liệu tương ứng với một cây trong lược đồ cơ sở dữ liệu và mẫu tin gốc của một mẫu tin cơ sở dữ liệu tương ứng với một thực thể của kiểu mẫu tin gốc. Loại mẫu tin: giống trong mô hình dữ liệu mạng Loại mối liên hệ: kiểu liên hệ là phân cấp. * Nhận xét: - Ưu điểm: Dễ xây dựng và thao tác. Tương thích với các lĩnh vực tổ chức và phân cấp. Ngôn ngữ thao tác đơn giản. - Nhược điểm: Sự lặp lại của các bản ghi dư thừa dữ liệu và dữ liệu không nhất quán. Hạn chế biểu diễn ngữ nghĩa của các móc nối giữa các bản ghi(chỉ cho phép quan hệ 1->n). 1.4. Mô hình dữ liệu hướng đối tượng [1], [6] Được ra đời vào những năm 1990, 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. - 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 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 10 đố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 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 (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. * Nhận xét: - Ưu điểm: Cho phép định nghĩa đối tượng phức tạp. Tính chất bao đóng, kế thừa, đa hình. - Nhược điểm: Cấu trúc lưu trữ phức tạp và có thể sử dụng nhiều con trỏ. Khả năng tối ưu hóa các xử lý bị hạn chế trong nhiều trường hợp. 1.5. Mô hình cơ sở dữ liệu quan hệ [2], [6],[8],[10] Mô hình cơ sở dữ liệu quan hệ được E.F.Codd đề xuất năm 1970 1.5.1. Các khái niệm cơ bản [2], [6] 1.5.1.1 Thuộc tính và miền thuộc tính Định nghĩa 1.1 [8],[10] - 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.1: Đối tượng Sinh viên có các thuộc tính như: MaSV, Hoten, NgSinh, Dchi, ... 11 Miền giá trị của các thuộc tính của đối tượng Sinh viên : Dom(MaSV) = {char(4)} = {‘SV01’, ‘SV02’, ‘SV032’ ...} ; Dom(Hoten) = {char(30)} = {‘Nguyễn Văn A’, ‘Nguyễn Văn B’, ... } ; Dom(NgSinh) = {date} = {‘30/03/78’, 22/12/96, ...} ; Dom(Đchi) ={char(10)} ; {‘HN’, ‘HP’, ‘VP’, …}. 1.5.1.2. Quan hệ, lược đồ quan hệ Định nghĩa 1.2 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,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=1, 2, …, m) là một hàm: h j: U → UD Ai ÎU Ai sao cho hj(Ai) Î DAi (i=1, 2, ...,n). Ta có thể xem một quan hệ như một bảng, trong đó mỗi hàng (phần tử) là một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính. Biểu diễn quan hệ r thành bảng như sau: A1 A2 … An h1 h1(A1) h1(A2) … h1(An) h2 h2(A1) h2(A2) … h2(An) … … … … … hm hm(A1) hm(A2) … Bảng 1.1: Biểu diễn quan hệ r. hm(An) Ví dụ 1.2: Cho quan hệ SINH_VIEN SINHVIEN MaSV HOTEN NGAYSINH DIACHI KHOA t1 SV01 Nguyễn Thị Hòa 24/01/92 Hà Nội Toán t2 SV02 Trần Văn Mạnh 03/05/92 Vĩnh Phúc Lý t3 SV03 Lê Văn Lượng 03/05/92 Ninh Bình Hóa 12 Trong đó các thuộc tính là MaSV: Mã sinh viên; HOTEN: Họ tên; NGAYSINH: ngày sinh; DIACHI: địa chỉ; KHOA: khoa. t1= (SV01, Nguyễn Thị Hòa, 24/01/92, Hà nội, Toán) là một bộ của quan hệ SINH_VIEN. Nếu có một bộ t = (d1, d2, d3, , dm) Î r, r xác định trên U, X Í U 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={A1, A2, .., An} được viết là R(U) hoặc R(A1, A2, .., An). 1.5.1.3. Khoá của quan hệ Định nghĩa 1.4 Khoá của quan hệ r xác định trên tập thuộc U={A1, A2, .., An} là tập con K Í U sao cho bất kỳ hai bộ khác nhau t1, t2 Î r luôn thoả t1(K) ≠ t2(K) và bất kỳ tập con thực sự K1 Ì K nào đó đều không có tính chất đó. Tập thuộc tính K’ được gọi là siêu khoá nếu K’ Ê K và K là một khoá của quan hệ r. Ví dụ 1.3: Cho quan hệ SINH_VIEN (ví dụ 1.2), ta có thuộc tính MaSV là khóa của quan hệ. 1.5.2. Các phép toán đại số quan hệ [1], [6],[8],[10] Ngoài việc định nghĩa cấu trúc của cơ sở dữ liệu và các ràng buộc, một mô hình dữ liệu cần phải có một tập các phép toán để thao tác dữ liệu. Ngôn ngữ đại số quan hệ(hay đại số quan hệ) chính là tập hợp các phép toán mà mô hình quan hệ cung cấp và là cơ sở quan trọng của một ngôn ngữ bậc cao được sử dụng để thao tác trên các quan hệ. Vì dữ liệu được biểu diễn dưới dạng các quan hệ nên từ các quan hệ ban 13 đầu được lưu trữ, có thể sử dụng các phép toán của đại số quan hệ để tao ta quan hệ mới, quan hệ mới này chứa thông tin do người dùng yêu cầu. Các phép toán của đại số quân hệ thường được chia làm hai nhóm: Phép toán tập hợp: hợp, giao, trừ, tích Đề-các. Phép toán quan hệ: chiếu, chọn, kết nối, chia. Định nghĩa 1.5 [1], [7],[10] 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 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 hợp Phép hợp hai quan hệ khả hợp r và s, kí hiệu là 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 ⊄ t ⊄s} Ví dụ 1.4: r r⊄s (A B C) x1 y1 s B C) z1 x1 y1 z1 x2 y1 z2 x2 y2 z2 x2 y2 z1 (A B C) x1 y1 z1 x2 y1 z2 x2 y2 z2 x2 y2 z1 (A 1.5.2.2. Phép giao Phép giao của hai quan hệ khả hợp r và s, kí hiệu là r ∩s, là tập tất cả các bộ thuộc cả hai quan hệ r và s. Ta có: r ∩ s = {t│ t ⊄ r ⊄ t ⊄ s} 14 Ví dụ 1.5: r (A B C) x1 y1 x2 x2 r∩s s (A B C) z1 x1 y1 z1 y1 z2 x2 y2 z2 y2 z1 (A B C) x1 z1 y1 1.5.2.3. Phép trừ Phép trừ của hai quan hệ khả hợp r và s, 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 ⊄ t ⊄ s} Ví dụ 1.6: r (A B C) x1 y1 B C) z1 x1 y1 z1 x2 y1 z2 x2 y2 z2 x2 y2 z1 r - s = (A B C) s - r = (A B C) x2 y1 z2 z2 s (A x2 y2 z2 y2 z1 * Chú ý: Từ định nghĩa phép giao và phép trừ của 2 quan hệ r và s cho thấy Phép giao của 2 quan hệ r ∩ s có thể biểu diễn thông qua phép trừ: r ∩ s =r-(r-s) 1.5.2.4. Tích Đề-các Cho quan hệ r xác định trên tập thuộc tính {A1, A2, .., An} và quan hệ s xác định trên tập thuộc tính {B1, B2, .., Bm}. Tích Đề-các của hai quan hệ r và s kí hiệu là r × s, là tập tất cả các (m+n) - bộ có n thành phần đầu tiên là một bộ thuộc r và m thành phần sau là một bộ thuộc s. Ta có: 15 r × s = {t=(a1, a2, .., an, b1, b2, .., bm) │(a1, a2, .., an) ⊄ r ϕ (b1 b2, .., bm) ⊄ s} Ví dụ 1.7 : Ta có các quan hệ r, s r r × s= A x1 x1 x1 x2 x2 x2 x2 x2 x2 A B C x1 y1 x2 x2 B y1 y1 y1 y1 y1 y1 y2 y2 y2 D E F z1 x1 y1 z1 y1 z2 x2 y2 z2 y2 z1 x1 y2 z2 C z1 z1 z1 z2 z2 z2 z1 z1 z1 s G x1 x2 x1 x1 x2 x1 x1 x2 x1 H y1 y2 y2 y1 y2 y2 y1 y2 y2 F z1 z2 z2 z1 z2 z2 z1 z2 z2 Bảng 1.2: Biểu diễn r x s 1.5.2.5. Phép chiếu Cho 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 là tập con của U. Phép chiếu của quan hệ r trên tập thuộc tính X, kí hiệu là Õ x (r), là tập các bộ của r xác định trên tập thuộc tính X. Ta có: Õ x (r) = {t.X│ t ⊄ r }. Phép chiếu thực chất là phép toán giữ lại một số thuộc tính cần thiết của quan hệ và loại bỏ những thuộc tính không cần thiết. Ví dụ 1.8: 16 r (A B C D) x1 1 x 4 y1 5 y 2 y1 5 z 5 x1 1 x 5 y1 1 y 4 Õ A,B (r) = (A B) Õ BD (r)= (B D) x1 1 1 4 y1 5 5 2 y1 1 5 5 1 5 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. Biểu thức chọn F được định nghĩa là một tổ hợp logic của các toán hạng, mỗi toán hạng là một phép so sánh đơn giản giữa hai biến là hai thuộc tính hoặc giữa một biến là một thuộc tính và một giá trị hằng. Biểu thức chọn F cho giá trị đúng hoặc sai đối với mỗi bộ đã cho của quan hệ khi kiểm tra riêng bộ đó. - Các phép toán so sánh trong biểu thức F: >, <, =, ≥, ≠, ≤. - Các phép toán logic trong biểu thức F: ⊄ (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, kí hiệu là d F (r), là tập tất cả các bộ của r thoả mãn F. Ta có: d F (r) Ví dụ 1.9: Cho quan hệ r = { t│ t⊄r ϕ F(t)}. 17 r dB³ D (r) = (A B C D) 4 y1 5 y 2 y 2 z1 5 z 5 z1 5 z 5 x1 8 x 5 x1 8 x 5 y1 1 y 4 (A B C D) x1 1 x y1 5 1.5.2.7. Phép kết nối Cho quan hệ r xác định trên tập thuộc tính {A1, A2, .., An} và quan hệ s xác định trên tập thuộc tính {B1, B2, .., Bm}. Để định nghĩa phép kết nối của hai quan hệ, trước hết chúng ta làm quen với khái niệm ghép bộ. Giả sử cho hai bộ u=(a1, a2, .., an) và v=(b1, b2, .., bm). Phép gộp bộ u với bộ v, kí hiệu (u,v), được định nghĩa là: (u,v)=(a1, a2, .., an, b1, b2, .., bm). Phép kết nối hai quan hệ thực chất là phép ghép các cặp bộ của hai quan hệ thoả mãn một điều kiện nào đó trên chúng. Điều kiện đó đựợc gọi là điều kiện kết nối hay biểu thức kết nối. Biểu thức kết nối được định nghĩa là phép hội 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 một thuộc tính của quan hệ r và một thuộc tính của quan hệ s. Phép kết nối của quan hệ r với quan hệ s với biểu thức kết nối F được định nghĩa như sau: r >< s= {t (u, v)│ u ⊄ r ⊄ v ⊄ s ⊄ F(t)}. F Tất nhiên ở đây cần giả thiết rằng các phép so sánh của các cặp thuộc tính thuộc hai quan hệ là có nghĩa, hay mỗi giá trị của thuộc tính này có thể so sánh được với mỗi giá trị của thuộc tính kia. Trong trường hợp phép so sánh là “=”, chúng ta gọi phép kết nối đó là phép kết nối bằng. Trường phép hợp kết nối bằng trên các thuộc tính cùng tên của hai quan hệ và sau khi kết nối một trong hai thuộc tính của phép so sánh “=” được loại bỏ thông qua phép chiếu thì phép kết nối này được gọi là kết nối 18 tự nhiên và sử dụng kí hiệu “ * ”. Phép kết nối tự nhiên của hai quan hệ có thể được định nghĩa như sau: r(U) * s(V) = {t.(U⊄V) ⊄ t.U ⊄ r ⊄ t.V ⊄ s}. Ví dụ 1.10: r r >< s = B>E (A B C D) x1 1 x y1 5 z1 s (E F) 4 6 x y 2 4 y 5 z 5 5 z x1 8 x 5 y1 1 y 4 A B C D E F y1 5 y 2 4 y z1 5 z 5 4 z x1 8 x 5 6 x x1 8 x 5 4 y x1 8 x 5 5 z 1.5.2.8. Phép chia Cho r là một quan hệ n ngôi xác định trên tập thuộc tính U và s là một quan hệ m ngôi xác định trên tập thuộc tính V, với V ⊄ U, n > m và s ≠ ⊄, có nghĩa là lực lượng của s là khác 0 hay s có ít nhất một bộ. Phép chia quan hệ r cho quan hệ s, kí hiệu là r ÷ s, là tập tất cả các bộ t 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.11: r (A B C D) a b c a b b c s (C D) d c d e f e f e f
- Xem thêm -

Tài liệu liên quan