
LỜI NÓI ĐẦU
Ngày nay cơ sở dữ liệu rất cần thiết cho mọi tổ chức, doanh nghiệp. Bất cứ khi nào chúng
ta truy cập một website đều có một cơ sở dữ liệu phía sau cung cấp các dữ liệu được yêu
cầu. Các tổ chức, doanh nghiệp lưu trữ các hồ sơ quan trọng trong cơ sở dữ liệu giúp cho
việc truy xuất về sau được dễ dàng và nhanh chóng. Đối với các nhà khoa học thì cơ sở dữ
liệu rất cần thiết cho việc lưu trữ và truy xuất các dữ liệu thu thập được trong quá trình
nghiên cứu.
Cơ sở dữ liệu là một trong các môn học cơ sở ngành quan trọng đối với sinh viên Công
nghệ thông tin nhằm giới thiệu, cung cấp những kiến thức cơ bản về cơ sở dữ liệu, các mô
hình dữ liệu quan hệ, ngôn ngữ truy vấn có cấu trúc… Cơ sở dữ liệu cũng là nền tảng để
người học có thể tiếp tục tìm hiểu, nghiên cứu, phát triển các hệ thống thông tin cơ bản và
các hệ thống thông minh.
Nội dung của giáo trình được nhóm biên soạn trên cơ sở đề cương học phần Cơ sở dữ liệu
trong chương trình đào tạo ngành Hệ thống thông tin tại trường Đại học Kỹ thuật – Công
nghệ Cần Thơ với mong muốn đây sẽ là tài liệu tham khảo cung cấp cho sinh viên trong
quá trình tìm hiểu, học tập về học phần này và các học phần có liên quan.
Giáo trình gồm 5 chương, cuối mỗi chương sẽ là phần câu hỏi và bài tập:
• Chương 1: Giới thiệu hệ thống các tập tin cổ điển, những khái niệm chính, những
kiến thức cơ bản về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu.
• Chương 2: Trình bày mô hình thực thể kết hợp và mô hình dữ liệu quan hệ, các mô
hình quan trọng trong quá trình thiết kế cơ sở dữ liệu quan hệ.
• Chương 3: Giới thiệu về đại số quan hệ như là nền tảng để hiểu cơ sở dữ liệu được
triển khai như thế nào.
• Chương 4: Trình bày về ngôn ngữ truy vấn thông dụng trong cơ sở dữ liệu đó là
ngôn ngữ truy vấn có cấu trúc SQL.
• Chương 5: Trình bày về các khái niệm liên quan đến phụ thuộc hàm, các thuật toán
tìm bao đóng, tìm khóa và các vấn đề chuẩn hóa lược đồ quan hệ.
Để hoàn thiện giáo trình, chúng tôi xin gửi lời cám ơn sâu sắc đến Ban Giám hiệu, lãnh đạo
khoa Công nghệ thông tin và các đồng nghiệp đã tạo điều kiện thuận lợi, nhiệt tình góp ý
và giúp đỡ nhóm biên soạn hoàn thành tốt quyển tài liệu này.
Do đây là phiên bản đầu tiên của giáo trình nên không thể tránh khỏi những thiếu sót. Chúng
tôi mong muốn nhận được những góp ý từ quý độc giả để quyển tài liệu ngày càng hoàn
thiện hơn.


