Tải bản đầy đủ (.pdf) (75 trang)

Chuẩn hóa nhờ phép tổng hợp trong cơ sở dữ liệu quan hệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.02 MB, 75 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

CHUẨN HÓA NHỜ PHÉP TỔNG HỢP TRONG CƠ SỞ
DỮ LIỆU QUAN HỆ

NGUYỄN VĂN HÒA

HÀ NỘI - 2016

1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHUẨN HÓA NHỜ PHÉP TỔNG HỢP TRONG CƠ SỞ
DỮ LIỆU QUAN HỆ
NGUYỄN VĂN HÒA
CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 60.48.02.01
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. ĐINH TUẤN LONG

HÀ NỘI - 2016


2


LỜI CAM ĐOAN
Em xin cam đoan đây là công trình nghiên cứu của bản thân, được xuất phát từ yêu
cầu phát sinh trong công việc để hình thành hướng nghiên cứu. Các kết quả trình
bày trong luận văn được thu thập trong quá trình nghiên cứu là trung thực và chưa
từng được công bố trong các công trình nào khác.
Hà Nội, 31 tháng 10 năm
2016
Tác giả luận văn

Nguyễn Văn Hòa

3


LỜI CẢM ƠN
Thực hiện luận văn thạc sỹ là một thử thách với em, nó đòi hỏi phải tập trung
kiên trì nghiên cứu những vấn đề liên quan. Em thực sự hạnh phúc với kết quả đạt
được trong đề tài nghiên cứu của mình. Những kết quả đạt được không chỉ là nỗ lực
cá nhân, mà còn có sự hỗ trợ và giúp đỡ của giáo viên hướng dẫn, nhà trường, đồng
nghiệp, bạn bè và gia đình. Em muốn bày tỏ tình cảm chân thành của em đến với
họ.
Trước tiên, em xin bày tỏ sự biết ơn sâu sắc đến giáo viên hướng dẫn TS
Đinh Tuấn Long đã tận tình chỉ dẫn phương pháp nghiên cứu trong suôt quá trình
thực hiện luận văn. Em xin trân trọng cảm ơn thầy rất nhiều vì sự hướng dẫn chỉ
bảo nhiệt tình, nghiêm túc và khoa học.
Em xin trân trọng cảm ơn Khoa đào tạo sau đại học, Phòng đào tạo, Ban
giám hiệu Viện Đại Học Mở Hà Nội đã tạo điều kiện thuận lợi cho em trong suốt

quá trình thực hiện luận văn.
Em cảm ơn tất cả những người bạn của em, những người luôn chia sẻ và cổ
vũ em trong những lúc khó khăn và em luôn ghi nhớ điều đó.
Cuối cùng, em xin bày tỏ lòng biết ơn vô hạn đối với cha mẹ và gia đình đã
luôn bên cạnh ủng hộ, giúp đỡ em.
Hà Nội, 31 tháng 10 năm
2016
Tác giả luận văn

Nguyễn Văn Hòa

4


MỤC LỤC
PHẦN MỞ ĐẦU ..................................................................................................... 1
1. Tính cấp thiết của đề tài.................................................................................... 1
2. Mục tiêu của luận văn ...................................................................................... 1
3. Các đóng góp của luận văn ............................................................................... 2
4. Bố cục của luận văn ......................................................................................... 2
CHƯƠNG I : CÁC VẤN ĐỀ CƠ BẢN VÀ LIÊN QUAN ĐẾN CHUẨN HÓA CƠ
SỞ DỮ LIỆU QUAN HỆ ........................................................................................ 3
1.1.

Một số khái niệm cơ bản ............................................................................ 3

1.1.1.

Định nghĩa Cơ Sở Dữ Liệu (Data Base) ............................................... 3


1.1.2.

Các tính chất của một cơ sở dữ liệu...................................................... 4

1.2.

Các mô hình dữ liệu ................................................................................... 5

1.3.

Mô hình cơ sở dữ liệu quan hệ.................................................................... 6

1.3.1.

Mô hình cơ sở dữ liệu quan hệ là gì ?................................................... 6

1.3.2.

Các khái niệm cơ bản của mô hình quan hệ ......................................... 6

1.4.

Phụ thuộc hàm .......................................................................................... 12

1.4.1.

Định Nghĩa Phụ Thuộc Hàm .............................................................. 12

1.4.2.


Cách xác định phụ thuộc hàm cho lược đồ quan hệ ............................ 13

1.4.3.

Một Số Tính Chất Của Phụ Thuộc Hàm - hệ luật dẫn Armstrong ....... 14

1.5.

Baođóng ................................................................................................... 14

1.5.1.

Bao Đóng Của Tập Phụ Thuộc Hàm F ............................................... 14

1.5.2.

