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

Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ

75 1K 2

Đ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 75
Dung lượng 2,15 MB

Nội dung

Ngày nay, chúng ta đang sống trong kỷ nguyên của sự bùng nổ và phát triển công nghệ thông tin. Có thể nói mọi ngành mọi lĩnh vực đều ứng dụng công nghệ thông tin và việc áp dụng công nghệ vào trong việc giảng dạy và học tập không còn là vấn đề xa lạ. Xuất phát từ thực tế đó em chọn đề tài xây dựng hệ thống phần mềm giải quyết bài toán cơ sở dữ liệu quan hệ. Với đề tài này em mong muốn sẽ một phần nào đó giúp cho các bạn sinh viên đặc biệt là các bạn sinh viên chuyên ngành IT sẽ có thêm một công cụ nữa hỗ trợ cho việc học tập.Với việc trình bày một cách hệ thống lý thuyết CSDL sẽ giúp chúng ta có một cái nhìn tổng quan về môn học. Từ đó có khả năng thiết kế được các cơ sở dữ liệu phục vụ việc giải quyết bài toán trong thực tế và có thể phát triển được các phần mềm quản lý. Và việc cài đặt các thuật toán để giải các bài toán cơ sở dữ liệu quan hệ là một công cụ hữu ích trong việc học tập môn học này.Trong quá trình tìm hiểu thực tế và thực hiện đề tài Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ em đã được sự giúp đỡ rất nhiệt tình của giáo viên hướng dẫn :Ths. Nguyễn Trung Tuấn và các anh chị trong bộ phận FIS ENT. Em xin chân thành cảm ơn

Trang 1

MỞ ĐẦU

Ngày nay, chúng ta đang sống trong kỷ nguyên của sự bùng nổ và pháttriển công nghệ thông tin Có thể nói mọi ngành mọi lĩnh vực đều ứng dụngcông nghệ thông tin và việc áp dụng công nghệ vào trong việc giảng dạy vàhọc tập không còn là vấn đề xa lạ Xuất phát từ thực tế đó em chọn đề tài xâydựng hệ thống phần mềm giải quyết bài toán cơ sở dữ liệu quan hệ Với đề tàinày em mong muốn sẽ một phần nào đó giúp cho các bạn sinh viên đặc biệt làcác bạn sinh viên chuyên ngành IT sẽ có thêm một công cụ nữa hỗ trợ choviệc học tập

Với việc trình bày một cách hệ thống lý thuyết CSDL sẽ giúp chúng ta

có một cái nhìn tổng quan về môn học Từ đó có khả năng thiết kế được các

cơ sở dữ liệu phục vụ việc giải quyết bài toán trong thực tế và có thể pháttriển được các phần mềm quản lý Và việc cài đặt các thuật toán để giải cácbài toán cơ sở dữ liệu quan hệ là một công cụ hữu ích trong việc học tập mônhọc này

Trong quá trình tìm hiểu thực tế và thực hiện đề tài Xây dựng hệ thống phần mềm giải bài toán cơ sở dữ liệu quan hệ em đã được sự giúp đỡ rất

nhiệt tình của giáo viên hướng dẫn :

Ths Nguyễn Trung Tuấn và các anh chị trong bộ phận FIS- ENT

Em xin chân thành cảm ơn !

Trang 2

1.1 Các thông tin cần quản lý

Hệ thống phần mềm giải bài toán cơ sở dữ liệu là một ứng dụng, mộtcông cụ giúp cho việc giải các bài toán cơ sở dữ liệu như: tìm bao đóng, tìmkhóa, xác định dạng chuẩn, phụ thuộc hàm…

Với thông tin đầu vào là lược đồ quan hệ α=<U,F>, U là tập các thuộcU,F>, U là tập các thuộctính và F là tập các phụ thuộc hàm

Sau khi đưa vào yêu cầu thì hệ thống sẽ cho bạn một kết quả chính xác

và nhanh chóng

1.2 Tổng quan về cơ sở dữ liệu quan hệ

Thuật ngữ Cơ sở Dữ liệu (Database) không mấy xa lạ với những ngườilàm tin học Đây là một trong những lĩnh vực được tập trung nghiên cứu vàphát triển của Công nghệ thông tin, nhằm giải quyết các bài toán quản lí, tìmkiếm thông tin trên các hệ thống lớn, phức tạp, nhiều người sử dụng