i
MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU .................................................................... 1
1. HỆ THỐNG DỰA TRÊN TẬP TIN CỔ ĐIỂN (FILE-BASED SYSTEM) ...................... 2
1.1 Khái niệm ..................................................................................................................... 2
1.2 Ưu và nhược điểm của hệ thống tập tin cổ điển ........................................................... 3
2. CƠ SỞ DỮ LIỆU (DATABASE) ...................................................................................... 4
2.1 Khái niệm cơ sở dữ liệu ................................................................................................ 4
2.2 Hệ quản trị cơ sở dữ liệu (Database Management System) ......................................... 4
2.3 Đặc tính của cơ sở dữ liệu ............................................................................................ 5
2.2 Sự cần thiết của cơ sở dữ liệu ....................................................................................... 6
3. MÔ HÌNH DỮ LIỆU (DATA MODEL TYPES) .............................................................. 7
3.1 Mô hình dữ liệu và sự trừu tượng dữ liệu ..................................................................... 7
3.2 Các kiểu mô hình dữ liệu .............................................................................................. 8
4. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (DATABASE MANAGEMENT SYSTEM) ........... 10
4.1 Hệ quản trị cơ sở dữ liệu - DBMS .............................................................................. 10
4.2 Hoạt động của một hệ quản trị CSDL ........................................................................ 11
4.3 Ngôn ngữ cơ sở dữ liệu (Database Language) ........................................................... 11
4.4 Chức năng của hệ quản trị cơ sở dữ liệu .................................................................... 12
4.5 Kiến trúc của hệ quản trị cơ sở dữ liệu ....................................................................... 13
5. CÁC KIẾN TRÚC TRUY XUẤT DỮ LIỆU ................................................................... 14
5.1 Kiến trúc Mainframe – Terminal ................................................................................ 14
5.2 Kiến trúc FileServer – Workstation ............................................................................ 14
5.3 Kiến trúc Client – Server hai lớp ................................................................................ 15
5.4 Kiến trúc Client – Server nhiều lớp ............................................................................ 16
6. CON NGƯỜI TRONG HỆ CƠ SỞ DỮ LIỆU ................................................................. 17
TÓM TẮT CHƯƠNG .......................................................................................................... 18
CÂU HỎI TRẮC NGHIỆM ................................................................................................. 18
CÂU HỎI .............................................................................................................................. 19
CHƯƠNG 2. CÁC MÔ HÌNH DỮ LIỆU QUAN HỆ ............................................................. 21
1. MÔ HÌNH THỰC THẾ KẾT HỢP .................................................................................. 22
1.1 Thực thể và tập thực thể ............................................................................................. 22
1.2 Thuộc tính ................................................................................................................... 22
1.3 Mối kết hợp ................................................................................................................ 23
1.4 Bản số ......................................................................................................................... 25
1.5 Thuộc tính trên tập mối kết hợp ................................................................................. 25
1.6 Khóa của tập thực thể ................................................................................................. 26

ii
1.7 Tổng quát hóa và chuyên biệt hóa .............................................................................. 27
1.8 Tập thực thể yếu ......................................................................................................... 28
2. MÔ HÌNH DỮ LIỆU QUAN HỆ ..................................................................................... 29
2.1 Thuộc tính ................................................................................................................... 29
2.2 Quan hệ ....................................................................................................................... 30
2.3 Lược đồ quan hệ ......................................................................................................... 30
2.4 Bộ ............................................................................................................................... 31
2.5 Khóa của một quan hệ ................................................................................................ 31
2.5 Ràng buộc toàn vẹn .................................................................................................... 33
2.6 Tính chất của mô hình quan hệ ................................................................................... 33
3. CHUYỂN ĐỔI MÔ HÌNH THỰC THỂ KẾT HỢP SANG MÔ HÌNH DỮ LIỆU QUAN
HỆ ......................................................................................................................................... 33
3.1 Chuyển đổi tập thực thể .............................................................................................. 33
3.2 Chuyển đổi mối quan hệ một – một ........................................................................... 34
3.3 Chuyển đổi mối quan hệ một – nhiều ......................................................................... 35
3.4 Chuyển đổi mối quan hệ nhiều – nhiều ...................................................................... 35
TÓM TẮT CHƯƠNG .......................................................................................................... 36
CÂU HỎI .............................................................................................................................. 36
BÀI TẬP ............................................................................................................................... 36
CHƯƠNG 3. ĐẠI SỐ QUAN HỆ ............................................................................................ 39
1. PHÉP TOÁN ĐẠI SỐ QUAN HỆ ................................................................................... 40
1.1 Phép chọn (Selection) ................................................................................................. 40
1.2 Phép chiếu (Projection) .............................................................................................. 40
1.3 Phép hợp (Union), phép giao (Intersection) và phép trừ (Minus) .............................. 41
1.4 Phép tích Descartes (Cartesian Product) .................................................................... 42
1.5 Phép kết (Join) ............................................................................................................ 43
1.6 Phép đặt lại tên ........................................................................................................... 46
1.7 Phép gán ..................................................................................................................... 47
2. CÁC HÀM TỔNG HỢP VÀ GOM NHÓM .................................................................... 47
2.1 Hàm kết hợp ............................................................................................................... 47
2.2 Gom nhóm .................................................................................................................. 48
TÓM TẮT CHƯƠNG .......................................................................................................... 48
CÂU HỎI .............................................................................................................................. 49
BÀI TẬP ............................................................................................................................... 49
CHƯƠNG 4. NGÔN NGỮ TRUY VẤN SQL ........................................................................ 53
1. GIỚI THIỆU VỀ NGÔN NGỮ SQL ............................................................................... 54
1.1 Lịch sử phát triển ........................................................................................................ 54
1.2 Khái niệm ................................................................................................................... 54