Bao Đóng Của Tập Thuộc Tính X ..................................................... 15

1.5.3.

Bài Toán Thành Viên ......................................................................... 16

1.5.4.

Thuật Toán Tìm Bao Đóng Của Một Tập Thuộc Tính ....................... 17

1.6.

Khóa của lược đồ quan hệ ........................................................................ 19


1.6.1.

Định Nghĩa Khoá Của Quan Hệ (relation key) ................................... 19

1.6.2.

Thuật Toán Tìm Một Khoá Của Một Lược Đồ Quan Hệ Q ................ 19

1.6.3.

Thuật Toán Tìm Tất Cả Các Khoá Của Một Lược Đồ Quan Hệ ......... 20

1.7.

Phủ tối thiểu ............................................................................................. 23

1.7.1. Tập Phụ Thuộc Hàm Tương Đương (equivalent functional
dependancy) .................................................................................................... 23

5


1.7.2.

Phủ Tối Thiểu .................................................................................... 24

1.7.3.

Thuật Toán Tìm Phủ Tối Thiểu .......................................................... 25


1.8.

Tổng quan về chuẩn hóa cơ sở dữ liệu ...................................................... 27

1.9.

Các dạng chuẩn ........................................................................................ 29

1.9.1.

Dạng chuẩn 1 – 1NF (First Normal Form) ......................................... 30

1.9.2.

Dạng chuẩn 2 – 2NF .......................................................................... 32

1.9.3.

Dạng chuẩn 3 – 3NF .......................................................................... 34

1.9.4.

Dạng chuẩn BCNF (Boyce Codd Normal Form) ................................ 35

1.9.5. Định nghĩa tổng quát các dạng chuẩn và các thuật toán liên quan đến
quá trình chuẩn hóa CSDL .............................................................................. 38
1.10.

Phép tách .............................................................................................. 41


1.10.1. Khái niệm phép tách .......................................................................... 42
1.10.2. Phép tách bảo toàn thông tin .............................................................. 42
1.10.3. Phép tách bảo toàn phụ thuộc hàm ..................................................... 44
CHƯƠNG 2: PHƯƠNG PHÁP CHUẨN HÓA BẰNG PHƯƠNG PHÁP TIẾP
CẬN TỔNG HỢP ................................................................................................. 46
2.1.

Phương pháp tiếp cận tổng hợp ................................................................ 46

2.2.

Biểu diễn đồ thị phụ thuộc hàm ................................................................ 49

2.2.1.

Đồ thị phụ thuộc hàm......................................................................... 49

2.2.2.

Đồ thị phụ thuộc ma trận.................................................................... 51

2.2.3.

Đồ thị ma trận có hướng .................................................................... 52

2.3.

Nghiên cứu quá trình chuẩn hóa ............................................................... 59

2.3.1.


Dạng chuẩn thứ hai (2NF).................................................................. 59

2.3.2.

Dạng chuẩn thứ ba (3NF) ................................................................... 60

2.3.3.

Dạng chuẩn BCNF ............................................................................. 61

2.4.

Nghiên cứu thuật toán .............................................................................. 65

CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ CHO CÁC BÀI TOÁN HÌNH
THỨC HÓA .......................................................................................................... 66
3.1. Thực nghiệm ............................................................................................... 66
3.1.1. Bài toán thực nghiệm ............................................................................ 66
3.1.2. Tìm khóa dự tuyển ................................................................................ 68
3.1.3. Chuẩn hóa 2NF ..................................................................................... 69

6


3.1.4. Chuẩn hóa 3NF ..................................................................................... 70
3.1.5. Dạng chuẩn Boyce-Codd (BCNF) ......................................................... 71
3.2. Đánh giá ...................................................................................................... 72
KẾT LUẬN ........................................................................................................... 73
TÀI LIỆU THAM KHẢO ..................................................................................... 75


7


DANH MỤC CÁC TỪ VIẾT TẮT
Ký hiệu

Diễn giải

CSDL

Cơ sở dữ liệu

1NF

First Normal Form (Dạng chuẩn 1NF)

2NF

Second Normal Form (Dạng chuẩn 2NF)

3NF

Three Normal Form (Dạng chuẩn 3NF)

BCNF

Boyce Codd Normal Form (Dạng chuẩn BCNF)

CNTT


Công nghệ thông tin

DBMS

Hệ quản trị cơ sở dữ liệu.

TN

Tập nguồn

TG

Tập trung gian

SQL

Structured Query Language

DFS

Tìm kiếm theo chiều sâu

STG

Cây khung

DM

Phụ thuộc ma trận


DG

đồ thị ma trận có hướng

PTT

Phủ tối thiểu

8