Từ những năm 70, mô hình dữ liệu quan hệ do Codd đưa ra với cấutrúc hoàn chỉnh đã tạo cơ sở toán học cho các vấn đề nghiên cứu dữ liệu Vớicấu trúc đơn giản và khả năng hình thức hoá phong phú, CSDL quan hệ dễdàng mô phỏng các hệ thống thông tin đa dạng trong thực tế Lưu trữ thôngtin tiết kiệm, có tính độc lập dữ liệu cao, dễ sửa đổi, bổ sung cũng như khaithác dữ liệu là những ưu điểm nổi bật của CSDL quan hệ

Sau đây chúng ta sẽ đề cập tới những khái niệm cơ bản của CSDL quanhệ

Trang 3

1.2.1 Cơ sở dữ liệu và hệ cơ sở dữ liệu

* Cơ sở dữ liệu

Định nghĩa: Một cơ sở dữ liệu là một tập hợp dữ liệu về một xí nghiệp,

cơ quan, tổ chức… được lưu giữ trên máy tính, được người sử dụng, có cáchquản lí bằng một mô hình

VD: Quản lí thi tuyển sinh thì CSDL bao gồm:

+ Thí sinh (tên, ngày sinh, địa chỉ, số báo danh )

 Độc lập giữa CSDL và chương trình: Sự sửa đổi chương trìnhkhông kéo theo việc sửa đổi CSDL

 Tính an toàn: Không bị hỏng khi có nhiều người sử dụng hoặc

 Thuộc tính: Là các dữ liệu thể hiện các đặc trưng của thực thể

 Ràng buộc: Là các mối quan hệ logic của thực thể

Trang 4

Mô hình phân cấp

Mô hình dữ liệu là một cây, trong đó các nút biểu diễn các tập thực thể,giữa các nút con và nút cha được liên hệ theo mối quan hệ xác định chủ-thànhviên (1-n)

Trang 5

Ta có thể xem quan hệ như một bảng gồm nhiều cột chứa tên các thuộctính, mỗi cột chứa miền giá trị của thuộc tính, mỗi cột chứa miền giá trị củathuộc tính đó Mỗi hàng trong bảng đó là một bộ giá trị của quan hệ.

* Phụ thuộc hàm

Xét tập quan hệ Ri và hai tập thuộc tính G1,G2 luôn có mặt cùng nhautrong các Ri Ta nói có sự phụ thuộc của hàm giữa G1,G2 nếu với mọi giá trịcủa G1 chỉ có thể kết hợp với một và chỉ một giá trị của G2 tại một thời điểmcho trước Tính chất đúng trong mọi Ri mà ở đó có mặt G1,G2

Như vậy Số thẻ SV là khóa của quan hệ Sinh viên

+ Giảng dạy (Số phòng học,Thời gian, Tên giảng viên, Tên mônhọc)

Số phòng học, Thời gian > Tên giảng viên, Tên môn học

Như vậy (Số phòng học, Thời gian) là khoá của quan hệ Giảng dạy

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

* Phép chiếu

Xét các tập các thuộc tính C và R là tập các quan hệ định nghĩa trên C.Phép chiếu của R trên tập G thuộc C là sự thu hẹp của R đến các phần tử của

G Kí hiệu G (R)

Trang 6

Nối hai quan hệ có chứa các thuộc tính hoặc tập các thuộc tính nhưnhau, quan hệ thu được gồm có các hàng ở hai quan hệ ban đầu đặt nối nhaubằng các thuộc tính giống nhau.

Phép nối hai quan hệ S và T kí hiệu là S |><U,F>, U là tập các thuộc| T

Ví dụ: Phân tích thiết kế cơ sở dữ liệu của một Xí Nghiệp

Từ việc khảo sát thực tế, từ các tin tức trao đổi với người dùng, phântích các bài toán nghiệp vụ, ta được một danh sách các thuộc tính phục vụ choxây dựng CSDL Mỗi một thuộc tính bao gồm :

Trang 7

Bảng lương (Họ tên, Đơn vị, Hệ số, Lương, Phụ cấp, Tổng lĩnh)

Ta thấy ở đây Lương, Tổng lĩnh là các thuộc tính tính toán với các quitắc:

Lương = Hệ số * 14400

