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

Phụ thuộc logic trong cơ sở dữ liệu

71 654 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 71
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT IU Tập các công thức suy dẫn trên tập biến U LU Tập các CTB xây dựng trên tập các biến U PU Tập toàn bộ các công thức dương trên U PTBDTQ Phụ thu

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-

NGÔ VIỆT TRƯỜNG

PHỤ THUỘC LOGIC TRONG CƠ SỞ DỮ LIỆU

LUẬN VĂN THẠC SĨ

Chuyên ngành: CÔNG NGHỆ THÔNG TIN

Mã số ngành: 60480201

TP HỒ CHÍ MINH, THÁNG 9 NĂM 2014

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

-

NGÔ VIỆT TRƯỜNG

PHỤ THUỘC LOGIC TRONG CƠ SỞ DỮ LIỆU

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này

đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Học viên thực hiện Luận văn

(Ký và ghi rõ họ tên)

NGÔ VIỆT TRƯỜNG

Trang 4

LỜI CẢM ƠN

g h họ h h h i h

h g gi h gi h ạ è ồng nghiệ i

g h ọ g i i i ời h h h i

Th h ng d n o s - n s o ọc Nguyễn Xuân Huy, th

truyề ạt những ki n thức rất bổ ích cho tôi trong quá trình học t h ng d n

h t sức t n tình trong quá trình hoàn thành lu

Khoa Công Nghệ h g i h g n lý khoa họ - ạ ại họ

ờ g ại Học Công Nghệ Thành Ph Hồ Ch Mi h ạo mọi iều kiện thu n l i

gi tôi trong quá trình học t p và hoàn thành lu

Toàn thể quý th hiệt tình gi ng dạy và truyề ạt những ki n thức bổ ích cho tôi trong su t khóa học vừa qua

Cu i cùng xin c n tất c nhữ g g ời h g gi h ạn bè và ồng nghiệ gi tôi trong su i quá trình học t p và th c hiện lu

NGÔ VIỆT TRƯỜNG

Trang 5

MỤC LỤC

Danh mục các kí hiệu, các từ viết tắt

Danh mục các hình minh họa

Mở đầu 1

Chương 1 Tổng quan về lý thuyết cơ sở dữ liệu quan hệ 6

1.1 Các khái niệm cơ bản 6

1.1.1 Thuộc tính 6

1.1.2 Quan hệ n ngôi 7

1.1.3 Bộ 8

1.1.4 Lược đồ quan hệ 9

1.1.5 Khóa của một quan hệ 10

1.2 Phụ thuộc hàm 12

1.2.1 Khái niệm phụ thuộc hàm 12

1.2.2 Định nghĩa 12

1.2.3 Hệ luật dẫn Armstrong 13

1.2.4 Thuật toán tìm bao đóng của tập thuộc tính 15

1.2.5 Bài toán thành viên 16

1.2.6 Phủ tối thiểu của một tập phụ thuộc hàm 16

1.3 Khóa 17

1.3.1 Định nghĩa 17

1.3.2 Thuật toán tìm khóa 18

1.4 Kết chương 19

Chương 2 Một số khái niệm cơ sở trong phụ thuộc Boole dương 20

2.1 Các công thức Boole 20

2.2 Phụ thuộc Boole dương 23

2.2.1 Công thức Boole dương 23

2.2.2 Bảng chân lý của quan hệ 24

2.2.3 Phụ thuộc Boole dương 25

Trang 6

2.2.4 Một số tính chất của phụ thuộc Boole dương 25

2.2.5 Định lý tương đương 27

2.3 Bài toán suy dẫn cho lớp PTBD 28

2.4 Biểu diễn PTBD dưới dạng hội suy dẫn 31

2.4.1 Công thức suy dẫn 31

2.4.2 Bài toán biểu diễn PTBD dưới dạng hội suy dẫn 32

2.4.3 Tập TR của PTBD 37

2.4.4 Xây dựng tập PTBD từ quan hệ R cho trước 40

2.5 Kết chương 41

Chương 3 Ứng dụng lớp phụ thuộc Boole dương giải một số lớp bài toán 42

3.1 Bài toán thành viên 42

3.1.1 Phương pháp chứng minh một công thức là hằng đúng 45

3.1.2 Chuẩn hóa dạng chuẩn hội (CNF) 47

3.1.3 Phương pháp chứng minh công thức suy dẫn bằng phép hợp giải 48

3.2 Bài toán bao đóng 48

3.3 Một số thí dụ minh họa 49

3.4 Môi trường xây dựng chương trình 51

3.4.1 Phần cài đặt chương trình 51

3.4.2 Dữ liệu áp dụng cho chương trình 51

3.5 Kết quả đạt được 52

3.9 Kết chương 52

Kết luận và kiến nghị hướng phát triển 53

Phụ lục 54

Tài liệu tham khảo 61

Trang 7

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

I(U) Tập các công thức suy dẫn trên tập biến U

L(U) Tập các CTB xây dựng trên tập các biến U

P(U) Tập toàn bộ các công thức dương trên U

PTBDTQ Phụ thuộc Boole dương tổng quát

R(U) Quan hệ R với tập thuộc tính U

REL(U) Tập toàn thể các quan hệ trên tập thuộc tính U

REL_p(U) Tập toàn thể các quan hệ có không quá p bộ trên tập thuộc tính

U, p ≥ 1 SAT(F) Tập toàn thể các quan hệ trên U thỏa tập ràng buộc F

SAT_p(F) Tập toàn thể các quan hệ có không quá p bộ trên U thỏa tập

ràng buộc F, p ≥ 1 SubSet(U) Tập các tập con của U

Trang 8

├ suy dẫn theo quan hệ

2 suy dẫn theo quan hệ có không quá 2 bộ

Trang 9

DANH MỤC CÁC HÌNH MINH HOẠ

Hình 1.1 Thể hiện của quan hệ khoa 9

Hình 1.2 Thể hiện của quan hệ lophoc 9

Hình 2.1 Bảng chân lý Tf,Tg 22

Hình 2.2 Bảng trị Vf,Vg 22