DANH MỤC CÁC HÌNH
Hình 1.1. Lược đồ cơ sở dữ liệu COMPANY......................................................... 9
Hình 1.2. Một thể hiện của cơ sở dữ liệu COMPANY. ........................................ 10
Hình 1.3. Một thể hiện của cơ sở dữ liệu COMPANY. ........................................ 11
Hình 1.4. Các ràng buộc tham chiếu trong cơ sở dữ liệu COMPANY. ................. 11
Hình 2.1. Các dạng chuẩn hóa. ............................................................................. 30
Hình 3.1: sơ đồ đồ thị phụ thuộc của Ví dụ 3.1 ..................................................... 50
Hình 3.2. Cây khung (STG) .................................................................................. 51
Hình 3.3. ma trận phụ thuộc ban đầu ..................................................................... 52
Hình 3.4. Khởi tạo ma trận DM và DG ................................................................. 53
Hình 3.5. Ma Trận phụ thuộc và ma trận đồ thị có hướng. .................................... 53
Hình 3.6. Khóa quyết định phụ thuộc bắc cầu ....................................................... 54
Hình 3.7. E phụ thuộc vào BC qua AB.................................................................. 55
Hình 3.8. Khởi tạo ma trận DM và DG ................................................................. 55
Hình 3.9. BC ban đầu được trả về ......................................................................... 56
Hình 3.10. Đồ thị phụ thuộc cho Ví dụ 3.3. ........................................................... 57
Hình 3.11. Ma trận phụ thuộc ban đầu cho hình 3.10 ............................................ 57
Hình 3.12. Ma trận DG cho Ví dụ 3.3 ................................................................... 58

Hình 3.13. Phụ thuộc bắc cầu khóa xác định ......................................................... 58
Hình 3.14. ma trận phụ thuộc bao đóng................................................................. 58
Hình 3.15. Phụ thuộc hàm đồ thị sơ đồ ................................................................. 59
Hình 3.16. Cây khung ........................................................................................... 60
Hình 3.17. Đồ thị lược đồ phụ thuộc hàm ............................................................. 60
Hình 3.18. Cây khung ........................................................................................... 61
Hình 3.19. Sơ đồ khóa dự tuyển tương đương nhau .............................................. 61
Hình 3.20. Đồ thị lược đồ phụ thuộc của ví dụ 3.5 ................................................ 62
Hình 3.21. Đồ thị Cây khung (STG) của ví dụ 3.5 ................................................ 63
Hình 3.22. Sơ đồ khóa ứng tuyển tương đương ..................................................... 64
Hình 3.23. Cây khung con của ví dụ 3.4................................................................ 64
Hình 3.24. Cây con đại diện cho tất cả các bảng chuẩn hoá................................... 65
Hình 4.1. Đồ thị phụ thuộc bao đóng .................................................................... 66

9


Hình 4.2. Ma trận phụ thuộc bao đóng ban đầu cho hình 4.1 ................................. 67
Hình 4.3. Ma trận DG ........................................................................................... 67
Hình 4.4. Khóa dự tuyển phụ thuộc bắc cầu .......................................................... 67
Hình 4.5. ma trận phụ thuộc bao đóng................................................................... 68
Hình 4.6. After Circular Dependency .................................................................... 68
Hình 4.7. Các thiết lập của các phụ thuộc tối ưu ................................................... 69
Hình 4.8. Cơ sở dữ liệu chuẩn hoá lên đến 2NF .................................................... 70
Hình 4.9. dạng chuẩn thứ ba ................................................................................. 71
Hình 4.10. Cơ sở dữ liệu chuẩn hoá lên đến BCNF ............................................... 72

10



DANH MỤC CÁC BẢNG

Bảng 2.1. Lược đồ quan hệ Q. .............................................................................. 13
Bảng 2.2. Lược đồ quan hệ Q ví dụ 2.7. ............................................................... 21
Bảng 2.3. Lược đồ quan hệ Q ví dụ 2.7. ............................................................... 23
Bảng 2.4. Bảng ĐƠNVỊ ....................................................................................... 31
Bảng 2.5. Bảng NHÂNVIÊN_DỰÁN .................................................................. 31
Bảng 2.6. Bảng ví dụ chuẩn BCNF ...................................................................... 37
Bảng 3.1. Thay thế phụ thuộc bắc cầu với phụ thuộc trực tiếp ban đầu ................. 57

11


