Violet
Giaoan

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 091 912 4899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Giáo án

Cơ sở dữ liệu

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Tứ Hải
Ngày gửi: 11h:18' 11-01-2026
Dung lượng: 980.8 KB
Số lượt tải: 0
Số lượt thích: 0 người
**************************************
Nguyen Hoang Son
Department of Mathematics
College of Sciences, Hue University
77 Nguyen Hue Street, Hue City, Vietnam
Email: nhson@hueuni.edu.vn
**************************************
Last update, January 2020

1

2

LỜI NÓI ĐẦU
Cơ sở dữ liệu là lĩnh vực chuyên nghiên cứu về các mô hình dữ liệu,
nguyên lý và các phương pháp tổ chức dữ liệu trên các đối tượng mang
thông tin. Cơ sở dữ liệu đầu tiên được xây dựng dựa trên các mô hình
dữ liệu mạng và mô hình dữ liệu phân cấp vào giữa những năm 1960.
Đây được xem như là thế hệ thứ nhất của cơ sở dữ liệu. Sau đó, thế hệ
thứ hai tốt hơn của cơ sở dữ liệu ra đời, đó là dựa trên mô hình dữ liệu
quan hệ do E. F. Codd đề xuất vào những năm 1970. Hai thế hệ này
của cơ sở dữ liệu đã giải quyết hầu hết các mục tiêu đặt ra của cơ sở dữ
liệu như tổ chức dữ liệu, truy cập và cập nhật một khối lượng lớn dữ
liệu một cách thuận lợi, an toàn và hiệu quả. Đáp ứng được khá nhiều
nhu cầu về thu thập và tổ chức dữ liệu quản lý của các xí nghiệp, tổ
chức. Tuy vậy, từ những năm 1990 trở lại đây, trong thực tế xuất hiện
những đối tượng mới có cấu trúc phức tạp (văn bản, âm thanh, hình
ảnh) và động (các chương trình, mô phỏng) mà các thế hệ trước của cơ
sở dữ liệu chưa thể đáp ứng được, dẫn đến đòi hỏi một thế hệ khác nữa
của cơ sở dữ liệu ra đời. Mô hình dữ liệu mới đáp ứng cho cơ sở dữ liệu
thế này là mô hình dữ liệu hướng đối tượng. Lúc này, cơ sở dữ liệu có
khả năng hỗ trợ cho các ứng dụng đa phương tiện.
Quá trình hình thành và phát triển của cơ sở dữ liệu được mô tả
ngắn gọn như trên cũng đủ cho thấy được tầm quan trọng của cơ sở dữ
liệu trong môi trường tính toán hiện đại. Mục đích của giáo trình này
nhằm trình bày các khái niệm cơ bản, những tính chất đặc trưng, ứng
dụng và cũng như các thuật toán cơ sở quan trọng của lý thuyết cơ sở
dữ liệu. Tuy vậy, bên cạnh đó một số nghiên cứu hiện đại, sâu hơn gần
đây của lý thuyết cơ sở dữ liệu theo hướng tổ hợp như tập đóng, khóa,
phản khóa, chuyển dịch lược đồ quan hệ, họ các tập tối tiểu của thuộc
tính, mở rộng phụ thuộc hàm hay tìm các mô tả tương đương của phụ
thuộc hàm cũng được giới thiệu. Phần lớn các kết quả theo các cách
tiếp cận này được giáo trình phát biểu và chứng minh lại theo hướng

1

