1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn cơ sở dữ liệu nâng cao CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ

77 2,9K 15

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 0,98 MB

Nội dung

Tuy còn những hạn chế nhất định như vậy, nhưng tại sao việc chọn mô hình dữ liệu quan hệ làm hệ thống hình thức cho các hệ CSDL phân tán cũng như các hệ CSDL khác thì có nhiều lý do: -

Trang 1

MỤC LỤC

-

-LỜI MỞ ĐẤU 2

NỘI DUNG 5

I KHÁI NIỆM VỀ HỆ CƠ SỞ DỮ LIỆU QUAN HỆ 5

1 CSDL (DataBase): 5

2 CSDL quan hệ (Relationship DataBase): 5

3 Hệ quản trị CSDL (DataBase Management System - DBMS) 5

4 Mô hình dữ liệu quan hệ 7

5 Khoá của quan hệ 10

II THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ 13

1 Các vấn đề gặp phải khi tổ chức dữ liệu 13

2 Phụ thuộc hàm 14

3 Phụ thuộc đa trị 17

4 Bao đóng của tập phụ thuộc hàm 18

5 Bao đóng của tập thuộc tính 20

6 Thuật toán tìm bao đóng của tập thuộc tính 21

7 Khóa của lược đồ quan hệ và các thuộc tính tham gia vào khóa 23

7.1 Thuật toán tìm một khoá của một lược đồ quan hệ 24

7.2 Thuật toán tìm tất cả các khoá của một lược đồ quan hệ 25

7.3 Thuật toán cải tiến 25

8 Phủ tối tiểu 27

8.1 Tập phụ thuộc hàm tương đương 27

8.2 Thuật toán tìm phủ tối tiểu 29

9 Phép tách lược đồ quan hệ 30

9.1 Kết nối không mất mát thông tin 30

9.2 Kiểm tra phép kết nối không mất mát thông tin 31

III CÁC DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ 33

1 Dạng chuẩn thứ nhất (1NF – First Normal Form) 34

2 Dạng chuẩn thứ 2 (2NF – Second normal form) 35

3 Dạng chuẩn thứ ba (3NF – third normal form) 38

4 Dạng chuẩn Boye-Codd (BC) 40

IV HƯỚNG DẨN CÀI ĐẶT VÀ SỬ DỤNG CHƯƠNG TRÌNH 42

1 Cài đặt chương trình 42

2 Các chức năng của chương trình 43

KẾT LUẬN 70

TÀI LIỆU THAM KHẢO 77

Trang 2

LỜI MỞ ĐẤU - -

Từ nhiều năm nay, cơ sở dữ liệu (CSDL) quan hệ đã đóng góprất lớn vào thành công của ngành công nghệ phần mềm Mô hình lưutrữ data dạng bảng ràng buộc bằng các cặp khóa chính - phụ nhằmđảm bảo tính toàn vẹn dường như đã quá hoàn hảo SQL – mộtscripting gần gũi, đơn giản, linh hoạt,… cộng với phần mềm lưu trữ dữliệu quan hệ như Oracle, MySQL, MS SQL Server, PostGreSQL,…khiến RDBMS (Hệ Quản Trị CSDL quan hệ) gần như độc tôn trong các

mô hình lưu trữ dữ liệu Nhưng theo đà phát triển vượt bậc của Côngnghệ thông tin và do nhu cầu của người dùng, đã dẫn đến những yêucầu về thế hệ lưu trữ phải ngày càng hiệu quả hơn và thế là một thế hệdatabse mới ra đời

Thế hệ lưu trữ dữ liệu kế tiếp đòi hỏi gì?

Sự gia tăng đột biến về lượng đặt ra một thách thức lớn cho các

mô hình lưu trữ, dẫn đến bài toán về yêu cầu phân tán Trên thực tế,RDBMS (Hệ Quản Trị CSDL quan hệ) đã tính toán và triển khai tươngđối thành công ở một mức độ nào đó nhưng vẫn kèm theo những hạnchế nhất định về mặt tốc độ, và hay bị bottle neck (nghẽn cổ chai), …

Thế hệ database mới là gì?

Thế hệ database kế tiếp là một thế hệ cơ sở dữ liệu non relational (không ràng buộc), distributed (phân tán), open source (mãnguồn mở), horizontal scalable (khả năng mở rộng theo chiều ngang)

-để có thể lưu trữ, xử lý từ một lượng rất nhỏ cho tới hàng petabytes dữ

Trang 3

liệu trong hệ thống và đặc biệt có độ chịu tải, chịu lỗi cao cùng vớinhững đòi hỏi về tài nguyên phần cứng thấp

Tuy còn những hạn chế nhất định như vậy, nhưng tại sao việc chọn mô hình dữ liệu quan hệ làm hệ thống hình thức cho các hệ CSDL phân tán cũng như các hệ CSDL khác thì có nhiều lý do:

- Trong sách “NGUYÊN LÝ CÁC HỆ CƠ SỞ DỮ LIỆU VÀ CƠ SỞ TRI THỨC” – tác giả Jeffrey Ullman - biên dịch Trần Đức Quang – hiệu đính Hồ Thuần đã nhận xét: “Cơ sở toán học của

mô hình quan hệ làm cho nó trở thành một ứng cử viên sáng giá trong việc giải quyết, mô tả các vấn đề lý thuyết nền tảng của CSDL phân tán một cách rõ ràng và một điều quan trọng nữa là phần lớn các hệ CSDL phân tán đều thuộc loại quan hệ.” Và chính tác giả đã

trình bày rất chi tiết về “Lý Thuyết Thiết Kế Cơ Sở Dữ Liệu Quan Hệ” trong chương 7, trước khi viết về Lý thuyết và Quản Lý Cơ Sở

Dữ Liệu Phân Tán” ở các chương sau

Trong sách “NGUYÊN LÝ CÁC HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN”

-tác giả M.Tamer Ozsu và Patrick Valduries - biên dịch Trần Đức Quang đã viết riêng chương II “Tổng Quan Về Hệ Quản Trị Cơ

Sở Dữ Liệu Quan Hệ” trước khi trình bày lý thuyết về CSDL phân

tán ở các chương kế tiếp