PHẦN MỞ ĐẦU
1.Tính cấp thiết của đề tài
Ngày nay, việc áp dụng công nghệ thông tin vào quản lý trong mọi lĩnh vực
của đời sống, khoa học, kinh doanh dưới nhiều quy mô từ các xí nghiệp, nhà máy,
công ty đến quốc gia; nhằm giải quyết và hỗ trợ các vấn đề như: điều khiển các quá
trình sản xuất, điều khiển tự động, hỗ trợ ra quyết định, thương mại điện tử … Nằm
trong các thành phần của một hệ thông thông tin, cơ sở dữ liệu đóng vai trò rất quan
trọng, nó phản ảnh hay mô hình hoá các dữ liệu nghiệp vụ thực tế. Nói cách khác,
cơ sở dữ liệu chính là trái tim của bất cứ một hệ thống thông tin nào.
Trong các mô hình cho việc tổ chức và khai thác cơ sở dữ liệu, trên thực tế
mô hình quan hệ được quan tâm và phổ biến hơn cả. Mô hình này được xây dựng
dựa trên cơ sở lý thuyết và các quan hệ có cơ sở toán học chặt chẽ, sử dụng các
công cụ đại số và logic. Những cơ sở lý thuyết này đã tạo nên sự thuận lợi trong
việc thực hiện các thao tác trên cơ sở dữ liệu quan hệ có khả năng tổ hợp cao và
hiệu quả, cũng như sự đảm bảo tính an toàn, nhất quán và độc lập dữ liệu. Tất cả
những yếu tố trên đã dẫn tới sự cần thiết của việc chuẩn hoá, kiểm tra và đánh giá
các cơ sở dữ liệu quan hệ. Do đó, mục tiêu của đề tài là tìm hiểu phương pháp

chuẩn hoá tiếp cận tổng hợp và cài đặt thuật toán tự động chuẩn hoá cho các cơ sở
dữ liệu quan hệ.
Từ khóa: Công nghệ thông tin (CNTT), Cơ sở dữ liệu(CSDL), Hệ quản trị cơ
sở dữ liệu (DBMS).

2. Mục tiêu của luận văn
Mục tiêu của luận văn là tìm hiểu phương pháp chuẩn hóa tiếp cận tổng
hợp,nghiên cứu thiết kế giải thuật và cài đặt ứng dụng có thể tự động chuẩn hóa
3NF các cơ sở dữ liệu.

1


3. Các đóng góp của luận văn
Đóng góp của luận văn làvân dụng các nguyên lý, quy luật, kết quả nghiên
cứu đã được công bố để tổng hợp thiết kế thuật toán và triển khai cài đặt ưng dụng
tự động chuẩn hóa CSDL quan hệ đạt chuẩn 3NF.

4. Bố cục của luận văn
Nội dung của luận văn được trình bày trong 3 Chương. Trong đó:
Chương 1.Các vấn đề cơ bản và liên quan đến chuẩn hóa cơ sở dữ liệu quan hệ,
trình bày tổng quan về chuẩn hóa cơ sỡ dữ liệu, cách chuẩn hóa cơ sở dữ liệu quan
hệ, mà bắt đầu là phụ thuộc hàm và một số ứng dụng trong việc giải quyết các bài
toán như: tìm khoá, tìm phủ tối thiểu, xác định dạng chuẩn.
Chương 2.Trong chương tới chúng ta sẽ đi nghiên cứu giải thuật chuẩn hóa cơ sở
dữ liệu quan hệ bằng phương pháp tiếp cận tổng hợp.
Chương 3.Tiến hành thực nghiệm theo phương pháp tiếp cận tổng hợp và đánh giá
kết quả thực nghiệm.

2



CHƯƠNG I : CÁC VẤN ĐỀ CƠ BẢN VÀ LIÊN QUAN ĐẾN
CHUẨN HÓA CƠ SỞ DỮ LIỆU QUAN HỆ
Các cơ sở dữ liệu và các hệ cơ sở dữ liệu đã trở thành một thành phần chủ
yếu trong cuộc sống hàng ngày của xã hội hiện đại. Trong vòng một ngày con người
có thể có nhiều hoạt động cần có sự giao tiếp với cơ sở dữ liệu như: đến ngân hàng
để rút tiền và gửi tiền, đăng ký chỗ trên máy bay hoặc khách sạn, truy cập vào thư
viện đã tin học hoá để tìm sách báo, đặt mua tạp chí ở một nhà xuất bản… Tại các
ngân hàng, các cửa hàng, người ta cũng cập nhật tự động việc quản lý tiền bạc, hàng
hoá.
Tất cả các giao tiếp như trên được gọi là các ứng dụng của cơ sở dữ liệu
truyền thống. Trong các cơ sở dữ liệu truyền thống, hầu hết các thông tin được lưu
giữ và truy cập là văn bản hoặc số. Những năm gần đây, những tiến bộ về kỹ thuật
đã đưa đến những ứng dụng mới của cơ sở dữ liệu. Các cơ sở dữ liệu đa phương
tiện bây giờ có thể lưu trữ hình ảnh, phim và tiếng nói. Các hệ thống thông tin địa lý
có thể lưu trữ và phân tích các bản đồ, các dữ liệu về thời tiết và các ảnh vệ tinh.
Kho dữ liệu và các hệ thống phân tích trực tuyến được sử dụng trong nhiều công ty
để lấy ra và phân tích những thông tin có lợi từ các cơ sở dữ liệu rất lớn nhằm đưa
ra các quyết định. Các kỹ thuật cơ sở dữ liệu động và thời gian thực được sử dụng
trong việc kiểm tra các tiến trình công nghiệp và sản xuất. Các kỹ thuật tìm kiếm cơ
sở dữ liệu đang được áp dụng cho World Wide Web để cung cấp việc tìm kiếm các
thông tin cần thiết cho người sử dụng bằng cách duyệt qua Internet. Để hiểu được
các cơ sở kỹ thuật của cơ sở dữ liệu trước hết chúng ta đi tìm hiểu các kiến thức cơ
bản của cơ sở dữ liệu.