ngắn gọn, súc tích. Nhiều kết quả trong các hướng này được sử dụng
làm công cụ cho các hướng nghiên cứu thời sự gần đây như khai phá dữ
liệu, trí tuệ nhân tạo, tập thô, tập mờ ... Chính vì vậy, ngoài sinh viên
là đối tượng chính cho giáo trình này thì các học viên cao học, nghiên
cứu sinh và những ai quan tâm muốn phát triển sâu về lý thuyết cơ sở
dữ liệu hoặc xem lý thuyết cơ sở dữ liệu như là một công cụ cơ sở thì
có thể đọc thêm về các nội dung này.
Có thể dễ dàng kể ra những nhà toán tin học và khoa học máy tính
có nhiều đóng góp quan trọng vào lĩnh vực này trong những năm đầu
tiên (1970) như A. V. Aho, W. W. Armstrong, C. Beeri, E. F. Codd,
R. Fagin, C. L. Lucchesi, D. Maier, J. D. Ullman ... và những năm 1985
cho đến nay như J. Demetrovics, T. Eiter, Y. Huhtala, Nguyễn Xuân
Huy, G. Gottlob, G. O. H. Katona, L. Libkin, H. Mannila, K. J. Räihä,
Vũ Đức Thi, Hồ Thuần ... Bản thân nhóm nghiên cứu của tác giả (cùng
với Vũ Đức Thi [16]) theo hướng tổ hợp cũng có những đóng góp nhất
định trong lĩnh vực này. Tuy nhiên, với khuôn khổ của một giáo trình
3 tín chỉ dành cho sinh viên chuyên ngành toán tin ứng dụng Trường
Đại học Khoa học, Đại học Huế, tác giả không thể trình bày sâu hơn
nữa các kết quả nghiên cứu của lĩnh vực này theo tiếp cận bằng các
công cụ toán tổ hợp như siêu đồ thị, họ trù mật, hệ Sperner, tập thô
... Với những đề cập và phân tích như trên, nội dung của giáo trình
được chia làm năm chương. Chương 1 tập trung khái quát về hệ cơ sở
dữ liệu, trình bày các khái niệm cơ bản nhất như hệ cơ sở dữ liệu, hệ
quản trị cơ sở dữ liệu, mô hình dữ liệu, kiến trúc ba mức trừu tượng
của hệ cơ sở dữ liệu, ... Chương 2 giới thiệu hai mô hình dữ liệu cơ bản
và quan trọng là mô hình dữ liệu thực thể-mối quan hệ và mô hình dữ
liệu quan hệ. Ngôn ngữ SQL được giới thiệu trong Chương 3. Đây là
ngôn ngữ vấn tin quan hệ, được sử dụng rộng rãi trong các hệ cơ sở dữ
liệu thương mại. Chương 4 trình bày quá trình thiết kế một cơ sở dữ
liệu quan hệ. Đầu tiên phân tích khi nào một cơ sở dữ liệu là kém, sau
đó các bước để có được một cơ sở dữ liệu tốt bằng cách giới thiệu khái
niệm phụ thuộc hàm và những vấn đề liên quan đến phụ thuộc hàm như

2

hệ tiên đề Armstrong, phủ phụ thuộc hàm, khóa và phản khóa, chuẩn
hóa lược đồ quan hệ và cuối cùng là phụ thuộc đa trị. Dựa trên kinh
nghiệm giảng dạy và nghiên cứu trong nhiều năm về lĩnh vực này nên
nội dung các kết quả trong chương này được tác giả sắp xếp, phát biểu
và chứng minh lại hơi khác so với các giáo trình cơ sở dữ liệu trước đây.
Cấu trúc trình bày như thế này càng rõ hơn ở Chương 5, đó là trình
bày những hướng nghiên cứu quan trọng gần đây liên quan đến thiết
kế một cơ sở dữ liệu hiệu quả, chặt chẻ về mặt toán học như các mô
tả tương đương của phụ thuộc hàm, mở rộng phụ thuộc hàm theo tiếp
cận tập thô, phụ thuộc hàm xấp xỉ, họ các tập tối tiểu của thuộc tính
và chuyển dịch lược đồ quan hệ.
Trong quá trình biên soạn, giáo trình không thể tránh khỏi những
thiếu sót. Vì vậy, chúng tôi rất mong nhận được sự đóng góp ý kiến của
bạn đọc để giáo trình được hoàn thiện hơn trong lần tái bản sau.
Nguyễn Hoàng Sơn

3

.

4

