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

Đề cương cơ sở dữ liệu (ĐHCQ)

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.39 MB, 154 trang )

MỤC LỤC
1. CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU ............................................ 6
1.1. Dữ liệu - thông tin .............................................................................................. 6
1.1.1. Dữ liệu ........................................................................................................ 6
1.1.2.Thông tin ..................................................................................................... 8
1.2. Cơ sở dữ liệu ...................................................................................................... 9
1.3. Hệ quản trị CSDL ............................................................................................ 10
1.3.2.Các chức năng của một hệ quản trị cơ sở dữ liệu ..................................... 11
1.3.3.Các đặc trưng của giải pháp cơ sở dữ liệu ................................................ 12
1.4. Các mô hình dữ liệu......................................................................................... 15
1.4.1. Mô hình thực thể - liên kết (thực thể -quan hệ) ....................................... 17
1.4.2. Mô hình dữ liệu quan hệ .......................................................................... 17
1.4.3. Mô hình dữ liệu mạng .............................................................................. 17
1.4.4. Mô hình dữ liệu phân cấp ......................................................................... 18
2. MÔ HÌNH THỰC THỂ - LIÊN KẾT ....................................................................... 20
2.1. Sử dụng mô hình quan niệm bậc cao cho việc thiết kế cơ sở dữ liệu ............. 20
2.2. Các thành phần cơ bản của mô hình ER .......................................................... 21
2.2. 1. Thực thể và thuộc tính ............................................................................. 21
2.2. 2. Kiểu thực thể, tập thực thể, khóa và tập giá trị ....................................... 22
2.2.3. Kiểu liên kết, tập liên kết và các thể hiện ................................................ 24
2.2.4.Cấp liên kết, tên vai trò và kiểu liên kết đệ quy ........................................ 25
2.2.5. Các ràng buộc trên các kiểu liên kết ........................................................ 26
2.2.6.Thuộc tính của các kiểu liên kết ................................................................ 27
2.2.7.Các kiểu thực thể yếu ................................................................................ 27
2.3. Bài tập về thiết kế CSDL dựa trên mô hình ER .............................................. 29
2.4. Tổng kết mô hình thực thể - liên kết ............................................................... 31
2. 4.1 Tóm tắt ..................................................................................................... 31
2.4.2.Câu hỏi luyện tập....................................................................................... 31
3. MÔ HÌNH QUAN HỆ - CHUYỂN CSDL ER SANG CSDL QUAN HỆ ............... 33
3.1.Các khái niệm ................................................................................................... 33
3.1.1.Thuộc tính (Attribute) ............................................................................... 33


3.1.2.Lược đồ quan hệ (relation schema) ........................................................... 33
3.1.3. Quan hệ (relation)..................................................................................... 34
3.1.4.Bộ (tuple)................................................................................................... 34
3.1.5.Siêu khóa - khóa (super key - key)............................................................ 34
3.2. Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ ................................. 36
3.3. Ràng buộc toàn vẹn ......................................................................................... 39
3.3.1. Khái niệm ràng buộc toàn vẹn ................................................................. 39
1
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


3.3.2. Các yếu tố của ràng buộc toàn vẹn ........................................................... 39
3.3.3. Phân loại ràng buộc toàn vẹn .................................................................... 41
3.4. Các phép tính trên cơ sở dữ liệu quan hệ ........................................................ 44
3.4.1 .Các phép toán cập nhật trên quan hệ ........................................................ 44
3.4.2. Tìm kiếm dữ liệu (truy vấn dữ liệu) ......................................................... 46
3.5. Các quy tắc chuyển đổi từ lược đồ CSDL ER sang thiết kế quan hệ ............. 46
3.6. Chuyển đổi mô hình cụ thể ............................................................................. 51
4. BÀI TẬP VỀ THIẾT KẾ CSDL DỰA TRÊN 2 MÔ HÌNH CSDL: ER VÀ QUAN
HỆ ................................................................................................................................. 53
4.1. Nhắc lại lý thuyết ............................................................................................ 53
4.2. Bài tập ............................................................................................................. 53
5. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ .................................................................. 54
5.1.Phép chọn (SELECT)....................................................................................... 54
5.2. Phép chiếu (PROJECT) .................................................................................. 56
5.3. Phép đặt lại tên (RENAME) ........................................................................... 56
5.4. Các phép toán lý thuyết tập hợp ...................................................................... 57
5.5.Phép nối (JOIN) ............................................................................................... 59
5.7.Phép chia .......................................................................................................... 61
5.7.Các phép toán quan hệ bổ sung ........................................................................ 62

5.7.1.Các hàm nhóm và các phép nhóm ............................................................. 62
5.7.2.Các phép toán khép kín đệ quy .................................................................. 63
5.8. Một số ví dụ về truy vấn trong đại số quan hệ ................................................ 64
6. BÀI TẬP VỀ NGÔN NGỮ ĐẠI SỐ QUAN HỆ ..................................................... 65
6.1. Nhắc lại lý thuyết ............................................................................................ 65
6.2. Bài tập – thảo luận .......................................................................................... 65
7. CƠ BẢN VỀ TỐI ƯU HÓA MỘT CÂU HỎI TRUY VẤN ................................... 66
7.1 Mở đầu ............................................................................................................. 67
7.2 Tổng quan về tối ưu hóa câu hỏi ...................................................................... 67
7.3. Phương pháp ước lượng cây đại số quan hệ ................................................... 69
7.4 Nguyên tắc tối ưu hóa ...................................................................................... 69
7.5. Kỹ thuật tối ưu hoá các biểu thức đại số quan hệ. .......................................... 70
7.5.1. Biểu thức quan hệ ..................................................................................... 70
7.5.2. Biến đổi biểu thức quan hệ ....................................................................... 71
7.5.3. Các quy tắc tương đương .......................................................................... 71
7.5.4 Một số nhận xét khi thực hiện tối ưu hóa câu hỏi ..................................... 73
7.6. Ví dụ ................................................................................................................ 74
7.7. Bài tập ............................................................................................................. 76
2
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


8. NGÔN NGỮ TRUY VẤN CẤU TRÚC SQL .......................................................... 80
8.1. SQL là chuẩn ngôn ngữ ANSI để truy cập CSDL........................................... 80
8.1.1. SQL là gì?................................................................................................. 80
8.1.2. SQL là một chuẩn ..................................................................................... 80
8.2. Bảng CSDL...................................................................................................... 80
8.3. Ngôn ngữ truy vấn cấu trúc (SQL) .................................................................. 80
8.3.1. SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language)81
8.3.2. SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language)81

8.4. Các kiểu dữ liệu ............................................................................................... 81
8.5. Câu lệnh định nghĩa dữ liệu (create database, create table, alter table, drop
table ) 82
8.5.1. Tạo một CSDL ......................................................................................... 82
8.5.2. Tạo một bảng trong một CSDL ................................................................ 82
8.5.3. Các ràng buộc toàn vẹn (TBTV) và cách tạo ràng buộc trên bảng .......... 83
8.5.4. Lệnh sửa đổi bảng(alter table) .................................................................. 87
8.6. Bài tập .............................................................................................................. 88
9. CẬP NHẬT DỮ LIỆU VÀ TRUY VẤN DỮ LIỆU ................................................ 89
9.1. Cập nhật dữ liệu ............................................................................................... 89
9.1.1. Câu lệnh thêm dữ liệu (insert) .................................................................. 89
9.1.2. Câu lệnh sửa đổi dữ liệu (update) ............................................................ 89
9.1.3. Câu lệnh xóa dữ liệu (delete) ................................................................... 90
9.2. Truy vấn cơ bản ............................................................................................... 91
9.2.1. Cú pháp cơ bản của câu lệnh select cơ bản .............................................. 91
9.2.2. SQL và đại số quan hệ ............................................................................. 92
9.2.3. Mệnh đề select .......................................................................................... 92
9.2.4. Mệnh đề where ......................................................................................... 93
9.2.5. Mệnh đề order by ..................................................................................... 95
9.2.6. Kết nối bảng ............................................................................................. 96
9.3.Bài tập ............................................................................................................... 97
10. CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG ....................................... 97
10.1. Các phép toán tập hợp ................................................................................... 97
10.1.1. Toán tử UNION ..................................................................................... 97
10.1.2. Toán tử EXCEPT và INTERSECT ........................................................ 98
10.2. Truy vấn lồng................................................................................................. 98
10.2.1. Truy vấn lồng phân cấp .......................................................................... 99
10.2.2. Truy vấn lồng tương quan ...................................................................... 99
10.3. Bài tập liên quan đến các phép toán tập hợp và truy vấn lồng .................... 100
11. HÀM KẾT HỢP VÀ GOM NHÓM, MỘT SỐ TRUY VẤN KHÁC .................. 100

3
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