1.1. Một số khái niệm cơ bản
1.1.1. Định nghĩa Cơ Sở Dữ Liệu (Data Base)
Cơ sở dữ liệu và kỹ thuật cơ sở dữ liệu đã có ảnh hưởng rất lớn đến việc sử
dụng máy tính. Có thể nói rằng cơ sở dữ liệu đóng vai trò quan trọng trong mọi lĩnh


3


vực có sử dụng máy tính như giáo dục, thương mại, kỹ nghệ, khoa học, thư viện,….
Thuật ngữ cơ sở dữ liệu trở thành một thuật ngữ phổ dụng.
Một cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu
trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình. Dữ
liệu là những sự kiện có thể ghi lại được và có ý nghĩa.
Ví dụ, để quản lý việc học tập trong một môi trường đại học, các dữ liệu là
các thông tin về sinh viên, về các môn học, điểm thi….Chúng ta tổ chức các dữ liệu
đó thành các bảng và lưu giữ chúng vào sổ sách hoặc sử dụng một phần mềm máy
tính để lưu giữ chúng trên máy tính. Ta có một tập các dữ liệu có liên quan đến
nhau và mang nhiều ý nghĩa, đó là một cơ sở dữ liệu.
Vậy ta có thể định nghĩa cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có
cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ,… để có thể thoả mãn yêu
cầu khai thác đồng thời của nhiều người sử dụng.
CSDL gắn liền với đại số, logic toán và một số lĩnh vực khác.

1.1.2. Các tính chất của một cơ sở dữ liệu
Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực như hoạt
động của một công ty, một nhà trường, một ngân hàng… Những thay đổi của thế
giới thực phải được phản ánh một cách trung thực vào trong cơ sở dữ liệu. Những
thông tin được đưa vào trong cơ sở dữ liệu tạo thành một không gian cơ sở dữ liệu
hoặc là một “thế giới nhỏ” (miniworld) .
Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với nhau một cách logic và
mang một ý nghĩa cố hữu nào đó. Một cơ sở dữ liệu không phải là một tập hợp tuỳ
tiện.
Một cơ sở dữ liệu được thiết kế và được phổ biến cho một mục đích riêng.
Nó có một nhóm người sử dụng có chủ định và có một số ứng dụng được xác định

phù hợp với mối quan tâm của người sử dụng. Nói cách khác, một cơ sở dữ liệu có

4


một nguồn cung cấp dữ liệu, một mức độ tương tác với các sự kiện trong thế giới
thực và một nhóm người quan tâm tích cực đến các nội dung của nó.
Một cơ sở dữ liệu có thể có cỡ tuỳ ý và có độ phức tạp thay đổi. Có những cơ
sở dữ liệu chỉ gồm vài trăm bản ghi (như cơ sở dữ liệu phục vụ việc quản lý lương ở
một cơ quan nhỏ), và có những cơ sở dữ liệu có dung lượng rất lớn (như các cơ sở
dữ liệu phục vụ cho việc tính cước điện thoại, quản lý nhân sự trên một phạm vi
lớn). Các cơ sở dữ liệu phải được tổ chức quản lý sao cho những người sử dụng có
thể tìm kiếm dữ liệu, cập nhật dữ liệu và lấy dữ liệu ra khi cần thiết. Một cơ sở dữ
liệu có thể được tạo ra và duy trì một cách thủ công và cũng có thể được tin học
hoá. Một cơ sở dữ liệu tin học hoá được tạo ra và duy trì bằng bằng một nhóm
chương trình ứng dụng hoặc bằng một hệquản trị cơ sở dữ liệu.