Hình 2.3 Bảng chân lý TG,Th 23

Hình 2.4 Quan hệ R(A,B,C) 24

Hình 2.5 Bảng chân lý TR 24

Hình 3.1 Các kí hiệu phép toán 42

Hình phụ lục 1 Gọi thủ tục go1 54

Hình phụ lục 2 Gọi thủ tục go2 55

Hình phụ lục 3 Gọi thủ tục go3 55

Hình phụ lục 4 Gọi thủ tục go 56

Hình phụ lục 5 Gọi tiếp thủ tục go 56

Hình phụ lục 6 Gọi tiếp thủ tục go 57

Hình phụ lục 7 Gọi tiếp thủ tục go 57

Hình phụ lục 8 Gọi tiếp thủ tục go 58

Hình phụ lục 9 Tính trị a + b 58

Hình phụ lục 10 Tính trị a & b 59

Hình phụ lục 11 Tính trị a  b 59

Hình phụ lục 12 Tính trị a ^ b 60

Hình phụ lục 13 Tính trị a  b 60

Trang 10

Việc tổ chức lưu trữ, quản lý và khai thác dữ liệu ta có thể dùng nhiều mô hình tổ chức dữ liệu khác nhau từ những mô hình truyền thống như mô hình mạng,

mô hình phân cấp, mô hình quan hệ đến các mô hình hiện đại, được dùng nhiều hiện nay như mô hình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu hướng đối tượng … Trong các mô hình dữ liệu, việc nghiên cứu lý thuyết và ứng dụng của các ràng buộc dữ liệu hay còn gọi là các phụ thuộc dữ liệu là một yêu cầu cấp thiết đặt

ra Phụ thuộc dữ liệu đầu tiên được Codd [13] tác giả của mô hình dữ liệu quan hệ đặt nền móng từ những năm 1970 với khái niệm phụ thuộc hàm Tiếp sau đó R Fagin và Zaniolo đã đưa ra phụ thuộc đa trị vào năm 1976 Cùng với sự phát triển của lớp phụ thuộc hàm, một số phụ thuộc dữ liệu bậc cao cũng như hệ tiên đề cho lớp các phụ thuộc - tức là đặt nền móng cơ sở lý thuyết về phụ thuộc dữ liệu, cũng được giới thiệu sau đó như phụ thuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu do

J Demetrovics và Gy Gyepesy đề xuất năm 1981, phụ thuộc Boole dương do Berman đề xuất năm 1985, 1987, phụ thuộc Boole dương tổng quát được Nguyễn Xuân Huy, Lê Thị Thanh [6] phát triển năm 1992, …

Gần đây, trên cơ sở lớp phụ thuộc hàm là phụ thuộc dữ liệu truyền thống có một số công trình nghiên cứu của nhiều nhóm về các phụ thuộc dữ liệu mở rộng cho nhiều các loại dữ liệu khác nhau Với dữ liệu xác định, năm 2004, Ilya và các đồng nghiệp đã nghiên cứu phụ thuộc hàm nhẹ (Soft Functional Dependencies – Soft FD)

là phụ thuộc hàm mà giá trị của X xác định giá trị của Y với độ không chắc chắn

Trang 11

nhất định hay phụ thuộc hàm có điều kiện (Conditional functional dependencies - CFDs) được Bohannon [8] cùng các đồng nghiệp đề xuất năm 2007 để làm sạch dữ liệu Với dữ liệu mờ, phụ thuộc hàm đối sánh (Matching dependencies - MDs), phụ thuộc hàm độ đo (Metric Functional Dependencies - MFD) đã lần lượt được Fan nghiên cứu, đề xuất năm 2008,2009 Hay phụ thuộc tuần tự (Sequential dependencies - SD) được Golab và đồng nghiệp đưa ra để khái quát dữ liệu theo thứ

tự và biểu diễn mối quan hệ giữa các thuộc tính có thứ tự Gần đây, đầu năm 2011 nhóm nghiên cứu Song S và Chen L [12] đã đề xuất phụ thuộc sai khác (Differential Dependencies - DDs) để giải quyết một số vấn đề như đảm bảo tính toàn vẹn, tối ưu truy vấn tốt hơn so với phụ thuộc hàm

Lớp các PTH và hầu hết các phụ thuộc bậc cao phát triển sau đó như phụ thuộc đối ngẫu, phụ thuộc mạnh, phụ thuộc yếu, phụ thuộc hàm nhẹ, phụ thuộc hàm

có điều kiện … đều dựa trên quan hệ đẳng thức khi so sánh các trị của các thuộc tính xuất hiện trong các bộ Trong thực tế, ngoài so sánh theo đẳng thức còn tồn tại những loại hình so sánh khác Ta xét một số thí dụ sau:

1 Trong CSDL quản lý giao dịch thẻ tín dụng, số thẻ giao dịch sẽ xác định vị trí giao dịch Để xác định một giao dịch có gian lận hay không ta có thể kết hợp các điều kiện giữa số thẻ với vị trí để xác định thời gian giao dịch, thí dụ nếu cùng một thẻ tín dụng giao dịch ở hai vị trí cách nhau hơn 40km (ở hai thành phố khác nhau), thì thời gian truyền sai lệch phải lớn hơn 20 phút.Nếu hai giao dịch không thỏa điều kiện trên thì một trong hai phiên giao dịch đó là gian lận Như vậy, ta thấy phụ thuộc [sothe (=0) vitri (≥40)]  [thoigian(≥20)] có ngữ nghĩa rộng hơn PTH sothe → vitri

2 Trong số luận, độ cao của một số tự nhiên n, H(n) là tổng các chữ số của

số đó, thí dụ, H(2006) = H(125) = 8 Nếu ta phân loại các số theo độ cao thì hai số khác nhau có thể thuộc cùng một lớp Như vậy phụ thuộc H(N)→CLASS có ngữ nghĩa rộng hơn PTH N → CLASS

Trang 12