iii
1.3 Cú pháp câu lệnh SQL ................................................................................................ 54
2. CÁC LỆNH ĐỊNH NGHĨA VÀ CẬP NHẬT CSDL ...................................................... 55
2.1 Tạo và cập nhật CSDL................................................................................................ 55
2.1.1 Tạo một cơ sở dữ liệu .......................................................................................... 55
2.1.2 Mở một cơ sở dữ liệu để sử dụng ........................................................................ 55
2.1.3 Hủy bỏ (xóa) một cơ sở dữ liệu ........................................................................... 55
2.1.4 Sửa đổi cơ sở dữ liệu ........................................................................................... 56
2.2 Tạo bảng và cập nhật dữ liệu ...................................................................................... 56
2.2.1 Tạo một bảng dữ liệu ........................................................................................... 56
2.2.2 Thêm dòng mới vào bảng .................................................................................... 57
2.2.3 Cập nhật dữ liệu của các dòng trong bảng ........................................................... 58
2.2.4 Xóa dòng dữ liệu trong bảng ............................................................................... 59
2.2.5 Sửa đổi các cột trong bảng .................................................................................. 59
2.2.6 Loại bỏ bảng khỏi CSDL ..................................................................................... 60
3. CÁC LỆNH TRUY VẤN DỮ LIỆU ................................................................................ 60
3.1 Cú pháp của lệnh truy vấn dữ liệu .............................................................................. 60
3.1.1 Mệnh đề SELECT ............................................................................................... 61
3.1.2 Mệnh đề FROM ................................................................................................... 61
3.1.3 Mệnh đề WHERE ................................................................................................ 62
3.1.4 Mệnh đề GROUP BY .......................................................................................... 64
3.1.5 Các hàm kết tập ................................................................................................... 64
3.1.6 Mệnh đề HAVING .............................................................................................. 66
3.1.7 Mệnh đề ORDER BY .......................................................................................... 66
3.2 Câu lệnh truy vấn lồng nhau ....................................................................................... 66
3.3 Câu lệnh truy vấn trên nhiều bảng .............................................................................. 69
3.3.1 Phép tích Descartes .............................................................................................. 69
3.3.2 Phép kết nối ......................................................................................................... 70
3.3.3 Các toán tử tập hợp .............................................................................................. 73
3.4 Một số từ khóa thông dụng ......................................................................................... 74
TÓM TẮT CHƯƠNG .......................................................................................................... 75
CÂU HỎI .............................................................................................................................. 75
BÀI TẬP ............................................................................................................................... 76
CHƯƠNG 5. PHỤ THUỘC HÀM VÀ DẠNG CHUẨN ........................................................ 79
1. PHỤ THUỘC HÀM ......................................................................................................... 80
1.1 Khái niệm ................................................................................................................... 80
1.2 Phụ thuộc hàm hiển nhiên .......................................................................................... 82
1.3 Phụ thuộc hàm nguyên tố ........................................................................................... 82
1.4 Tính chất của phụ thuộc hàm ...................................................................................... 83