MỤC LỤC
Lời nói đầu
1
Chương 1. Khái quát về cơ sở dữ liệu
9
1.1. Hệ cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . .
9
1.2. Kiến trúc ba mức trừu tượng của một hệ cơ sở dữ liệu . 11
1.3. Lược đồ và thể hiện của cơ sở dữ liệu . . . . . . . . . . . 12
1.4. Sự độc lập của dữ liệu . . . . . . . . . . . . . . . . . . . 13
1.5. Các cách tiếp cận cơ sở dữ liệu . . . . . . . . . . . . . . 15
1.5.1. Mô hình dữ liệu logic . . . . . . . . . . . . . . . . 15
1.5.2. Mô hình dữ liệu vật lý . . . . . . . . . . . . . . . 16
1.6. Hệ quản trị cơ sở dữ liệu . . . . . . . . . . . . . . . . . . 16
1.6.1. Khái niệm . . . . . . . . . . . . . . . . . . . . . . 16
1.6.2. Các chức năng của hệ quản trị cơ sở dữ liệu . . . 18
1.6.3. Kiến trúc của hệ quản trị cơ sở dữ liệu . . . . . . 19
1.7. Vai trò của con người trong hệ cơ sở dữ liệu . . . . . . . 20
1.7.1. Người quản trị cơ sở dữ liệu . . . . . . . . . . . . 20
1.7.2. Người thiết kế cơ sở dữ liệu . . . . . . . . . . . . 21
1.7.3. Người lập trình ứng dụng . . . . . . . . . . . . . 22
1.7.4. Người sử dụng đầu cuối . . . . . . . . . . . . . . 22
Bài tập Chương 1
23
Chương 2. Các mô hình dữ liệu
25
2.1. Mô hình dữ liệu thực thể-mối quan hệ . . . . . . . . . . 25
2.1.1. Mô hình dữ liệu bậc cao và quá trình thiết kế cơ
sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . 26
2.1.2. Các thành phần cơ bản của mô hình dữ liệu thực
thể-mối quan hệ . . . . . . . . . . . . . . . . . . 28
2.1.3. Mối quan hệ isa . . . . . . . . . . . . . . . . . . 31
2.1.4. Ràng buộc trên các mối quan hệ . . . . . . . . . 32
2.1.5. Sơ đồ thực thể-mối quan hệ . . . . . . . . . . . . 34

5

2.1.6. Thiết kế lược đồ thực thể-mối quan hệ . . . . .
2.1.7. Một ví dụ về thiết kế lược đồ thực thể-mối quan
2.2. Mô hình dữ liệu quan hệ . . . . . . . . . . . . . . . . .
2.2.1. Quan hệ . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Các tính chất cơ bản của quan hệ . . . . . . . .
2.2.3. Khóa của quan hệ . . . . . . . . . . . . . . . .
2.2.4. Thuật toán tìm khóa của quan hệ . . . . . . . .
2.2.5. Cập nhật dữ liệu trên quan hệ . . . . . . . . .
2.2.6. Đại số quan hệ . . . . . . . . . . . . . . . . . .
2.2.7. Các phép toán quan hệ bổ sung . . . . . . . . .
2.2.8. Một số ví dụ về đại số quan hệ . . . . . . . . .
2.2.9. Phép tính quan hệ . . . . . . . . . . . . . . . .
2.2.10. Khung nhìn . . . . . . . . . . . . . . . . . . . .
2.2.11. Nhận xét về mô hình dữ liệu quan hệ . . . . . .
Bài tập Chương 2
Chương 3. Ngôn ngữ SQL
3.1. Một số quy ước ký pháp . . . . . . . . . . . . . . . . .
3.2. Định nghĩa dữ liệu . . . . . . . . . . . . . . . . . . . .
3.2.1. Các kiểu miền trong SQL . . . . . . . . . . . .
3.2.2. Định nghĩa bảng trong SQL . . . . . . . . . . .
3.2.3. Tạo lập các chỉ mục . . . . . . . . . . . . . . .
3.3. Thao tác dữ liệu . . . . . . . . . . . . . . . . . . . . .
3.3.1. Cập nhật cơ sở dữ liệu . . . . . . . . . . . . . .
3.3.2. Truy vấn cơ sở dữ liệu . . . . . . . . . . . . . .
3.4. Cấp phát và thu hồi quyền truy cập cơ sở dữ liệu . . .
3.5. SQL nhúng . . . . . . . . . . . . . . . . . . . . . . . .
Bài tập Chương 3
Chương 4. Thiết kế cơ sở dữ liệu quan hệ
4.1. Dư thừa dữ liệu và các dị thường cập nhật . . . . . . .
4.2. Phụ thuộc hàm . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Định nghĩa . . . . . . . . . . . . . . . . . . . .
4.2.2. Suy diễn theo quan hệ . . . . . . . . . . . . . .