Tổng lĩnh = Lương + Phụ cấp

* Tìm phụ thuộc hàm giữa các thuộc tính

Sau khi có được một danh sách các thuộc tính từ việc thu thập thông tin

và khảo sát thực tế, việc cần làm tiếp theo là xác định các phụ thuộc hàm giữacác thuộc tính Chúng ta xét một ví dụ sau :

Quản lí thư viện (Số thẻ, Số sách, Tên sách, Loại sách, Ngày mượn, Tên độcgiả, Địa chỉ độc giả)

Ta thấy có các phụ thuộc hàm sau:

Số thẻ mượn, Số sách > Ngày mượn

Số sách > Tên sách, Loại sách

Số thẻ mượn >Tên độc giả, Địa chỉ độc giả

* Chuẩn hoá các quan hệ

Coi danh sách các thuộc tính thu được sau các bước trên cùng các phụthuộc hàm giữa chúng là một quan hệ, chúng ta thực hiện việc chuẩn hoáquan hệ này

Mục đích của quá trình này là giảm bớt sự dư thừa thông tin, bảo đảmtính duy nhất của mỗi thông tin, do đó tiện lợi cho việc truy nhập và cập nhậtcho CSDL Quá trình chuẩn hoá có thể được tiến hành qua nhiều bước

Ta xét ví dụ sau:

Xe máy (Số xe, Số máy, Loại xe, Ngày đăng kí, Tên chủ xe, Số điệnthoại, Địa chỉ)

 Nếu một người có nhiều xe thì lặp lại (Số điện thoại, Địa chỉ ) của chủ

xe, như vậy dư thừa thông tin

Trang 8

cập nhật rời rạc.

Như vậy biên pháp để khắc phục là tách ra quan hệ :

Chủ xe(Tên, Số điện thoại, Địa chỉ)

* Đưa quan hệ về dạng chuẩn 1NF

Quan hệ chưa ở dạng chuẩn 1NF là quan hệ còn chứa các nhóm lặp lại

Ta đưa về dạng 1NF bằng cách như sau:

 Bỏ nhóm lặp lại ra khỏi quan hệ, chuyển nhóm đó thành mộtquan hệ mới

 Cộng thêm vào khoá của nó khoá của quan hệ ban đầu để tạo rakhoá phức hợp

 R2 (Số hoá đơn, Số sản phẩm, Tên sản phẩm, Lương yêu cầu)

* Đưa quan hệ về dạng chuẩn 2NF

Quan hệ đã ở dạng 1NF nhưng chưa ở dạng 2NF là có tồn tại phụ thuộchàm có nguồn là tập con của khoá Ta đưa về dạng 2NF bằng cách như sau:

 Nhóm vào một quan hệ các thuộc tính phụ thuộc hoàn toàn vàokhoá và giữ lại khoá của quan hệ đó

 Nhóm vào một quan hệ khác các thuộc tính phụ thuộc vào mộtphần của khoá, lấy phần đó làm khoá chính cho quan hệ

Trang 9

VD : Trong quan hệ R2 (Số hoá đơn, Số sản phẩm, Tên sản phẩm, Lượng yêucầu) có phụ thuộc hàm : Số sản phẩm > Tên sản phẩm

Trong đó Số sản phẩm là một phần của khoá, ta tách R2 thành R3 và R4 nhưsau :

+ R3 (Số hoá đơn, Số sản phẩm, Lương yêu cầu)

Ta xét ví dụ: R (Học sinh, Môn học, Giáo viên, Điểm)

Trang 10

nhưng đích thuộc khoá, ta tách R thành R1, R2 như sau :

+ R1 (Học sinh, Giáo viên, Điểm)

+ R2 (Giáo viên, Môn học)

Các phụ thuộc hàm đơn trị dừng lại ở dạng chuẩn BCNF (Boyce Codd) Đến đây chúng ta có thể kết thúc công việc chuẩn hoá

-Ta có thể nhận xét rằng: Mô hình CSDL quan hệ là một công cụ rất tiệnlợi để mô tả cấu trúc logic của các CSDL Như vậy ở mức logic mô hình nàybao gồm các quan hệ được biểu diễn bởi các bảng Do đó đơn vị của CSDLquan hệ là bảng, trong đó các dòng của bảng là các bản ghi dữ liệu cụ thể, còncác cột là các thuộc tính