11.1. Hàm kết hợp ................................................................................................ 100
11.2. Gom nhóm................................................................................................... 102
11.2.1. Cú pháp .................................................................................................102
11.2.2. Điều kiện trên nhóm .............................................................................103
11.3. Thứ tự thực hiện câu truy vấn có mệnh đề Group by và Having................ 104
11.4. Một số dạng truy vấn khác .......................................................................... 105
11.4.1. Truy vấn con ở mệnh đề From ............................................................. 105
11.4.2. Điều kiện kết nối ở mệnh đề From ....................................................... 105
12. BÀI TẬP, THẢO LUẬN: HÀM KẾT HỢP VÀ GOM NHÓM, MỘT SỐ TRUY
VẤN KHÁC ............................................................................................................... 106
12.1. Nhắc lại lý thuyết ........................................................................................ 106
12.2. Bài tập ......................................................................................................... 106
12.3. Thảo luận..................................................................................................... 107
13. THỰC HÀNH CÂU LỆNH CREATE DATABASE, CREATE TABLE, ALTER
TABLE, DROP TABLE ............................................................................................. 107
14. THỰC HÀNH RBTV ........................................................................................... 107
15. THỰC HÀNH VỀ CẬP NHẬT DỮ LIỆU .......................................................... 107
16. THỰC HÀNH VỀ TRUY VẤN CƠ BẢN ........................................................... 107
17. THỰC HÀNH VỀ CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG ...... 107
18. THỰC HÀNH HÀM KẾT HỢP VÀ GOM NHÓM ............................................ 107
19. THỰC HÀNH MỘT SỐ DẠNG TRUY VẤN KHÁC ........................................ 107
20. KIỂM TRA THỰC HÀNH .................................................................................. 107
21. PHỤ THUỘC HÀM ............................................................................................. 107
21.1. Khái niệm .................................................................................................... 107
21.2. Một số tính chất của phụ thuộc hàm ........................................................... 109
21.3. Định nghĩa suy dẫn theo quan hệ ................................................................ 110

21.4. Hệ tiên đề Amstrong (Armstrong’s Axioms).............................................. 111
21.5. Định nghĩa suy dẫn theo hệ tiên đề Amstrong ............................................ 112
21.6. Bao đóng của tập thuộc tính (closures of attribute sets) ............................. 112
21.6.1. Thuật toán tìm bao đóng của một tập thuộc tính ..................................115
21.6.2. Thuật toán cơ bản tìm F+ ......................................................................118
22. PHỦ CỦA TẬP PHỤ THUỘC HÀM .................................................................. 119
22.1. Định nghĩa tương đương ............................................................................. 119
22.2. Các tập phụ thuộc hàm tương đương .......................................................... 120
22.3. Phụ thuộc hàm không dư thừa .................................................................... 121
22.3.1. Phụ thuộc hàm dư thừa .........................................................................121
4
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


22.3.2. Phủ không dư ....................................................................................... 122
22.4 Phủ thu gọn ................................................................................................... 123
22.4.1. Phụ thuộc hàm có vế trái dư thừa:........................................................ 123
22.4.2. Tập phụ thuộc hàm có vế phải một thuộc tính: .................................... 123
22.4.3. Tập phụ thuộc hàm không dư thừa (phủ không dư):............................ 124
22.4.4. Tập phụ thuộc hàm tối thiểu: ............................................................... 124
23. KHÓA CỦA LƯỢC ĐỒ QUAN HỆ .................................................................... 125
23.1. Siêu khóa và khóa ........................................................................................ 125
23.2. Họ Sperner và khóa ..................................................................................... 126
23.3. Một số vấn đề về khóa ................................................................................. 127
23.3.1.Tìm một khoá của lược đồ quan hệ ....................................................... 127
23.3.2. Kiểm tra một tập cho trước có phải là khoá hay không? ..................... 128
23.3.3. Giao của tất cả các khoá ....................................................................... 128
23.3.4. Thuật toán kiểm tra một lược đồ đã cho có một hay nhiều khoá ......... 131
23.3.5. Thuật toán tìm tất cả các khoá của lược đồ quan hệ ............................ 131
24. BÀI TẬP VỀ PHỤ THUỘC HÀM VÀ KHÓA CỦA LƯỢC ĐỒ QUAN HỆ .... 135

24.1. Nhắc lại lý thuyết ......................................................................................... 135
24.2. Bài tập áp dụng ............................................................................................ 135
25. CÁC DẠNG CHUẨN CƠ BẢN CỦA LƯỢC ĐỒ QUAN HỆ ........................... 138
25.1. Một số khái niệm liên quan ......................................................................... 138
25.2. Các dạng chuẩn ............................................................................................ 138
25.3. Dạng chuẩn 1( 1NF-first normal form) ....................................................... 140
25.4. Dạng chuẩn 2NF (second normal form) ...................................................... 140
25.5 Dạng chuẩn 3 (3NF- Third normal form) .................................................... 142
25.6. Dạng chuẩn Boyce Codd ( BCNF- Boyce Codd normal form) .................. 142
25.7. Mối quan hệ giữa các dạng chuẩn cơ bản ................................................... 143
26. PHÉP TÁCH LƯỢC ĐỒ QUAN HỆ ................................................................... 145
26.1. Tách lược đồ quan hệ .................................................................................. 145
26.2. Phép tách bảo toàn phụ thuộc hàm .............................................................. 148
26.3. Tách không mất thông tin thành các lược đồ ở dạng BCNF ....................... 149
26.4. Tổng kết ....................................................................................................... 149
27. BÀI TẬP VỀ CÁC DẠNG CHUẨN HÓA VÀ PHÉP TÁCH ............................. 152
27.1. Nhắc lại lý thuyết ......................................................................................... 152
27.2. Bài tập – thảo luận ....................................................................................... 152
TÀI LIỆU THAM KHẢO ........................................................................................... 154

5
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


1. CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU
Lý thuyết CSDL là lĩnh vực của tin học nhằm nghiên cứu các cơ chế, nguyên
lý, phương pháp tổ chức, lưu trữ dữ liệu trên các thiết bị mang tin, nhằm khai thác có
hiệu quả dữ liệu được lưu trữ.
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 chúng ta phải bắt đầu từ các cơ sở
kỹ thuật của cơ sở dữ liệu truyền thống. Mục đích của giáo trình này là nghiên cứu các
cơ sở kỹ thuật đó. Trong chương này chúng ta sẽ định nghĩa cơ sở dữ liệu, hệ quản trị
cơ sở dữ liệu, mô hình cơ sở dữ liệu và các thuật ngữ cơ bản khác.
1.1. Dữ liệu - thông tin
1.1.1. Dữ liệu
Dữ liệu là các sự kiện không có cấu trúc, không có ý nghĩa. Mọi thông tin được
quản lý trên máy tính điện tử theo bất kỳ phương cách gì cũng đều phải được thể hiện
bằng các dữ liệu ghi trên một thiết bị lưu trữ nào đó. Trong tin học, dữ liệu được hiểu
là sự biểu diễn các thông tin đưa vào máy tính điện tử để xử lý và thường có các dạng
sau đây:

6
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên



Dữ liệu

Dữ liệu dạng
số

Số
nguyên

Số
thực

Dữ liệu dạng
phi số

Văn
bản

Hình
ảnh

Tri thức

Âm
thanh

Sự
kiện


Luật
dẫn

Hình 1-1. Các dạng dữ liệu cơ bản
Để lưu trữ trong máy tính điện tử cả dữ liệu số, phi số và tri thức đều được mã hoã
bằng các số nhị phân.
- Dữ liệu dạng số bao gồm các số nguyên và các số thực. Ví dụ: 8 (Số nguyên), -57
(Số nguyên), 43.56 (Số thực). Một dạng dữ liệu khác đặc trưng cho các đại lượng
logic thường được “ số hoá ” qua các giá trị 0 và 1.
- Dữ liệu phi số bao gồm các văn bản (dạng chữ), âm thanh và hình ảnh.
- Dữ liệu dạng tri thức: bao gồm các sự kiện và các luật dẫn. Ví dụ: Bạn Hà đạt
điểm tổng kết 9 ở môn Tin học (sự kiện). Nếu học sinh đạt tổng kết từ 8 trở lên ở
môn nào thì học sinh ấy được xếp loại giỏi ở môn đó (Luật dẫn).
Tuỳ theo mục đích xử lý chúng ta có thể tiếp tục phân chia dữ liệu thành các cấu
trúc nhỏ hơn hoặc gộp các dữ liệu thành các cấu trúc lớn hơn, phức tạp hơn.
Vài ví dụ tiêu biểu về dữ liệu:
+ An đạt 550 điểm trên tổng số 600 điểm.
+ Nhà tôi cách trường 10km.
+ Hà sinh ngày 23 tháng 6 năm 883.
+ Nhạc được ghi trên băng từ.
+ Bức hình của bạn.
Bản thân dữ liệu không có ý nghĩa nếu không được sắp sếp hay kết hợp thêm vài
dữ liệu nữa. Ví dụ như điểm của An. Thật tốt khi biết An được điểm cao nhưng khi
dữ liệu này được kèm thêm một dữ liệu khác như:
+ An đạt 500 trên tổng số 600 điểm.
+ Hoà đạt 300 trên tổng số 600 điểm.
Thì chúng ta có thể làm được nhiều hơn. Bây giờ chúng ta có thể so sánh chúng và
biết thêm một ít về An:
+ An đạt 500 điểm và
+ An đạt điểm cao hơn Hoà.