Như vậy, ta thấy rất rõ ràng “Việc nhắc lại các kiến thức: khái niệm của CSDL quan hệ, cũng như việc tìm khóa, tìm phủ tối tiểu, xác định dạng chuẩn của quan hệ và từ đó chuẩn hóa một lược đồ quan hệ” cũng quan trọng không kém, góp phần

Trang 4

đặt nền tảng cho việc tiếp thu kiến thức về CSDL phân tán trở nên dễ dàng hơn.

Chính vì lý do này, mà trong bài thu hoạch chuyên đề “Cơ Sở

Dữ Liệu Nâng Cao” em sẽ trình bày nội dung: “Ứng dụng các thuật toán để tìm bao đóng, tìm khóa, tìm phủ tối tiểu, và chuẩn hóa quan hệ đạt dạng chuẩn Boye-Codd”, với mục đích hệ thống hóa,

nhắc lại các kiến thức nền tảng và qua demo chương trình giúp người

sử dụng chương trình có thể nắm bắt thông tin một cách nhanh chóng,

mà vẫn rõ ràng và hiệu quả Trên cơ sở đó, có thể tiếp thu dễ dàngkiến thức mới về Cơ Sở Dữ Liệu Phân Tán và có thể thiết kế Cơ Sở

Dữ Liệu Phân Tán phục vụ cho nhu cầu của người dùng

Thông qua bài thu hoạch, em xin gửi lời cảm ơn đến Phó Giáo

sư - Tiến sỹ Đỗ Phúc Với kiến thức sâu rộng, lòng nhiệt tình, thái độ

làm việc rất nghiêm túc cùng với cách giảng giải rõ ràng, dễ hiểu,thông qua các ví dụ ứng dụng trong thực tế cuộc sống, thầy đã tận tâmtruyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học

“CƠ SỞ DỮ LIỆU NÂNG CAO” – chính điều này thật sự giúp em

hiểu rõ hơn vấn đề, mở rộng tầm nhìn, thấy được sự cần thiết của mônhọc đang ảnh hường và chi phối đến nhiều lĩnh vực trong thời đại

Trang 5

NỘI DUNG

-

1 CSDL (DataBase):

CSDL là tập hợp của các dữ liệu có cấu trúc liên quan với nhau

về mặt logic, liên quan đến các vấn đề trong thực tế mà chúng ta đang

cố gắng mô hình hóa chúng, CSDL là hệ thống tích hợp các tập tinđược sử dụng nhằm giảm thiểu sự dư thừa dữ liệu

2. CSDL quan hệ (Relationship DataBase):

Là loại CSDL được tổ chức dười dạng bảng (table) Về hìnhthức, một quan hệ relation r được định nghĩa trên n tập (D1, D2,…Dnkhông nhất thiết phải tách biệt) là một tập các n bộ (hoặc đơn giản làcác bộ <d1,d2,….dn> sao cho d1D1, d2D2,…dnDn.)

3. Hệ quản trị CSDL (DataBase Management System - DBMS)

- HQTCSDL biến đổi CSDL vật lý thành CSDL logic

Dựa vào cách tổ chức dữ liệu, HQTCSDL được chia thành năm loại:loại phân cấp, loại mạng, loại tập tin đảo, loại quan hệ, loại đối tượng.Hiện tại, loại HQTCSDL thường được sử dụng trong công nghệ phần

Trang 6

mềm là loại HQTCSDL quan hệ (RDBMS) và HQTCSDL phân tán(DBMS).

Dựa vào sự phân cấp, các hệ cơ sở dữ liệu (hệ CSDL) đầu tiênđược xây dựng theo các mô hình phân cấp và mô hình mạng, đã xuấthiện vào những năm 1960, được xem là thế hệ thứ nhất của các hệquản trị cơ sở dữ liệu (hệ QTCSDL) Tiếp theo là thế hệ thứ hai, các hệQTCSDL quan hệ, được xây dựng theo mô hình dữ liệu quan hệ doE.F Codd đề xuất vào năm 1970

Các hệ QTCSDL có mục tiêu tổ chức dữ liệu, truy cập và cập nhậtnhững khối lượng lớn dữ liệu một cách thuận lợi, an toàn và hiệu quả Tuy nhiên, với sự phát triển nhanh chóng của công nghệ truyềnthông và sự phát triển vượt bậc không ngừng của mạng Internet, cùngvới xu thế toàn cầu hoá trong mọi lĩnh vực, đặc biệt là về thương mại,

đã làm nảy sinh nhiều ứng dụng mới, phải quản lý những đối tượng cócấu trúc phức tạp (văn bản, âm thanh, hình ảnh) và động (các chươngtrình, các mô phỏng) Các CSDL thuộc thế hệ một và hai không thể giảiquyết được các bài toán trong môi trường phân tán (không tập trung),đòi hỏi phải xử lý song song các dữ liệu và hệ thống không thuần nhất.Thế hệ thứ ba của hệ quản trị CSDL ra đời vào những năm 80 trong đó

có CSDL phân tán đã đáp ứng những nhu cầu đặt ra trong thời đại này Một hệ quản trị CSDL thực hiện các chức năng sau:

+ Tạo cấu trúc dữ liệu tương ứng với mô hình dữ liệu được chọn.+ Đảm bảo tính độc lập dữ liệu

+ Cập nhật dữ liệu

+ Phát sinh các báo cáo từ các dữ liệu trong CSDL

Trang 7

+ Đảm bảo tính an toàn và toàn vẹn dữ liệu trong CSDL.

+ Cung cấp các tiện ích sao lưu phục hồi dữ liệu

+ Cung cấp các thủ tục điều khiển tương tranh

Một hệ quản trị thông thường có các thành phần chính sau:

+ Ngôn ngữ định nghĩa dữ liệu (Data Definition Language)

+ Ngôn ngữ thao tác dữ liệu (Data Manipulation Language)

+ Ngôn ngữ hỏi đáp dữ liệu (Query Language)

+ Bộ viết báo cáo

Thuộc tính (attribute)

Thuộc tính là các đặc điểm riêng của một đối tượng, mỗi thuộc tính

có tên gọi và phải thuộc về một kiểu dữ liệu nhất định

Kiểu dữ liệu

Các thuộc tính được phân biệt qua tên gọi và phải thuộc một kiểu

dữ liệu nhất định (số, chuỗi, ngày tháng, logic, hình ảnh…) Kiểu dữ liệu