Đối với người sử dụng có thể nói CSDL quan hệ là một tập hợp cácbảng biến đổi theo thời gian

Đối với công việc thiết kế một CDSL thì các công việc phân tích tư liệucủa bài toán và chuẩn hoá là hết sức quan trọng, phục vụ cho việc cài đặt thựctế

Trang 11

CHƯƠNG II : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1 Sơ đồ phân cấp chức năng

Tập TT

BCNF

Tách BC

VT dư thừa

PTH dư thùa

Dạng

Bao đóng Khóa

Nhiều khóa

Cao nhất

3NF

2NF

Tách 3NF

Phủ tối thiểu

Tách BTTT

In

LG

Trang 12

* Lược đồ:

 Tạo mới: Chức năng này cho phép bạn tạo mới lược đồ quan hệα=<U,F>, U là tập các thuộcU,F> với U là tập các thuộc tính và F là tập các phụ thuộchàm

 Lưu file: Cho phép lưu lược đồ vừa nhập vào dưới dạng file txt

 Mở file: Với chức năng này thì hệ thống sẽ mở file chứa thôngtin về lược đồ quan hệ và hiển thị thông tin để quản lý

 In bài giải : Với chức năng này hệ thống cho phép bạn sau khigiải bài toán có thể in bài giải hoặc lưu lại lời giải

 Kiểm tra PTH có vế trái dư thừa

 Kiểm tra PTH dư thừa

 Xác định phủ tối thiểu của PTH

* Dạng chuẩn :

 Xác định dạng chuẩn: BCNF,3NF,2NF

Trang 13

 Xác định dạng chuẩn cao nhất: Hệ thống sẽ xác định dạng chuẩncao nhất của lược đồ quan hệ.

* Tách phụ thuộc hàm :

 Thuật toán kiểm tra phép tách kết nối bảo toàn thông tin

 Phân rã thành dạng chuẩn BC ( hay chuẩn 3NF ) bảo toàn thôngtin

2.1.3 Cấu trúc lưu trữ và xử lý dữ liệu

Sau khi phân tích bài toán thì ta xác định được dữ liệu vào ra của hệthống:

+ Dữ liệu nhập vào là lược đồ quan hệ α =<U,F>, U là tập các thuộcU,F> với U là tập cácthuộc tính và F là tập các phụ thuộc hàm

Dữ liệu có thể nhập trực tiếp từ bàn phím hoặc nhập vào hệ thống bằngcách đọc file

+ Và sau khi nhập thông tin đầu vào và yêu cầu thực hiện hệ thống sẽtrả ra kết quả của bài toán một cách nhanh chóng và chính xác

Việc lưu giữ thông tin của bài toán là lưu trữ dưới dạng file.txt Tậpthuộc tính U và tập phụ thuộc hàm F được lưu trữ trên từng dòng Việc xử lýtrong bài toán thì tập thuộc tính U được lưu trữ dưới dạng mảng 1 chiều còntập phụ thuộc hàm lưu trữ dạng Arraylist với mỗi Object là một phụ thuộchàm

Ví dụ: Bài toán: Cho lược đồ quan hệ α=<U,F>, U là tập các thuộcU,F> với tập thuộc tínhU={A, B, C} và tập phụ thuộc hàm F={AB C,C B} Dữ liệu được lưutrên file.text với U và F được lưu trữ trên từng dòng như sau:

Trang 14

Dữ liệu có thể được nhập trực tiếp từ bàn phìm hoặc đọc từ file quachức năng nhập mới hoặc mở file

Dữ liệu sau khi được nhập vào sẽ được hiển thị trên treeview như hìnhdưới :

H2.2 Hiển thị lược đồ trên hệ thống

Việc thực hiện các chức năng của chương trình lúc này sẽ lấy thông tin

về lược đồ quan hệ trên treeview để xử lý

Trang 15

2.2 Thiết kế giao diện phần mềm

Dựa trên việc phân tích chứa năng của hệ thống ta sẽ thiết kế hệ thốngphần mềm có giao diện chính như sau:

H2.3 Giao diện chính của chương trình

Hệ thống phần mềm gồm các chức năng giống trong sơ đồ chức năngphân tích ở trên

Trang 16