1.2. Các mô hình dữ liệu
Mô hình dữ liệu là sự trừu tượng hoá môi trường thực. Mỗi loại mô hình dữ
liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích
thiết kế CSDL. Mỗi loại mô hình dữ liệu đều có những ưu điểm và những mặt hạn
chế của nó, nhưng vẫn có những mô hình dữ liệu nổi trội và được nhiều người quan
tâm nghiên cứu.
Sau đây chúng ta sẽ điểm qua lịch sử phát triển của các mô hình dữ liệu.
Vào những năm sáu mươi, thế hệ đầu tiên của CSDL ra đời dưới dạng mô
hình thực thể kết hợp, mô hình mạng và mô hình phân cấp.
Vào những năm bảy mươi, thế hệ thứ hai của CSDL ra đời. Đó là mô hình dữ
liệu quan hệ do EF. Codd phát minh. Mô hình này có cấu trúc logic chặt chẽ. Đây là
mô hình đã và đang được sử dụng rộng khắp trong công tác quản lý trên phạm vi
toàn cầu. Việc nghiên cứu mô hình dữ liệu quan hệ nhằm vào lý thuyết chuẩn hoá

các quan hệ và là một công cụ quan trọng trong việc phân tích thiết kế các hệ CSDL
hiện nay. Mục đích của nghiên cứu này nhằm bỏ đi các phần tử không bình thường
của quan hệ khi thực hiện các phép cập nhật, loại bỏ các phần tử dư thừa.

5


Sang thập kỷ tám mươi, mô hình CSDL thứ ba ra đời, đó là mô hình cơ sở dữ
liệu hướng đối tượng, mô hình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu suy
diễn,…

1.3. Mô hình cơ sở dữ liệu quan hệ
1.3.1. Mô hình cơ sở dữ liệu quan hệ là gì ?
Mô hình dữ liệu làmột tập khái niệm dùng để mô tả cấu trúc dữ liệu, các thao
tác dữ liệu, các ràng buộc dữ liệu của một CSDL. Mô hình dữ liệu quan hệ (gọi
tắt là mô hình quan hệ) được E. F. Codd nghiên cứu năm 1970 và tiếp sau đó được
công ty IBM giới thiệu vào năm 1970. Ngày nay, hầu hết các tổ chức đã áp dụng
CSDL quan hệ để quản lý dữ liệu trong đơn vị mình.
Mô hình quan hệ là cách thức biểu diễn dữ liệu dưới dạng các quan hệ (các
bảng). Một quan hệ là một bảng dữ liệu 2 chiều (cột và dòng), mô tả một thực thể.
Mỗi cột tương ứng với một thuộc tính của thực thể. Mỗi dòng chứa các giá trị dữ
liệu của một đối tượng cụ thể thuộc thực thể.
Mô hình dữ liệu quan hệ bao gồm:
-

Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như
quan hệ, thuộc tính, khóa chính, khóa ngoại, ...

-


Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp,
phép toán quan hệ.

-

Ràng buộc toàn vẹn quan hệ.

1.3.2. Các khái niệm cơ bản của mô hình quan hệ
Mô hình dữ liệu quan hệ là mô hình được nghiên cứu nhiều nhất, và thực tiễn
đã cho thấy rằng nó có cơ sở lý thuyết vững chắc nhất. Mô hình dữ liệu này cùng
với mô hình thức thể kết hợp đang được sử dụng rộng rãi trong việc phân tích và
thiết kế CSDL hiện nay. Sau đây là các khái niệm của mô hình dữ liệu quan hệ.
Quan hệ

6


Sự thể hiện của lược đồ quan hệ Q ở một thời điểm nào đó được gọi là quan
hệ, rõ ràng là trên mọt lược đồ quan hệ có thể định nghĩa rất nhiều quan hệ. Thường
ta dùng các ký hiệu như R, S, Q để chỉ các lược đồ quan hệ,còn các quan hệ được
định nghĩa trên nó tương ứng được ký hiệu là r,s,q.
Các tính chất của một quan hệ
• Giá trị đưa vào cột là đơn nhất
• Các giá trị trong cùng một cột phải thuộc cùng một miền giá trị (cùng kiểu)
• Thứ tự dòng cột tuỳ ý.
Các ràng buộc toàn vẹn trên quan hệ
Ràng buộc là những quy tắc được áp đặt lên trên dữ liệu đảm bảo tính tin
cậyvà độ chính xáccủa dữ liệu. Các luật toàn vẹn được thiết kế để giữ cho dữ liệu
phù hợp và đúng đắn.
Có 4 kiểu ràng buộc chính: Ràng buộc miền giá trị (Domain Constraints),