Trong thực tế với một số cơ sở dữ liệu lớn, biến động, phân tán ở nhiều nơi, trên địa bàn rộng, phục vụ nhiều người dùng với nhiều ứng dụng khác nhau thì các yêu cầu như đồng nhất dữ liệu (theo khóa và theo trọng số thông tin ), xử lý các yêu cầu tra cứu thông tin với các điều kiện khác nhau một cách nhanh chóng, đảm bảo

dữ liệu không bị mất mát trên đường truyền, tổ chức, thiết kế, quản lý dữ liệu sao cho việc lưu trữ tốn ít bộ nhớ nhất, khai thác hiệu quả và thời gian truyền dữ liệu được giảm tối đa… cũng luôn là yêu cầu cần thiết đặt ra Một trong các giải pháp để thực hiện việc này là mở rộng khái niệm đối sánh các trị của các thuộc tính xuất hiện trong các bộ, tìm tập các phụ thuộc dữ liệu thu gọn tương đương với tập phụ thuộc

dữ liệu ban đầu

Đây cũng chính là mục đích và ý nghĩa của việc mở rộng khái niệm so sánh trong lớp các phụ thuộc dữ liệu như phụ thuộc Boole dương hay các phụ thuộc có bản chất là phụ thuộc Boole dương như phụ thuộc sai khác, phụ thuộc đối sánh được nghiên cứu sau này

Mục tiêu của luận văn là tìm hiểu về lý thuyết phụ thuộc dữ liệu và ứng dụng

lý thuyết này trong một số ứng dụng Đây là vấn đề nghiên cứu đã và đang được nhiều nhà khoa học quan tâm

Trang 13

Mục đích nghiên cứu

- Nghiên cứu và tìm hiểu các lớp phụ thuộc Boole dương trong đó tập trung chủ yếu việc vào tìm hiểu một số khái niệm, tính chất của lớp phụ thuộc Boole dương và một số khía cạnh ứng dụng của lớp phụ thuộc này

Phương ph p nghiên cứu

- Tìm hiểu các tài liệu và kết quả nghiên cứu có liên quan đến đề tài Vận dụng chủ yếu các phương pháp và cấu trúc của toán học rời rạc kết hợp với việc phát triển lớp các phụ thuộc logic nhằm đảm bảo ngữ nghĩa của

dữ liệu trong cơ sở dữ liệu theo hướng tiếp cận logic

Bố cục của luận văn

Về cấu trúc, luận văn được trình bày trong 3 chương, phần mở đầu, phần kết luận, phần mục lục, phần phụ lục, tài liệu tham khảo Các nội dung của luận văn trình bày theo cấu trúc như sau:

C ơn 1 ổn qu n về lý t uy t cơ sở dữ l ệu qu n ệ

Trình bày một số khái niệm chung về mô hình quan hệ và lớp phụ thuộc đầu tiên của phụ thuộc logic là phụ thuộc hàm

C ơn 2 Một số k n ệm cơ sở tron p ụ t uộc Bool d ơn

Trình bày một số khái niệm về phụ thuộc Bool dương và các vấn đề liên quan đến việc tìm bao đóng, bài toán thành viên của lớp phụ thuộc Boole dương Biểu diễn phụ thuộc Boole dương dưới dạng hội các công thức suy dẫn và thuật toán xây dựng xây dựng tập PTBD thỏa mãn quan hệ R cho trước cũng được trình bày trong chương này

C ơn 3 Ứn dụn p ụ t uộc Bool d ơn ả một số lớp bà to n

Trong chương trình bày quy trình chuẩn hóa một công thức về dạng chuẩn hội (CNF), phương pháp chứng minh một công thức bằng phép hợp giải, phương pháp chứng minh một công thức là hằng đúng cũng như thuật toán tìm phủ không

Trang 14

dư của một công thức Từ đó, vận dụng các kỹ thuật này vào việc giải một số bài toán thông qua các ví dụ minh họa

Những kết quả trong luận văn là bước đầu tìm hiểu về lý thuyết các phụ thuộc logic trong cơ sở dữ liệu Kết hợp với một số thuật toán có thể xây dựng các ứng dụng phục vụ trong một số lĩnh vực chẳng hạn như cơ sở dữ liệu Do điều kiện

về thời gian và trình độ còn hạn chế, những vấn đề trình bày trong luận văn không tránh khỏi những thiếu sót Tác giả rất mong được sự thông cảm và góp ý của các nhà khoa học, đồng nghiệp và bạn bè để luận văn được hoàn thiện tốt hơn

Trang 15

Chương 1

TỔNG QUAN VỀ LÝ THUYẾT

CƠ SỞ DỮ LIỆU QUAN HỆ

Lý thuyết về các phụ thuộc dữ liệu đóng vai trò quan trọng trong việc mô tả thế giới thực, phản ánh ngữ nghĩa dữ liệu của cơ sở dữ liệu Trong quản lý các cơ sở

dữ liệu (CSDL), phụ thuộc dữ liệu được hiểu là những mệnh đề mô tả các ràng buộc

mà dữ liệu phải đáp ứng trong thực tế Nhờ có những mô tả phụ thuộc này mà hệ quản trị cơ sở dữ liệu có thể quản lý tốt được chất lượng dữ liệu Phụ thuộc dữ liệu được Codd [13] tác giả của mô hình dữ liệu quan hệ đặt nền móng từ những năm 70 với khái niệm phụ thuộc hàm Sau đó một loạt tác giả khác tiếp tục phát triển các dạng phụ thuộc bậc cao, phụ thuộc mờ cũng như xây dựng các hệ tiên đề cho các lớp phụ thuộc - tức là đặt cơ sở lý thuyết về phụ thuộc dữ liệu Một điều khá tự nhiên là ngay từ những ngày đầu phát triển lý thuyết thiết kế cơ sở dữ liệu, logic đã được chọn như một ngôn ngữ hữu hiệu để đặc tả phụ thuộc dữ liệu, do đó trong số các loại hình phụ thuộc dữ liệu rất đa dạng được đề xuất và phát triển sau này, các phụ thuộc logic luôn luôn là trọng tâm chú ý của các nhóm nghiên cứu