Lược đồ quan hệ α=<U,F>, U là tập các thuộcU,F> với U là tập các thuộc tính và F là tập cácphụ thuộc hàm được đưa vào hệ thống bằng cách nhập trực tiếp từ bàn phímhoặc bằng cách đọc file (.txt) Các thông tin về lược đồ quan hệ đó được hiểnthị dưới dạng treeview như giao diện trong hình

Mọi thông tin được đưa vào xử lý trong việc tính toán bao đóng, khóa,dạng chuẩn,… Đều được lấy từ treeview bên trái và kết quả sẽ được hiển thịtrên text bên phải

H2.4 Kết quả bài toán hiển thị trên textbox

Trang 17

2.3 Thiết kế các thuật toán xử lý cơ bản

Loại phụ thuộc hàm YZ khỏi F

Bước 3: Vì U là hữu hạn nên sẽ tồn tại một chỉ số i nào đó mà Xi=Xi+1 thì Xi chính là bao đóng của X ( có thể viết X + =Xi ).

Trang 18

α=<U,F>, U là tập các thuộcU,F>,

X € U

Xi+1=Xi+ZLoại Y->Zi++

Xi=XXét PTH F: Y->Z

H2.5 Sơ đồ thuật toán BĐ tập thuộc tính

Trang 19

2.3.1.2 Bao đóng của phụ thuộc hàm

Thuật toán:

Bước 1: Tìm tất cả tập con của U +

Bước 2: Tìm bao đóng tất cả các tập con đối với tập phụ thuộc hàm F Bước 3: Tìm tất cả các phụ thuộc hàm có thể có của lược đồ ( không tính phụ thuộc hàm hiển nhiên).

Bước 4: Dựa vào bao đóng của tất cả các tập con đã tìm để xác định phụ thuộc hàm nào thuộc F +

Trang 20

α=<U,F>, U là tập các thuộcU,F>

Tìm tất cả các PTH có thể có của LĐ

Trang 21

2.3.2 Khóa

2.3.2.1 Tìm khóa bất kỳ của lược đồ quan hệ.

Thuật toán:

Bước 1: gán K =

Bước 2: A là một thuộc tính của U, đặt K’ = K + A Nếu (K’) + = U thì

ta có K’ là một khóa cần tìm của lược đồ và thuật toán kết thúc, ngược lại thực hiện lại bước 2.

Trang 22

Thuật toán:

Bước 1: Tìm tập nguồn TN, tập thuộc tính trung gian TG.

Bước 2: Nếu (TN) + =U lược đồ quan hệ chỉ có một khóa duy nhất K =

TN, thuật toán kết thúc Ngược lại qua bước 3.

Bước 3: Tìm tất cả các tập con Xi của tập trung gian TG( cả tập ) Bước 4: Xác định (Xi TN) + Nếu (TN Xi) + = U thì Si = TN Xi Bước 5: K={Si \ Sj sao cho Si Sj}

Trang 24

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

đúng

H2.9 Sơ đồ thuật toán phụ thuộc hàm vế trái dư thừa

Trang 25

2.3.3.2 Tập phụ thuộc hàm không dư thừa

Thuật toán:

Bước 1: Lần lượt xét các phụ thuộc hàm X Y của F.

Bước 2: Nếu X Y là thành viên của F - {X Y} thì loại X Y khỏi F.

Bước 3: Thực hiện bước 2 cho các phụ thuộc hàm tiếp theo của F.

Trang 26

F được gọi là một tập phụ thuộc hàm tối thiểu (hay phủ tối thiểu) nếu Fthỏa đồng thời ba điều kiện sau:

1 F là tập phụ thuộc hàm có vế trái không dư thừa

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

3 F là tập phụ thuộc hàm không dư thừa

Thuật toán:

Bước 1: Loại khỏi F các phụ thuộc hàm có vế trái dư thừa.

Bước 2: Tách các phụ thuộc hàm có vế phải trên một thuộc tính thành các phụ thuộc hàm có vế phải một thuộc tính.

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

Trang 27

α=<U,F>, U là tập các thuộcU,F>

Ftt không dư thừa

F’ Không dư thừa

Trang 28

2.3.4.1 Các dạng chuẩn

* Dạng chuẩn 2NF

Thuật toán:

Bước 1: Tìm tất cả khóa của lược đồ.

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ủa K.

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

Trang 29

Bước 1: Tìm tất cả khóa của lược đồ.