có thể là kiểu vô hướng (thuộc tính đơn hay thuộc tính nguyên tố) hoặc

là kiểu có cấu trúc (không phải thuộc tính nguyên tố)

Trang 8

Trong nhiều hệ quản trị CSDL, người ta thường đưa thêm vàomiền giá trị của các thuộc tính một giá trị đặc biệt gọi là giá trị rỗng(NULL) Tuỳ theo ngữ cảnh mà giá trị này có thể đặc trưng cho một giátrị không thể xác định được hoặc một giá trị chưa được xác định ở vàothời điểm nhập tin nhưng có thể được xác định vào thời điểm khác.

Miền thuộc tính

Là tập hợp các thuộc tính của đối tượng, các đối tượng thường

có rất nhiều thuộc tính, tuy vậy để quản lý ta chỉ cần quản lý một sốthuộc tính cần thiết cho thông tin về đối tượng

Quan hệ

Sự thể hiện của lược đồ quan hệ ở một thời điểm nào đó đượcgọi là quan hệ, rõ ràng là trên một lược đồ quan hệ có thể xác địnhnhiều quan hệ Quan hệ là tập con của tích Đề Các của một hoặc nhiềumiền Vậy, mỗi quan hệ có thể là vô hạn, ở đây luôn giả thiết rằng quan

hệ là một tập hữu hạn

Có thể định nghĩa quan hệ một cách hình thức như sau:

Định nghĩa: Gọi U = {A1, A2, …, An} là tập hữu hạn các thuộc

tính, mỗi thuộc tính Ai với i = 1,…, n có miền giá trị tương ứng làDom(Ai) Quan hệ r trên tập thuộc tính U = {A1,…, An}, ký hiệu là r(U)hoặc r(A1, , An), là tập con của tích Đề Các của các miền giá trị

r(U) dom(A1)… dom(An)

Trang 9

Trong đó: A1, A2, An: Gọi là miền thuộc tính của quan hệ r

DOM(A1) = {a1 1, a 2 1, a m 1}: Gọi là miền trị của thuộc tính A1n: Gọi là bậc của quan hệ r (hay r là quan hệ n ngôi)

m: Gọi là lực lượng của quan hệ r

Ta thấy so với một bảng thì:

 Mỗi quan hệ tương ứng với một bảng dữ liệu (là một tập dữ liệu)

 Mỗi thuộc tính tương ứng với một cột dữ liệu trong bảng (là mộttrường)

 Mỗi bộ tương ứng với một hàng của bảng dữ liệu (là một bản ghi)

Lưu ý :

- Lược đồ quan hệ được sử dụng để mô tả về cấu trúc và ràngbuộc toàn vẹn của một quan hệ Một quan hệ có thể thay đổi theo thờigian, nhưng lược đồ quan hệ dùng để chỉ nội dung của quan hệ thì tồntại lâu hơn, đó là tính bất biến của quan hệ theo một nghĩa tương đối

n thuộc tính

m bộ

Trang 10

- Khi nói đến lược đồ quan hệ trong đó chỉ tập trung vào khíacạnh mô tả cấu trúc của một quan hệ mà không quan tâm đến ràngbuộc thì ta sẽ dùng ký hiệu

R(A1, A2, …, An)

- Mỗi quan hệ là một thể hiện của lược đồ quan hệ, ký hiệu r(R)

là quan hệ r của lược đồ R

- Với một bộ t thuộc quan hệ r của lược đồ R và X  U, ta ký hiệut[X] là bộ t chỉ chứa các giá trị của các thuộc tính trong X, và t[Ai] để chỉgiá trị của bộ t tương ứng với thuộc tính Ai

Các phép toán trên quan hệ:

- Các phép toán tập hợp (Set operation): Phép hợp (Union operation),Phép Giao (Intersection), Phép Trừ (Minus, Difference), TíchDescartes (Cartesian Product, Product)

- Các phép toán quan hệ: Phép Chiếu (Projection), Phép Chọn(Selection), Phép Kết, Phép Kết Tự Nhiên (Join, Natural join), Phépchia (Division)

5 Khoá của quan hệ

Định nghĩa: Cho quan hệ r xác định trên tập thuộc tính U, K là

một tập thuộc tính K  U Gọi K là khoá của quan hệ r nếu với  bộ ti,

tj  r; ti  tj thì ti[K]  tj[K] (tức là giá trị trên K của một bộ nào đó khácgiá trị trên K của mọi bộ còn lại, hay nói cách khác bộ đó là xác địnhduy nhất)

Mỗi tập K  U thỏa mãn điều kiện trên được gọi là một khóa hay một siêu khóa.

Ví dụ: Xét quan hệ R sau :

Trang 11

t1= a1 b1 c1 d1t2= a2 b2 c2 d2t3= a3 b3 c2 d2t4= a1 b2 c2 d2Xét thấy: K1=U, K2=ABC, K3=AB, … là các khoá của quan hệ r.Nhưng X=BC không phải là tập khoá của quan hệ r vì t2[X] = t4[X]nhưng t2  t4

Định nghĩa khóa tối tiểu: Tập K  U được gọi là khóa tối tiểu

của quan hệ r xác định trên tập thuộc tính U nếu thỏa mãn:

+ K là một khóa của r,+ Bất kỳ tập con thực sự K’ nào của K đều không là khóa.Một quan hệ có thể có nhiều khóa tối tiểu, thông thường người ta

chọn một khóa tối tiểu làm khóa chính, các khóa tối tiểu còn lại gọi là

khóa dự bị (hay khóa dự tuyển) Việc chọn một khóa tối tiểu làm khóachính là tùy ý, nhưng thông thường nên chọn khóa tối tiểu có một thuộctính hoặc có ít thuộc tính nhất

Trang 12

Khóa chính được dùng để nhận diện một bộ trong quan hệ, khi

muốn tìm kiếm một bộ t nào đó, ta chỉ cần biết thành phần khóa chínhcủa t là đủ Do đó, giá trị của các thuộc tính trên tập khóa chính của tất

cả các bộ phải khác NULL Đây là ràng buộc toàn vẹn thực thể của CSDL Thực tế, khi sửa đổi giá trị thuộc tính trong khóa chính của 1 bộ t

chính là hủy bộ t đó và đưa vào bộ t’ khác

Thuộc tính khóa là thuộc tính có tham gia vào một khóa nào đó