Chương này sẽ trình bày một cách tổng quan quá trình phát triển của lớp phụ thuộc logic đầu tiên là phụ thuộc hàm Phần đầu tiên của chương trình bày một số khái niệm cơ bản của lý thuyết cơ sở dữ liệu quan hệ, khái niệm về phụ thuộc hàm

Trang 16

Thí dụ 1.1

• Đối tượng LOPHOC có các thuộc tính mã lớp, tên lớp, khóa, số học viên

• Đối tượng SINHVIEN có các thuộc tính mã sinh viên, họ tên, ngày sinh, quê quán

Các thuộc tính được đặc trưng bởi một tên thuộc tính, kiểu giá trị (data type)

và miền giá trị (domain)

Trong các ứng dụng thực tế, người phân tích – thiết kế thường đặt tên thuộc

tính một cách gợi nhớ, tuy nhiên không nên đặt tên quá dài (vì làm cho việc viết

câu lệnh truy vấn vất vả hơn) nhưng cũng không nên quá ngắn (vì không thể hiện được ngữ nghĩa một cách rõ ràng)

Thí dụ 1.2

Nếu có hai đối tượng HỌCVIEN và GIAOVIEN đều có thuộc tính tên thì nên đặt tên một cách rõ ràng là Tên_học_viên và Tên_giáo _viên vì chúng mang ngữ nghĩa hoàn toàn khác nhau

Mỗi một thuộc tính đều phải thuộc một kiểu dữ liệu Kiểu dữ liệu có thể là vô

hướng - là các kiểu dữ liệu cơ bản như chuỗi, số, logic, ngày tháng… hoặc các kiểu có cấu trúc được định nghĩa dựa trên các kiểu dữ liệu đã có sẵn

Mỗi một thuộc tính có thể chỉ chọn lấy những giá trị trong một tập hợp con của kiểu dữ liệu Tập hợp các giá trị mà một thuộc tính A có thể nhận được gọi là

miền giá trị của thuộc tính A, thường được ký hiệu là MGT(A) hoặc Dom(A)

Thí dụ 1.3

Điểm của sinh viên là một số, nhưng luôn nằm trong đoạn từ 0 đến 10

Với kiểu dữ liệu cấu trúc thì miền giá trị chính là tích đề các (hoặc tập con của tích đề các) của các miền giá trị thành phần

1.1.2 Quan hệ n ngôi

Một quan hệ R có n ngôi được định nghĩa trên tập các thuộc tính U = {A1,

A2, A n} và kèm theo nó là một tân từ, để xác định mối quan hệ giữa các thuộc tính

Ai , và được ký hiệu là R(A1, A2, A n ) Tập thuộc tính của quan hệ R còn được ký

hiệu là R+

Trang 17

Với Ai là một thuộc tính có miền giá trị là MGT(Ai), như vậy R(A1, A2, A n )

là tập con của tích đề các: MGT(A1)x MGT(A2)x…x MGT(An) Quan hệ còn được gọi là bảng (table)

Thí dụ 1.4

KHOA(Mã_khoa, Tên_khoa) là một quan hệ 2 ngôi với tân từ : “Mỗi khoa

có một mã khoa duy nhấ ể phân biệt v i các khoa khác, có một tên gọi”

SINHVIEN (Mã_sinh_viên, Tên_sinh_viên, Ngày_sinh, Quê_quán,

Khoa) là một quan hệ 5 ngôi với tân từ : “Mỗi sinh viên có một mã sinh viên duy

nhất ể phân biệt v i các sinh viên khác, có họ ê g h g i h quê quán và học tại mộ h g ờng ”

1.1.3 Bộ

Một bộ (tuple) giá trị là các thông tin của một đối tượng thuộc quan hệ Bộ giá trị cũng thường được gọi là một mẫu tin hay bản ghi (record), dòng của bảng (row)

Một bộ q là một vecto gồm n thành phần thuộc tập hợp con của tích đề các miền giá trị của các thuộc tính và thỏa mãn tân từ đã cho của quan hệ

Thí dụ 1.5

Các bộ giá trị dựa trên các thuộc tính của quan hệ SINHVIEN:

q1 = (SV001, Trần Văn Mạnh, 10/10/1980, Lâm Đồng, CTK27)

q2 = (SV002, Nguyễn Thị Hoa Huệ, 25/11/1985, Khánh Hòa, MTK27)

q3 = (SV003, Tăng Thanh Hà, 11/11/1982, Tp Hồ Chí Minh, NVK27)

Để lấy thành phần Ai – là giá trị thuộc tính Ai của một bộ giá trị q, ký hiệu q.Ai Đây được gọi là phép chi u một bộ lên thuộc tính A i

Thí dụ 1.6

q1.Tên_sinh_viên = “Trần Văn Mạnh”

q2.Khoa= “MTK27”

Trang 18

Lược đồ cơ sở dữ liệu là tập hợp các lược đồ quan hệ con {R i}, ký hiệu là ζ Thể hiện (hay tình trạng) của quan hệ R, ký hiệu là TR, là tập hợp các bộ giá trị của quan hệ R vào một thời điểm Như vậy, tại những thời điểm khác nhau thì quan hệ có những thể hiện khác nhau

Thể hiện của các lược đồ quan hệ con TRi gọi là tình trạng của lược đồ CSDL ζ

Thí dụ 1.7 Thể hiện của quan hệ KHOA và LOPHOC

Bảng 1.1 Thể hiện của quan hệ KHOA

Bảng 1.2 Thể hiện của quan hệ LOPHOC

CNTT Công nghệ thông tin 10/10/1994

Trang 19

1.1.5 Khóa của một quan hệ

Quan hệ R định nghĩa trên tập các thuộc tính U = {A1, A2, , A n}

Khi đó K ⊆ U là khóa của quan hệ R nếu thoả:

(i) K xác định được giá trị của A j , với mọi j = 1,2, ,n

(ii) Không tồn tại K ' ⊆ K mà K ' có thể xác định được giá trị của

A j , với mọi j = 1,2, ,n

