Chuẩn hoá lược đồ quan hệ thành dạng chuẩn

Một phần của tài liệu Nghiên cứu phần mềm thu thập xử lý dữ liệu tự động trên internet (Trang 59 - 64)

CHƯƠNG 3 CHƯƠNG TRÌNH THỰC NGHIỆM

3.3.6 Chuẩn hoá lược đồ quan hệ thành dạng chuẩn

 Dạng chuẩn 1NF:là dạng chuẩn mà tất cả các thuộc tính của lược đồ quan hệ đều là thuộc tính đơn . Đây là dạng chuẩn đơn giản nhất nó không chú ý đến các phụ thuộc hàm do đó có rất nhiều trùng lặp thông tin do các phụ thuộc hàm gây ra.

 Dạng chuẩn 2NF:lược đồ quan hệ đạt 2NF nếu đạt 1NF và tất cả các thuộc tính không khoá phụ thuộc hàm đầy đủ vào khoá.

 Dạng chuẩn 3NF:lược đồ quan hệ đạt 3NF nếu nó đạt 2NF và tất cả những thuộc tính không khoá không phụ thuộc hàm bắc cầu vào khoá.

 Dạng chuẩn BCNF:lược đồ quan hệ đạt BCNF nếu đạt 1NF và mọi phụ thuộc hàm không hiển nhiên X  Y Є F+ thì vế trái X là siêu khoá.

Vậy với mục đích là xây dựng một tập lược đồ quan hệ cho phép ta lưu trữ thông tin thuận lợi ,sao cho tránh những thông tin dư thừa không cần thiết và khai thác dữ liệu được dễ dàng .Cùng với mục đích đó ta sẽ xây dựng lược đồ quan hệ của cơ sở dữ liệu “Lấy tin tự động “ theo dạng chuẩn BCNF.Quá trình chuẩn hoá được thực hiện như sau:

*Xét quan hệ : Content_sources ( id, content_type_code, source_code, source_name, content, last_change, status) có khóa là chính id

Có tập phụ thuộc hàm

F1={id→source_code;idcontent_type_code;idsource_name;id,source_name

content; id,contentlast_change ,status}

Xét id,contentlast_change ,status Giả sử content dư thừa

TacóF11={id→source_code;idcontent_type_code;idsource_name;id,source_

namecontent; idlast_change ,status}

Kiểm tra idlast_change ,status F1+ ? (id)+F1

=id,source_code,content_type_code,source_name,content,last_change,status

last_change,status

→ idlast_change ,status  F1+

Id,contentlast_change ,status F11 ?

(id,content)+F11=

id,source_code,content_type_code,source_name,content,last_change,status

last_changee,status

→ Id,contentlast_change ,status  F+11

Vậy content dư thừa  Fc =

F11={id→source_code;idcontent_type_code;idsource_name;id,source_name

content; idlast_change ,status}

Từ tập phụ thuộc hàm F11 trên ta thấy quan hệ content_sources chưa đạt chuẩn BCNF vì id, source_name không phải là siêu khóa.

Xét quan hệ id,source_namecontent Giả sử source_name dư thừa

→F12={id→source_code;idcontent_type_code;idsource_name;idcontent;

idlast_change ,status}

Kiểm tra idcontent  F+12 ? (id)+F11=

id,source_code,content_type_code,source_name,content,last_change,status

content

→ id content  F+11

id,source_namecontent F12? (id,source_name) =

id,source_code,content_type_code,source_name,content,last_change,status

content

 id,source_namecontent F+12

Vậy source_name dư thừa  Fc1=

F12={id→source_code;idcontent_type_code;idsource_name;idcontent;

idlast_change ,status}

Vậy từ tập phụ thuộc hàm F12 ở trên ta thấy id→source_code thì id lá siêu khóa

idcontent_type_code thì id lá siêu khóa idsource_name thì id lá siêu khóa idcontent thì id lá siêu khóa

idlast_change ,status thì id lá siêu khóa

Vậy quan hệ content_sources đạt dạng chuẩn BCNF với tập phụ thuộc hàm F12

*Xét quan hệ Crawler_contents ( id, type_code, name, description, last_crawler_time

Có tập phụ thuộc hàm

F2={idtype_code; id name; id, name description, last_crawler_time}

Xét id, name description, last_crawler_time Giả sử name dư thừa

→ F21={idtype_code; id name; id description, last_crawler_time}

Kiểm tra id description, last_crawler_time  F+2 ?

(id)+F2= id,type_code,name,description,last_crawler_time  description,last_crawler_time

→ id description, last_crawler_time  F+2

id, name description, last_crawler_time  F+21?

(id,name)+F21= id,type_code,name,description,last_crawler_time  description,last_crawler_time

→ id, name description, last_crawler_time  F+21

Vậy name dư thừa Fc2= F21={idtype_code; id name; id description, last_crawler_time}

Vậy từ tập phụ thuộc hàm F21 ở trên ta thấy idtype_code thì id lá siêu khóa

id name thì id lá siêu khóa

id description, last_crawler_time thì id lá siêu khóa

Vậy quan hệ crawler đạt dạng chuẩn BCNF với tập phụ thuộc hàm F21

Một phần của tài liệu Nghiên cứu phần mềm thu thập xử lý dữ liệu tự động trên internet (Trang 59 - 64)

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

(74 trang)