(khóa chính hay khóa dự bị) Thuộc tính không tham gia vào khóa nào

(khóa tối tiểu) gọi là thuộc tính không khóa.

Khóa ngoại: Tập K  U được gọi là khóa ngoại của quan hệ r

xác định trên tập thuộc tính U nếu tồn tại quan hệ r’ và K là khóa chínhcủa quan hệ r’ Khi đó r’ và r có liên kết với nhau thông qua khóa ngoạiK

Việc xác định khóa ngoại của một quan hệ đòi hỏi sự hiểu biết về

ý nghĩa hay vai trò của mỗi tập thuộc tính trong các quan hệ khác nhaucủa CSDL Một CSDL gồm nhiều quan hệ với nhiều khóa ngoại để biểu

diễn mối liên kết giữa các quan hệ, ta gọi các mối liên kết này là các ràng buộc toàn vẹn tham chiếu.

Một CSDL không chỉ thỏa mãn các ràng buộc toàn vẹn mà cònphải thỏa mãn các ràng buộc khác nữa Ví dụ, “điểm của môn học thìphải nằm trong đoạn từ 0 đến 10” hay “ngày mượn sách phải trướcngày trả”, hay “số giờ làm việc tối đa của nhân viên trong một tuần là

56”, … Những điều kiện như vậy gọi là các ràng buộc toàn vẹn ngữ nghĩa.

Trang 13

II THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ

1 Các vấn đề gặp phải khi tổ chức dữ liệu

Trước khi bàn về cách thiết kế một cơ sở dữ liệu tốt, chúng tahãy phân tích xem tại sao trong một số lược đồ quan hệ lại tồn tại “cácvấn đề phát sinh”

Ví dụ: cho lược đồ quan hệ:

Thi(MASV, HOTEN, MONHOC, DIEMTHI) với một quan hệ như

sau:

TT5001 Nguyễn Duy An Cấu trúc dữ liệu 7

TT5014 Lê Hoàng Minh Kỹ thuật lập trình 5TT5001 Nguyễn Duy An Kỹ thuật lập trình 6Quan hệ trên ghi kết quả điểm thi các môn của các sinh viên.Chúng ta nhận thấy một số vấn đề nảy sinh như sau:

1 Dư thừa dữ liệu: Với mỗi môn thi họ tên của sinh viên lại

được lặp lại

2 Không nhất quán (dị thường xuất hiện khi sửa dữ liệu): Do

hậu quả dư thừa, chúng ta có thể sửa đổi họ tên của một sinh viêntrong một bộ nào đó nhưng vẫn để lại họ tên cũ trong những bộ khác

Vì vậy có thể không có họ tên duy nhất đối với mỗi sinh viên như mongmuốn

3 Dị thường khi thêm bộ: Chúng ta không thể biết họ tên của

một sinh viên nếu hiện tại sinh viên đó không dự thi môn nào

Trang 14

4 Dị thường khi xoá bộ: Ngược lại với vấn để thứ 3, chúng ta

có thể xoá tất cả các môn thị của một sinh viên, vô ý làm mất dấu vết

để tìm ra họ tên của sinh viên này

Những vấn đề nêu trên sẽ được giải quyết nếu chúng ta phân rãlược đồ quan hệ Diemthi thành hai lược đồ quan hệ:

Sinhvien(MASV, HOTEN)Ketqua(MASV, MONHOC, DIEMTHI)Lúc này, lược đồ quan hệ Sinhvien cho biết họ tên của mỗi sinhviên chỉ xuất hiện đúng một lần, do vậy không có dư thừa Ngoài rachúng ta có thể nhập họ tên của một sinh viên dù hiện tại sinh viên đóchưa có kết quả thi môn nào Tuy nhiên, để tìm danh sách họ tên củacác sinh viên ứng với môn thi Cơ sở dữ liệu thì chúng ta phải thực hiệnphép kết nối

2 Phụ thuộc hàm

Định nghĩa

- Cho quan hệ r xác định trên tập thuộc tính U={A1, …, An} X và Y

là tập con của U Ta nói Y phụ thuộc hàm vào X nếu với 2 bộ bất kỳ t1,t2 r, (t1  t2) mà t1[X] = t2[X] thì t1[Y] = t2[Y] Ký hiệu là: X  Y (đọc là Xxác định hàm Y hoặc Y phụ thuộc hàm vào X) (Nghĩa là, không thể tồntại hai bộ r giống nhau ở các thuộc tính trong tập X mà lại khác nhau ởmột hay nhiều thuộc tính nào đó trong tập Y)

Ký hiệu phụ thuộc hàm là f, tập phụ thuộc hàm là F Như vậy:

f: X Y

F = {f: X Y | X, Y  U, và Y phụ thuộc hàm vào X}

- Nếu Y không phụ thuộc hàm vào X ta có thể viết X! Y

Trang 15

- Lưu ý: Chỉ xét những các phụ thuộc hàm thoả mãn cho mọi

quan hệ trên lược đồ tương ứng của nó Không thể xem xét một phụthuộc hàm thoả mãn một quan hệ r đặc biệt (ví dụ quan hệ rỗng) củalược đồ R rồi sau đó quy nạp rằng phụ thuộc đó thoả mãn trên R

Ví dụ 2: Cho lược đồ quan hệ R(ABCDE)

Trang 16

Ký hiệu là R(U, F) hoặc R = (U, F)

Ví dụ: Cho lược đồ quan hệ R(U, F):

Trang 17

- Thể hiện của quan hệ R của lược đồ quan hệ R(U, F) là tập tất

cả các bộ thỏa mãn tập tất cả các phụ thuộc hàm trong F

Hệ tiên đề Armstrong cho phụ thuộc hàm

Gọi R(U, F) là lược đồ quan hệ với U={A1, , An} là tập các thuộctính X, Y, Z W U

Hệ tiên đề Armstrong bao gồm:

 Tiên đề phản xạ: Nếu YX thì X Y (mọi tập con của X đềuphụ thuộc hàm vào X)

 Tiên đề tăng trưởng: Nếu ZU và X Y thì XZ YZ, trong

đó ký hiệu XZ là hợp của 2 tập X và Z thay cho ký hiệu XZ

 Tiên đề bắc cầu: Nếu X Y và Y Z thì X Z