6

.
hệ
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.

35
36
39
40
42
43
45
51
53
60
62
64
65
66
69
71
72
74
74
75
79
80
80
82
99
100
103
105
105
107
107
110

4.2.3.
4.2.4.
4.2.5.
4.2.6.

Hệ tiên đề Armstrong . . . . . . . . . . . . . . . 110
Bao đóng của thuộc tính . . . . . . . . . . . . . . 114
Một số thuật toán cơ bản . . . . . . . . . . . . . 119
Bao đóng của thuộc tính trên quan hệ và thuật
toán . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.3. Phủ của phụ thuộc hàm . . . . . . . . . . . . . . . . . . 124
4.3.1. Định nghĩa . . . . . . . . . . . . . . . . . . . . . 124
4.3.2. Phủ không dư . . . . . . . . . . . . . . . . . . . . 126
4.3.3. Phủ rút gọn . . . . . . . . . . . . . . . . . . . . . 128
4.3.4. Phủ tối tiểu . . . . . . . . . . . . . . . . . . . . . 132
4.4. Khóa của lược đồ quan hệ . . . . . . . . . . . . . . . . . 134
4.4.1. Định nghĩa . . . . . . . . . . . . . . . . . . . . . 134
4.4.2. Một số tính chất cơ bản . . . . . . . . . . . . . . 135
4.4.3. Thuật toán tìm khóa . . . . . . . . . . . . . . . . 139
4.5. Phản khóa của lược đồ quan hệ . . . . . . . . . . . . . . 143
4.5.1. Định nghĩa . . . . . . . . . . . . . . . . . . . . . 143
4.5.2. Một số đặc trưng cơ bản . . . . . . . . . . . . . . 144
4.6. Chuẩn hóa lược đồ quan hệ . . . . . . . . . . . . . . . . 146
4.6.1. Phép tách lược đồ quan hệ . . . . . . . . . . . . . 147
4.6.2. Các dạng chuẩn của lược đồ quan hệ . . . . . . . 153
4.6.3. Một số đặc trưng cơ bản của các dạng chuẩn . . 158
4.6.4. Chuẩn hóa lược đồ quan hệ qua phép tách . . . . 162
4.7. Phụ thuộc đa trị và dạng chuẩn bốn . . . . . . . . . . . 168
4.7.1. Khái niệm . . . . . . . . . . . . . . . . . . . . . . 168
4.7.2. Một số tính chất cơ bản . . . . . . . . . . . . . . 174
4.7.3. Hệ tiên đề của phụ thuộc hàm và phụ thuộc đa trị 177
4.7.4. Cơ sở phụ thuộc . . . . . . . . . . . . . . . . . . 183
4.7.5. Chuẩn hóa lược đồ quan hệ về dạng chuẩn bốn . 188
Bài tập Chương 4
193
197
Chương 5. Những vấn đề liên quan đến thiết kế
5.1. Chuyển dịch lược đồ quan hệ . . . . . . . . . . . . . . . 197
5.1.1. Định nghĩa . . . . . . . . . . . . . . . . . . . . . 197

7

5.1.2. Bao đóng qua phép chuyển dịch lược đồ quan hệ
5.1.3. Khóa qua phép chuyển dịch lược đồ quan hệ . . .
5.2. Các mô tả tương đương của phụ thuộc hàm . . . . . . .
5.2.1. Toán tử bao đóng . . . . . . . . . . . . . . . . . .
5.2.2. Hệ bao đóng . . . . . . . . . . . . . . . . . . . .
5.2.3. Hàm chọn . . . . . . . . . . . . . . . . . . . . . .
5.3. Họ các tập tối tiểu của thuộc tính . . . . . . . . . . . . .
5.3.1. Định nghĩa . . . . . . . . . . . . . . . . . . . . .
5.3.2. Thuật toán tìm họ các tập tối tiểu . . . . . . . .
5.3.3. Họ các tập tối tiểu và quan hệ Armstrong . . . .
5.4. Mở rộng phụ thuộc hàm . . . . . . . . . . . . . . . . . .
5.4.1. Cơ sở tập thô . . . . . . . . . . . . . . . . . . . .
5.4.2. Phụ thuộc cấp k . . . . . . . . . . . . . . . . . .
5.4.3. Phụ thuộc hàm xấp xỉ . . . . . . . . . . . . . . .
Bài tập Chương 5
Tài liệu tham khảo
Danh mục chữ viết tắt, ký hiệu
Chỉ mục