Theo định nghĩa trên, K là tập con nhỏ nhất mà giá trị của nó có thể xác

định được duy nhất một bộ giá trị của quan hệ

Khóa theo định nghĩa trên gọi là khóa ề nghị (candidate key)

K được gọi là siêu khóa (superkey) của quan hệ R nếu K ' ⊆ K là một khóa của quan hệ Như vậy một quan hệ Q luôn có ít nhất một siêu khóa và có thể có

nhiều siêu khóa

Thí dụ 1.8 Với quan hệ LOPHOC (MaLop, TenLop, SoSV, MaKhoa) Siêu khoá :

K1 = {MaLop, TenLop}

K2 = {MaLop, SoSV}

K3= {MaLop, TenLop, MaKhoa}

K4= {MaLop, SoSV, MaKhoa}

Ý nghĩa thực tế của khóa là dùng để nhận diện một bộ trong một quan hệ, khi cần thiết tìm thông tin một bộ q nào đó ta chỉ cần biết giá trị của khóa của q là đủ

để dò tìm và hoàn toàn xác định được nó trong quan hệ

Trong trường hợp lược đồ quan hệ có nhiều khóa đề nghị, khi cài đặt lên một

hệ quản trị CSDL người ta chọn ra một khóa trong số các khoá đề nghị này để sử

dụng Khi đó khóa này được gọi là khóa chính (primary key) và các khóa còn lại là

hó g g Khóa chính chỉ thật sự có ý nghĩa trong quá trình khai thác

CSDL, khóa chính hoàn toàn không có vai trò gì khác so với các khóa chỉ định còn lại

Trang 20

Trong các hệ quản trị CSDL có cài đặt cơ chế tự động kiểm tra tính duy nhất của khóa chính Khi người sử dụng thêm một bộ mới q2 có giá trị khóa chính trùng với giá trị khóa chính của một bộ q1 đã có trong quan hệ thì hệ thống sẽ báo lỗi và yêu cầu nhập lại giá trị khác

Các thuộc tính tham gia vào một khóa được gọi là thuộc tính khoá Về mặt

ký hiệu, trong lược đồ quan hệ các thuộc tính khóa được gạch dưới

Trong một bộ của quan hệ, các thuộc tính khóa không chứa giá trị rỗng Không được phép sửa đổi giá trị của thuộc tính khoá, nếu người sử dụng muốn sửa giá trị thuộc tính khoá của bộ q, cần phải hủy bỏ bộ q sau đó thêm vào bộ q’ với giá trị khóa đã được sửa đổi

Thí dụ 1.9 Một lược đồ CSDL như sau:

KHOA (MaKhoa, TenKhoa, NgayThanhLap)

LOPHOC (MaLop, TenLop, NienKhoa, SoHocvien, MaKhoa)

MONHOC (MaMon, TenMon, SoTC)

HOCVIEN (MaHV, HoHV, TenHV, NgaySinh, QueQuan, MaLop)

GIAOVIEN (MaGV, HoGV, TenGV, NgaySinh, HocVi, ChuyenNganh) KQUATHI (MaHV, MaMon, LanThi, NgayThi, DiemThi, GhiChu)

DAY (MaGV, MaLop, MaMon)

Với hai quan hệ R và S, một tập thuộc tính K của quan hệ R được gọi là

khóa ngoại (foreign key) của quan hệ R nếu K là khóa của quan hệ S

Trang 21

1.2 Phụ thuộc hàm

1.2.1 Khái niệm phụ thuộc hàm

Xét quan hệ DEAN(MaDA, TenDA, DdiemDA, Phong) Nhận thấy rằng quan hệ DEAN có MaDA là khóa, nghĩa là từ MaDA có thể xác định được tất cả các thông tin về tên đề án, địa điểm thực hiện đề án và phòng ban chủ trì đề án Có thể phát biểu lại như sau:

 MaDA xác định TenDA hay TenDA phụ thuộc hàm vào MaDA

 MaDA xác định DdiemDA hay DdiemDA phụ thuộc hàm vào MaDA

 MaDA xác định Phong hay Phong phụ thuộc hàm vào MaDA được ký hiệu:

Khi đó: XY (t1.X = t2.X t1.Y = t2.Y)

Ta nói X xác định Y hay Y phụ thuộc hàm vào X X được gọi là vế trái phụ thuộc hàm, Y được gọi là vế phải phụ thuộc hàm

Trang 22

Phụ thuộc hàm hiển nhiên

X Y gọi là phụ thuộc hàm hiển nhiên nếu Y X

 {SoHD, MaHang} SoLuong

 {SoHD, MaHang} DonGia

 {SoHD, MaHang} ThanhTien Nhận thấy rằng SoLuong phụ thuộc đầy đủ vào {SoHD, MaHang} nhưng DonGia chỉ phụ thuộc vào MaHang (là một thuộc tính khóa) chứ không phụ thuộc đầy đủ vào khóa {SoHD, MaHang} Như vậy, trên một lược đồ quan

hệ có thể tồn tại nhiều phụ thuộc hàm

Tập các phụ thuộc hàm được ký hiệu F

1.2.3 Hệ luật dẫn Amstrong

Gọi F là tập phụ thuộc hàm đối với lược đồ quan hệ R định nghĩa trên tập

thuộc tính U và X Y là một phụ thuộc hàm; X ,Y U Khi đó ta nói rằng X  Y

được suy diễn Logic từ F nếu R thỏa các phụ thuộc hàm của F thì cũng thỏa X

Y và ký hiệu là F |= X Y

Bao đóng của tập phụ thuộc hàm

Bao đóng của tập phụ thuộc hàm F, ký hiệu là F+ là là tập tất cả các phụ thuộc hàm được duy diễn từ F

Trang 23

Trong trường hợp F = F+ thì F là họ đầy đủ của các phụ thuộc hàm

Trang 24

CDE

ABE (tính bắc cầu 6+7)

1.2.4 Thuật toán tìm bao đóng của tập thuộc tính

Bao đóng của tập thuộc tính