Hệ quả của hệ tiên đề Armstrong (các luật):

dữ liệu nữa Chẳng hạn, mỗi cặp vợ chồng (tên cha, mẹ) không phảixác định duy nhất tên một đứa con mà là một hoặc một số con; hoặc

Trang 18

một người có thể xác định sở hữu trên một chiếc xe máy… Mối quan hệ

đó trong CSDL gọi là phụ thuộc đa trị

Giả sử cho R là một lược đồ quan hệ, X và Y là hai tập con của

R Ta nói rằng, X là xác định đa trị Y, ký hiệu: X  Y hoặc có một phụthuộc đa trị của Y vào X (viết tắt là MVD – MultiValued Dependency)nếu với mỗi giá trị của X có một tập rỗng hoặc một tập có giá trị tươngứng trên Y mà không liên quan gì tới các giá trị của các thuộc tính cònlại của R–X-Y

Hệ tiên đề đối với phụ thuộc đa trị :

A1 Luật bù cho MVD: Nếu X  Y thì X  U-X-Y

A2 Luật tăng trưởng cho MVD: Nếu X  Y và VW thì WX

4 Bao đóng của tập phụ thuộc hàm

- Suy diễn: Cho lược đồ quan hệ R(U, F), F – là tập phụ thuộc

hàm, X, Y  U, X  Y là một phụ thuộc hàm Ta nói phụ thuộc hàm X 

Y được suy diễn logic ra từ F nếu mọi quan hệ r trên lược đồ R thỏamãn các phụ thuộc hàm trong F thì cũng thỏa mãn phụ thuộc hàm X Y

Trang 19

Bao đóng (closure) của tập phụ thuộc hàm F (ký hiệu là F+) làtập tất cả các phụ thuộc hàm có thể suy diễn logic từ F dựa vào tiên đểArmstrong Ta có F F+

Ví dụ: Cho lược đồ quan hệ R(ABCDEGH) và F được cho như

- Phụ thuộc hàm có vế trái dư thừa

F là tập các phụ thuộc hàm trên lược đồ quan hệ Q, Z là tập thuộctính, ZYF

Phụ thuộc hàm Z  Y có vế trái dư thừa (phụ thuộc không đầyđủ) nếu có một AZ sao cho: F  F-{Z  Y}{(Z-A)  Y}

Ngược lại Z  Y là phụ thuộc hàm có vế trái không dư thừa hay

Y phụ thuộc hàm đầy đủ vào Z hay phụ thuộc hàm đầy đủ

Ta nói F là tập phụ thuộc hàm có vế trái không dư thừa nếu Fkhông chứa phụ thuộc hàm có vế trái dư thừa

Thuật toán loại khỏi F các phụ thuộc hàm có vế trái dư thừa.

Bước 1: Lần lượt thực hiện bước 2 cho các phụ thuộc hàm XY của F Bước 2: Với mọi tập con thật sự X’  của X

Nếu X'Y F+ thì thay XY trong F bằng X'Y thực hiện lại bước 2

Tập phụ thuộc hàm có vế phải một thuộc tính

Trang 20

Mỗi tập phụ thuộc hàm F đều tương đương với một tập phụthuộc hàm G mà vế phải của các phụ thuộc hàm trong G chỉ gồm mộtthuộc tính.

Ví dụ: cho F = {A  BC, B  C, AB  D} ta suy ra

F  {A  B, A  C , B  C, AB  D} = G

G được gọi là tập phụ thuộc hàm có vế phải một thuộc tính

Thuộc tính phụ thuộc bắc cầu

Q là lược đồ quan hệ, X,Y là hai tập con của Q+, A là một thuộctính

Nói rằng A phụ thuộc bắc cầu vào X nếu cả ba điều sau thỏa:

X  Y,Y  A

Y / X

A  XY

5 Bao đóng của tập thuộc tính

- Cho lược đồ quan hệ R(U, F), X U Bao đóng của tập thuộc

tính X trên tập phụ thuộc hàm F ký hiệu là X+ (hoặc XF+) là tập tất cả cácthuộc tính AU được suy ra từ X dựa vào các phụ thuộc hàm trong F

và hệ tiên đề Armstrong, nghĩa là:

X+ = {A: AU và X AF+} Ta có X  X+

Ví dụ: Cho lược đồ quan hệ R(ABCDEGH) và tập phụ thuộc hàm

F:

F = {B A; DA CE; D H; GH C; AC D} Hãy tính B+; H+;

BC+

Ta có:

Trang 21

B+ = BA; (do có phụ thuộc hàm B A)

6 Thuật toán tìm bao đóng của tập thuộc tính

Thuật toán tìm bao đóng của tập các thuộc tính đối với mỗi tậpphụ thuộc hàm

- Input: + Tập U hữu hạn các thuộc tính,

for each FD Y  Z in F do // kiểm tra từng PTH

if Y is a subset of X+, then // nếu vế trái trong X+ X+ = X+ U Z // thêm vế phải vào X+

Trang 22

until X+ == oldX+ // lặp trong khi X+ thay đổi