8

198
200
204
205
209
211
213
214
214
216
219
219
228
235
249
253
256
258

Chương 1.
KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU
Chương này chủ yếu trình bày về các khái niệm cơ bản của cơ sở dữ liệu
như hệ cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, mô hình dữ liệu, kiến
trúc ba mức trừu tượng của hệ cơ sở dữ liệu, lược đồ và thể hiện cơ sở
dữ liệu cũng như sự độc lập dữ liệu. Cuối cùng của chương trình bày về
các vai trò của con người trong một hệ cơ sở dữ liệu.

1.1. Hệ cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) là một tập hợp các dữ liệu có liên quan với nhau
chứa thông tin về một tổ chức nào đó, chẳng hạn như trường đại học,
ngân hàng, công ty, ... được lưu trữ trên các thiết bị nhớ thứ cấp nhằm
đáp ứng nhu cầu khai thác thông tin của nhiều người sử dụng (NSD)
với nhiều mục đích khác nhau.
Như vậy, CSDL phải phản ánh được thông tin về hoạt động của
một tổ chức nhất định. Thông tin lưu trữ trong CSDL phải được chia sẻ
cho nhiều NSD cũng như nhiều ứng dụng khác nhau. Trước đây khoảng
đầu những năm 60, khi khái niệm CSDL chưa ra đời, mỗi chương trình
ứng dụng đều có một tệp dữ liệu tương ứng và mỗi khi chương trình cần
được sửa đổi thì tệp dữ liệu tương ứng cũng phải thay đổi theo. Việc
lưu trữ thông tin của một tổ chức trong một hệ xử lý tệp dữ liệu như
vậy có những nhược điểm chính như sau:
• Dư thừa dữ liệu và dữ liệu không nhất quán: một dữ liệu có thể
được lưu trữ trong nhiều tệp dữ liệu khác nhau, khi đó việc cập
nhật dữ liệu có thể sẽ bỏ sót và dẫn đến dữ liệu không nhất quán.
• Truy cập dữ liệu khó khăn: môi trường xử lý tệp dữ liệu truyền
thống không cho phép dữ liệu được tìm kiếm theo cách thức thuận

9

tiện và hiệu quả.
• Dữ liệu cô lập: dữ liệu nằm rải rác trong nhiều tệp và các tệp có
thể có cấu trúc khác nhau nên khó viết các chương trình ứng dụng
mới để tìm các dữ liệu thích hợp.
• Các vấn đề về toàn vẹn dữ liệu: khi thêm các ràng buộc mới, khó
có thể thay đổi các chương trình để có thể tuân thủ chúng.
• Các vấn đề về tính nguyên tố của các giao dịch: với hệ xử lý tệp
dữ liệu truyền thống, khó có thể đảm bảo được tính chất “hoặc
thực hiện hoàn toàn hoặc không thực hiện gì” và khó đưa được hệ
thống trở về trạng thái ban đầu khi xảy ra sự cố.
• Các vấn đề về an toàn dữ liệu: thường thì mỗi NSD CSDL chỉ được
phép truy cập một phần của CSDL, điều này làm cho dữ liệu trong
CSDL được an toàn. Tuy nhiên, đối với hệ xử lý tệp dữ liệu truyền
thống tính chất này thường không được đảm bảo.
Những vấn đề trên sẽ không còn tồn tại nữa khi khái niệm CSDL
ra đời.
Một phần mềm cho phép NSD giao tiếp với CSDL, cung cấp một
môi trường thuận lợi và hiệu quả để tìm kiếm và lưu trữ thông tin của
CSDL được gọi là hệ quản trị CSDL. Một CSDL cùng với hệ quản trị
CSDL để truy cập CSDL đó thường được gọi là hệ CSDL. Mục đích
chính của một hệ CSDL là cung cấp cho NSD một cách nhìn trừu tượng
về dữ liệu, nghĩa là hệ thống che dấu những chi tiết phức tạp về cách dữ
liệu được lưu trữ và bảo trì. Chính vì vậy, trong cuộc sống hiện đại ngày
nay việc sử dụng CSDL trở nên phổ biến và quen thuộc đến mức nhiều
lúc NSD xem đó là hiển nhiên. Chẳng hạn, khi chúng ta muốn đặt chỗ
cho chuyến bay sắp tới của mình, nhân viên đại lý bán vé hàng không
sẽ nhanh chóng cung cấp những thông tin cần thiết giúp chúng ta có
thể quyết định chọn chuyến bay để đăng ký và họ cũng sẽ ghi nhận sự
đăng ký của chúng ta như một thông tin cập nhật vào tập hợp dữ liệu
được lưu trữ. Hoặc khi đến thư viện tìm mượn sách, nhờ máy tính ít
nhất chúng ta có thể biết được thông tin chi tiết về sách của thư viện,