Xa hơn nếu chúng ta có điểm các sinh viên lớp An, ta sẽ biết nhiều hơn nữa. Ta có
thể tính xem An đứng thứ mấy trong lớp. Vì vậy dữ liệu được xem là quan trọng
chỉ khi nào được xử lý. Để hiểu rõ hơn hãy xem một ví dụ khác:
+ Bình sinh ngày 20 tháng 10 năm 1998.
7
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


Kết hợp với với một dữ liệu nào đó như ngày hiện tại:
+ Hôm nay là ngày 20 tháng 10 năm 2004 sẽ cho ta biết được Bình bao nhiêu tuổi.
1.1.2.Thông tin
a. Khái niệm
Khi dữ liệu được xử lý để cho nó có ý nghĩa hơn thì lúc đó sẽ được gọi là thông
tin.
Một vài ví dụ về thông tin:
a. An đạt điểm cao hơn Hoà.
b. Chuyến tàu bị trễ mấy 30 phút.
c. Giờ thì bình 24 tuổi...
b. Đặc điểm của thông tin
 Thông tin mang lại cho con người sự hiểu biết, nhận thức tốt hơn về những đối
tượng trong đời sống xã hội, trong thiên nhiên, ... giúp cho họ thực hiện hợp lý công
việc cần làm để đạt tới mục đích một cách tốt nhất. Con người có nhu cầu đọc báo,
nghe đài, xem phim, video, đi tham quan, du lịch, tham khảo ý kiến người khác, ... để
nhận được thêm thông tin mới. Nốt nhạc trong bản sô-nát ánh trăng của Beethoven
làm cho người nghe cảm thấy được sự tươi mát, êm dịu của đêm trăng. Những thông
tin về cảm xúc của tác giả đó được truyền đạt lại.
 Thông tin có thể được phát sinh, được lưu trữ, được truyền, được tìm kiếm,
được xử lý, được sao chép, nhân bản. Thông tin cũng có thể méo mó, bị biến dạng, sai
lệch hoặc bị phá huỷ do nhiễu tác động hay do người xuyên tạc.
 Thông tin được thể hiện dưới nhiều dạng hình thức khác nhau như sóng ánh

sáng, sóng âm, sóng điện từ, các ký hiệu viết trên giấy hoặc khắc trên gỗ, trên đá, trên
các tấm kim loại… Chúng còn được gọi là những vật mang tin.
 Cùng một thông tin có thể được biểu diễn bằng những dữ liệu khác nhau.
Cũng là năm đơn vị, trong hệ thập phân ta dùng ký hiệu “5” nhưng trong hệ đếm La
mã lại dùng kí hiệu: “V”. Dữ liệu (kí hiệu) có thể là biểu diễn các thông tin khác nhau.
Cùng kí hiệu “I” nhưng trong tiếng Anh có nghĩa là đại từ nhân xưng ngôi thứ nhất
(tôi) còn trong toán học đó lại là chữ số La mã có giá trị là 1 đơn vị.
c. So sánh dữ liệu và thông tin
Dữ liệu
Thông tin
1. Một tập hợp các sự kiện và số liệu

1. Dữ liệu được tổ chức và sắp xếp

2. Không có giá trị nhiều

2. Luôn luôn có ích.

3. Được chuyển thành thông tin

3. Cũng có thể chuyển thành dữ liệu.

Các hệ thống xử lý truyền thống
Tiếp cận CSDL đã giải quyết 3 vấn đề của hệ tập tin theo lối cũ:
Vấn đề 1: cấu trúc logic và cấu trúc vật lý
Kiến trúc bên trong HQTCSDL quan hệ tách biệt rõ ràng giữa:
- cấu trúc luận lý của tất cả tập tin và chương trình ứng dụng khai thác tập tin này và
8
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên



- cấu trúc vật lý của csdl và phần lưu trữ các tập tin.
Tiếp cận này tạo cho người quản trị CSDL có thể thay đổi cấu trúc vật lý hay nơi lưu
trữ của tập tin
mà không ảnh hưởng đến chương trình ứng dụng.
Vấn đề 2: dư thừa dữ liệu
Khi HQTCSDLQH được giới thiệu, nhiều tổ chức mong tích hợp các tập tin đã phân
tán khắp trong
tổ chức vào một CSDL tập trung. Dữ liệu có thể chia sẻ cho nhiều ứng dụng khác nhau
và người sử dụng có thể khai thác đồng thời các tập con dữ liệu liên quan đến họ. Điều
này làm hạn chế sự dư thừa dữ liệu.
Vấn đề 3: Sự khai thác dữ liệu của người sử dụng
Trong hệ QTCSDLQH người dùng có thể trực tiếp khai thác dữ liệu thông qua việc sử
dụng các câu truy vấn hay các công cụ báo cáo được cung cấp bởi hệ QTCSDL.
- Cơ sở dữ liệu là một tập các dữ liệu về một đối tượng cần được cần được quản lý,
được lưu trữ trên các thiết bị mang tin, và được quản lý theo một cơ chế thống nhất,
nhằm thực hiện tốt các chức năng sau:
+ Mô tả dữ liệu.
+ Cập nhật dữ liệu.
+ Tìm kiếm nói riêng, khai thác dữ liệu nói chung.
Hệ quản trị CSDL (database management system) là một hệ thống phần mềm
giúp người sử dụng có thể thực hiện các chức năng: mô tả dữ liệu, cập nhật và tìm
kiếm.
Người quản trị CSDL là người có thể thực hiện các thao tác sau:
+ Tạo lập dữ liệu
+ Bổ sung dữ liệu
+ Xoá dữ liệu
+ Tìm kiếm
+ Bảo quản
1.2. Cơ sở dữ liệu

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
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 các thiết bị mang tin, 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.
Ngày nay CSDL tồn tại trong mỗi ứng dụng thông dụng, ví dụ:
- Hệ kho và kiểm kê.
- Hệ đặt chỗ máy bay
- Hệ nguồn nhân lực.
9
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


- hệ dịch vụ công cộng như cấp nước, điện, khí đốt
- Điều khiển quá trình chế tạo và sản xuất
Các tính chất của một cơ sở dữ liệu
Một cơ sở dữ liệu có các tính chất sau:
1. 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).
2. 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.
3. 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ó 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
1.3. Hệ quản trị CSDL
Một hệ quản trị cơ sở dữ liệu là một tập hợp chương trình giúp cho người sử dụng tạo
ra, duy trì và khai thác một cơ sở dữ liệu. Nó là một hệ thống phần mềm phổ dụng,
làm dễ quá trình định nghĩa, xây dựng và thao tác cơ sở dữ liệu cho các ứng dụng khác
nhau.
Định nghĩa một cơ sở dữ liệu bao gồm việc đặc tả các kiểu dữ liệu, các cấu trúc và các
ràng buộc cho các dữ liệu sẽ được lưu trữ trong cơ sở.
Xây dựng một cơ sở dữ liệu là quá trình lưu trữ các dữ liệu trên các phương tiện lưu
trữ được hệ quản trị cơ sở dữ liệu kiểm soát.
Thao tác một cơ sở dữ liệu bao gồm các chức năng như truy vấn cơ sở dữ liệu để lấy
ra các dữ liệu cụ thể, cập nhật cơ sở dữ liệu để phản ánh các thay đổi trong thế giới
nhỏ và tạo ra các báo cáo từ các dữ liệu.
Các hệ quản trị cơ sở dữ liệu dùng để thể hiện một cơ sở dữ liệu tin học hoá có thể là
phổ dụng (là một phần mềm đóng gói) hoặc có thể là chuyên dụng (là một tập các
phần mềm được tạo ra với một mục đích riêng).
10
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


Người ta gọi cơ sở dữ liệu và hệ cơ sở dữ liệu bằng một thuật ngữ chung là hệ cơ sở

dữ liệu. Môi trường của một hệ cơ sở dữ liệu được mô tả bằng hình vẽ dưới đây

Hình 1-2. Môi trường của một hệ cơ sơ dữ liệu
Một hệ quản trị CSDL (HQTCSDL) là Một tập các phần mềm quản lý CSDL và cung
cấp các dịch vụ xử lý CSDL cho các những người phát triển ứng dụng và người dùng
cuối.
- HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu.
- HQTCSDL biến đổi CSDL vật lý thành CSDL logic.
- Loại quan hệ như như ORACLE của Oracle, DB2 của IBM, ACCESS của Microsoft
Access
- Loại đối tượng là một tiếp cận khá mới trong thiết kế HQTCSDL và việc sử dụng
loại này sớm trở nên phổ biến.
Hiện tại, loại HQTCSDL chính được sử dụng trong công nghệ là loại HQTCSDL quan
hệ (RDBMS). Loại này đã chiếm lĩnh trong công nghệ trên 10-14 năm cuối cùng khi
đánh bật loại HQTCSDL phân cấp và gần đây là HQTCSDL mạng.
1.3.2.Các chức năng của một hệ quản trị cơ sở dữ liệu
Một hệ quản trị cơ sở dữ liệu hiện nay có các chức năng sau:
 Kiểm soát được tính dư thừa của dữ liệu