Ví dụ 1: Cho lược đồ R(U, F), U= {A,B,C,D,E}, F = {A  B; B  C;

Áp dụng thuật toán trên ta có:

- B0: X0 = {BD}, sau đó chọn phụ thuôc hàm có vế trái chứa B, Dhoặc BD

- B1: X1 = {BDEG} (vì có D EG, {D}  X0), lại tiếp tục tìm phụthuộc hàm có vế trái chứa trong X1

Trang 23

Vậy (AB)+ = {ABDEH}.

7 Khóa của lược đồ quan hệ và các thuộc tính tham gia vào khóa.

- Siêu khóa (superkey) của một lược đồ quan hệ R = {A1, A2, , An}

là tập thuộc tính S ⊆ R thỏa tính chất không có hai bộ t1 và t2 trong mộttrạng thái hợp lệ r của R mà t1[S] = t2[S]

- Khóa (key) K là siêu khóa với tính chất bổ sung là khi xóa thuộc tính

nào khỏi K sẽ khiến K không còn là siêu khóa

- Nếu lược đồ quan hệ có nhiều hơn một khóa, mỗi khóa sẽ được gọi là

khóa dự tuyển (candidate key) Một trong các khóa dự tuyển được lựa chọn làm khóa chính (primary key), các khóa còn lại làm khóa phụ (secondary keys).

Thuộc tính khóa: là thuộc tính nằm trong một khóa dự tuyển

Thuộc tính không khóa: không phải là thuộc tính khóa

Khóa của quan hệ: Cho quan hệ r( R ), tập K ⊂ Rđược gọi là khóa củaquan hệ r nếu: K+=R nếu bớt một phần tử khỏi K thì bao đóng của nó

sẽ khác R Như thế tập K ⊂ R nếu K+=R và ( K \ A )+ ≠ R , ∀ A ⊂ R

Một quan hệ có thể có nhiều khóa.

7.1 Thuật toán tìm một khoá của một lược đồ quan hệ

Bước 1: K = U

Trang 24

Bước 2: Nếu (K-A)+ = U thì K = K-A với AK

Bước 3: Lặp lại bước 2 cho đến khi không thể loại bỏ được phần

tử nào nữa của K Khi đó K còn lại chính là một khoá cần tìm

Nếu muốn tìm các khoá khác (nếu có) của lược đồ quan hệ, ta cóthể thay đổi thứ tự loại bỏ các phần tử của K

Ví dụ: Cho lược đồ quan hệ R(ABC) và tập phụ thuộc hàm

F = {A B; A C ; B A} Hãy tìm một khoá của R

- K = ABC

- Loại thuộc tính A, do (K-A)+ = (BC)+ = ABC nên K =BC

- Thuộc tính B không loại được, do (K-B)+ = (AC)+ = AB

- Loại thuộc tính C, do (K-C)+ =(AB) + = ABC nên K = BVậy một khoá của R là B

Trang 25

7.2 Thuật toán tìm tất cả các khoá của một lược đồ quan hệ

- Gọi LHS là tập các thuộc tính nằm ở vế trái của các PTH Đây làtập các ứng viên của siêu khóa

- Dùng bao đóng của tập thuộc tính và tính chất của siêu khóa đểkiểm tra ứng viên có có phải là siêu khóa hay không?

- Nếu không phải thì bỏ qua ứng viên đó Nếu ứng viên là siêukhóa thì tiếp tục kiểm tra các tập con của ứng viên này

- Lặp lại cho đến khi gặp siêu khóa nhỏ nhất Siêu khóa nhỏ nhất

là khóa dự tuyển (candidate keys)

7.3 Thuật toán cải tiến

Một số khái niệm:

- Tập nguồn (TN): Chứa tất cả các thuộc tính có xuất hiện ở vế

trái và không xuất hiện ở vế phải của tập phụ thuộc hàm Và chứanhững thuộc tính không tham gia vào bất kỳ một phụ thuộc hàm nào

- Tập đích (TĐ): Chứa tất cả các thuộc tính có xuất hiện ở vế

phải và không xuất hiện ở vế trái của tập phụ thuộc hàm

- Tập trung gian (TG): chứa tất cả các thuộc tính vừa tham gia

vào vế trái vừa tham gia vào vế phải

Input: Cho lược đồ quan hệ R và tập phụ thuộc dữ liệu F

Output: Tất cả các khoá của quan hệ

Các bước thực hiện:

Bước 1: Tìm tập nguồn (TN), tập trung gian (TG)

Nếu tập trung gian rỗng thì tập khoá chính là tập nguồn, nếukhông chuyển sang bước 2

Trang 26

Bước 2: Tìm tất cả các tập con của tập trung gian Xi.

Nếu TN Xi = U thì Si = TNXi (Si là các siêu khoá cầntìm)

Bước 3: Tính TN Xi

Bước 4: Tính (TNXi)+

Bước 5: Nếu Xi+ = U thì Xi là siêu khoá

Nếu một tập con TNXi có bao đóng đúng bằng U thì TNXi làmột siêu khoá của R Giả sử bước này có m siêu khoá S = {S1,…, Sm}

Xây dựng tập chứa tất cả các khoá của R từ tập S

Xét mọi Si, Sj con của S (ij), nếu Si Sj thì ta loại Sj (i, j=1 m),kết quả còn lại chính là tập tất cả các khoá cần tìm

Ví dụ: Tìm tất cả các khoá của lược đồ quan hệ R(ABC) và tập phụ

thuộc hàm F cho như sau:

Trang 27

Lưu ý: Thuật toán cải tiến này tìm được tất cả các khoá nhưng

không chắc tìm ra tất cả các siêu khoá

8 Phủ tối tiểu

8.1 Tập phụ thuộc hàm tương đương

Cho F và G là hai tập phụ thuộc hàm, ta nói F là G tương đương(hay F phủ G hoặc G phủ F) và ký hiệu là F+ = G+ nếu và chỉ nếu mỗiphụ thuộc hàm thuộc F đều thuộc G+ và mỗi phụ thuộc hàm thuộc Gđều thuộc F+

Ví dụ: Cho lược đồ quan hệ R(ABCDEGH), thì hai tập phụ thuộc

hàm F và G (xác định trên Q) là tương đương

F = {B A; DA CE; D H; GH C; AC D; DG C}

G = {B A; DA CE; D H; GH C; AC D; BC AC; BCD; DA AH; AC DEH}

Kiểm chứng bằng cách sử dụng định nghĩa về tập phụ thuộc hàmđương đương và tính chất X YF+  Y X+

Ví dụ: Hai tập phụ thuộc hàm sau là tương đương trên quan hệ

R(ABC)

F = {A B; A C; B A; C A; B C}

G = {A B; C A; B C}

Phủ tối tiểu: Tập PTH là tối tiểu nếu thỏa các điều kiện sau:

- Mọi PTH của F đều có mộtthuộc tính duy nhất ở vế phải (RHS)

- Không thể loại bất kỳ PTH nào khỏi F mà tập các PTH còn lại vẫntương đương với F

Trang 28

- Không thể thay thế PTH X -> A của F với PTH Y -> A khi Y ⊂ X

mà vẫn có tập PTH tương đương với F (tất cả các PTH đều làPTH đầy đủ)

- Cho quan hệ r(U), F và X,Y ⊂ U,

PTH f: X → Y∈ F là đầy đủ với X nếu không tồn tại X’ ⊂ X saocho F|=X’→ Y

Lưu ý: một tập phụ thuộc hàm luôn tìm ra ít nhất một phủ tối tiểu

và nếu thứ tự các phụ thuộc hàm trong F là khác nhau thì có thể sẽ thuđược những phủ tối tiểu khác nhau

8.2 Thuật toán tìm phủ tối tiểu

Input: Lược đồ quan hệ ban đầu R và tập phụ thuộc hàm F, sốcác phụ thuộc hàm trong F là m

Output: Tập phụ thuôc hàm tối thiểu của F

Bước 1: Tách vế phải mỗi phụ thuộc hàm trong F sao cho vế phảicủa mỗi phụ thuộc hàm chỉ chứa một thuộc tính (dựa vào bổ đề trên)

Với mọi f: X YF và A Y ta có

Lưu ý: Việc tìm tất cả các tập X’ X theo thuật toán trên hoàn toàn thay

thế được việc tìm X’ bằng cách tìm các tập con của X

Bước 3: Loại bỏ các phụ thuộc hàm dư thừa trong F

Với mọi fF ta có: G = F –f nếu F+ = G+, khi đó F = G

Trang 29

Ví dụ: Cho lược đồ quan hệ và tập phụ thuộc hàm F như sau:

R(ABCD)

F = {AB  CD; B C; C D} Tìm phủ tối tiểu của F:

- Kết quả bước 1: F = {AB C; AB D; B C; C D}

Ví dụ: Cho lược đồ quan hệ người cung cấp S(SNAME, ADD,

PRO, PRICE), giả sử có các phụ thuộc hàm SNAME ADD SNAME;PRO PRICE

Lược đồ S có thể được thay thế bằng hai lược đồ khác làS1(SNAME, ADD) và S2(SNAME, PRO, PRICE) Như vậy rõ ràng ở S1,mỗi nhà cung cấp chỉ cần một lần lưu địa chỉ tương ứng của họ chứkhông phải lặp đi lặp lại như ở lược đồ S

Vấn đề đặt ra là liệu một CSDL r thoả mãn trên S, khi tách ra S1

và S2 có còn phù hợp không? Hai hình chiếu r[S1] và r[S2] có còn giữđược cùng thông tin với r? Tức là, nếu kết nối hai hình chiếu r[S1] vàr[S2] thành một quan hệ mới, ví dụ s = r[S1] * r[S2] thì liệu rs hay r = s?

Trang 30

9.1 Kết nối không mất mát thông tin

Nếu R là một lược đồ quan hệ được tách thành các lược đồ conR1, R2,…, Rk và D là tập các phụ thuộc hàm dữ liệu, ta nói phép tách làtách-kết nối không mất mát thông tin đối với D nếu với mỗi quan hệ rtrên R thoả mãn D:

r = ПR1(r)*ПR2(r)*…*ПRk(r)

với r được tạo nên từ phép kết nối tự nhiên của các hình chiếu của nótrên các Ri, i = 1, , k

9.2 Kiểm tra phép kết nối không mất mát thông tin

Muốn kiểm tra được liệu một phép tách có phép kết nối khôngmất mát thông tin hay không đối với tập các phụ thuộc hàm, ta sử dụngthuật toán sau:

- Input: Lược đồ quan hệ R = {A1,…, An}; tập các phụ thuộc hàm

Ri, nếu không điền ký hiệu bij

- Xét đến các phụ thuộc hàm từ F áp dụng cho bảng vừa thiết lậpđược Giả sử xem xét (X Y)F Xét các hàm và nếu có giá trị bằngnhau trên thuộc tính X (ví dụ t1, t2 mà t1[X] = t2[X]) thì làm bằng các giátrị của chúng trên Y (ví dụ t1[Y] = t2[Y])

Trang 31

Lưu ý: Khi làm bằng các giá trị trên Y, nếu một trong hai giá trị là aj thì

ưu tiên làm bằng ký hiệu là aj Ngoài ra làm bằng chúng bằng một trongcác ký hiệu bij

- Tiếp tục áp dụng các phụ thuộc hàm cho bảng (kể cả việc lặp lại phụthuộc hàm đã được áp dụng) cho tới khi không còn áp dụng được nữa

- Xem xét bảng kết quả Nếu xuất hiện một hàng gồm các ký hiệu a1,a2,…, an thì phép kết nối là không mất mát thông tin Trường hợpngược lại là kết nối mất mát thông tin

Ví dụ: Xét quan hệ S(SNAME, ADD, PRO, PRICE) được tách

thành hai quan hệ S1(SNAME, ADD) và S2(SNAME, PRO, PRICE) vớicác phụ thuộc hàm:

SNAME  ADD SNAME; PRO PRICE

Bảng ban đầu được thiết lập như sau:

SNAME ADD PRO PRICE

Áp dụng phụ thuộc hàm SNAME ADD cho hai hàng của bảng.Hai hàng bằng nhau trên cột SNAME (đều bằng a1) nên ở cột ADDchúng được làm bằng và bằng a2

Bảng kết quả:

SNAME ADD PRO PRICE a1 a2 b13 b14

Trang 32

Bảng kết quả có dòng thứ hai có các giá trị toàn là a, do đó nó làkết nối không mất mát thông tin.

Nếu  = (R1, R2) là một phép tách của R và F là tập phụ thuộchàm thì  là tách không mất mát thông tin đối với F khi và chỉ khi:

R1 R2  R1 – R2 hoặc R1 R2  R2 – R1

Lưu ý: Các phụ thuộc hàm nêu trên không nhất thiết phải thuộc

tập F ban đầu nhưng là đủ để thuộc F+

Do việc cập nhật dữ liệu gây nên những dị thường cho nên cácquan hệ cần thiết phải được biến đổi thành các dạng phù hợp Quátrình đó được xem là quá trình chuẩn hoá Quan hệ được chuẩn hoá làquan hệ trong đó mỗi miền của thuộc tính chỉ chứa những giá trịnguyên tố, tức là không phân nhỏ được nữa và do đó mỗi giá trị trongquan hệ cũng là nguyên tố

Quan hệ chứa các miền giá trị là không nguyên tố gọi là quan hệkhông chuẩn hoá Một quan hệ được chuẩn hoá có thể thành một hoặcnhiều quan hệ chuẩn hoá khác và không làm mất mát thông tin

Chuẩn hóa dữ liệu (data normalization)

Chuẩn hóa dữ liệu là một quá trình thuận nghịch từng bước để

thay thế tập hợp các quan hệ cho trước thành các quan hệ có cấu trúc đơn giản hơnchuẩn hơn

Chuẩn hóa dữ liệu nhằm để cải tiến một thiết kế CSDL luận lý

thỏa mãn các ràng buộc toàn vẹntránh dữ liệu bị lặp lại không cần thiết

Mục đích của chuẩn hóa dữ liệu

Trang 33

- Loại bỏ các bất thường (anomaly) của một quan hệ để có được

các quan hệ có cấu trúc tốt hơn, nhỏ hơn

- Có sự dư thừa dữ liệu là tối thiểu

- Cho phép người sử dụng thêm vào, cập nhật và xóa bỏ dữ liệu

mà không gây ra sự mâu thuẫn dữ liệu

1 Dạng chuẩn thứ nhất (1NF – First Normal Form)

Định nghĩa: Lược đồ quan hệ R ở dạng chuẩn 1 (1NF – First Normal Form) nếu mọi thuộc tính của R đều chứa các giá trị nguyên

tố (atomic value), giá trị này không là một danh sách các giá trị hoặc

các giá trị phức hợp (composite value).

Các thuộc tính của lược đồ quan hệ R

- Không là thuộc tính đa trị (multivalued attribute).

- Không là thuộc tính phức hợp (composite attribute).

Ví dụ: Quan hệ không chuẩn hoá

Trang 34

Lược đồ quan hệ này không đạt dạng chuẩn 1NF vì các thuộctính P# và QTY không mang giá trị nguyên tố (Chẳng hạn S# với giá trị

là 1 thì có thuộc tính P# là 100, 200, 300) Ta hoàn toàn có thể đưaquan hệ trên về dạng chuẩn 1NF như sau:

Quan hệ chuẩn hoá

Lưu ý: Khi xét các dạng chuẩn, nếu không nói gì thêm, ta ngầm

hiểu dạng chuẩn đang xét ít nhất là đạt dạng chuẩn 1

2 Dạng chuẩn thứ 2 (2NF – Second normal form)

Định nghĩa: Lược đồ quan hệ R ở dạng chuẩn thứ hai (2NF)

nếu nó ở dạng chuẩn thứ nhất và nếu mỗi thuộc tính không khoá của R

là phụ thuộc hàm đầy đủ vào khoá chính

Trang 35

Cho 2 quan hệ THI và SINHVIEN trong đó:

Trang 36

THI (MONTHI GIAOVIEN)

- Trong CSDL này tồn tại một số vấn đề sau:

+ Trong quan hệ SINHVIEN, việc lưu trữ thông tin một sinh viên

ví dụ như An phải lặp lại 2 lần địa chỉ và 2 lần tuổi Như vậy là quá dưthừa

+ Quá trình cập nhật dữ liệu gây một số cản trở:

Phép thay đổi: Khi cần thay đổi địa chỉ của An thì cần phải thay đổi 2

lần, gây tốn kém thời gian Hơn nữa, khi sửa đổi thông tin về một sinhviên lại không liên quan gì tới thông tin về thi cử

Phép chèn: Trong quan hệ SINHVIEN chỉ chứa thông tin về những

sinh viên đã thi Nếu muốn chèn thêm một sinh viên vào quan hệ thì

Trang 37

không được vì không rõ sinh viên đó đã thi chưa; khoá MONTHI, MSSV

là không đầy đủ Chỉ có thể khắc phục bất lợi này nếu loại bỏ nhữngthông tin về thi cử ra khỏi quan hệ

Phép loại bỏ: Giả sử khi cần loại bỏ môn thi thứ 5 mà danh sách sinh

viên vẫn giữ nguyên Khi đó, ở quan hệ THI xoá bộ (5,c), còn nếu ởquan hệ SINHVIEN nếu xoá môn thi thứ 5 thì thông tin về sinh viên Lan

sẽ bị mất

Để khắc phục được những nhược điểm trên, quan hệ SINHVIEN

có thể tách thành hai quan hệ SINHVIEN (MSSV, TEN, TUOI, DIACHI)

và quan hệ KETQUA (MONTHI, MSSV, DIEM) Như vậy, CSDL lúc nàythành ba quan hệ đã ở dạng chuẩn thứ 2

Ví dụ: Xác định dạng chuẩn của lược đồ quan hệ sau:

R(GMVNHP)

F = {G N; G H; G P; M V; NHP M}

Khoá của R là G; thuộc tính không khoá là M, V, N, H, P

Do các phụ thuộc hàm G M; G V; G N; G H; G P là cácphụ thuộc hàm đẩy đủ, nên lược đồ quan hệ R đạt dạng chuẩn 2

Trang 38

D là thuộc tính không khoá và C D, vì C là tập con thực sự củakhoá nên R không đạt dạng chuẩn thứ 2.

Thuật toán kiểm tra dạng chuẩn 2

Input: Lược đồ quan hệ Q, tập phụ thuộc hàm F

Output: Khẳng định Q đạt chuẩn 2 hay không đạt chuẩn 2

Bước 1: Tìm tất cả khóa của Q

Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả tập con thật sự S củaK

Bước 3: Nếu có bao đóng S+ chứa thuộc tính không khóa thì Q khôngđạt chuẩn 2

Ngược lại thì Q đạt chuẩn 2

3 Dạng chuẩn thứ ba (3NF – third normal form)

Định nghĩa: Lược đồ quan hệ Q ở dạng chuẩn 3 nếu mọi phụ

thuộc hàm X  A  F+ với A  X đều có:

- Hoặc X là siêu khóa

- Hoặc A là thuộc tính khóa

Hay

Lược đồ quan hệ Q ở dạng chuẩn 3 nếu mọi thuộc tính khôngkhóa của Q đều không phụ thuộc bắc cầu vào một khóa bất kỳ của Q

Định nghĩa phụ thuộc bắc cầu: Cho một lược đồ quan hệ R(U): X là

một tập con các thuộc tính X U, A là một thuộc tính thuộc U A đượcgọi là phụ thuộc bắc cầu vào X trên R nếu tồn tại một tập con Y của Rsao cho X Y, Y A nhưng Y X (không xác định hàm) với AXY

Ví dụ: Cho lược đồ quan hệ R(SAIP) với F = {SI P; S A}

Ngày đăng: 10/04/2015, 13:21

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w