Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
28/03/2012 14:03 # 1
thucnguyen
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 2/10 (20%)
Kĩ năng: 1/10 (10%)
Ngày gia nhập: 21/03/2012
Bài gởi: 2
Được cảm ơn: 1
Xin 1 chương trình bằng ngôn ngữ C


Mình đang học môn cơ sở dữ liệu, và có 1 bài tập về nhà: xây dựng thuật toán tìm khóa của lượt đồ quan hệ bằng ngôn ngữ C.
Mọi người xem có thể giúp mình 1 chưong trình không ạ.
Mình cảm ơn trước..
Mình cũng sắp nộp bài rồi..mọi người tranh thủ giúp mình 1 chút nha




 
Các thành viên đã Thank thucnguyen vì Bài viết có ích:
28/03/2012 18:03 # 2
anh2bmw
Cấp độ: 48 - Kỹ năng: 44

Kinh nghiệm: 255/480 (53%)
Kĩ năng: 408/440 (93%)
Ngày gia nhập: 27/11/2009
Bài gởi: 11535
Được cảm ơn: 9868
Phản hồi: Xin 1 chương trình bằng ngôn ngữ C


Đây là thuật toán để làm:

Mục tiêu : cho một lược đồ U có các thuộc tính {A1,A2,...An} và tập Phụ thuộc hàm F. hãy tìm một khóa cho lược đồ đó.
Thuật toán:
Bước 1 :
+ Gán K0=U+ (U+ là tập thuộc tính của U)
Bước 2 : ta có A là thuộc tính của U.
+ Tính bao đóng của (Ki-1\A)+ nếu bằng U+ ((Ki-1\A)+ =U+) thì loại bỏ A ra khỏi K tức là Ki =(Ki-1\A). nếu (Ki-1\A)+ !=U+ thì Ki =Ki-1.
Lặp lại bước trên n lần
Bước n: kết quả K=Kn


Ví dụ : cho U={A,B,C,D,E} và F={AB->C, AC->B, BC->DE} tìm một khóa của lược đồ quan hệ r xác định trên U và F ?
Bước 1:
+ K=U tức là K=ABCDE
Bước 2:
+ Tính Bao đóng của (K\A)+ nghĩa là tính (BCDE)+ = BCDE ta thấy kết quả tính bao đóng không bằng U+ nên K=ABCDE
Bước 3:
+ Tính Bao đóng của (K\B)+ nghĩa là tính (ACDE)+ = ABCDE ta thấy kết quả tính bao đóng bằng U+ nên loại B ra tập K ban đầu K=ACDE
Bước 4:
+ Tính Bao đóng của (K\C)+ nghĩa là tính (ADE)+ = ADE ta thấy kết quả tính bao đóng Không bằng U+ nên không bỏ C ra tập K ta có K=ACDE
Bước 5:
+ Tính Bao đóng của (K\D)+ nghĩa là tính (ACE)+ = ACEBD ta thấy kết quả tính bao đóng bằng U+ nên bỏ D ra tập K ta có K=ACE
Bước 6:
+ Tính Bao đóng của (K\E)+ nghĩa là tính (AC)+ = ACBDE ta thấy kết quả tính bao đóng bằng U+ nên bỏ E ra tập K ta có K=AC [/COLOR]

=>>Kết quả Khóa là K=AC

http://my.opera.com/asteriskvn/blog/show.dml/3316614




Thông tin liên hệ anh2bmw khi có bất kỳ thắc mắc:
skype: trantien281
mail: 
anh2bmw@gmail.com


 

 
Copyright© Đại học Duy Tân 2010 - 2024