- Tích hợp các nhu cầu dữ liệu của người dùng để xây dựng một CSDL
thống nhất
 Chia sẻ dữ liệu
- Trong môi trường đa người dùng, các HQT phải cho phép truy xuất dữ
liệu đồng thời
11
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


 Hạn chế những truy cập không cho phép
- Từng người dùng và nhóm người dùng có một tài khoản và mật mã để
truy xuất dữ liệu

 Cung cấp nhiều giao diện
- HQT cung cấp ngôn ngữ giữa CSDL và người dùng
 Đảm bảo các ràng buộc toàn vẹn
- RBTV (Integrity Constraints) là những qui định cần được thỏa mãn để
đảm bảo dữ liệu luôn phản ánh đúng ngữ nghĩa của thế giới thực
- Một số RB có thể được khai báo với HQT và HQT sẽ tự động kiểm tra.
Một số RB khác được kiểm tra nhờ CTƯD
 Khả năng sao lưu dự phòng khi gặp sự cố
- Có khả năng khôi phục dữ liệu khi có sự hư hỏng về phần cứng hoặc
phần mềm
 Các tính năng khác
- Chuẩn hóa
 Cho phép DBA định nghĩa và bắt buộc áp dụng một chuẩn thống
nhất cho mọi người dùng
- Uyển chuyển
 Khi nhu cầu công việc thay đổi, cấu trúc CSDL rất có thể thay
đổi, HQT cho phép thêm hoặc mở rộng cấu trúc mà không làm
ảnh hưởng đến CTƯD
- Giảm thời gian phát triển ứng dụng
- Tính khả dụng
 Khi có một sự thay đổi lên CSDL, tất cả người dùng đều thấy
được
1.3.3.Các đặc trưng của giải pháp cơ sở dữ liệu
Trước khi khái niệm cơ sở dữ liệu ra đời, hệ thống tệp (file) là một phương
pháp được áp dụng trong việc quản lý. Một tệp có thể được xem là một cặp hồ sơ lưu
trữ các thông tin liên quan đến từng công việc riêng biệt. Ví dụ, trong một cơ quan, bộ
phận tài vụ sẽ có một cặp hồ sơ liên quan đến lương của các nhân viên, bộ phận tổ
chức có cặp hồ sơ liên quan đến vấn đề nhân sự… Việc xử lý để lấy ra các thông tin
như là các thống kê về lương, về quá trình công tác… lúc đầu được thực hiện một cách
thủ công. Dần dần, khối lượng thông tin ngày càng lớn, việc xử lý thông tin ngày càng

phức tạp, người ta sử dụng máy tính vào việc quản lý. Các cặp hồ sơ được chuyển
thành các tệp trên máy tính và việc xử lý thông tin được thực hiện bằng cách lập trình
(trong một ngôn ngữ lập trình thế hệ 3).
Việc quản lý theo giải pháp hệ thống tệp có rất nhiều nhược điểm. Thứ nhất, đó là sự
dư thừa thông tin: cùng một thông tin được lưu trữ nhiều lần (chẳng hạn, danh sách
nhân viên có mặt trong tệp lương và cũng có mặt cả trong tệp nhân sự). Điều đó gây ra
việc lãng phí bộ nhớ và dễ gây sai sót trong khi cập nhật dữ liệu, dễ sinh ra các dữ liệu
12
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


không đúng đắn. Thứ hai, đó là việc phụ thuộc giữa chương trình ứng dụng và dữ liệu.
Mỗi khi có sự thay đổi cấu trúc tệp và các dữ liệu trong tệp,
chương trình ứng dụng khai thác thông tin trên tệp đó cũng thay đổi theo. Điều đó gây
ra khó khăn lớn cho việc bảo trì.
Giải pháp cơ sở dữ liệu ra đời đã giải quyết được những nhược điểm đó. Cụ thể, giải
pháp cơ sở dữ liệu có những đặc trưng sau:
1. Bản chất tự mô tả của hệ cơ sở dữ liệu.
Một đặc trưng cơ bản của giải pháp cơ sở dữ liệu là hệ thống cơ sở dữ liệu không chỉ
gồm có bản thân cơ sở dữ liệu mà còn có cả định nghĩa hoặc mô tả đầy đủ về cấu trúc
cơ sở dữ liệu và các ràng buộc. Định nghĩa này được lưu trữ trong từ điển hệ thống, nó
chứa các thông tin như là cấu trúc của mỗi tệp, kiểu và dạng lưu trữ của từng mục dữ
liệu. Các thông tin được lưu giữ trong từ điển gọi là siêu dữ liệu (meta-data) và chúng
mô tả cấu trúc của dữ liệu nguyên thuỷ (hình 1-1). Phần mềm hệ quản trị cơ sở dữ liệu
và những người sử dụng cơ sở dữ liệu sử dụng từ điển để lấy thông tin về cấu trúc của
cơ sở dữ liệu.
2. Sự độc lập giữa chương trình và dữ liệu.
Trong hệ thống tệp, cấu trúc của các tệp cơ sở dữ liệu được nhúng vào trong các
chương trình truy cập, vì vậy bất kỳ một thay đổi nào về cấu trúc của một tệp cũng đòi
hỏi phải thay đổi tất cả các chương trình truy cập đến tệp đó. Ngược lại, các chương

trình truy cập của hệ quản trị cơ sở dữ liệu không đòi hỏi việc thay đổi như thế. Cấu
trúc của các tệp dữ liệu được lưu trữ trong từ điển tách rời với các chương trình truy
cập. Tính chất này gọi là sự độc lập dữ liệu – chương trình.
3. Hỗ trợ các khung nhìn dữ liệu nhiều thành phần.
Một cơ sở dữ liệu có nhiều người sử dụng, mỗi một người có thể đòi hỏi một phối
cảnh hoặc một khung nhìn (view) khác nhau. Một khung nhìn có thể là một tập con
của cơ sở dữ liệu hoặc nó có thể chứa các dữ liệu ảo, đó là các dữ liệu được trích ra từ
các tệp cơ sở dữ liệu khác nhau nhưng không được lưu trữ một cách rõ ràng. Một hệ
quản trị cơ sở dữ liệu nhiều người sử dụng phải cung cấp nhiều công cụ để định nghĩa
các khung nhìn nhiều thành phần.
4. Chia sẻ dữ liệu và nhiều người sử dụng.
Một hệ quản trị cơ sở dữ liệu nhiều người sử dụng phải cho phép nhiều người sử dụng
truy cập đồng thời đến cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu phải có phần mềm kiểm
tra cạnh tranh để đảm bảo rằng các người sử dụng cập nhật đến cùng một cơ sở dữ liệu
phải được thực hiện theo cách được kiểm tra để cho kết quả của các cập nhật là đúng
đắn.
1.3.4. Lược đồ và trạng thái cơ sở dữ liệu
Trong một mô hình dữ liệu cần phải phân biệt rõ giữa mô tả của cơ sở dữ liệu và bản
thân cơ sở dữ liệu. Mô tả của một cơ sở dữ liệu được gọi là lược đồ cơ sở dữ liệu, nó
được xác định rõ trong quá trình thiết kế cơ sở dữ liệu và không bị thay đổi thường
xuyên. Đa số các mô hình dữ liệu có các quy ước hiển thị các lược đồ. Hiển thị của
13
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


một lược đồ được gọi là biểu đồ của lược đồ đó. Một biểu đồ lược đồ chỉ thể hiện một
vài khía cạnh của lược đồ như là các kiểu bản ghi, các mục dữ liệu và một số kiểu ràng
buộc. Các khía cạnh khác không được thể hiện trong biểu đồ lược đồ.
Các dữ liệu trong một cơ sở dữ liệu có thể thay đổi một cách thường xuyên. Các dữ
liệu trong một cơ sở dữ liệu tại một thời điểm cụ thể được gọi là một trạng thái cơ sở

