Trong luận văn này, em tập trung nghiên cứu hai dạng biểu diễn khóa của lược đồ quan hệ. Việc cài đặt chương trình ứng dụng nhằm mục đích mô phỏng các kết quả nghiên cứu của học viên. Chương trình có giao diện đơn giản, dễ hiểu, dễ sử dụng và được viết bằng ngôn ngữ C#, một ngôn ngữ hướng đối tượng khá phổ biến cho phép tạo giao diện nhanh dễ dàng.
Chương trình cho phép nhập mới các thuộc tính và tập các PTH của LĐQH, cũng như cho phép thực hiện cập nhật, thay đổi LĐQH qua thao tác thêm/xóa thuộc tính hay các PTH. Các chức năng chính của chương trình bao gồm: Nhập các thuộc tính và các PTH, đưa ra 2 dạng biểu diễn khóa của LĐQH.
3.4. Một số giao diện của chƣơng trình
Giao diện chính của chương trình
- Giao diện nhập mới các thuộc tính của LĐQH
Hình 3.4.2 Giao diện nhập các thuộc tính - Giao diện nhập mới các PTH của LĐQH
Hình 3.4.3 Giao diện nhập các PTH
Hình 3.4.4 Giao diện tìm biểu diễn dạng 1 của khóa
3.5 Các ví dụ
3.5.1 Ví dụ 1: (Tìm dạng biểu diễn thứ nhất của khóa)
Cho LĐQH p = (U,F). U = ABCDEFG. F = {ABC DE,
BCD G,
ABFEG
CE FG}
Ta tính được U1 = U\DEFG = ABC.
Ta thu gọn lược đồ a theo ABC ta được: LĐQH q = (V,G)
V = U\ABC = DEFG.
G ={ Ø DE,
D G, FEG
E FG}
Ta tính được Key(q) = Ø. Vậy Key(p) = ABC Key(q) = ABC. 2. Với lược đồ trên ta tính được UK = ABCU0 = U\UK =
ABCDEFG\ABC = DEFG.
Đặt c = p\DEFG = (P,W) ta có P = U\DEFG = ABC.
W = F\DEFG = { ABC Ø , BC Ø,
AB Ø C Ø } . Suy ra Key(c) = ABC
Theo định lý thức nhất về cách biểu diễn khóa
Kết luận Key(p) = Key (c) = ABC Key(q) =ABC.
3.5.2 Ví dụ 2: (Tìm dạng biểu diễn thứ hai của khóa)
Cho lược đồ quan hệ p = (U, F). U = ABCD
F = {AD BC,
B A,
D C} Ta có ML(F) = {D, B}
- Trường hợp 1: Xét D trong ML(F). Ta thấy D+ = CD U. Vậy D không phải là khóa của p.
Ta thu gọn p theo D+. Đặt q = p\D+ = (V,G), ta có: V = ABCD\CD = AB, F = {AB, B A , Ø Ø (loại), }
Dễ dàng thấy là một khóa của Kq ={A, B}. Kết hợp với vế trái cực tiểu L= D
LĐQH p có 2 khóa Key(p) = {AD, BD}
Trường hợp 2: Xét B trong ML(F). Ta thấy B+ = AB U. Vậy B không phải là khóa của p.
Ta thu gọn p theo B+. Đặt q = p\B+ = (V,G), ta có:
V = ABCD\AB = CD,
Ø Ø (loại),
D C , }
Dễ dàng thấy là một khóa của Kq ={D}. Kết hợp với vế trái cực tiểu L= B
LĐQH p có khóa Key(p) = {BD}
KẾT LUẬN VÀ KIẾN NGHỊ 1. Kết luận:
Những nội dung chính đã được giải quyết trong luận văn + Lý thuyết:
- Phân tích thuật toán tìm khóa - Tìm hiểu kỹ thuật thu gọn LĐQH
- Phát biểu và chứng minh kết quả về dạng thứ nhất về biểu diễn khóa - Phát biểu và chứng minh kết quả về dạng thứ hai về biểu diễn khóa + Thực nghiệm:
- Nạp và cập nhật dữ liệu, thuộc tính và các PTH - Dạng biểu diễn thứ nhất của khóa
- Dạng biểu diễn thứ hai của khóa
2. Kiến nghị
- Vận dụng các dạng biểu diễn khóa trong LĐQH trên có thể thiết kế một cơ sở dữ liệu có tính thực tiễn cao
- Tiếp tục xây dựng và hoàn thiện phần mềm hỗ trợ thiết kế trên kỹ thuật thu gọn LĐQH để tìm ra cách biểu diễn khóa có hiệu quả nhất.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] Nguyễn Xuân Huy, Đoàn Văn Ban, Đàm Gia Mạnh, Nguyễn Thế Dũng (2001), Về mối liên hệ giữa suy diễn phụ thuộc hàm và suy diễn logic, Tạp chí Tin học và điều khiển học.
[2] Nguyễn Xuân Huy (2006), Các phụ thuộc logic trong cơ sở dữ liệu, Viện KH&CN VN, NXB Thống kê.
[3] Vũ Đức Thi (1997), Cơ sở dữ liệu: Kiến thức và thực hành, NXB Thống kê.
[4] Lê Tiến Vương (1999), Nhập môn cơ sở dữ liệu quan hệ, NXB Thống kê.