Bao đóng của tập thuộc tính X đối với tập phụ thuộc hàm F, ký hiệu là

X  là tập tất cả các thuộc tính A có thể suy dẫn từ X nhờ tập bao đóng của các

 X (i1) X (i) Z ,Y ZF Y X (i) , loại  Zra khỏi F

 Dừng khi X (i1) X (i) hoặc khi X (i) Q

Bước 2: Kết luận X  X (i) :

Thí dụ 1.12 Cho lược đồ quan hệ R(A, B, C, D, E, G, H) và tập phụ thuộc hàm:

Trang 25

Bước 2: Từ f1 đến f4 không thoả, f5 thoả nên X 1 AC D ACD

Lặp lại bước 2:

f1 không thoả, f2 thỏa nên X 2 ACD CE ACDE

f3 thỏa nên X 3 ACDE H ACDEH

f4 không thỏa, f5 đã thỏa

Lặp lại bước 2: f2, f3 và f5 đã thỏa, f1 và f3 không thỏa Nên X 4X 3 ACDEH

Vậy AC ACDEH

1.2.5 Bài toán thành viên

Cho tập thuộc tính Q, tập phụ thuộc hàm F trên Q và một phụ thuộc hàm

Cho biết AC E có thuộc F+ không?

Ta có AC ACDEH

Vì E ACnên AC E F

1.2.6 Phủ tối thiểu của một tập phụ thuộc hàm

Hai tập phụ thuộc hàm tương đương

Hai tập phụ thuộc hàm F và G tương đương nếu F G Ký hiệu F G

F

Trang 26

F được gọi là phủ G nếu F G

Thuật toán xác định F và G có tương đương không

Bước 1:

Với mỗi phụ thuộc hàm X Y F

Kiểm tra X Y có là thành viên của G không

Bước 2:

Với mỗi phụ thuộc hàm X Y G

Kiểm tra X Y có là thành viên của F không

Bước 3:

Nếu cả bước 1 và 2 đều đúng thì kết luận F G

Thí dụ 1.14 Cho lược đồ quan hệ R(A, B, C, D, E) và tập phụ thuộc hàm:

Cho lược đồ quan hệ Q(A1, A2, …, An), Q+ là tập thuộc tính của quan hệ

Q, F là tập phụ thuộc hàm trên Q, K là tập con của Q+ Khi đó K gọi là một khóa của Q nếu:

Trang 27

(i) K+F = Q+

(ii) Không tồn tại K 'K sao cho K’+F = Q+

Thuộc tính A được gọi là thuộc tính khóa nếu A K , trong đó K là khóa

của Q Ngược lại thuộc tính A được gọi là thuộc tính không khóa

K’ được gọi là siêu khóa nếu K K '

1.3.2 Thuật toán tìm khóa

Bước 1: Tính tập nguồn N Nếu N Qthì chỉ có 1 khoá là N, ngược lại

Trang 28

Như vậy tập siêu khoá S  BA, BC, BAC

Bước 4: Loại các siêu khóa không tối thiểu:

Nhận thấy rằng BA BAC nên loại siêu khóa BAC Tập các khóa còn lại là

Trang 29

C h ư ơ ng 2

MỘT SỐ KHÁI NIỆM CƠ SỞ TRONG

PHỤ THUỘC BOOLE DƯƠNG

Trong chương 1 cũng đã nêu tổng quan về lớp phụ thuộc logic đầu tiên là lớp phụ thuộc hàm, phát biểu định lý tương đương cho lớp phụ thuộc này Trong chương 2 sẽ tiếp tục trình bày một số khái niệm cơ bản về các lớp phụ thuộc logic như các lớp phụ thuộc Boole được mở rộng theo trình tự thời gian là phụ thuộc Boole dương

Trong chương này cũng sẽ trình bày một số khái niệm liên quan đến việc tìm bao đóng, bài toán thành viên của lớp phụ thuộc Boole dương Biểu diễn phụ thuộc Boole dương dưới dạng hội các công thức suy dẫn và thuật toán xây dựng xây dựng tập PTBD thỏa mãn quan hệ R cho trước cũng được trình bày trong chương này

2 1 C c c ô n g t h ứ c B o o l e

Định nghĩa 2.1

Cho U = {x1, ,x n } là tập hữu hạn các i B e, B là tập ị B e,

B = {0,1} Khi đó các g hứ B e CTB) là các công thức được xây dựng trên

các biến của U, các hằng 0/1 và các phép toán , ,  ,

Ký hiệu LU) là C B g ê i U

Định nghĩa 2.2

Mỗi vector các phần tử 0/1, v = v1, ,v n) trong không gian Bn = BB B

được gọi là một phép gán trị cho các biến {x1, ,x n } trong U

Khi đó với mỗi CTB fLU) ta có fv) = fv 1 , ,v n ) là ị g hứ f đối với phép gán trị v, và fv) được tính như sau:

Trang 30

1 Thay toàn bộ xuất hiện của mỗi biến x i trong f bằng trị v i tương ứng,

i=1,2,…,n để thu được một mệnh đề logic b

ộ g hứ B e được lập bởi hội logic các biến trong X

Ngoài ra, nếu X = {B1, ,B m}  U ta ký hiệu:

X = B1B2 B m và gọi là ạ g hội

X = B1B2 B m và gọi là ạ g ể

Hai phép gán trị đặc biệt được quan tâm là hé g ị ị e = 1,1, ,1)

và hé g ị h g z = 0,0, ,0)

Với mỗi tập hữu hạn các CTB, F = {f1, f2, ,f m} trong LU), F được xem là

một công thức dạng F = f1f2 f m Khi đó với mỗi phép gán trị v, giá trị chân lý

của công thức F sẽ được tính như sau:

Fv) = f1v) f2v)  f mv)

Định nghĩa 2.3

Với mỗi công thức f trên U, g ị f ký hiệu là V f chứa n+1 cột, trong

đó n cột đầu tiên chứa các trị của các biến trong U, cột cuối cùng, cột thứ n+1, chứa trị của f ứng với mỗi phép gán trị của dòng tương ứng Như vậy bảng trị chứa 2 n