dữ liệu hoặc là ảnh (snapshot) của cơ sở dữ liệu. Nhiều trạng thái quan hệ có thể được
xây dựng để làm tương ứng với một lược đồ cơ sở dữ liệu cụ thể. Mỗi khi chúng ta
chèn vào hoặc loại bỏ một bản ghi, sửa đổi giá trị của một mục dữ liệu trong một bản
ghi, chúng ta đã làm thay đổi trạng thái của cơ sở dữ liệu sang một trạng thái khác.
Việc phân biệt giữa lược đồ cơ sở dữ liệu và trạng thái cơ sở dữ liệu là rất quan trọng.
Khi chúng ta định nghĩa một cơ sở dữ liệu mới, ta chỉ đặc tả lược đồ cơ sở dữ liệu cho
hệ quản trị cơ sở dữ liệu. Tại thời điểm này, trạng thái của cơ sở dữ liệu là một trạng
thái rỗng, không có dữ liệu. Chúng ta nhận được trạng thái ban đầu của cơ sở dữ liệu
khi ta nhập dữ liệu lần đầu tiên. Từ đó trở đi, mỗi khi một phép toán cập nhật được
thực hiện đối với cơ sở dữ liệu, chúng ta nhận được một trạng thái cơ sở dữ liệu khác.
Tại mọi thời điểm, cơ sở dữ liệu có một trạng thái hiện tại. Hệ quản trị cơ sở dữ liệu có
trách nhiệm đảm bảo rằng mỗi trạng thái cơ sở dữ liệu là một trạng thái vững chắc,
nghĩa là một trạng thái thoả mãn cấu trúc và các ràng buộc được đặc tả trong lược đồ.
Vì vậy, việc đặc tả một lược đồ đúng đắn cho hệ quản trị cơ sở dữ liệu là một việc làm
cực kỳ quan trọng và lược đồ phải được thiết kế một cách cẩn thận. Hệ quản trị cơ sở
dữ liệu lưu trữ các mô tả của các cấu trúc lược đồ và các ràng buộc – còn gọi là siêu
dữ liệu – vào trong từ điển (catalog) của hệ quản trị sao cho phần mềm hệ quản trị cơ
sở dữ liệu có thể tham khảo đến lược đồ khi nó cần. Đôi khi người ta còn gọi lược đồ
là mục tiêu (intension) và trạng thái cơ sở dữ liệu là mở rộng (extension) của lược đồ.
c. Người dùng (User)
Người dùng khai thác CSDL thông qua HQTCSDL có thể phân thành ba loại: người
quản trị CSDL, thiết kế viên, người dùng cuối.
+ Người quản trị: Có trách nhiệm quản lý hệ CSDL
- Cấp quyền truy cập CSDL
- Điều phối và giám sát việc sử dụng CSDL
+ Thiết kế viên:
 Chịu trách nhiệm về
- Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu
- Quyết định những dữ liệu nào cần được lưu trữ
 Liên hệ với người dùng để nắm bắt được những yêu cầu và đưa ra một thiết kế

CSDL thỏa yêu cầu này
 Có thể là 1 nhóm các DBA quản lý các CSDL sau khi việc thiết kế hoàn tất
+ Người dùng cuối
 Người ít sử dụng

14
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau trong mỗi
lần truy cập và dùng những câu truy vấn phức tạp
- Người quản lý
 Người sử dụng thường xuyên
- Thường xuyên truy vấn và cập nhật CSDL nhờ vào một số các chức
năng đã được xây dựng sẳn
- Nhân viên
 Người sử dụng đặc biệt
- Thông thạo về HQT CSDL, tự xây dựng những truy vấn phức tạp cho
công việc
- Kỹ sư, nhà khoa học, người phân tích,…
d. Kiến trúc của cơ sở dữ liệu
-


-

Mức trong (lược đồ trong)
Mô tả cấu trúc lưu trữ vật lý CSDL
Mức quan niệm (lược đồ quan niệm)
Mô tả cấu trúc của toàn thể CSDL cho 1 cộng đồng người sử dụng, gồm thực

thể, kiểu dữ liệu, mối liên hệ và ràng buộc
Che bớt các chi tiết của cấu trúc lưu trữ vật lý

 Mức ngoài (lược đồ ngoài)
- Còn gọi là mức khung nhìn (view)
- Mô tả một phần của CSDL mà 1 nhóm người dùng quan tâm đến và che dấu
phần còn lại của CSDL đối với nhóm người dùng đó
1.4. 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.
Các loại cấu trúc cơ sở dữ liệu và mối liên hệ giữa chúng đóng vai trò rất lớn trong
việc xác định tính hiệu quả của hệ quản trị cơ sở dữ liệu. Vì vậy, thiết kế cơ sở dữ liệu
trở thành hoạt động chính trong môi trường cơ sở dữ liệu.
Việc thiết kế cơ sở dữ liệu được thực hiện đơn giản hơn nhiều khi ta sử dụng các mô
hình. Các mô hình là sự trừu tượng đơn giản của các sự kiện trong thế giới thực.
Các trừu tượng như vậy cho phép ta khảo sát các đặc điểm của các thực thể và các mối
liên hệ được tạo ra giữa các thực thể đó. Việc thiết kế các mô hình tốt sẽ đưa ra các cơ
sở dữ liệu tốt và trên cơ sở đó sẽ có các ứng dụng tốt. Ngược lại, mô hình không tốt sẽ
đưa đến thiết kế cơ sở dữ liệu tồi và dẫn đến các ứng dụng không đúng.
Một mô hình cơ sở dữ liệu là một tập hợp các khái niệm (kí hiệu) dùng để biểu
diễn các cấu trúc của cơ sở dữ liệu. Cấu trúc của một cơ sở dữ liệu là các kiểu dữ liệu,

15
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


các mối liên kết và các ràng buộc phải tuân theo trên các dữ liệu. Nhiều mô hình còn

có thêm một tập hợp các phép toán cơ bản để đặc tả các thao tác
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.
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,…
Trong phần tiếp theo sau đây, chúng tôi sẽ trình bày về mô hình dữ liệu tiêu biểu nhất
để thiết kế (bước đầu) một ứng dụng tin học đó là mô hình thực thể kết hợp. Trong các
chương còn lại của giáo trình này chúng tôi sẽ trình bày về mô hình dữ liệu quan hệ.
Các loại mô hình cơ sở dữ liệu
Có rất nhiều mô hình dữ liệu đã được đề nghị. Chúng ta có thể phân loại các mô hình
dữ liệu dựa trên các khái niệm mà chúng sử dụng để mô tả các cấu trúc cơ sở dữ liệu.
Các mô hình dữ liệu bậc cao hoặc mô hình dữ liệu mức quan niệm cung cấp các khái
niệm gắn liền với cách cảm nhận dữ liệu của nhiều người sử dụng. Các mô hình này
tập trung vào bản chất logic của biểu diễn dữ liệu, nó quan tâm đến cái được biểu diễn
trong cơ sở dữ liệu chứ không phải cách biểu diễn dữ liệu.
Các mô hình dữ liệu bậc thấp hoặc các mô hình dữ liệu vật lý cung cấp các khái niệm
mô tả chi tiết về việc các dữ liệu được lưu trữ trong máy tính như thế nào. Các khái
niệm do mô hình dữ liệu vật lý cung cấp nói chung có ý nghĩa đối với các chuyên gia
máy tính chứ không có ý nghĩa mấy đối với người sử dụng thông thường. Ở giữa hai
loại mô hình này là một lớp các mô hình dữ liệu thể hiện, chúng cung cấp những khái
niệm mà người sử dụng có thể hiểu được và không xa với cách tổ chức dữ liệu bên

trong máy tính. Người ta còn gọi loại mô hình dữ liệu này là loại mô hình dữ liệu mức
logic. Các mô hình dữ liệu thể hiện che giấu một số chi tiết về việc lưu trữ dữ liệu
nhưng có thể được cài đặt trực tiếp trên hệ thống máy tính.
chúng ta sẽ nghiên cứu một mô hình dữ liệu mức quan niệm, mô hình thực thể - liên
kết, gọi tắt là mô hình ER (Entity – Relationship Model). Mô hình này sử dụng các
khái niệm thực thể, thuộc tính, mối liên kết, để diễn đạt các đối tượng của thế giới
thực. Một thực thể diễn đạt một đối tượng hoặc một khái niệm của thế giới thực. Ví
dụ, một thực thể là một nhân viên hoặc một dự án được mô tả trong cơ sở dữ liệu. Một
thuộc tính diễn đạt một đặc trưng nào đó của thực thể. Chẳng hạn, họ tên, lương… là
16
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


các thuộc tính của thực thể nhân viên. Một mối liên kết giữa hai hay nhiều thực thể
diễn đạt một mối quan hệ qua lại giữa các thực thể. Ví dụ, giữa thực thể nhân viên và
thực thể dự án có mối liên kết một nhân viên
làm việc trên một dự án. Mô hình dữ liệu hướng đối tượng cũng là một mô hình dữ
liệu bậc cao. Nó sử dụng các khái niệm như lớp, phương thức, thông điệp… Bạn đọc
có thể tìm hiểu về mô hình này trong các tài liệu [1], [2].
Các mô hình dữ liệu thể hiện là các mô hình được sử dụng thường xuyên nhất trong
các hệ cơ sở dữ liệu thương mại. Ba mô hình nổi tiếng thuộc loại này là mô hình quan
hệ, mô hình mạng và mô hình phân cấp. Các mô hình mạng và phân cấp ra đời trước
và được sử dụng rộng rãi trong quá khứ (trước 870). Vào đầu những năm 70, mô hình
quan hệ ra đời. Do tính ưu việt của nó, mô hình quan hệ dần dần thay thế các mô hình
mạng và phân cấp. Chúng ta sẽ nghiên cứu về mô hình quan hệ.
Các mô hình dữ liệu vật lý mô tả cách lưu trữ dữ liệu trong máy tính giới thiệu các
thông tin như khuôn dạng bản ghi, sắp xếp bản ghi, đường truy cập…
1.4.1. Mô hình thực thể - liên kết (thực thể -quan hệ)
Hiện nay mô hình dữ liệu quan hệ thường được dùng trong các hệ quản trị CSDL, đây
là mô hình dữ liệu ở mức vật lý. Để thành lập được mô hình này, thường là phải dùng