Ràng buộc khoá (Key Constraints), Ràng buộc thực thể (Entity Integrity
Constraints), và Ràng buộc toàn vẹn tham chiếu (Referential Integrity Constraints).
Ràng buộc miền giá trị
Là một hợp các kiểu dữ liệu và những giá trị giới hạn mà thuộc tính có thể
nhận được. Thông thường việc xác định miền giá trị của các thuộc tính bao gồm
một số các yêu cầu sau: Tên thuộc tính, Kiểu dữ liệu, Độ dài dữ liệu, khuôn dạng
của dữ liệu, các giá trị giới hạn cho phép, ý nghĩa, có duy nhất hay không, có cho
phép giá trị rỗng hay không.
Ràng buộc khoá
Khóa chính (Primary Key)
Khóa chính là một (hoặc một tập) các thuộc tính đóng vai trò là nguồn của
một phụ thuộc hàm mà đích lần lượt là các thuộc tính còn lại.
R={SSN, Name, BDate, Address, Salary}

7


SSN→ Name, BDate, Address, Salary
(Nguồn)→ (Đích)
Ta thấy, từ SSN ta có thể suy ra toàn bộ các thuộc tính ứng. Vậy SSN được
gọi là khóa chính.
Một số gợi ý khi chọn khóa
Khóa không nên là tập hợp của quá nhiều thuộc tính. Trong trường hợp khóa
có nhiều thuộc tính, có thể thêm một thuộc tính “nhân tạo” thay chúng làm khóa
chính cho quan hệ.
Nếu khóa chính được cấu thành từ một số thuộc tính, thì các thành phần nên
tránh sử dụng thuộc tính có giá trị thay đổi theo thời gian: như tên địa danh, phân
loại.
Khóa dự tuyển (Candidate Key)
Trong tập hợp các thuộc tính của một bảng, có thể có nhiều thuộc tính có thể

dùng được làm khóa chính. Các thuộc tính đó được gọi là khóa dự tuyển.
Khóa dự tuyển cần thỏa mãn 2 tính chất sau:
• Xác định duy nhất.
• Không dư thừa: Khi xóa đi bất kỳ một thuộc tính nào của khóa đều
phá hủy tính xác định duy nhất của khóa.
Khóa ngoại (Foreign Key)
Trong nhiều trường hợp, khóa chính của một bảng được đưa sang làm thuộc
tính bên bảng khác, thuộc tính đó gọi là khóa ngoại. Khóa ngoại đóng vai trò thể
hiện liên kết giữa 2 bảng.
Khóa phụ (Second Key)
Đóng vai trò khi ta muốn sắp xếp lại dữ liệu trong bảng.
Ví dụ ta có bảng SINHVIEN (MaSV, Hoten, GioiTinh, Diem).

8


Muốn sắp xếp lạii danh sách sinhviên theo thứ
th tự a, b, c.. củaa H
Họ tên. Khi đó
thuộc tính Hoten được gọ
ọi là khóa phụ.
Ràng buộc thực thể
Mỗi một lược đồ quan hệ
h R, chúng ta phải xác định khoá chính ccủa nó. Khoá
chính trong lược đồ quan hệ
h được gạch chân ở phía dưới của thuộcc tính.
Sau đây
ây là danh sách các lược
l
đồ quan hệ trong cơ sở dữ liệệu COMPANY

sau khi xác định ràng buộộc thực thể

Hình 1.1.
1. Lược đồ cơ sở dữ liệu COMPANY.

9


Hình 1.2. Một thể hiện của cơ sở dữ liệu COMPANY.
Ràng buộc khoá và ràng buộc thực thể được xác định cho từng quan hệ.

10


Ràng buộc toàn vẹn tham chiếu
Một bộ giá trị trong một quan hệ tham chiếu tới một bộ giá trị đã tồn tại
trong một quan hệ khác.
Ràng buộc toàn vẹn tham chiếu phải xác định trên 2 quan hệ: quan hệ tham
chiếu (referencing relation) và quan hệ được tham chiếu (referenced relation).

Hình 1.3. Một thể hiện của cơ sở dữ liệu COMPANY.
Ràng buộc toàn vẹn tham chiếu
Ràng buộc toàn vẹn tham chiếu còn được gọi là ràng buộc khoá ngoại.
Thuộc tính DNo của quan hệ EMPLOYEE tham chiếu tới thuộc tính
DNumber của quan hệ DEPARTMENT.

Hình 1.4. Các ràng buộc tham chiếu trong cơ sở dữ liệu COMPANY.
11



1.4. Phụ thuộc hàm
Phụ thuộc hàm (functional dependancy) là một công cụ dùng để biểu diễn
một cách hình thức các ràng buộc toàn vẹn. Phương pháp biểu diễn này có rất nhiều
ưu điểm, và đây là một công cực kỳ quan trọng, gắn chặt với lý thuyết thiết kế cơ sở
dữ liệu.

