Đề tài Nghiên cứu, xây dựng cơ sở dữ liệu tích cực

Theo truyền thống, các hệthống cơ sởdữliệu được xem như là các kho để lưu trữthông tin cần thiết của một ứng dụngvà chúng được truy cập hoặc bởi những người sửdụng chương trình hoặc các giao diện tương tác. Tuy nhiên, các hệthống cơ sởdữliệu đang được sửdụng cho một phạm vi các lĩnh vực liên quan đến việc xửlý các thông tin phức tạp, thậm chí sốlượng lớn dữliệu, hoặc đòi hòi sựthực hiện chính xác cao, trong đó môi trường nhiều thành phần theo quy ước chứng tỏkhông được thỏa mãn. Điều này dẫn đến xu hướng chung trong việc nghiên cứu cơ sởdữliệu hướng chức năng được yêu cầu bởi một ứng dụng được hỗtrợtrong cơ sởdữliệu, sinh ra các hệthống cơ sởdữliệu với nhiều khảnăng tinh xảo đểmô phỏng cảkhía cạnh cấu trúc và hoạt động của một ứng dụng. Trong sốnhững lĩnh vực nhận được sựchú ý trong những năm gần đây với cái nhìn làm nổi bật sựhoạt động dễdàng là lập trình cơ sởdữliệu, các cơ sởdữliệu tạm thời, các cơ sởdữliệu không gian, các cơ sởdữliệu đa phương tiện (truyền thông), các cơ sởdữliệu suy diễn và các cơ sởdữliệu tích cực. Trong luận văn này,tôi tập trung vào vấn đề cơ sởdữliệu tích cực. Hệthống cơ sởdữliệu tích cực (ADBS) hỗ trợcác cơ chếcho phép chúng tựđộng phản ứng tới các sựkiện đang diễn ra bên trong hoặc bên ngoài chính hệ thống cơ sởdữliệu đó. Trong những năm gần đây, nỗlực đáng kểđược hướng tới việc nâng cao hiểu biết các hệthống đó, và có nhiều ứng dụng được đềxuất. Sựtích cực ởmức độcao này không mang lại sựphù hợp với phương pháp tiếp cận đểtích hợp các chức năng của hoạt động với các hệthống cơ sởdữliệu quy ước, nhưng nó mangtới việc cải thiện tầm hiểu biết ngôn ngữmiêu tảcách thức hành động tích cực, các mô hình thực hiện và các kiến trúc. Trong luận vănnày trình bày các tính chất cơ bản của hệcơ sởdữliệu tích cực, mô tảtập hợp các hệ thống tiêu biểu trong một framework phổbiến, nghiên cứu tầ m quan trọng của việcthiết kế các công cụđểphát triển các ứng dụng tích cực.

