Bài toán tìm khóa:

Một phần của tài liệu baì giảng thiết kế cơ sở dữ liệu chương 2mô hình dữ liệu và các phụ thuộc dữ liệu - gv. dương khai phong (Trang 40 - 42)

Ý tưởng tìm khóa:

 Gọi N là tập thuộc tính nguồn, chỉ chứa thuộc tính không

có bên vế phải của các phụ thuộc hàm.

 Gọi M là tập thuộc tính trung gian, chứa các thuộc tính vừa xuất hiện bên vế phải vừa xuất hiện bên vế trái.

 Nếu bao đóng NF+= Q+ thì N chính là khóa chỉ định của Q và là khóa duy nhất.

 Ngược lại, ta lần lượt hội N với từng tập con của M để

http://sites.google.com/site/khaiphong

Chương 2: Mô hình dữ liệu – Phụ thuộc dữ liệu

Bài toán tìm khóa và Bài toán PTH1. Bài toán tìm khóa: 1. Bài toán tìm khóa:

Ví dụ: Cho quan hệ Giảng dạy: GD(MsGV, Hoten, MsMH, TenMH, Phòng, Giờ) và F={f1:MsGVHoten ; f2: MsMHTenMH ; f3:

Phong,GioMsMH; f4: MsGV,Giờ Phòng}. Tìm khóa của quan hệ GD.

Bước 1: xác định N,M N = {MsGV, Gio} M= {MsMH, Phong} Bước 2: Tính NF+ ? • NF+ = {MsGV, Gio} • Do f1: NF+ = {MsGV, Gio,HoTen} • Do f4: NF+ = {MsGV, Gio,HoTen,Phong} • Do f3: NF+ = {MsGV, Gio,HoTen,Phong,MsMH} • Do f3: NF+ = {MsGV, Gio,HoTen,Phong,MsMH,TenMH} Vậy NF+ = Q+ Hướng dẫn giải: Bước 3:

1. Bài toán tìm khóa:

Thuật toán tìm tất cả các khóa:

 Input: <Q,F>

 Output: K {Tập các khóa của quan hệ Q}

 Thuật toán:

Begin

B1: Xây dựng tập N và M.

B2: Xây dựng 2m tập con của tập M với m = Card(M)

B3: Xây dựng tập K chứa các khóa K = 0;

For i:=l to 2m do begin

Ki := N  Mi;

If Ki không chứa các khóa đã xác định trước đó và Ki,F+ = Q+ then

Một phần của tài liệu baì giảng thiết kế cơ sở dữ liệu chương 2mô hình dữ liệu và các phụ thuộc dữ liệu - gv. dương khai phong (Trang 40 - 42)

Tải bản đầy đủ (PDF)

(58 trang)