10

thông tin về sách đã có người xếp hàng đặt mượn. Sự phát triển mạnh
mẽ của Internet ở thập kỷ cuối thế kỷ 20 đã làm số người truy nhập và
khai thác thông tin trong các CSDL tăng lên nhanh chóng. Với các giao
diện Web, người ta có thể đăng ký các khóa học ở một trường đại học,
có thể xem số dư trong tài khoản của mình ở một ngân hàng, có thể
tìm hiểu chi tiết về một mặt hàng nào đó, ... càng ngày việc truy xuất
thông tin trong các CSDL càng trở thành một bộ phận thiết yếu trong
cuộc sống của mỗi người.
Vì nhiều NSD CSDL không thuộc giới chuyên tin, nên những người
phát triển hệ thống đã che dấu không cho người dùng biết sự phức tạp
của việc lưu trữ và bảo trì dữ liệu thông qua các mức trừu tượng hóa dữ
liệu, nhằm làm đơn giản những tương tác của người dùng với hệ thống.

1.2. Kiến trúc ba mức trừu tượng của một hệ cơ sở dữ
liệu
Theo ANSI-PARC (American National Standards Institute-Planning
and Requirements Committee: Viện tiêu chuẩn quốc gia Mỹ-Ban nhu
cầu và kế hoạch Mỹ), có ba mức trừu tượng hóa dữ liệu trong một hệ
CSDL như sau:
• Mức vật lý (hay mức trong): mức này mô tả dữ liệu được thực
sự lưu trữ như thế nào trong CSDL. Đây là mức trừu tượng thấp
nhất, thể hiện các cài đặt có tính chất vật lý của CSDL. Nó cũng
phản ánh các cấu trúc dữ liệu, các tổ chức tệp được dùng cho việc
lưu trữ dữ liệu trên các thiết bị nhớ thứ cấp.
• Mức logic (hay mức khái niệm): cho biết dữ liệu nào được lưu trữ
trong CSDL và các mối quan hệ giữa chúng. Cụ thể biểu diễn các
thực thể, các thuộc tính và các mối quan hệ giữa các thực thể đó.
Mức này chỉ quan tâm đến cái gì được lưu trữ trong CSDL chứ
không quan tâm đến cách thức lưu trữ chúng.
• Mức khung nhìn (hay mức ngoài): mức này thể hiện một phần

11

CSDL mà NSD cần khai thác. Đây là mức trừu tượng cao nhất.
Mức này bao gồm một số khung nhìn của NSD trong toàn bộ thông
tin của hệ CSDL mà NSD cần quan tâm. Khung nhìn này gồm các
thực thể, thuộc tính và các mối quan hệ giữa thực thể. Một số
khung nhìn có thể chứa các dữ liệu suy diễn ra được hay tính toán
được, những dữ liệu này vốn không được thực sự lưu trữ trong
CSDL.

Hình 1.1: Ba mức trừu tượng hóa dữ liệu trong CSDL
Tóm lại, mức khung nhìn là cách cảm nhận của NSD về dữ liệu,
mức vật lý là cách cảm nhận của hệ CSDL và hệ điều hành về dữ liệu.
Cuối cùng mức logic là cách cảm nhận của toàn thể cộng đồng NSD về
dữ liệu. Tại mức logic tồn tại hai ánh xạ đến hai mức còn lại, tạo nên
một sự độc lập đối với nhau của hai mức đó.