pdf79 trang | Chia sẻ: nhungnt | Lượt xem: 2392 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu, xây dựng cơ sở dữ liệu tích cực, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGÔ THỊ THANH HOÀ NGHIÊN CỨU, XÂY DỰNG CƠ SỞ DỮ LIỆU TÍCH CỰC LUẬN VĂN THẠC SĨ Hà Nội, LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn “Nghiên cứu, xây dựng Cơ sở dữ liệu tích cực” là công trình nghiên cứu của riêng tôi. Các tài liệu, kết quả nêu trong luận văn là hoàn toàn trung thực, được trích dẫn và phát triển từ các tài liệu, tạp chí, website…. Ngô Thị Thanh Hoà 1 LỜI CẢM ƠN ời đầu tiên em xin chân thành cảm ơn thầy giáo TS.Nguyễn Tuệ đã cho em nhiều ý kiến đóng góp quý báu, tận tình hướng dẫn và giúp đỡ em về mặt kiến thức cũng như tài liệu để em có thể hoàn thành luận văn này. Em xin gửi lời cảm ơn đến Ban Giám hiệu, các phòng ban, Khoa sau Đại học Trường Đại học Công nghệ đã tạo điều kiện cho em trong suốt khoá học. Em cũng xin bày tỏ lòng biết ơn sâu sắc đến các thầy giáo, cô giáo Trường Đại học Công nghệ – Đại học Quốc Gia Hà Nội , các thầy, cô giáo đã tham gia giảng dạy, hướng dẫn, chỉ bảo cho em trong suốt hai năm học qua. Và em xin gửi lời cảm ơn đến bạn bè, gia đình và các đồng nghiệp đã có những động viên, khuyến khích và hỗ trợ cần thiết để em hoàn thành luận văn này. Hà nội, ngày 10 tháng 5 năm 2011 Ngô Thị Thanh Hoà L 2 MỤC LỤC LỜI CẢM ƠN......................................................................................................... ..1 MỤC LỤC ............................................................................................................... ..2 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT ............................................................... ..5 MỞ ĐẦU ................................................................................................................. ..6 Chương I ................................................................................................................. ..8 TỔNG QUAN VỀ CSDL QUAN HỆ VÀ CÁC RÀNG BUỘC TOÀN VẸN ..... 8 1.1. TỔNG QUAN VỀ CSDL QUAN HỆ .............................................................. 8 1.1.1. Các khái niệm CSDL quan hệ .................................................................. 8 1.1.2. Chuẩn hóa .............................................................................................. 11 1.1.2.1. Các cấu trúc phụ thuộc ..................................................................... 12 1.1.2.2. Các dạng chuẩn. ............................................................................... 15 1.1.3. Các quy tắc toàn vẹn............................................................................... 18 1.1.4. Các ngôn ngữ quan hệ dữ liệu ............................................................... 19 1.1.4.1. Đại số quan hệ .................................................................................. 20 1.1.4.2. Các tính toán quan hệ ....................................................................... 23 1.1.4.3. Tương tác với các ngôn ngữ lập trình ............................................... 26 1.1.5. Hệ Quản trị CSDL quan hệ .................................................................... 26 1.2. CÁC RÀNG BUỘC TOÀN VẸN TRÊN CSDL QUAN HỆ .......................... 29 1.2.1. Kiểm soát toàn vẹn ngữ nghĩa tập trung ................................................ 31 1.2.1.1. Khái niệm ràng buộc toàn vẹn .......................................................... 31 1.2.1.2. Các yếu tố của ràng buộc toàn vẹn..................................................... 32 1.2.1.3. Phân loại ràng buộc toàn vẹn ............................................................ 35 1.2.2. Bắt tuân theo ràng buộc toàn vẹn .......................................................... 39 Chương II ................................................................................................................. 43 CƠ SỞ DỮ LIỆU TÍCH CỰC ............................................................................... 43 3 2.1. CƠ SỞ DỮ LIỆU TÍCH CỰC ....................................................................... 43 2.1.1. Khái niệm cơ sở dữ liệu tích cực ............................................................ 43 2.1.2. Quy tắc ECA ........................................................................................... 43 2.1.2.1. Sự kiện (Event).................................................................................. 43 2.1.2.2. Điều kiện (Condition) ....................................................................... 47 2.1.2.3. Hành động (Active) ........................................................................... 48 2.2. MÔ HÌNH TỔNG QUÁT VÀ CÁC TRIGGER TRONG ORACLE ....... 49 2.2.1. Mô hình tổng quát của CSDL tích cực: ................................................ 49 2.2.2. Vấn đề thiết kế và cài đặt cho các cơ sở dữ liệu tích cực ...................... 55 2.2.3. Các ứng dụng tiềm năng đối với các cơ sở dữ liệu tích cực .................. 57 Chương III ............................................................................................................... 59 CÀI ĐẶT CÁC QUY TẮC ECA BẰNG NGÔN NGỮ SQL ................................ 59 3.1. GIỚI THIỆU TRIGGER TRONG SQL-SERVER........................................ 59 3.2. CSDL TRONG QUẢN LÝ BÁN HÀNG........................................................ 59 3.2.1. Danh mục Cart: ...................................................................................... 60 2.2.2. Danh mục CartStatus: ............................................................................ 60 2.2.3. Danh mục News: .................................................................................... 60 2.2.4. Danh mục Parent Product:..................................................................... 61 2.2.5. Danh mục Product: ................................................................................ 61 2.2.6. Danh mục ProductCart: ......................................................................... 61 2.2.7. Danh mục Role:...................................................................................... 62 2.2.8. Danh mục user: ...................................................................................... 62 3.3. QUY TẮC TẠO TRIGGER ........................................................................... 62 3.4. CÁC TRIGGER TRONG CSDL.................................................................... 63 3.4.1. Trigger ngăn chặn việc xóa database trên Server. ................................. 63 4 3.4.2. Trigger ngăn chặn insert vào bảng Product........................................... 64 3.4.3. Trigger ngăn chặn update (cập nhật) bảng Product. ............................. 66 3.4.4. Trigger ngăn chặn xóa dữ liệu trong bảng ............................................ 67 3.4.5. Trigger ngăn chặn tạo mới record trong bảng. ...................................... 68 3.4.6. Tạo mới trong bảng ( không vi phạm trigger của trigger 05)................. 69 3.4.7. Trigger ngăn chặn xóa bảng trong database.......................................... 71 3.4.8. Ngăn chặn xóa trigger trong CSDL ....................................................... 71 3.4.9. Không cho phép tạo mới bảng trong CSDL. .......................................... 72 3.4.10. Không cho phép tạo mới trigger trong CSDL. ................................. 73 KẾT LUẬN............................................................................................................. 75 TÀI LIỆU THAM KHẢO ........................................................................................ 76 5 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Stt Từ viết tắt Tiếng Anh Tiếng Việt 1 ABDS Active Database System Hệ thống cơ sở dữ liệu tích cực 2 CSDL Cơ sở dữ liệu 3 DBMS Database Management System Hệ quản trị cơ sở dữ liệu 4 ECA Event-Condition-Active Sự kiện-Điều kiện-Hành động 5 HQTCSDL Hệ quản trị cơ sở dữ liệu 6 WFF Well-formal formular Một công thức xây dựng tốt 6 MỞ ĐẦU Theo truyền thống, các hệ thống cơ sở dữ liệu được xem như là các kho để lưu trữ thông tin cần thiết của một ứng dụng và chúng được truy cập hoặc bởi những người sử dụng chương trình hoặc các giao diện tương tác. Tuy nhiên, các hệ thống cơ sở dữ liệu đang được sử dụng cho một phạm vi các lĩnh vực liên quan đến việc xử lý các thông tin phức tạp, thậm chí số lượng lớn dữ liệu, hoặc đòi hòi sự thực hiện chính xác cao, trong đó môi trường nhiều thành phần theo quy ước chứng tỏ không được thỏa mãn. Điều này dẫn đến xu hướng chung trong việc nghiên cứu cơ sở dữ liệu hướng chức năng được yêu cầu bởi một ứng dụng được hỗ trợ trong cơ sở dữ liệu, sinh ra các hệ thống cơ sở dữ liệu với nhiều khả năng tinh xảo để mô phỏng cả khía cạnh cấu trúc và hoạt động của một ứng dụng. Trong số những lĩnh vực nhận được sự chú ý trong những năm gần đây với cái nhìn làm nổi bật sự hoạt động dễ dàng là lập trình cơ sở dữ liệu, các cơ sở dữ liệu tạm thời, các cơ sở dữ liệu không gian, các cơ sở dữ liệu đa phương tiện (truyền thông), các cơ sở dữ liệu suy diễn và các cơ sở dữ liệu tích cực. Trong luận văn này, tôi tập trung vào vấn đề cơ sở dữ liệu tích cực. Hệ thống cơ sở dữ liệu tích cực (ADBS) hỗ trợ các cơ chế cho phép chúng tự động phản ứng tới các sự kiện đang diễn ra bên trong hoặc bên ngoài chính hệ thống cơ sở dữ liệu đó. Trong những năm gần đây, nỗ lực đáng kể được hướng tới việc nâng cao hiểu biết các hệ thống đó, và có nhiều ứng dụng được đề xuất. Sự tích cực ở mức độ cao này không mang lại sự phù hợp với phương pháp tiếp cận để tích hợp các chức năng của hoạt động với các hệ thống cơ sở dữ liệu quy ước, nhưng nó mang tới việc cải thiện tầm hiểu biết ngôn ngữ miêu tả cách thức hành động tích cực, các mô hình thực hiện và các kiến trúc. Trong luận văn này trình bày các tính chất cơ bản của hệ cơ sở dữ liệu tích cực, mô tả tập hợp các hệ thống tiêu biểu trong một framework phổ biến, nghiên cứu tầm quan trọng của việc thiết kế các công cụ để phát triển các ứng dụng tích cực. Cơ sở dữ liệu tích cực hỗ trợ ứng dụng trên bằng cách di chuyển hành động phản ứng lại từ ứng dụng tới hệ quản trị cơ sở dữ liệu (DBMS). Các cơ sở dữ liệu tích cực theo cách đó có đủ khả năng giám sát và phản ứng lại những tình 7 huống riêng biệt có liên quan đến ứng dụng. Bản chất phản ứng lại là tập trung và xử lý đúng cách đúng lúc. Mục đích của luận văn: - Tìm hiểu và xây dựng CSDL tích cực: cơ sở dữ liệu mà trong đó việc đảm bảo các ràng buộc toàn vẹn được thực hiện một cách tự động thông qua các quy tắc ECA. - Cơ sở dữ liệu tích cực có ứng dụng tốt trong việc mở rộng các hệ thống cơ sở dữ liệu, làm dễ dàng cho người sử dụng khai thác cơ sở dữ liệu. Nội dung của luận văn được trình bày trong 3 chương: Chương 1: Tổng quan về cơ sở dữ liệu quan hệ và các loại ràng buộc trên CSDL quan hệ Chương 2: Cơ sở lý thuyết của cơ sở dữ liệu tích cực, cụ thể là cấu trúc và việc xây dựng các quy tắc ECA. Chương 3: Cài đặt các quy tắc ECA bằng SQL. 8 Chương I TỔNG QUAN VỀ CSDL QUAN HỆ VÀ CÁC RÀNG BUỘC TOÀN VẸN 1.1. TỔNG QUAN VỀ CSDL QUAN HỆ Có nhiều lý do để chọn mô hình dữ liệu quan hệ như: Cơ sở toán học của mô hình quan hệ là một ứng viên tốt cho xử lý lý thuyết. Mô hình quan hệ có thể được đặc trưng bởi ít nhất 3 tính chất mạnh mẽ: a. Cấu trúc dữ liệu của nó là đơn giản. Chúng là các quan hệ, các bảng hai chiều mà các phần tử của chúng là các mục dữ liệu. Điều này cho phép một mức độ độc lập cao đối với biểu diễn dữ liệu vật lý (tức là các tệp và các chỉ mục) b. Mô hình quan hệ cung cấp một cơ sở chắc chắn cho việc tương thích dữ liệu. Việc thiết kế CSDL được giúp đỡ bằng quá trình chuẩn hóa loại bỏ các bất thường của dữ liệu. Các trạng thái tương thích của CSDL cũng có thể được định nghĩa một cách đồng nhất và được duy trì thông qua các quy tắc toàn vẹn. c. Mô hình CSDL cho phép thao tác quan hệ hướng tập hợp. Tính chất này đã dẫn đến sự phát triển mạnh mẽ của các ngôn ngữ phi thủ tục hoặc dựa trên lý thuyết tập hợp (đại số quan hệ) hoặc dựa trên logic (tính toán quan hệ). 1.1.1. Các khái niệm CSDL quan hệ Một CSDL là một tập hợp dữ liệu có cấu trúc liên quan đến một vài hiện tượng của cuộc sống thực mà ta muốn mô hình hóa. Một CSDL quan hệ là CSDL mà ở đó cấu trúc dữ liệu ở dạng bảng. Một cách hình thức, một quan hệ được định nghĩa trên n tập hợp D1, D2, … , Dn (không nhất thiết phân biệt) là một tập hợp các n-bộ sao cho d1 D1, d2 D2, …., dn Dn Ví dụ 1.1 Xét CSDL mô hình hóa công ty cơ khí. Các thực thể được mô hình hóa là nhân viên (EMP) và dự án (PROJ). Với mỗi nhân viên chúng ta lưu trữ mã số nhân viên (ENO), tên (ENAME), danh hiệu trong công ty (TITLE), lương (SAL), mã số dự án mà nhân viên đang làm việc (PNO), trách nhiệm trong dự 9 án (RESP) và khoảng thời gian làm việc (DUR). Một cách tương tự, với mỗi dự án chúng ta lưu trữ mã số dự án (PNO), tên dự án (PNAME) và ngân sách của dự án (BUDGET). Các lược đồ quan hệ cho cơ sở dữ liệu này có thể được định nghĩa như sau: EMP(ENO, ENAME, TITLE, SAL, PNO, DUR) PROJ(PNO, PNAME, BUGGET) Trong lược đồ quan hệ EMP có bảy thuộc tính ENO, ENAME, TITLE, SAL, PNO, DUR. Các giá trị của ENO lấy từ miền của tất cả các mã số nhân viên hợp lệ, gọi là D1. Các giá trị ENAME lấy từ miền giá tất cả các tên hợp lệ D2, … Để ý rằng thuộc tính của mỗi quan hệ không được lấy giá trị từ miền khác. Các thuộc tính khác nhau trong cùng một quan hệ trong một số quan hệ có thể được định nghĩa trên cùng một miền. Khóa (key) của một quan hệ là một tập con không rỗng bé nhất của các thuộc tính của nó sao cho giá trị tạo nên khóa xác định một cách duy nhất mỗi bộ của một quan hệ. Các thuộc tính tạo nên khóa được gọi là các thuộc tính chủ yếu. Các tập hợp lớn hơn của một khóa thường được gọi là siêu khóa. Như vậy, trong ví dụ trên, khóa của PROJ là PNO, khóa của EMP là (ENO, PNO). Mỗi quan hệ có ít nhất là một khóa. Đôi khi một quan hệ có nhiều khả năng cho khóa. Trong trường hợp như vậy, mỗi khả năng được xem là một khóa dự tuyển và một trong các khóa dự tuyển được lựa chọn làm khóa chính. Số các thuộc tính của quan hệ xác định cấp của nó, số các bộ giá trị của quan hệ xác định lực lượng của nó. Trong dạng bảng, CSDL ví dụ bao gồm hai bảng như được chỉ ra ở trong hình 1.1. Các cột của bảng tương ứng với các thuộc tính của quan hệ. Nếu có các thông tin được nhập vào các bảng thì chúng tương ứng với các bộ giá trị. Bảng rỗng chỉ cấu trúc bảng, bởi vì thông tin bên trong một bảng biến đổi theo thời gian, nhiều ví dụ có thể được tạo là từ một quan hệ. Từ nay trở đi, thuật ngữ quan hệ dùng để chỉ một ví dụ của quan hệ. Trong hình 1.2 là các ví dụ của quan hệ được định nghĩa ở hình 1.1. 10 ENO ENAME TITLE SAL PNO RESP DUR PNO PNAME BUDGET EMP PROJ Hình 1.1 Lược đồ CSDL PROJ EMP Hình 1.2 Ví dụ về cơ sở dữ liệu Một giá trị của thuộc tính có thể không được xác định. Việc thiếu tính xác định có thể có các giải thích khác nhau, hay dùng nhất là không biết hoặc không áp dụng được. Giá trị này thường được gọi là giá trị null. Cần phân biệt giá trị null với giá trị 0 (zero). Giá trị 0 là giá trị được biết, giá trị null là giá trị không PNO PNAME BUDGET P1 Instrucmentation 150000 P2 Database Develop 135000 P3 CAD/CAM 250000 P4 maintenance 310000 ENO ENAME TITLE SAL PNO RESP DUR E1 j.joe Elect.Eng 40000 P1 Manager 12 E2 M.Smith Analyst 34000 P1 Analyst 24 E2 M.Smith Analyst 34000 P2 Analyst 6 E3 A.Lee Mech.Eng. 27000 P3 Consultal 10 E3 A.Lee Mech.Eng 27000 P4 Engineer 48 E4 J.Miller Programmer 24000 P2 Programmer Null E5 B.Casey Syst. Anal. 34000 P2 Manager 24 E6 L.Chu Elect.Eng. 40000 P4 Manager 48 E7 R.Davis Mech.Eng. 27000 P3 Engineer 36 E8 J.Jone Syst.Anal. 34000 P3 Manager 40 11 được biết. Việc hỗ trợ giá trị null là một tính chất quan trọng cần thiết để làm việc với các truy vấn có thể. 1.1.2. Chuẩn hóa “Chuẩn hóa là một quá trình thuận nghịch từng bước thay thế một tập hợp quan hệ bằng các tập hợp tiếp theo, trong đó mỗi quan hệ có cấu trúc đơn giản hơn và chính quy hơn”. Mục đích của chuẩn hóa là loại bỏ nhiều bất thường của một quan hệ để nhận được quan hệ “tốt hơn”. Bốn vấn đề sau có thể tồn tại trong một lược đồ quan hệ: a. Bất thường lặp (repetition anormaly) Một số thông tin có thể được lặp lại một cách không cần thiết. Ví dụ, xét quan hệ EMP ở hình 2.2. ENAME, TITLE, SAL của một nhân viên được lặp với mỗi dự án mà nhân viên này phục vụ trên đó. Điều này dẫn đến một sự lãng phí bộ nhớ và trái với tinh thần của CSDL. b. Bất thường cập nhật (update anormaly) Như là hệ quả của việc lặp dữ liệu, việc thực hiện cập nhật có thể gây rắc rối phiền hà. Ví dụ, lương của một nhân viên thay đổi, nhiều bộ giá trị phải được cập nhật để phản ánh sự thay đổi này. c. Bất thường chèn (Insertion anormaly) Có thể không có khả năng thêm mới vào cơ sở dữ liệu. Ví dụ, khi một nhân viên mới vào công ty chúng ta không thể thêm thông tin cá nhân (ENAME, TITLE, SAL) vào quan hệ EMP nếu nhân viên đó chưa làm cho dự án nào. Đó là vì khóa của EMP bao hàm thuộc tính PNO và giá trị null không phải là thành phần của một khóa. d. Bất thường loại bỏ (Deletion anormaly) Đó là sự trái ngược của bất thường chèn. Nếu một nhân viên chỉ làm việc trên một dự án và dự án đó đã kết thúc thì không thể loại bỏ thông tin dự án ra khỏi EMP. Làm như vậy dẫn đến việc loại bỏ bộ giá trị duy nhất về nhân viên, dẫn đến việc mất thông tin cá nhân mà chúng ta muốn lưu giữ. Sự chuẩn hóa chuyển đổi các lược đồ quan hệ thành các lược đồ không có những vấn đề này. Phương pháp phổ biến nhất để chuẩn hóa một lược đồ quan 12 hệ là phương pháp tách (decomposition), trong đó chúng ta bắt đầu với một quan hệ đơn, gọi là quan hệ phổ quát (universal relation), quan hệ này chứa tất cả các thuộc tính (và có thể bất thường) và làm giảm nó liên tiếp. Tại mỗi lần lặp, một quan hệ được chia thành hai hoặc nhiều quan hệ ở dạng chuẩn cao hơn. Một quan hệ được gọi là ở một dạng chuẩn nếu nó thỏa mãn các điều kiện liên kết với dạng chuẩn đó. Đầu tiên Codd đã định nghĩa các dạng chuẩn thứ nhất (1NF), thứ hai (2NF) và thứ ba (3NF). Boyce và Codd sau đó định nghĩa một phiên bản sửa đổi của dạng chuẩn 3, phiên bản này thường được gọi là dạng chuẩn Boyce- Codd (BCNF). Điều đó được tiếp tục bằng định nghĩa các dạng chuẩn thứ tư (4NF, Fagin, 1977) và dạng chuẩn thứ năm (5NF, Fagin, 1979). Có một mối liên hệ phân cấp giữa các dạng chuẩn này. Một quan hệ được chuẩn hóa là ở 1NF. Một số quan hệ ở 1NF cũng ở 2NF, một số trong các quan hệ đó là ở 3NF, … Các dạng chuẩn cao hơn có tính chất tốt hơn các dạng khác về bốn bất thường được nêu ở trên. Một trong các yêu cầu của quá trình chuẩn hóa là sự phân tách không mất mát. Điều đó có nghĩa là sự thay thế một quan hệ bằng nhiều quan hệ khác sẽ không dẫn đến việc mất thông tin. Nếu có thể nối các quan hệ được phân tách để nhận lại được quan hệ ban đầu thì quá trình đó gọi là tách không mất mát. Một cách trực quan, phép toán nối là phép toán lấy hai quan hệ và nối mỗi bộ của quan hệ thứ hai vào những bộ nào của quan hệ thứ nhất thỏa mãn một điều kiện được chỉ rõ. Ví dụ, điều kiện có thể là giá trị của một thuộc tính của quan hệ thứ nhất phải bằng giá trị của một thuộc tính của quan hệ thứ hai. Một đòi hỏi khác của quá trình chuẩn hóa là bảo toàn phụ thuộc. Một phép tách được gọi là bảo toàn phụ thuộc nếu bao đóng của hợp của phụ thuộc trong các quan hệ được tách là tương đương với bao đóng của quan hệ nguyên thủy (theo một tập các quy tắc suy diễn). 1.1.2.1. Các cấu trúc phụ thuộc Các dạng chuẩn dựa trên một số các cấu trúc phụ thuộc. BCNF và các dạng chuẩn thấp hơn dựa trên phụ thuộc hàm. 4NF dựa trên phụ thuộc đa trị và 5NF dựa trên phụ thuộc nối-chiếu. 13 Chúng ta sẽ định nghĩa phụ thuộc gồm: a. Phụ thuộc hàm Giả sử R là một quan hệ xác định trên tậ