dòng, trong đó n là lực lượng của tập U B g h f, ký hiệu là T f, là tập các

phép gán trị v sao cho fv) nhận giá trị 1,

T f = {v B n | fv) =1}

Khi đó g h F của tập hữu hạn các công thức F trên U, chính là giao của các bảng chân lý của mỗi công thức thành viên trong F,

Trang 31

F f

Cho CTB F = { f: AB, g: CA} trên U = ABC Ta có bảng trị V f , V g và các

bảng chân lý T f , T g và T F như sau:

Nhận xét

Với mỗi CTB f, bảng trị V f của f chứa trị của ọi hé g ị cho f, trong khi bảng chân lý T f chỉ là ộ h g ị ứng với các giá trị 1 của f

Định nghĩa 2.4

Cho f và g là hai CTB Ta nói công thức f dẫn ra được công thức g và ký hiệu

f ╞ g, nếu T f T g ; Ta nói f và g là hai công thức tương đương, ký hiệu f g, nếu T f

= T g Với hai tập công thức F, G trong LU), ta nói F dẫn ra được G, ký hiệu F╞ G,

nếu T F T G ; F và G là tương đương, ký hiệu F G, nếu T F = T G

Trang 32

Thí dụ 2.2

Cho hai CTB G và h trên U = ABC,

trong đó G là một hội của các CTB f và g:

et al đã mở rộng khái niệm PTH sang phụ thuộc Boole dương Đây là lớp phụ thuộc logic bao gồm các ràng buộc dữ liệu được mô tả thông qua các công thức Boole dương là những công thức nhận giá trị 1 (true) khi tất cả các biến đều có trị 1 Trong mô tả các phụ thuộc hàm và phụ thuộc Boole dương phép sánh trị của thuộc tính vẫn là phép sánh đẳng thức (=) Đối với các phụ thuộc Boole dương định lý tương đương vẫn bảo toàn hiệu lực

2.2.1 Công thức Boole dương

Định nghĩa 2.5

Công thức f LU) được gọi là g hứ B e g CTBD) nếu fe) =1,

trong đó e là phép gán trị đơn vị, e = (1,1, ,1)

Ký hiệu PU) là tập toàn bộ g hứ g trên U Theo Post ta có thể

xem PU) bao gồm các công thức được xây dựng từ các phép toán , ,  và hằng

Trang 33

Thí dụ 2.3

1 AB, AB)CB), AB)CB)B)C1 là các CTBD

2 Các công thức suy dẫn, suy dẫn mạnh, yếu và đối ngẫu đều là các CTBD

3 Công thức A  (B) không phải là CTBD, vì khi A = B = 1 ta có 1  0 = 0

2.2.2 Bảng chân lý của quan hệ

Với hai bộ u và v tùy ý trong quan hệ R ta định nghĩa (u,v) là phép gán trị:

(u,v) = (u.A 1 = v.A 1 , u.A 2 = v.A 2 , , u.A n = v.A n)

Nói cách khác, nếu u = (u 1 , u 2 , u 3 … n ,) và v = (v 1 , v 2 , v 3 … n ) thì ta đặt:

t = (u,v) = (t 1 ,t 2 , ,t n ) trong đó t i = 1 nếu u i = v i và t i = 0 nếu u i v i, 1  i n

Với mỗi quan hệ R REL(U) ta gọi bảng chân lý của quan hệ R là tập :

Trang 34

2.2.3 Phụ thuộc Boole dương

Định nghĩa 2.6

Mỗi công thức Boole dương trong PU) được gọi là một hụ h ộ B e

g PTBD) Dễ thấy phụ thuộc hàm là một PTBD

Ta nói quan hệ R thỏa tập PTBD F và ký hiệu RF) nếu T R T F

Cho tập PTBD F và một PTBD f Ta nói F dẫn ra được f theo quan hệ, và ký hiệu F├ f nếu R RELU): RF) Rf)

Cho tập PTBD F và một PTBD f Ta nói F dẫn ra được f theo quan hệ có không quá hai bộ, ký hiệu F ├2 f nếu RREL_2U): RF) Rf)

2.2.4 Một số tính chất của công thức Boole dương

Trang 35

Mệnh đề 2.3

Mọi tập CTBD đều có thể được chuẩn hóa CNF

Thí dụ 2.6

Cho g = (a+b)(c’+a) là một CTB CNF Hãy đưa g’ về dạng CNF?

Ta có g’ = [(a+b)(c’+a)]’ = (a+b)’ + (c’+a)’ = a’b’ + ca’ =

