Tài liệu ”Cơ sở dữ liệu” không chỉ đề cập đến những vấn đề cơ sở lý thuyết mà còn trình bày một số kỹ năng cần thiết để thiết kế và cài đặt các hệ cơ sở dữ liệu cụ thể. Hy vọng sẽ có ích cho sinh viên và những người muốn xây dựng các hệ thống tin học ứng dụng phục vụ cho sản xuất, quản lý trong các doanh nghiệp. Nội dung của tài liệu bao gồm 4 chương: Chương I: Cơ sở dữ liệu quan hệ; Chương II: Ngôn ngữ truy vấn dữ liệu; Chương III: Lý thuyết thiết kế cơ sở dữ liệu; Chương IV: Bảo mật và toàn vẹn dữ liệu.
Tổng quan về lý thuyết cơ sở dữ liệu
Các hệ thống lớn như ngân hàng và hàng không cần tổ chức lưu trữ thông tin với quy mô lớn một cách hiệu quả và khoa học Điều này giúp khai thác, sử dụng thông tin một cách an toàn và dễ dàng cập nhật.
Khối lượng dữ liệu phi số đang gia tăng nhanh chóng, chiếm tỷ trọng lớn trong việc sử dụng máy tính Sự phát triển của mạng lưới mạch và tính chất phân tán của dữ liệu yêu cầu các giải pháp khai thác dữ liệu hiệu quả, nhanh chóng và an toàn, đồng thời cần có cơ chế bảo mật chặt chẽ.
Đòi hỏi ra đời lý thuyết xây dựng các ch-ơng trình ứng dụng
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Lịch sử ra đời và phát triển:
Khoa học cơ sở dữ liệu phát triển qua 3 giai đoạn:
Giai đoạn những năm 1960 : ra đời 2 mô hình lý thuyết là mô hình mạng và mô h×nh ph©n cÊp
Giai đoạn những năm 1970 : ra đời mô hình lý thuyết mới là mô hình quan hệ (do tiến Sĩ F.F Codd đ-a ra)
Giai đoạn những năm 1980 đến nay : Đánh dấu sự phát triển mạng của mô hình quan hệ phát triển lý thuyết
Mô hình quan hệ thực thể (Entity Relationship model) Mô hình dữ liệu h-ớng đối t-ợng (Objest oriented Model) Cơ sở dữ liệu tri thức
Phần mềm hiện đại không chỉ hỗ trợ xử lý dữ liệu số và văn bản, mà còn mở rộng khả năng xử lý các loại dữ liệu đa dạng như âm thanh, hình ảnh và siêu liên kết.
1.1.2 Một số khái niệm cơ bản 1.1.2.1 Cơ sở dữ liệu (CSDL)
Dữ liệu (Data): Là các thông tin được cấu trúc hóa để lưu trữ trong máy tính
CSDL (Cơ sở dữ liệu) là một tập hợp dữ liệu liên quan chặt chẽ với nhau, được thiết kế để dễ dàng chia sẻ và đáp ứng nhu cầu sử dụng của tổ chức hoặc cá nhân.
Cơ sở dữ liệu là một tập hợp lớn các loại dữ liệu tác nghiệp như âm thanh, tiếng nói, chữ viết, văn bản, đồ họa và hình ảnh, được mã hóa thành chuỗi bit và lưu trữ trong các file dữ liệu trên máy tính Cấu trúc lưu trữ này tuân theo các quy tắc toán học, giúp cơ sở dữ liệu phản ánh chính xác thế giới dữ liệu thực tế khách quan.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Cơ sở dữ liệu (CSDL) là tài nguyên thông tin chung, cho phép nhiều người sử dụng truy cập và khai thác dữ liệu một cách trực tuyến hoặc tương tác Người dùng có quyền truy cập toàn bộ hoặc một phần dữ liệu mà không bị hạn chế bởi vị trí địa lý, giúp tối ưu hóa việc chia sẻ thông tin trong môi trường mạng.
Cơ sở dữ liệu được khai thác thông qua ngôn ngữ con dữ liệu hoặc các chương trình ứng dụng nhằm xử lý, tìm kiếm, tra cứu, sửa đổi, bổ sung và loại bỏ dữ liệu Tìm kiếm thông tin là chức năng quan trọng trong dịch vụ cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu (HQTCSDL) là phần mềm điều khiển truy cập cơ sở dữ liệu, tiếp nhận yêu cầu từ người dùng và thực hiện các thao tác trên dữ liệu Đối tượng nghiên cứu của cơ sở dữ liệu bao gồm các thực thể và mối quan hệ giữa chúng, trong đó mối quan hệ cũng được xem là một thực thể đặc biệt Trong mô hình cơ sở dữ liệu quan hệ, các quan hệ chuẩn được xây dựng dựa trên lý thuyết đại số quan hệ, đảm bảo kết nối không mất thông tin và dữ liệu được biểu diễn duy nhất Dữ liệu không chỉ cần tối ưu về không gian lưu trữ mà còn phải đảm bảo tính khách quan và trung thực, duy trì tính nhất quán và toàn vẹn của dữ liệu.
Cơ sở dữ liệu (CSDL) phản ánh một khía cạnh của thế giới thực, vì vậy mọi thay đổi trong thế giới thực cần được ghi nhận một cách chính xác trong CSDL.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Một CSDL là một tập hợp dữ liệu liên kết với nhau một cách lôgic và mang một ý nghĩa nào đó
Cơ sở dữ liệu (CSDL) được thiết kế và tổ chức với mục đích cụ thể, phục vụ cho một nhóm người dùng có định hướng rõ ràng và đi kèm với các ứng dụng phù hợp với nhu cầu của họ.
Một cơ sở dữ liệu phải thỏa mãn các yêu cầu sau:
- Không dư thừa dữ liệu
- Bảo đảm tính nhất quán dữ liệu khi cập nhật
- Bảo đảm không có dị thường xảy ra khi thêm hoặc xóa DL
- Bảo đảm tính toàn vẹn dữ liệu
- Bảo đảm tính dùng chung
Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm được thiết kế để quản lý cơ sở dữ liệu, hỗ trợ lưu trữ, sửa chữa, xóa và tìm kiếm thông tin hiệu quả.
Có nhiều loại hệ quản trị cơ sở dữ liệu (CSDL) đa dạng, từ những phần mềm nhỏ gọn trên máy tính cá nhân đến các hệ thống phức tạp hoạt động trên một hoặc nhiều siêu máy tính.
Chức năng của hệ QTCSDL:
Lưu trữ các định nghĩa, các mối liên kết dữ liệu vào một từ điển dữ liệu Các chương trình truy cập đến CSDL thông qua hệ QTCSDL,
Hệ QTCSDL sử dụng dữ liệu từ từ điển DL để tìm kiếm cấu trúc thành phần và các mối liên kết cần thiết Mọi thay đổi trong cơ sở dữ liệu sẽ được tự động ghi lại vào từ điển dữ liệu.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Tạo ra các cấu trúc phức tạp để lưu trữ dữ liệu, cho phép người dùng định nghĩa và lập trình các đặc trưng vật lý của dữ liệu theo yêu cầu.
Biến đổi dữ liệu đầu vào để phù hợp với cấu trúc dữ liệu, tạo khuôn dạng cho dữ liệu được xuất ra, nhằm đáp ứng mong muốn của người dùng.
Tạo hệ thống bảo mật và áp đặt tính bảo mật trong CSDL
Tạo cấu trúc phức tạp cho phép người sử dụng truy cập đến dữ liệu
Cung cấp các thủ tục sao lưu và phục hồi DL để đảm bảo sự an toàn và toàn vẹn DL
Áp đặt các quy tắc an toàn, cho phép tối thiểu sự dư thừa DL và làm tối đa tính nhất quán dữ liệu
Cung cấp việc truy cập DL thông qua một ngôn ngữ truy vấn
Ngôn ngữ dữ liệu có 3 chức năng:
- Định nghĩa và mô tả dữ liệu
- Hỏi dữ liệu (an toàn và toàn vẹn dữ liệu)
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
1.1.3 Kiến trúc của một CSDL
Một CSDL đ-ợc phân thành các mức khác nhau
CSDL vật lý (mức vật lý) là các tệp dữ liệu được lưu trữ theo một cấu trúc nhất định trên các thiết bị nhớ thứ cấp như đĩa từ và băng từ.
Đại số quan hệ
2.1.1 Phép hợp a Định nghĩa: Giả sử r, s là 2 file dữ liệu có cùng số cột n khi đó file dữ liệu là hợp 2 file r và s ký hiệu là rs, gồm n cột bao gồm các bản ghi, các dòng thuộc cả file r và file s
Những dòng giống nhau chỉ lấy một lần
Nếu r và s là các file có tên các cột khác nhau thì cột của quan hệ hợp không có tên b Cú pháp: r s = [t / t r hoặc t s hoặc t s và r}
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
2.1.2 Phép giao a Định nghĩa: Giả sử r và s là 2 file dữ liệu cùng n cột
Giao của hai file dữ liệu, ký hiệu là r ∩ s, là tập hợp các bộ t thuộc cả r và s Nếu hai file dữ liệu có các cột khác nhau, thì file giao sẽ không có tên cột Cú pháp để biểu diễn giao của hai file dữ liệu là r ∩ s = { t | t ∈ r và t ∈ s}.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
2.1.3 Phép trừ a Định nghĩa : Giả sử r và s là 2 file dữ liệu có cùng n cột
File dữ liệu gọi là hiệu 2 file r và s, ký hiệu r-s là một file dữ liệu n cột bao gồm các bản ghi của r nhưng không có mặt trong s
Nếu r và s có tên các cột khác nhau thi file dữ liệu hiệu không có tên các cột b Cú pháp : r - s = { t / t r và t s}
2.1.4 Tích Đề các a Định nghĩa:
- Gọi: r là quan hệ xác định trên tập R1 = {a1,a2, , an} s là quan hệ xác định trên tập R2 = {b1,b2, , bm}
- Tích đề - Các r x s của r và s là tập (n+m) cột với: n số cột của r m số cột của r số lượng dòng bằng số lượng dòng của r nhân với số lượng dòng của s
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP b Cú pháp : r x s = { t / t có dạng (a 1 , a n , b 1 , , b m )} trong đó: (a1 , an r và b1, , bm s)
2.1.5 Phép chiếu a Định nghĩa: Để trích rút các cột ứng với các thuộc tính nào đó của một quan hệ b Cú pháp:
Giả sử r là file dữ liệu có tập cột là R={a1,a2, ,an} Khi đó phép chiếu ký hiệu là lên tập r là i1,i2, ,ip(r)
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Trong đó: i là số thứ tự lấy trong tập từ 1 đến n j =1,2, ,p (chỉ số p Wizards
4 Nhấp phải chuột tại Create Database Wizard
5 Hoàn tất các bước trong Wizard
Tạo bằng Enterprise Manager (ở tại cửa sổ Enterprise Manager)
1 Mở rộng server group, sau đó nới rộng server nơi mà sẽ tạo CSDL
2 Nhắp nút phải chuột tại nút Database, chọn New DataBase
3 Khai báo các thông tin cần thiết, sau đó chọn OK:
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
+ Name:
+ Location : + Initial size:
+ File Group :
+ File properties: Khai báo một số thuộc tính khác như tỉ lệ gia tăng (File Growth), kích cỡ tối đa (maximun size)
Trang Transaction log: Tương tự như trang Data files nhưng khai báo cho tập tin log
Hộp thoại xem thuộc tính của SQL Server
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
CREATE DATABASE database_name [ ON
[ LOG ON { < filespec > [, n ] } ] [ COLLATE collation_name ] [ FOR LOAD | FOR ATTACH ]
< filespec > ::[ PRIMARY ] ([ NAME = logical_file_name, ] FILENAME = 'os_file_name' [, SIZE = size ]
[, MAXSIZE = { max_size | UNLIMITED } ] [, FILEGROWTH = growth_increment ]) [, n ]
< filegroup > ::FILEGROUP filegroup_name < filespec > [, n ]
(1) Gõ lệnh trong cửa sổ Query Analyzer
(2) Gọi thực thi câu lệnh
Tạo cơ sở dữ liệu (CSDL) có tên là SalesDB với tập tin dữ liệu SalesDB_dat.mdf được lưu trữ tại C:\Data, kích thước khởi tạo 10MB, kích thước tối đa 50MB và tỉ lệ gia tăng 5MB Đồng thời, tập tin vết SalesDB_log.ldf cũng được đặt tại C:\Data, với kích thước khởi tạo 5MB, kích thước tối đa 25MB và tỉ lệ gia tăng 10%.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
FILENAME = 'c:\data\salesDB_dat.mdf',
FILENAME = 'c:\data\salesDB_log.ldf',
- Thư mục Data phải hiện hữu trong C:\
- Sao khi gõ câu lệnh, đánh dấu chọn khối lệnh và nhấn F5 để thực thi
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
2.2.5 Quản trị CSDL trên SQL Server
Mô hình truy cập bảo mật của SQL Server:
Các lớp kiểm tra bảo mật chứng thực của SQL Server
Kết nối đến SQL Server rất đơn giản, với ba cấp độ bảo mật được kiểm tra: Windows 2000, SQL Server và cơ sở dữ liệu riêng lẻ Tuy nhiên, ngay khi kết nối, bạn vẫn chưa có quyền truy cập vào các đối tượng trong cơ sở dữ liệu; bạn cần được cấp quyền truy cập để có thể làm việc với chúng.
SQL Server cung cấp hai chế độ bảo mật:
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
SQL Server kiểm tra danh tính người dùng và cho phép hoặc từ chối truy cập dựa trên tên người dùng mà không cần tên đăng nhập và mật khẩu riêng biệt, điều này được gọi là kết nối tin tưởng Khi kết nối đến SQL Server theo cách này, bạn đang trình bày một ủy nhiệm bảo mật của Windows, tương tự như thẻ bài truy cập của bạn Các ủy nhiệm này được xây dựng trong quá trình đăng nhập vào mạng Windows và được truyền âm thầm, vì vậy bạn không cần thực hiện bất kỳ hành động đặc biệt nào để vượt qua kiểm tra bảo mật.
Người quản trị CSDL có khả năng tạo tài khoản và mật khẩu đăng nhập cho SQL Server, hoàn toàn tách biệt với các tài khoản hay nhóm người dùng của hệ điều hành Khi có một kết nối sử dụng chứng thực SQL Server, hệ thống sẽ tự thực hiện việc xác thực bằng cách kiểm tra sự tồn tại của tài khoản đăng nhập và đối chiếu mật khẩu với thông tin đã lưu trong SQL Server.
Windows Authentication mode: Người sử dụng chỉ có thể kết nối với SQL Server bằng Windows Authentication (Kết nối tin tưởng)
Mixed mode: Người dùng có thể kết nối với SQL Server bằng cách dùng cả
Windows Authentication và SQL Server Authentication
Chuyển đổi chế độ chứng thực:
LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU
Chương này sẽ giới thiệu các khái niệm cơ bản về lý thuyết cơ sở dữ liệu quan hệ do E.F Codd đề xuất, bao gồm quan hệ và khóa của lược đồ quan hệ Những khái niệm này đóng vai trò quan trọng trong việc thiết kế và cài đặt hệ cơ sở dữ liệu quan hệ cũng như hệ quản trị cơ sở dữ liệu.
Nội dung của chương bao gồm các phần:
Phụ thuộc hàm Bao đóng Phủ tối thiểu Khóa của lược đồ quan hệ Phép tách – kết nối
Các dạng chuẩn của lược đồ quan hệ Các phương pháp chuẩn hóa lược đồ quan hệ
3.1.1 Định nghĩa phụ thuộc hàm
Trong một quan hệ R xác định trên tập thuộc tính U, nếu X và Y là các tập con của U, thì X được coi là xác định Y, hay Y phụ thuộc hàm vào X, ký hiệu là X → Y Điều này có nghĩa là, trong quan hệ R, mọi bộ giá trị t1 và t2 bất kỳ mà giá trị của tập thuộc tính X trên bộ t1 (ký hiệu t1[X]) bằng giá trị của tập thuộc tính X trên bộ t2 (ký hiệu t2[X]), thì giá trị của tập thuộc tính Y trên bộ t1 (ký hiệu t1[Y]) cũng sẽ bằng giá trị của tập thuộc tính Y trên bộ t2 (ký hiệu t2[Y]).
Phụ thuộc hàm (FD) chỉ được xem xét khi nó thỏa mãn cho mọi quan hệ trong lược đồ tương ứng Việc đánh giá một phụ thuộc hàm chỉ dựa trên một quan hệ đặc biệt, như quan hệ rỗng, không đủ để kết luận rằng phụ thuộc hàm đó áp dụng cho toàn bộ lược đồ R.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
S (S# STATUS CITY) P (P# PNAME COLOR WEIGHT CITY)
Trong mối quan hệ S của chuỗi cung ứng, các thuộc tính SNAME, STATUS và CITY đều phụ thuộc vào thuộc tính S# Mỗi giá trị S# tương ứng với một giá trị duy nhất cho từng thuộc tính SNAME, STATUS và CITY.
Khi đó có thể viết:
3.1.2 Phụ thuộc hàm đầy đủ và không đầy đủ
Phụ thuộc hàm (FD) đầy đủ là khái niệm quan trọng trong lý thuyết cơ sở dữ liệu Một phụ thuộc hàm X Y được coi là đầy đủ khi việc loại bỏ bất kỳ thuộc tính A nào từ tập hợp X sẽ làm cho phụ thuộc này không còn đúng nữa Điều này nhấn mạnh tính thiết yếu của tất cả các thuộc tính trong X để duy trì tính chính xác của phụ thuộc hàm.
ầy đủ (FD bộ phận): Một FD X Y là phụ thuộc hàm bộ phận nếu có thể bỏ đi
1 thuộc tính A X ra khỏi X mà FD vẫn còn đúng
Trong lý thuyết cơ sở dữ liệu, gọi F là tập tất cả các phụ thuộc hàm đối với lược đồ quan hệ R(U), và một phụ thuộc hàm X→Y được coi là suy diễn logic từ F nếu mọi quán hệ r trên R(U) đều thỏa mãn các phụ thuộc hàm của F thì cũng thỏa mãn X→Y Ví dụ, từ F = {A→B, B→C}, ta có thể suy ra A→C Bao đóng F+, tức là tập tất cả các phụ thuộc hàm được suy diễn từ F, cho phép xác định khóa của lược đồ quan hệ và các suy diễn logic giữa các phụ thuộc hàm Để tính toán F+, cần có các hệ tiên đề, được gọi là hệ tiên đề Armstrong, do Armstrong đưa ra vào năm 1974.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Gọi R(U) là lược đồ quan hệ với U= {A 1 , … , A n } là tập các thuộc tính X,Y, Z,
W ⊆ U Hệ tiên đề Armstrong bao gồm :
A2(tăng trưởng):nếu Z⊆U và X→Y thì XZ→YZ trong đó ký hiệu XZ là tập hợp của 2 tập X và Z thay cho ký hiệu X∪Z
A3(bắc cầu): nếu X→Y và Y→Z thì X→Z
Cần chứng minh rằng BC→ABC Thật vậy từ :
2 BC→AB ( luật tăng trưởng (1) thêm B)
4 AB→ABC ( tăng trưởng (3) thêm AB)
5 BC→ABC ( bắc cầu từ (2) và (4)) Định lý :
Hệ tiên đề Armstrong khẳng định rằng nếu F là tập hợp các phụ thuộc hàm đúng trên quan hệ r, thì bất kỳ phụ thuộc hàm X→Y nào được suy diễn từ F thông qua hệ tiên đề này cũng sẽ đúng trên quan hệ r.
Lần lượt kiểm tra tính đúng đắn của ba tiên đề A1, A2, A3
A1 : Tiên đề A1 rõ ràng là đúng vì không thể có hai bộ bằng nhau trên X mà lại không bằng nhau trên tập con của nó
Giả sử quan hệ r thỏa mãn X→Y, tồn tại hai bột u ∈ r sao cho t[XZ] = u[ZX] nhưng t[YZ] ≠ u[YZ] Do t[Z] = u[Z], để có t[YZ] ≠ u[YZ], cần có t[Y] ≠ u[Y] Tuy nhiên, vì t[X] = u[X], điều này dẫn đến mâu thuẫn với giả thiết X→Y Do đó, A2 là đúng.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
A3 : Cho X→Y và Y→Z đúng trên quan hệ r Giả sử tồn tại hai bộ t, u∈r sao cho t[Y]
= u[Y] Nhưng lại có t[Y] = u[Y] và t[Z] ≠ u[Z] là trái với giả thiết Y→Z Do vậy t[Z]
= u[Z] Suy ra X→Z đúng trên quan hệ r
Từ hệ tiên đề Armstrong, có thể rút ra một số luật quan trọng trong lý thuyết cơ sở dữ liệu Định lý đầu tiên là luật hợp, cho rằng nếu X dẫn đến Y và X dẫn đến Z thì X cũng dẫn đến tổ hợp YZ Định lý thứ hai là luật tựa bắc cầu, khi X dẫn đến Y và WY dẫn đến X, thì XW dẫn đến Z Cuối cùng, luật tách chỉ ra rằng nếu X dẫn đến Y và Z là tập con của Y, thì X cũng dẫn đến Z.
Để chứng minh, đầu tiên từ X→Y áp dụng luật tăng trưởng ta có X→XY Tiếp theo, từ X→Y, sử dụng luật tăng trưởng thêm W, ta có WX→WY Áp dụng luật bắc cầu cho WX→WY và Wy→Z, ta suy ra WX→Z Do Z⊆Y, theo luật phản xạ, ta có Y→Z Cuối cùng, sử dụng luật bắc cầu cho X→Y và Y→Z, ta kết luận X→Z.
3.1.4.1 Bao đóng của tập các phụ thuộc hàm Định nghĩa: Cho quan hệ R xác định trên tập thuộc tính U, F là tập các phụ thuộc hàm
Tập hợp tất cả các phụ thuộc hàm được suy diễn logic từ tập F được gọi là bao đóng của
Ví dụ: Cho quan hệ R, U ={ A, B, C, D, E, I }
2 AB AC (tăng trưởng thêm A vào (1))
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
CM tương tự có: AC E, AB E
Vậy: F + ={AI, ACD, BC, DE, ABD, ACE, ABE}
3.1.4.2 Bao đóng của tập các thuộc tính Định nghĩa: Cho quan hệ R xác định trên tập các thuộc tính U, gọi F là tập các phụ thuộc hàm trên tập U, X U, X + là bao đóng của X trên tập F được định nghĩa như sau:
3.1.4.3 Thuật toán tìm bao đóng
Phương pháp: Tính liên tiếp tập các thuộc tính X0, X1, … theo quy tắc:
Nếu tồn tại phụ thuộc hàm Y Z thuộc F + mà A Z, Y Xi
Do X U mà U hữu hạn nên i hữu hạn, khi đó X + = Xi+1
Ví dụ: Cho quan hệ R xác định trên U, với U = { A, B, C, D, E, I};
3 X2= ACDIE (vì D E) Vậy: (AC) + = ACDEI
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
Phủ của tập các phụ thuộc hàm :
Gọi F và G là các tập của các phụ thuộc hàm Nói rằng F, G là tương đương nếu
F + = G + Nếu F, G là tương đương đôi khi còn nói F phủ G (và G phủ F) Dễ dàng kiểm tra liệu F và G có tương đương với nhau hay không Phương pháp kiểm tra:
Lấy mỗi phụ thuộc hàm Y→Z thuộc F, kiểm tra xem liệu Y→Z có thuộc G + không ? Dùng thuật toán 3.1 để tính Y + và kiểm tra liệu Z⊆ Y + hay không ?
Nếu có một phụ thuộc hàm Y→Z thuộc F mà không thuộc G +, thì F + sẽ không bằng G + Nếu mọi phụ thuộc hàm trong F đều nằm trong G +, thì mọi phụ thuộc hàm V→W thuộc F + cũng sẽ nằm trong G + Để xác định mỗi phụ thuộc G có thuộc F + hay không, quy trình thực hiện tương tự F và G được coi là tương đương khi và chỉ khi mọi phụ thuộc hàm trong F đều thuộc G + và mọi phụ thuộc hàm trong G đều thuộc F +.
Mỗi tập phụ thuộc hàm F có thể được bao phủ bởi một tập phụ thuộc hàm G, trong đó vế phải của các phụ thuộc hàm này chỉ chứa tối đa một thuộc tính.
Gọi G là tập các phụ thuộc hàm X→A sao cho với X→Y thuộc F thì A∈Y TừX→Y suy ra X→A
Do đó, G là tập con của F Ngược lại, F cũng là tập con của G vì nếu Y = A1…An thì có thể suy ra X→Y từ các mệnh đề X→A1, …, X→An nhờ vào luật hợp Để hỗ trợ cho quá trình thiết kế lược đồ cơ sở dữ liệu, bài viết sẽ giới thiệu một số khái niệm quan trọng.
Tập các phụ thuộc hàm F được coi là tối thiểu khi mỗi vế phải của phụ thuộc hàm trong F chỉ chứa một thuộc tính, và không có phụ thuộc hàm nào X→A thuộc F có thể được rút gọn.
KHOA CNTT – TRƯỜNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP c Không tồn tại một phụ thuộc hàm X→A thuộc F và một tập hợp con