Bước 2: Xác định tập thuộc tính không khóa.

Bước 3: Nếu có các phụ thuộc hàm XA trong đó A chứa thuộc tính không khóa mà X là siêu khóa thì lược đồ đạt chuẩn 3 ngược lại không đạt chuẩn 3.

Trang 31

*Dạng chuẩn BCNF

Thuật toán:

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

Bước 2: Từ F tạo tập phụ thuộc hàm tương đương F1tt có vế phải một thuộc tính.

Bước 3: Nếu mọi phụ thuộc hàm X A F1tt với A X đều có X là siêu khóa thì α đạt chuẩn BC ngược lại α không đạt chuẩn BC.

A€X, (X)+=U

đúng

H2.14 Sơ đồ thuật toán dạng chuẩn BCNF

Trang 32

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

Bước 2: Kiểm tra chuẩn BC nếu đúng thì α đạt chuẩn BC, kết thúc thuật toán ngược lại qua bước 3.

Bước 3: Kiểm tra chuẩn 3 nếu đúng thì α đạt chuẩn 3, kết thúc thuật toán

ngược lại qua bước 4.

Bước 4: Kiểm tra chuẩn 2 nếu đúng thì α đạt chuẩn 2, kết thúc thuật toán ngược lại α đạt chuẩn 1.

Trang 34

2.3.5.1 Thuật toán kiểm tra phép tách kết nối bảo toàn thông tin

Thuật toán:

1 Thiết lập bảng với k+1 dòng, n+1 cột Cột j ứng với thuộc tính Aj (j=1 n), hàng i ứng với lược đồ quan hệ Ui(i=1…k) Tại ví trí hàng i, cột j ta điền ký hiệu Aj nếu Aj Ui, nếu không ta đặt ký hiệu bt vào vị trí đó (với t đầu tiên bằng 1) và sau đó tăng t lên một đơn vị.

2 Xét lần lượt các phụ thuộc hàm trong F, áp dụng cho bảng vừa mới thành lập ở trên Giả sử xét (X ->Y) thuộc F, chúng ta tìm những hàng giống nhau ở tất cả các thuộc tính của X, nếu thấy những hàng như vậy

ta sẽ làm cho các ký hiệu của hai hàng này bằng nhau ở tất cả các thuộc tính của Y Khi làm cho 2 ký hiệu này bằng nhau, nếu một trong hai ký hiệu là aj thì cho ký hiệu kia trở thành aj, nếu hai ký hiệu là bk hoặc bl thì có thể cho chúng trở thành bt hoặc bt (với t = min (k,l)) Bước này được tiếp tục cho các phụ thuộc hàm còn lại của F cho đến khi không còn áp dụng được nữa( Kể cả việc lặp lại các phụ thuộc hàm

đã xét ).

3 Xét bảng kết quả, nếu thấy trong bảng này có một hàng chứa toàn aj

(i=1 n) thì kết luận đó là phép kết nối bảo toàn thông tin, ngược lại là phép kết nối mất mát thông tin.

Trang 35

2.3.5.2 Phân rã thành dạng chuẩn BC (hay chuẩn 3NF) bảo toàn thông tin

Thuật toán:

Bước 1: Kiểm tra nếu tập phụ thuộc hàm F chưa tối thiểu thì phải tìm phủ tối thiểu của F.

Bước 2: Tìm tập tất cả khóa SK của lược đồ.

Bước 3: Tìm phụ thuộc hàm X -> Y thuộc F có X không là siêu khóa Nếu tìm thấy thì tách U thành U1 và U2 theo quy tắc sau:

U 1 =XY; Tính F 1 =U (F),tìm tính bao đóng tất cả tập con của XY để suy

Ngược lại nếu không tìm thấy thì có hai trường hợp:

Trường hợp 1: mọi phụ thuộc hàm trong Fi đều có vế trái là siêu khóa thì lược đồ đạt chuẩn BC.

Trường hợp 2: nếu có phụ thuộc hàm có vế trái không là siêu khóa và

vế phải chứa thuộc tính không khóa thì lược đồ đạt chuẩn 3.

Trang 36

Đúng

Kiểm tra F tối thiểu?

Trang 37

H2.16 Thuật toán tách thành các LĐ dạng BCNF

Ngày đăng: 29/10/2015, 09:52

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