Ngày đăng: 30/07/2015, 16:28

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bùi Đức Minh, Lương Nguyễn Hoàng Hoa (2011), “Hệ sinh cân bằng và bài toán biểu diễn cơ sở hệ sinh ánh xạ đóng”, Chuyên san các công trình ghiê ứ h iể ứ g ụ g CN -TT, Tập V-1, Số 5 (25), tr.15-21 Sách, tạp chí
Tiêu đề: Hệ sinh cân bằng và bài toán biểu diễn cơ sở hệ sinh ánh xạ đóng
Tác giả: Bùi Đức Minh, Lương Nguyễn Hoàng Hoa
Nhà XB: Chuyên san các công trình ghiê ứ h iể ứ g ụ g CN -TT
Năm: 2011
[2] Nguyễn Xuân Huy (2006), C hụ h ộ gi g ở ữ iệ , Viện KH&CN Việt nam, NXB Thống kê, Hà Nội Sách, tạp chí
Tiêu đề: C hụ h ộ gi g ở ữ iệ
Tác giả: Nguyễn Xuân Huy
Nhà XB: Viện KH&CN Việt nam
Năm: 2006
[3] Nguyễn Xuân Huy, Lê Đức Minh, Vũ Ngọc Loãn (2000), “Các ánh xạ đóng và ứng dụng trong cơ sở dữ liệu”, ạ h i họ iề hiể họ , 16(4), tr.1-6 Sách, tạp chí
Tiêu đề: Các ánh xạ đóng và ứng dụng trong cơ sở dữ liệu
Tác giả: Nguyễn Xuân Huy, Lê Đức Minh, Vũ Ngọc Loãn
Nhà XB: ạ h i họ iề hiể họ
Năm: 2000
[4] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), “Giàn giao của ánh xạ đóng”, Ch ê g h ghiê ứ - iể h i iễ h g g ghệ h g i 14 35-42 Sách, tạp chí
Tiêu đề: Giàn giao của ánh xạ đóng
Tác giả: Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh
Nhà XB: Ch ê g h ghiê ứ - iể h i iễ h g g ghệ h g i
Năm: 2005
[5] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh (2005), “Thu gọn hệ sinh ánh xạ đóng”, Ch ê g h ghiê ứ - iể h i iễ h g g ghệ h g i 15 53-58 Sách, tạp chí
Tiêu đề: Thu gọn hệ sinh ánh xạ đóng
Tác giả: Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh
Nhà XB: Ch ê g h ghiê ứ - iể h i iễ h g g ghệ h g i
Năm: 2005
[6] Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh, Lương Nguyễn Hoàng Hoa, Bùi Đức Minh, Nguyễn Đức Vũ (2007), “Thiết kế cơ sở dữ liệu theo tiếp cận dịch chuyển lược đồ quan hệ”, Kỷ Hội h Kh họ Q gi “Mộ ấ ề họ ọ C g ghệ h g i ề h g”, Đại Lải, 14- 15/09/2007, NXB KHTN, tr.499-506.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Thiết kế cơ sở dữ liệu theo tiếp cận dịch chuyển lược đồ quan hệ
Tác giả: Nguyễn Xuân Huy, Lê Thị Mỹ Hạnh, Lương Nguyễn Hoàng Hoa, Bùi Đức Minh, Nguyễn Đức Vũ
Nhà XB: NXB KHTN
Năm: 2007
[7] Armstrong W.W., Delobel C. (1980), “Decomposition and Functional Dependencies in Relations” , ACM TODS, 5(4), pp. 404-430 Sách, tạp chí
Tiêu đề: Decomposition and Functional Dependencies in Relations
Tác giả: Armstrong W.W., Delobel C
Nhà XB: ACM TODS
Năm: 1980
[8] Bohannon, P., Fan, W., Geerts, F., Jia, X., and K.ementsietsidis,. A (2007), “Conditional functional dependencies for data cleaning”, In ICDE, pp.746- 755 Sách, tạp chí
Tiêu đề: Conditional functional dependencies for data cleaning
Tác giả: Bohannon, P., Fan, W., Geerts, F., Jia, X., K.ementsietsidis
Nhà XB: ICDE
Năm: 2007
[9] Cong, G., Fan, W., Geerts, F., Jia, X., and Ma, S. (2007), “Improving data quality: Consistency and accuracy”, In VLDB, pp.315-326 Sách, tạp chí
Tiêu đề: Improving data quality: Consistency and accuracy”, In "VLDB
Tác giả: Cong, G., Fan, W., Geerts, F., Jia, X., and Ma, S
Năm: 2007
[10] Fan, W., Geerts, F., Lakshmanan, L. V. S., and Xiong, M. (2009), “Discovering conditional functional dependencies”, In ICDE, pp. 1231- 1234 Sách, tạp chí
Tiêu đề: Discovering conditional functional dependencies
Tác giả: W. Fan, F. Geerts, L. V. S. Lakshmanan, M. Xiong
Nhà XB: ICDE
Năm: 2009
[11] Luong Nguyen Hoang Hoa (2011), “Some results concerning Generalized Positive Boolean Dependencies in relational database”, Internatinal Journal of Computer Electrical Engineering (IJCEE), vol. 3, no. 6, pp. 779-783 Sách, tạp chí
Tiêu đề: Some results concerning Generalized Positive Boolean Dependencies in relational database
Tác giả: Luong Nguyen Hoang Hoa
Năm: 2011
[12] Song, S., and Chen, L. (2011), “Differential Dependencies: Reasoning and Discovery”, ACM Trans. Datab. Syst., vol.9, no 4, Article 39 Sách, tạp chí
Tiêu đề: Differential Dependencies: Reasoning and Discovery”, "ACM Trans. Datab. Syst
Tác giả: Song, S., and Chen, L
Năm: 2011
[13] Codd E. F. (1970), “A Relational Model of Data for Large Shared Data Banks, CACM 13(6), pp. 377-387 Sách, tạp chí
Tiêu đề: A Relational Model of Data for Large Shared Data Banks
Tác giả: Codd E. F
Nhà XB: CACM
Năm: 1970

HÌNH ẢNH LIÊN QUAN

Bảng 1.1 Thể hiện của quan hệ KHOA - Phụ thuộc logic trong cơ sở dữ liệu
Bảng 1.1 Thể hiện của quan hệ KHOA (Trang 18)
Hình 2.1 Bảng chân lý T f , T g - Phụ thuộc logic trong cơ sở dữ liệu
Hình 2.1 Bảng chân lý T f , T g (Trang 31)
Hình 2.3 Bảng chân lý T G , T h - Phụ thuộc logic trong cơ sở dữ liệu
Hình 2.3 Bảng chân lý T G , T h (Trang 32)
Hình 3.1 C c kí hiệu phép to n - Phụ thuộc logic trong cơ sở dữ liệu
Hình 3.1 C c kí hiệu phép to n (Trang 51)
Hình phụ lục 3-  Gọi thủ tục go3 - Phụ thuộc logic trong cơ sở dữ liệu
Hình ph ụ lục 3- Gọi thủ tục go3 (Trang 64)
Hình phụ lục 4-  Gọi thủ tục go - Phụ thuộc logic trong cơ sở dữ liệu
Hình ph ụ lục 4- Gọi thủ tục go (Trang 65)
Hình phụ lục 8 -  Gọi tiếp thủ tục go - Phụ thuộc logic trong cơ sở dữ liệu
Hình ph ụ lục 8 - Gọi tiếp thủ tục go (Trang 67)

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