1.3. Lược đồ và thể hiện của cơ sở dữ liệu
Lược đồ CSDL là toàn bộ mô tả của CSDL. Tương ứng với ba mức trừu
tượng hóa dữ liệu chúng ta có ba loại lược đồ. Ở mức khung nhìn ta có
nhiều lược đồ con thường gọi là lược đồ ngoài, ở mức logic ta có lược đồ

12

khái niệm và cuối cùng ở mức vật lý ta có lược đồ trong. Thường thì
các hệ CSDL hỗ trợ một lược đồ trong, một lược đồ khái niệm và nhiều
lược đồ con.
Lược đồ CSDL được xác định trong quá trình thiết kế CSDL và
thông thường người ta không muốn nó thường xuyên thay đổi. Trong
khi đó, bản thân CSDL sẽ thay đổi theo thời gian do dữ liệu thêm vào,
xóa đi hay sửa đổi. Toàn bộ dữ liệu được lưu trữ trong CSDL tại một
thời điểm nhất định được gọi là một thể hiện của CSDL. Như vậy, với
một lược đồ CSDL có thể có cùng nhiều thể hiện của CSDL.
Ví dụ 1.1. Sau đây là các lược đồ trong CSDL:

1.4. Sự độc lập của dữ liệu
Mục đích của kiến trúc ba mức trừu tượng hóa dữ liệu trong CSDL còn
có thể hiểu theo nghĩa là sự độc lập của dữ liệu, đó là các lược đồ ở mức

13

trên không bị ảnh hưởng khi có sự thay đổi các lược đồ ở mức dưới.
Chúng ta có hai loại độc lập dữ liệu: độc lập dữ liệu vật lý và độc lập
dữ liệu logic.
• Độc lập dữ liệu vật lý là khả năng sửa đổi lược đồ trong mà không
làm thay đổi lược đồ khái niệm và do đó không đòi hỏi phải viết
lại các chương trình ứng dụng. Để tăng hiệu quả nhiều khi chúng
ta cần có những thay đổi ở mức vật lý, chẳng hạn tổ chức tệp khác
trước, thay đổi các chỉ mục hay thay đổi thuật toán băm, ...
• Độc lập dữ liệu logic là khả năng sửa đổi lược đồ khái niệm mà
không làm thay đổi các lược đồ ngoài (khung nhìn) và do đó cũng
có nghĩa không đòi hỏi phải viết lại các chương trình ứng dụng.
Các sửa đổi ở mức logic là cần thiết mỗi khi cấu trúc logic của
CSDL cần phải thay đổi, chẳng hạn cần thêm hay bớt một thực
thể nào đó, các thuộc tính hay các mối quan hệ của chúng.
Sau đây là kiến trúc ba mức ANSI-SPARC về sự độc lập dữ liệu:

Hình 1.2: Kiến trúc ba mức về sự độc lập dữ liệu
Độc lập dữ liệu logic khó thực hiện hơn độc lập dữ liệu vật lý, vì
các chương trình ứng dụng phụ thuộc nhiều vào cấu trúc logic của dữ

14

liệu mà chúng truy cập. Khái niệm độc lập dữ liệu trong nhiều khía
cạnh nó tương tự với khái niệm kiểu dữ liệu trừu tượng trong các ngôn
ngữ lập trình hiện đại. Đó là cả hai đều che dấu NSD những chi tiết cài
đặt, chỉ cho phép NSD tập trung vào cấu trúc chung hơn là tập trung
vào chi tiết cài đặt ở mức thấp.