mô hình dữ liệu ở mức quan niệm để đặc tả, một trong những mô hình ở dạng đó là mô
hình thực thể quan hệ (sau đó mới dùng một số quy tắc để chuyển hệ thống từ mô
hình này về mô hình dữ liệu quan hệ).
1.4.2. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ (Ralational Data Model)- gọi tắt là mô hình quan
hệ, do EF.Codd đề xuất năm 870. Nền tảng lý thuyết của nó là khái niệm lý thuyết tập
hợp trên các quan hệ, tức là tập của các bộ giá trị.
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.
1.4.3. Mô hình dữ liệu mạng
Mô hình dữ liệu mạng (Network Data Model) - còn được gọi tắt là mô hình mạng hoặc
mô hình lưới (Network Model) là mô hình được biểu diễn bởi một đồ thị có hướng.
Trong mô hình này người ta đưa vào các khái niệm: mẫu tin hay bản ghi (Record), loại
mẫu
tin
(Record
Type)

loại
liên
hệ
(Set
Type):
(a) Loại mẫu tin (Recorde Type) là mẫu đặc trưng cho 1 loại đối tượng riêng biệt.
Chẳng hạn như trong việc quản lý nhân sự tại một đơn vị, đối tượng cần phản ảnh của
thế giới thực có thể là Phòng, Nhân viên, Công việc, lý lịch ... do đó có các loại mẫu
tin đặc trưng cho từng đối tượng này. Trong đồ thị biểu diễn mô hình mạng mỗi loại
mẫu tin được biểu diễn bởi một hình chữ nhật, một thể hiện (Instance) của một loại

mẫu tin được gọi là bản ghi. Trong ví dụ trên loại mẫu tin Phòng có các mẫu tin là các
phòng, ban trong đơn vị; loại mẫu tin nhân viên có các mẫu tin là các nhân viên đang
17
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


làm
việc
tại
các
phòng
ban
của

quan...
(b) Loại liên hệ (Set Type) là sự liên kết giữa một loại mẫu tin chủ với một loại mẫu
tin thành viên. Trong đồ thị biểu diễn mô hình mạng mỗi loại liên hệ được biểu diễn
bởi một hình bầu dục (oval) và sự liên kết giữa 2 loại mẫu tin được thể hiện bởi các
cung có hướng (các mũi tên) đi từ loại mẫu tin chủ tới loại liên hệ và từ loại liên hệ tới
loại
mẫu
tin
thành
viên.
Trong loại liên kết người ta còn chỉ ra số lượng các mẫu tin tham gia trong mối kết
hợp. Có các loại liên hệ sau:
 1 - 1 (One-to-One): Mỗi mẫu tin của loại mẫu tin chủ chi kết hợp với đúng 1
mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi nhân viên có duy nhất một lý
lịch cá nhân.
 1- n (One-to-Many): Mỗi mẫu tin của loại mẫu tin chủ chi kết hợp với 1 hay

nhiều mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi phòng ban có từ 1 đến
nhiều nhân viên. Mỗi 1 nhân viên chỉ thuộc một phòng ban nhất định.
 n-1 (Many-to-One): Nhiều mẫu tin của loại mẫu tin chủ chỉ kết hợp với đúng 1
mẫu tin của loại mẫu tin thành viên. Ví dụ, nhiều nhân viên cùng làm một
công việc.
Đệ quy (Recursive): Một loại mẫu tin chủ cũng có thể đồng thời là loại mẫu tin
thành viên với chính nó. Ta nói rằng loại liên hệ này là đệ quy.
Ví dụ về mô hình dữ liệu mạng đối với CSDL nhân sự của một đơn vị.
Trong đồ thị này, chúng ta có 4 loại mẫu tin: PHÒNG, NHÂN-VIÊN, CÔNG-VIỆC
và LÝ-LỊCH;
4 loại liên kết:
phòng gồm 1 đến nhiều nhân-viên;
• nhân-viên có đúng 1 lý-lịch;
• nhiều nhân-viên cùng làm một công-việc;
• 1 nhân-viên có thể có 1 hay nhiều nhân-viên là thân nhân của mình.
1.4.4. Mô hình dữ liệu phân cấp
 Mô hình dữ liệu phân cấp (Hierachical Data Model) - được gọi tắt là mô hình
phân cấp (Hierachical Model): Mô hình là một cây (Tree), trong đó mỗi nút của
cây biểu diễn một thực thể, giữa nút con và nút cha được liên hệ với nhau theo
một mối quan hệ xác định.
Mô hình dữ liệu phân cấp sử dụng các khái niệm sau:
(a) Loại mẫu tin: giống khái niệm mẫu tin trong mô hình dữ liệu mạng.
(b) Loại mối liên hệ: Kiểu liên hệ là phân cấp, theo cách:
Mẫu tin thành viên chỉ đóng vai trò thành viên của một mối liên hệ duy nhất,
tức là nó thuộc một chủ duy nhất. Như vậy, mối liên hệ từ mẫu tin chủ tới các
mẫu tin thành viên là 1n, và từ mẫu tin (hay bản ghi - record) thành viên với
mẫu tin chủ là 11.
Giữa 2 loại mẫu tin chỉ tồn tại 1 mối liên hệ duy nhất.
18
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên



Ví dụ: Mẫu phiếu điều tra dân số
Các dòng là các mẫu tin (hay bản ghi) có độ dài thay đổi.
Có 6 loại mẫu tin:
Mẫu tin đặc trưng cho tỉnh, thành phố gồm: Mã số tỉnh thành, Tên tỉnh thành
phố. '02' là Mã số Thành phố Hồ Chí Minh.
·
Mẫu tin đặc trưng cho quận huyện gồm Mã số tỉnh thành + Mã số quận
huyện, Tên quận huyện trong tỉnh thành phố đó. '0201' là Mã số quận Nhất của
TP.Hồ Chí Minh.
·
Mẫu tin đặc trưng cho phường xã gồm Mã số tỉnh thành + Mã số quận
huyện + Mã số phường xã, Tên phường xã thuộc quận huyện trong tỉnh thành
phố đó. '020101' là Mã số phường Bến Nghé, Quận Nhất, TP.Hồ Chí Minh.
.
Mẫu tin đặc trưng cho địa bàn điều tra trong một phường xã. '02010101' là
mã số địa bàn điều tra số 01 trong phường Bến Nghé.
·
Mẫu tin đặc trưng cho hộ điều tra, gồm Mã số tỉnh + Mã số quận + Mã số
phường + Mã số địa bàn + Số thứ tự hộ điều tra trong địa bàn, Tổng số nhân
khẩu trong hộ, Trong đó: Nữ, Tổng số trẻ dưới 16 tuổi.
·
Mẫu tin đặc trưng cho nhân khẩu của hộ, gồm các thông tin xác định hộ
điều tra, Số thứ tự nhân khẩu trong hộ, Quan hệ với chủ hộ (8), Giới tính
(1,2,3), Tháng sinh, Năm sinh, Trình độ văn hóa, ...
Ở đây rõ ràng là một sự phân cấp trong file CSDL.
Một tỉnh thành phố (thì) có nhiều quận huyện, một quận huyện chỉ thuộc một
tỉnh thành duy nhất. Một quận huyện (thì) có nhiều phường xã và một phường
xã chỉ thuộc một quận huyện duy nhất. Mỗi phường xã được chia thành nhiều

địa bàn điều tra, mỗi địa bàn chỉ thuộc một phường xã duy nhất v.v...

19
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


2. MÔ HÌNH THỰC THỂ - LIÊN KẾT
Trong chương này chúng ta sẽ làm quen với mô hình thực thể - liên kết, gọi tắt là mô
hình ER ( Entity-Relationship Model). Đó là một mô hình dữ liệu mức quan niệm phổ
biến, tập trung vào các cấu trúc dữ liệu và các ràng buộc. Mô hình này thường được sử
dụng để thiết kế các ứng dụng cơ sở dữ liệu và nhiều công cụ thiết kế cơ sở dữ liệu sử
dụng các khái niệm của nó.
2.1. Sử dụng mô hình quan niệm bậc cao cho việc thiết kế cơ sở dữ liệu
Quá trình thiết kế một cơ sở dữ liệu sử dụng mô hình quan niệm bậc cao được minh
họa bằng hình 2-1
Bước đầu tiên là tập hợp các yêu cầu và phân tích. Trong bước này, người thiết kế cơ
sở dữ liệu phỏng vấn những người sử dụng cơ sở dữ liệu để hiểu và làm tài liệu về các
yêu cầu về dữ liệu của họ. Kết quả của bước này là một tập hợp ghi chép súc tích về
các yêu cầu của những người sử dụng. Những yêu cầu sẽ được đặc tả càng đầy đủ và
chi tiết càng tốt. Song song với việc đặc tả các yêu cầu dữ liệu, cần phải đặc tả các yêu
cầu về chức năng của ứng dụng: đó là các thao tác do người sử dụng định nghĩa sẽ
được áp dụng đối với cơ sở dữ liệu.
Mỗi khi tất cả các yêu cầu đã được thu thập và phân tích, bước tiếp theo là tạo ra lược
đồ quan niệm cho cơ sở dữ liệu bằng cách sử dụng mô hình dữ liệu quan niệm mức
cao. Bước này gọi là thiết kế quan niệm. Lược đồ quan niệm là một mô tả súc tích về
các yêu cầu dữ liệu của những người sử dụng. Nó bao gồm các mô tả chi tiết của các
kiểu thực thể, kiểu liên kết và các ràng buộc, chúng được biểu diễn bằng các khái niệm
do các mô hình dữ liệu bậc cao cung cấp. Lược đồ quan niệm mức cao cũng có thể
được sử dụng như một dẫn chứng để đảm bảo rằng tất cả các đòi hỏi của người sử
dụng đều thỏa mãn và các đòi hỏi này không chứa các mâu thuẫn. Giải pháp này cho