1.4.1. Định Nghĩa Phụ Thuộc Hàm
Cho lược đồ quan hệ Q{A1,A2,…,An}. X,Y là hai tập con khác rỗng của Q+
. Ta nói X xác định Y (hay Y phụ thuộc hàm vào X) nếu với r là một quan hệ nào
đó trên Q, ∀ t1,t2 ∈ r mà t1.X = t2.X ⇒ t1.Y = t2.Y (nghĩa là không thể tồn tại hai
bộ trong r giống nhau ở các thuộc tính trong tập X mà lại khác nhau ở một hay
nhiều thuộc tính nào đó trong tập Y). Khi đó ta ký hiệu là X → Y.
Chẳng hạn như phụ thuộc hàm của thuộc tính họ tên của sinh viên
(HOTENSV) vào mã số sinh viên (MASV) và ta có thể diễn tả bằng phụ thuộc hàm
MASV→ HOTENSV
Phụ thuộc hàm X → X được gọi là phụ thuộc hàm hiển nhiên. người ta
thường dùng F để chỉ tập các phụ thuộc hàm định nghĩa trên Q. Vì Q hữu hạn nên F
cũng hữu hạn, ta có thể đánh số các phụ thuộc hàm của F là f1,f2,..,fm.
Quy ước: chỉ cần mô tả các phụ thuộc hàm không hiển nhiên trong tập F, các
phụ thuộc hàm hiển nhiên được ngầm hiểu là đã có trong F.
Ví dụ 2.1: Cho lược dồ quan hệ Q(ABCDE), r là quan hệ xác định trên Q được cho
như sau:
A

B

C

D


E

a1

b1

c1

d1

e1

a1

b2

c2

d2

e1

a2

b1

c3

d2


e1

a2

b1

c4

d2

e1

12


a3

b2

c3

d1

e1

Bảng 2.1. Lược đồ quan hệ Q.
Những phụ thuộc hàm nào sau đây thoả r ? A → D; AB → D; E → A; A →
E; Giải: AB → D; A → E;

1.4.2. Cách xác định phụthuộc hàm cho lược đồquan hệ

Cách duy nhất để xác định đúng các phụ thuộc thích hợp cho một lược đồ
quan hệ là xem xét nội dung tân từ của lược đồ quan hệ đó.
Ví dụ 2.2: Ta có mô hình dữ liệu quan hệ như sau:
Sinhvien(MASV,

HOTENSV,

NU,

NGAYSINH,

NOISINH,TINH,

MALOP)
Lop(MALOP,TENLOP,MAKHOA) Khoa(MAKHOA,TENKHOA)
Monhoc(MAMH,TENMH,DONVIHT)
Giangvien(MAGV,HOTENGV,HOCVI,CHUYENNGANH,MAKHOA)
Ketqua(MASV, MAMH, LANTHI,DIEMTHI)
Phancong(MALOP,MAMH,MAGV)
Chẳng hạn với lược đồ cơ sở dữ liệu đã cho trong ví dụ 2.2, thì phụ thuộc
hàm ứng với từng lược đồ quan hệ được xác định như sau:
MASV → HOTENSV, NU, NGAYSINH, MALOP, TINH
MALOP → TENLOP,MAKHOA
MAKHOA → TENKHOA
MAMH → TENMH, DONVIHT
MASV, MAMH,LANTHI → DIEMTHI

13



1.4.3. Một Số Tính Chất Của Phụ Thuộc Hàm - hệ luật dẫn Armstrong
Để có thể xác định được các phụ thuộc hàm khác từ tập phụ thuộc hàm đã
có, ta dùng hệ tiên đề Armstrong (1974), gồm các luật sau:
với X,Y,Z,W ⊆ Q+
1.Luật phản xạ (reflexivity)
X ⊇ Y ⇒ X→Y
Quy tắc này đưa ra những phụ thuộc hàm hiển nhiên (phụ thuộc hàm tầm
thường), đó là những phụ thuộc hàm mà vế trái bao hàm cả vế phải. Những phụ
thuộc hàm hiển nhiên đều đúng trong mọi quan hệ.
2.Luật tăng trưởng(augmentation)
X → Y ⇒ XZ → YZ
3.Luật bắc cầu(transitivity)
X → Y, Y → Z ⇒ X → Z
4.Luật hợp (the union rule)
Cho X → Y, X → Z ⇒ X → YZ
5.Luật bắc cầu giả (the pseudotransitivity rule)
Cho X → Y,WY→ Z ⇒ XW → Z
6.Luật phân rã (the decomposition rule):
Cho X → Y, Z ⊆ Y ⇒ X → Z

1.5. Baođóng
1.5.1. Bao Đóng Của Tập Phụ Thuộc Hàm F
Bao đóng (closure) của tập phụ thuộc hàm F (ký hiệu là F+ ) là tập hợp tất cả
các phụ thuộc hàm có thể suy ra từ F dựa vào các tiên đề Armstrong. Rõ ràng F ⊆
F+
14


×