1.5. Các cách tiếp cận cơ sở dữ liệu
Trên thực tế, một lược đồ được viết trong ngôn ngữ định nghĩa dữ liệu
của một hệ quản trị CSDL cụ thể. Tuy nhiên, để mô tả các yêu cầu về
dữ liệu của một tổ chức sao cho mô tả đó dễ hiểu đối với NSD thì ngôn
ngữ đó lại ở mức quá thấp. Điều này dẫn đến cần phải có mô tả lược đồ
ở mức cao hơn, mô tả như thế này được hiểu là một mô hình dữ liệu.
Một cách hình thức mô hình dữ liệu là một hệ toán học gồm hai phần:
(i) Một tập hợp các ký hiệu để mô tả dữ liệu.
(ii) Một tập hợp các phép toán thao tác trên dữ liệu đó.
Mô hình dữ liệu (MHDL) được sử dụng trong việc thiết kế CSDL
với mục đích biểu diễn dữ liệu sao cho dễ hiểu. Đã có nhiều MHDL được
đề xuất, người ta thường chia làm hai nhóm: MHDL logic và MHDL vật
lý. Trong đó, MHDL logic tập trung vào bản chất logic của biểu diễn
dữ liệu, tập trung vào cái được biểu diễn trong CSDL và thường xem
là các MHDL bậc cao. Còn MHDL vật lý tập trung vào những chi tiết
cho biết dữ liệu được lưu trữ như thế nào và thường được xem là các
MHDL bậc thấp.

1.5.1. Mô hình dữ liệu logic
MHDL logic được dùng trong việc mô tả dữ liệu ở các mức logic và mức
khung nhìn. Người ta thường chia MHDL logic làm hai loại: MHDL
logic dựa trên cơ sở đối tượng và MHDL logic dựa trên cơ sở bản ghi.
Trong đó, MHDL logic dựa trên cơ sở đối tượng cung cấp các khả năng
cấu trúc rất mềm dẻo và cho phép các ràng buộc được đặc tả một cách

15

tường minh. Các MHDL này thường được hay nói đến là MHDL thực
thể-mối quan hệ, MHDL đối tượng, MHDL ngữ nghĩa và MHDL chức
năng. Còn MHDL logic dựa trên cơ sở bản ghi được dùng để đặc tả cấu
trúc logic tổng thể của CSDL, đồng thời cung cấp một mô tả ở mức cao
hơn của sự cài đặt. MHDL này đơn giản hơn so với MHDL logic dựa
trên cơ sở đối tượng, và thường bao gồm các MHDL là MHDL quan hệ,
MHDL mạng và MHDL phân cấp.

1.5.2. Mô hình dữ liệu vật lý
MHDL vật lý được dùng trong việc mô tả dữ liệu ở mức vật lý, cụ thể
MHDL vật lý mô tả dữ liệu được lưu trữ trong máy tính như thế nào,
mô tả các cấu trúc bản ghi, thứ tự các bản ghi và cách truy cập. Các
MHDL vật lý thường chỉ có ý nghĩa với các chuyên gia máy tính, không
cần thiết đối với NSD thông thường.

1.6. Hệ quản trị cơ sở dữ liệu
1.6.1. Khái niệm
Hệ quản trị CSDL là một phần mềm cho phép NSD tương tác với CSDL,
một cách hình thức hệ quản trị CSDL chính là một tập hợp các chương
trình cho phép NSD định nghĩa, tạo lập, bảo trì các CSDL và cung cấp
các truy nhập có điều khiển đến các CSDL này. Để làm điều này hệ
quản trị CSDL cung cấp các công cụ sau:
(1) Ngôn ngữ định nghĩa dữ liệu: cho phép NSD định nghĩa CSDL,
đó là đặc tả các kiểu và các cấu trúc dữ liệu, đặc tả các ràng buộc trên
các dữ liệu lưu trữ trong CSDL. Kết quả chúng ta có một tập các bảng
được lưu trữ trong một tệp đặc biệt thường được gọi là từ điển dữ liệu.
(2) Ngôn ngữ thao tác dữ liệu: cho phép NSD thao tác hay truy
nhập dữ liệu được dễ dàng hơn. Các thao tác dữ liệu bao gồm:
• Tìm kiếm thông tin lưu trữ trong CSDL.

16

• Thêm thông tin mới vào CSDL.
• Xoá thông tin khỏi CSDL.
• Thay đổi thông tin được lưu trữ trong CSDL.
Có hai kiểu ngôn ngữ thao tác dữ liệu là thủ tục và phi thủ tục.
Ngôn ngữ thao tác dữ liệu kiểu thủ tục đòi hỏi NSD vừ
 
Gửi ý kiến