phép những người thiết kế cơ sở dữ liệu tập trung vào việc đặc tả các tính chất của dữ
liệu mà không cần quan tâm đến các chi tiết lưu trữ. Một thiết kế cơ sở dữ liệu quan
niệm tốt sẽ làm dễ cho công việc của những người thiết kế cơ sở dữ liệu.
Trong quá trình (hoặc sau khi) thiết kế lược đồ quan niệm, chúng ta có thể sử dụng các
phép toán cơ bản của mô hình dữ liệu để đặc tả các thao tác của người sử dụng được
xác định trong khi phân tích chức năng. Điều đó cũng giúp khẳng định rằng lược đồ
quan niệm thỏa mãn mọi yêu cầu chức năng được xác định. Nếu có một số yêu cầu
chức năng không thể nêu ra được trong lược đồ ban đầu thì ở bước này có thể có sự
sửa đổi lược đồ quan niệm cho phù hợp.
Bước tiếp theo trong việc thiết kế cơ sở dữ liệu là việc cài đặt một cơ sở dữ liệu bằng
cách sử dụng một hệ quản trị cơ sở dữ liệu có sẵn. Hầu hết các hệ quản trị cơ sở dữ
liệu sử dụng một mô hình dữ liệu cài đặt (thể hiện), chẳng hạn như mô hình quan hệ
hoặc đối tượng, vì vậy lược đồ quan niệm được chuyển từ mô hình dữ liệu bậc cao
thành mô hình dữ liệu cài đặt. Bước này gọi là thiết kế logic hoặc là ánh xạ mô hình dữ
20
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


liệu. Kết quả của bước này là một lược đồ cơ sở dữ liệu dưới dạng một mô hình dữ
liệu cài đặt của hệ quản trị cơ sở dữ liệu.
Bước cuối cùng trong thiết kế cơ sở dữ liệu là thiết kế vật lý. Trong bước này ta phải
chỉ ra các cấu trúc bên trong, các đường dẫn truy cập, tổ chức tệp cho các tệp cơ sở dữ
liệu. Song song với các hoạt động đó, các chương trình ứng dụng cũng được thiết kế
và cài đặt như là các giao tác (transaction) cơ sở dữ liệu tương ứng với các đặc tả giao
tác mức cao.
Thế giới thực

TẬP HỢP VÀ PHÂN TÍCH
CÁC YÊU CẦU


Các yêu cầu chức năng

PHÂN TÍCH CHỨC NĂNG

Đặc tả giao tác mức cao
(Độc lập với hệ QTCSDL)

THIẾT KẾ CHƯƠNG TRÌNH
ỨNG DỤNG

Các yêu cầu cơ sở dữ liệu
THIẾT KẾ QUAN NIỆM

Lược đồ quan niệm
THIẾT KẾ LÔ GIC

Lược đồ lô gic
THIẾT KẾ VẬT LÝ

CÀI ĐẶT GIAO TÁC

Lược đồ bên trong

Các chương trình ứng dụng
Hình 2-1. Sơ đồ mô tả các bước chính của việc thiết kế
2.2. Các thành phần cơ bản của mô hình ER
2.2. 1. Thực thể và thuộc tính
Đối tượng được trình bày trong mô hình ER là thực thể. Thực thể là một “vật” trong
thế giới thực, có sự tồn tại độc lập. Một thực thể có thể là cụ thể, tức là chúng ta có thể
cảm nhận được bằng các giác quan, hoặc có thể là trừu tượng, tức là cái mà chúng ta

21
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


không cảm nhận được bằng các giác quan nhưng có thể nhận biết được bằng nhận
thức. Một cái ô tô, một nhân viên,… là những thực thể cụ thể. Một đơn vị công tác,
một trường học… là những thực thể trừu tượng.
Mỗi một thực thể có các thuộc tính, đó là các đặc trưng cụ thể mô tả thực thể đó. Ví
dụ, một thực thể Nhânviên được mô tả bằng Họtên, Tuổi, Địachỉ, Lương… của nhân
viên đó. Một thực thể cụ thể sẽ có một giá trị cho mỗi thuộc tính của nó. Ví dụ, nhân
viên nv1 có các giá trị cho các thuộc tính Họtên, Tuổi, Địachỉ, Lương của nó là “ Lê
Vân”, 32, “Hà nội”, 500000. Các giá trị thuộc tính mô tả mỗi thực thể sẽ trở thành một
phần chính của các dữ liệu sẽ được lưu giữ trong cơ sở dữ liệu. Trong mô hình ER có
mặt nhiều kiểu thuộc tính: thuộc tính đơn, thuộc tính phức hợp, thuộc tính đơn trị,
thuộc tính đa trị, thuộc tính được lưu trữ, thuộc tính suy diễn được, thuộc tính có giá trị
không xác định, thuộc tính phức tạp.
Thuộc tính đơn là thuộc tính không thể phân chia ra được thành các thành phần nhỏ
hơn. Ví dụ, thuộc tính Tuổi của một nhân viên là một thuộc tính đơn. Thuộc tính phức
hợp là thuộc tính có thể phân chia được thành các thành phần nhỏ hơn, biểu diễn các
thuộc tính cơ bản hơn với các ý nghĩa độc lập.
Những thuộc tính có giá trị duy nhất cho một thực thể cụ thể gọi là các thuộc tính đơn
trị. Ví dụ, Họtên là một thuộc tính đơn trị của thực thể nhân viên, mỗi nhân viên có
một họ tên duy nhất. Trong một số trường hợp, một thuộc tính có thể có một tập giá trị
cho cùng một thực thể. Những thuộc tính như vậy gọi là thuộc tính đa trị. Ví dụ, thuộc
tính Bằngcấp của một người. Một người có thể không có bằng cấp nào, người khác có
thể có một bằng, người khác nữa có thể có nhiều bằng. Như vậy, các người khác nhau
có thể có một số giá trị khác nhau cho thuộc tính Bằngcấp. Thuộc tính Bằngcấp là một
thuộc tính đa trị.
Thuộc tính được lưu trữ là các thuộc tính mà giá trị của nó được nhập vào khi cài đặt
cơ sở dữ liệu. Trong một số trường hợp, hai hay nhiều thuộc tính có giá trị liên quan

đến nhau. Ví dụ, thuộc tính Tuổi và thuộc tính Ngàysinh của một người. Với một
người cụ thể, ta có thể tính tuổi của anh ta bằng cách lấy năm hiện tại trừ đi năm của
Ngàysinh. Thuộc tính mà giá trị của nó có thể tính được thông qua giá trị của các
thuộc tính khác gọi là thuộc tính suy diễn được.
Các giá trị không xác định (null values): Trong một số trường hợp, một thực thể cụ thể
có thể không có các giá trị áp dụng được cho một thuộc tính. Ví dụ, thuộc tính
Sốđiệnthoại của thực thể nhân viên sẽ không có giá trị đối với các nhân viên không có
số điện thoại. Trong trường hợp như vậy, ta phải tạo ra một giá trị đặc biệt gọi là giá trị
không xác định (null). Giá trị không xác định được tạo ra khi một thuộc tính có giá trị
không áp dụng được hoặc khi không biết.
Các thuộc tính phức tạp: Là sự kết hợp của các thuộc tính phức hợp và đa trị.
2.2. 2. Kiểu thực thể, tập thực thể, khóa và tập giá trị
Các kiểu thực thể và các tập thực thể: Một cơ sở dữ liệu thường chứa những nhóm
thực thể như nhau. Ví dụ, một công ty thuê hàng trăm nhân viên và lưu giữ những
22
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


thông tin tương tự liên quan đến mỗi nhân viên. Các thực thể nhân viên này chia sẻ các
thuộc tính giống nhau nhưng mỗi thực thể có các giá trị riêng cho các thuộc tính đó.
Một kiểu thực thể là một tập hợp các thực thể có các thuộc tính như nhau. Một
kiểu thực thể trong cơ sở dữ liệu được mô tả bằng tên và các thuộc tính. Vídụ:
NHÂNVIÊN (Họtên, Tuổi, Lương), CÔNGTY (Tên, Địađiểm, Giámđốc). Một tập hợp
các thực thể của một kiểu thực thể cụ thể trong cơ sở dữ liệu tại một thời điểm được
gọi là một tập thực thể, nó thường được tham chiếu đến bằng cách sử dụng tên của
kiểu thực thể. Ví dụ, NHÂNVIÊN vừa dùng để chỉ một kiểu thực thể, vừa để chỉ tập
hợp hiện tại của tất cả các thực thể nhân viên trong cơ sở dữ liệu. Hình 2-2 minh họa
các kiểu thực thể NHÂNVIÊN, CÔNGTY và các tập thực thể tương ứng.
Một kiểu thực thể được biểu diễn trong lược đồ ER như là một hộp hình chữ nhật có
chứa tên kiểu thực thể. Các thuộc tính được đặt trong các hình ô van và được nối với

các kiểu thực thể bằng các đường thẳng. Các thuộc tính phức hợp cũng được nối với
các thuộc tính thành phần của nó bằng đường thẳng. Các thuộc tính đa trị được hiển thị
trong các hình ô van đúp (hình 2-3).
Một kiểu thực thể mô tả một lược đồ (hoặc một mục đích) cho một tập các thực thể
chia sẻ cùng một cấu trúc. Tập hợp các thực thể của một kiểu thực thể cụ thể được
nhóm vào một tập thực thể và được gọi là một thể hiện của một kiểu thực thể.
NHÂNVIÊN
(Họtên, Tuổi, Lương)
Nv1
(Lê Lan, 30, 800000)
Nv2
(Trần Bá, 45, 1000000)
Nv3
(Hoàng Vân, 14, 600000)

CÔNGTY
(Tên, Địadiểm, Giámđốc)
Ct1
(CT Phần mềm, Hà nội, Vũ An)
Ct2
(CT Hoa quả, Hải phòng, Lê Hà)
Ct3
(CT Máy tính, Hà nội, Phan Anh)

Hình 2-2. Kiểu thực thể và tập thực thể
Thuộc tính khóa của một kiểu thực thể: Một ràng buộc quan trọng trên các thực thể của
một kiểu thực thể là khóa. Một kiểu thực thể thường có một thuộc tính mà các giá trị
của nó là khác nhau đối với mỗi thực thể tiêng biệt trong một tập thực thể. Thuộc tính
như vậy gọi là thuộc tính khóa và các giá trị của nó có thể dung để xác định từng thực
thể một cách duy nhất. Ví dụ, thuộc tính Tên của kiểu thực thể CÔNGTY là khóa của

kiểu thực thể đó vì mỗi thực thể công ty có một tên duy nhất. Đôi khi, nhiều thuộc tính
kết hợp với nhau tạo thành một khóa, nghĩa là tổ hợp các giá trị của các thuộc tính này
phải khác nhau đối với mỗi thực thể. Trong trường hợp như vậy ta có một thuộc tính
khóa phức hợp. Chú ý rằng khóa phức hợp phải tối thiểu, nghĩa là tất cả các thuộc tính
thành phần phải có mặt trong thuộc tính phức hợp để thỏa mãn tính chất duy nhất.
23
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


Trong biểu đồ đồ họa của mô hình ER, thuộc tính khóa được biểu diễn bằng cách gạch
ngang dưới tên của nó (hình 2-3).
Khi chỉ ra rằng một thuộc tính là khóa của một kiểu thực thể nghĩa là tính chất duy
nhất nêu trên phải được thỏa mãn đối với đối với mỗi mở rộng của kiểu thực thể. Như
vậy, ràng buộc khóa cấm hai thực thể bất kỳ có giá trị cho thuộc tính khóa như nhau
tại cùng một thời điểm. Đó là một ràng buộc trên tất cả các thể hiện của thực thể. Ràng
buộc khóa cũng như các ràng buộc sẽ được giới thiệu về sau được lấy ra từ các ràng
buộc của “thế giới nhỏ” của cơ sở dữ liệu.
Một kiểu thực thể có thể có nhiều hơn một thuộc tính khóa. Ví dụ, nếu một công ty có
một mã số duy nhất và một tên duy nhất thì các thuộc tính Mãsốcông ty và Têncôngty
đều là các thuộc tính khóa. Một kiểu thực thể cũng có thể không có khóa. Một thực thể
không có khóa được gọi là kiểu thực thể yếu.
Họđệm

MãsốNV

Tên

Họtên

Ngàysinh


Bằngcấp

NHÂNVIÊN

Hình 2-3. Biểu diễn kiểu thực thể và các thuộc tính
Miền giá trị của các thuộc tính: Mỗi thuộc tính đơn của một kiểu thực thể được kết
hợp với một miền giá trị. Đó là một tập các giá trị có thể gán cho thuộc tính này đối
với mỗi thực thể riêng biệt. Các miền giá trị không hiển thị trong các sơ đồ ER.
Một cách toán học, một thuộc tính A của kiểu thực thể E có tập giá trị V có thể được
định nghĩa như là một hàm từ E vào tập hợp lực lượng P(V) của V:
A: E → P(V)
Ta ký hiệu giá trị của thuộc tính A đối với thực thể e là A(e). Định nghĩa ở trên đúng
cho các thuộc tính đơn trị, đa trị và thuộc tính không xác định. Một giá trị không xác
định được biểu diễn bằng một tập rỗng. Với các thuộc tính đơn trị, A(e) là một giá trị
đơn cho thực thể e. Các thuộc tính đa trị không có các hạn chế trên A(e). Với một
thuộc tính phức hợp A, tập giá trị V là tích Đề các của P(V1)x P(V2)x….xP(Vn), trong
đó V1, V2, …, Vn là tập các giá trị cho các thành phần đơn của A.
2.2.3. Kiểu liên kết, tập liên kết và các thể hiện
Một kiểu liên kết R giữa n kiểu thực thể E1, E2, …,En xác định một tập liên kết giữa
các thực thể của các kiểu đó. Cũng như các kiểu thực thể và tập thực thể, một kiểu liên
kết và tập liên kết tương ứng với nó cũng có tên chung là R. Một cách toán học, tập
liên kết R là một tập hợp các thể hiện liên kết ri , i= 1,2,… trong đó mỗi ri liên kết n
thực thể riêng biệt e1,e2,…,en và mỗi một thực thể ej trong ri là một thành phần của
24
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


kiểu thực thể Ej , 1≤ j ≤ n. Như vậy, một kiểu liên kết R là một quan hệ toán học trên
E1, E2, …, En hoặc có thể định nghĩa như là một tập con của tích Đề các E1 x E2 x …x

En. Mỗi kiểu thực thể E1,E2, …, En được gọi là tham gia vào kiểu liên kết R, và tương
tự, mỗi thực thể riêng biệt e1, e2, …, en được gọi là tham gia vào thể hiện liên kết ri = (
e1,e2,…,en).
Một cách không hình thức, mỗi thể hiện liên kết ri trong R là một sự kết hợp của các
thực thể, mỗi thực thể thuộc về một kiểu thực thể tham gia vào liên kết. Mỗi liên kết r i
như vậy diễn đạt một sự kiện rằng các thực thể tham gia trong ri có mối quan hệ với
nhau theo một cách nào đó ở trong thế giới thực. Ví dụ, trong thực tế, các nhân viên
làm việc cho các đơn vị, như vậy, có một kiểu liên kết liên kết làm việc cho, liên kết
giữa kiểu thực thể NHÂNVIÊN và kiểu thực thể ĐƠNVỊ.
Trong sơ đồ ER, kiểu liên kết được biểu diễn bằng một hình thoi nối trực tiếp với các
hình chữ nhật biểu diễn các kiểu thực thể tham gia vào liên kết. Hình 2-4 minh họa
kiểu liên kết và thể hiện liên kết
a) Kiểu liên kết
NHÂNVIÊN

Làm việc
cho

ĐƠNVỊ

b) Thể hiện liên kết
NHÂNVIÊN
Nv1
Nv2
Nv3
Nv4


làm việc cho


ĐƠNVỊ

.

Đv1

.

Đv2

Hình 2-4. Kiểu liên kết và thể hiện liên kết
2.2.4.Cấp liên kết, tên vai trò và kiểu liên kết đệ quy
Cấp của một kiểu liên kết là số các kiểu thực thể tham gia vào kiểu liên kết đó. Một
kiểu liên kết có thể có cấp 1, cấp 2, cấp 3,…. Ví dụ, kiểu liên kết <làm việc cho> giữa
kiểu thực thể NHÂNVIÊN và kiểu thực thể ĐƠNVỊ là một kiểu liên kết cấp 2. Kiểu
liên kết <biết trước> giữa kiểu thực thể MÔNHỌC với chính nó là một kiểu liên kết
cấp 1…
Đôi khi chúng ta có thể coi một kiểu liên kết như một thuộc tính của một kiểu thực thể.
Ví dụ, nếu kiểu thực thể NHÂNVIÊN có thuộc tính Đơnvị để chỉ ra tên đơn vị mà
nhân viên làm việc cho, thì thuộc tính Đơnvị biểu thị một kiểu liên kết. Nói cách khác,
một thuộc tính của một kiểu thực thể hoặc có chức năng biểu thị một đặc trưng của
kiểu thực thể, hoặc có chức năng biểu thị một kiểu liên kết giữa kiểu thực thể đó với

25
Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên


×