
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC NAM CẦN THƠ
GIÁO TRÌNH
CƠ SỞ DỮ LIỆU
Ths. Võ Văn Phúc
CẦN THƠ 2017

1
LỜI MỞ ĐẦU
Cơ sở dữ liệu là một công cụ thu thập và sắp xếp thông tin. Cơ sở dữ liệu có
thể lưu trữ thông tin về con người, sản phẩm, đơn hàng, hoặc bất kỳ điều gì khác.
Nhiều cơ sở dữ liệu bắt đầu dưới dạng một danh sách trong chương trình xử lý văn
bản hoặc bảng tính. Khi danh sách trở nên lớn hơn, sự dư thừa và không nhất quán
bắt đầu xuất hiện trong dữ liệu. Dữ liệu trở nên khó hiểu ở dạng danh sách và có ít
cách thức tìm kiếm hoặc kéo tập con của dữ liệu ra để xem lại. Sau khi các sự cố
này bắt đầu xuất hiện, một ý hay là truyền dữ liệu vào cơ sở dữ liệu được tạo bởi
một hệ thống quản lý cơ sở dữ liệu (DBMS).
Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã
hội. Muốn thiết kế và sử dụng cơ sở dữ liệu chúng ta phải nắm được các kỹ thuật
cơ bản của cơ sở dữ liệu.
Giáo trình này nhằm trình bày các kỹ thuật cơ sở của cơ sở dữ liệu truyền
thống, đó là mô hình liên kết thực thể, mô hình cơ sở dữ liệu quan hệ.
Giáo trình cũng trình bày cách thiết kế một cơ sở dữ liệu quan hệ, cách sử
dụng các phép toán đại số quan hệ để tạo, cập nhật và truy vấn cơ sở dữ liệu và
khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa cơ sở dữ
liệu quan hệ.
Giáo trình cần thiết cho tất cả các đối tượng là sinh viên đại học, người muốn
tìm hiểu và thiết kế các cơ sở dữ liệu quan hệ ứng dụng trong công tác quản lý.

2
- Tên môn học: Cơ sở dữ liệu.
- Mã số môn học:
- Thời gian: Lý thuyết 30 tiết.
- Mục tiêu: Trang bị các kiến thức cơ bản về Cơ sở dữ liệu.
- Những kiến thức cần phải đƣợc trang bị trƣớc khi học: không.
- Nội dung:
Chƣơng 1: CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU
Chƣơng 2: MÔ HÌNH THỰC THỂ LIÊN KẾT
Chƣơng 3: MÔ HÌNH QUAN HỆ
Chƣơng 4: ĐẠI SỐ QUAN HỆ
Chƣơng 5: NGÔN NGỮ TRUY VẤN SQL
Chƣơng 6: RÀNG BUỘC TOÀN VẸN
Chƣơng 7: PHỤ THUỘC HÀM VÀ CHUẨN HÓA CSDL
QUAN HỆ, CÁC THUẬT TOÁN THIẾT KẾ CSDL
QUAN HỆ

3
MỤC LỤC
CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU ........................................................ 7
2. Cơ sở dữ liệu ........................................................................................................... 7
2.1- Định nghĩa cơ sở dữ liệu ............................................................................................................... 7
2.2- Các tính chất của một cơ sở dữ liệu .............................................................................................. 8
3. Hệ quản trị cơ sở dữ liệu ....................................................................................... 9
3.1- Định nghĩa hệ quản trị cơ sở dữ liệu ............................................................................................ 9
3.2- Các chức năng của một hệ quản trị cơ sở dữ liệu ......................................................................... 9
3.3- Các đặc trưng của giải pháp cơ sở dữ liệu ................................................................................. 11
3.4- Ví dụ về một cơ sở dữ liệu ........................................................................................................... 13
4. Mô hình cơ sở dữ liệu ........................................................................................... 15
4.1- Các loại mô hình cơ sở dữ liệu ................................................................................................... 15
4.2- Lược đồ và trạng thái cơ sở dữ liệu ............................................................................................ 16
5. Con ngƣời trong hệ cơ sở dữ liệu ........................................................................ 17
5.1- Người quản trị hệ cơ sở dữ liệu (Database Administrator – DBA) ............................................. 18
5.2- Người thiết kế cơ sở dữ liệu (Database Designer) ...................................................................... 18
5.3- Những người sử dụng (End User) ............................................................................................... 18
5.4- Người phân tích hệ thống và lập trình ứng dụng ........................................................................ 19
5.5- Người thiết kế và cài đặt hệ quản trị dữ liệu ............................................................................... 19
5.6- Những người phát triển công cụ ................................................................................................. 19
5.7- Các thao tác viên và những người bảo trì ................................................................................... 19
6. Ngôn ngữ cơ sở dữ liệu và giao diện ................................................................... 19
6.1- Các ngôn ngữ hệ quản trị cơ sở dữ liệu ...................................................................................... 19
6.2- Các loại giao diện hệ quản trị cơ sở dữ liệu ............................................................................... 20
7. Câu hỏi ôn tập ....................................................................................................... 21
CHƢƠNG 2 - MÔ HÌNH THỰC THỂ - LIÊN KẾT ................................................................................... 22
1. Sử dụng mô hình quan niệm bậc cao cho việc thiết kế cơ sở dữ liệu ................... 22
2. Các thành phần cơ bản của mô hình ER ........................................................... 24
2.1- Thực thể và thuộc tính ................................................................................................................. 24
2.2- Kiểu thực thể, tập thực thể, khóa và tập giá trị ........................................................................... 26
2.3- Kiểu liên kết, tập liên kết và các thể hiện .................................................................................... 28
2.4- Cấp liên kết, tên vai trò và kiểu liên kết đệ quy ........................................................................... 29
2.5- Các ràng buộc trên các kiểu liên kết .......................................................................................... 30
2.6- Thuộc tính của các kiểu liên kết .................................................................................................. 32
2.7- Các kiểu thực thể yếu .................................................................................................................. 32
3. Ví dụ về thiết kế mô hình ER .............................................................................. 33
3.1- Xác định các kiểu thực thể, các thuộc tính và các kiểu liên kết .................................................. 34
4. Mô hình thực thể liên kết mở rộng (mô hình EER) .......................................... 37
4.1- Lớp cha, lớp con và sự thừa kế ................................................................................................... 37
4.2- Chuyên biệt hoá, tổng quát hoá .................................................................................................. 38
4.2.1- Chuyên biệt hoá .............................................................................................................................. 38
4.2.2- Tổng quát hoá ................................................................................................................................. 40

4
4.2.3- Phân cấp chuyên biệt và lƣới chuyên biệt ....................................................................................... 41
4.2.4- Các ràng buộc và các đặc trung của chuyên biệt hoá, tổng quát hoá ............................................... 41
4.3- Sơ đồ mô hình EER ..................................................................................................................... 42
5. Tổng kết chƣơng và câu hỏi ôn tập ..................................................................... 43
5.1- Tổng kết chương .......................................................................................................................... 43
5.2- Câu hỏi ôn tập ............................................................................................................................. 43
5.3- Bài tập ......................................................................................................................................... 44
CHƢƠNG 3 - MÔ HÌNH QUAN HỆ, CÁC RÀNG BUỘC QUAN HỆ ..................................................... 46
1. Các khái niệm của mô hình quan hệ .................................................................. 46
1.1- Miền, thuộc tính, bộ và quan hệ .................................................................................................. 46
1.2- Các đặc trưng của các quan hệ ................................................................................................... 48
1.2.1- Thứ tự của các bộ trong một quan hệ .............................................................................................. 48
1.2.2- Thứ tự của các giá trị bên trong một bộ .......................................................................................... 49
1.2.3- Các giá trị trong một bộ .................................................................................................................. 49
1.2.4- Thể hiện của một quan hệ ............................................................................................................... 50
2. Các ràng buộc quan hệ, lƣợc đồ cơ sở dữ liệu quan hệ .................................... 50
2.1- Các ràng buộc miền .................................................................................................................... 50
2.2- Ràng buộc khoá và ràng buộc trên các giá trị không xác định (null) ......................................... 51
2.3- Cơ sở dữ liệu quan hệ và lược đồ cơ sở dữ liệu quan hệ ............................................................ 52
2.4- Toàn vẹn thực thể, toàn vẹn tham chiếu và khoá ngoài .............................................................. 56
CHƢƠNG 4 - ĐẠI SỐ QUAN HỆ ................................................................................................................. 59
1. Các phép toán trên mô hình quan hệ ................................................................. 59
1.1- Các phép toán cập nhật............................................................................................................... 59
1.1.1- Phép chèn (Insert) ........................................................................................................................... 59
1.1.2- Phép xoá (Delete) ............................................................................................................................ 60
1.1.3- Phép sửa đổi (Update) ..................................................................................................................... 61
1.2- Các phép toán đại số quan hệ ..................................................................................................... 61
1.2.1- Phép chọn (SELECT) ..................................................................................................................... 62
1.2.2- Phép chiếu (PROJECT) .................................................................................................................. 64
1.2.3- Phép đặt lại tên (RENAME) ........................................................................................................... 65
1.2.4- Các phép toán lý thuyết tập hợp ...................................................................................................... 66
1.2.5- Phép nối (JOIN) .............................................................................................................................. 69
1.2.6- Tập hợp đầy đủ các phép toán quan hệ ........................................................................................... 71
1.2.7- Phép chia ......................................................................................................................................... 72
1.3- Các phép toán quan hệ bổ sung .................................................................................................. 73
1.3.1- Các hàm nhóm và các phép nhóm ................................................................................................... 73
1.3.2- Các phép toán khép kín đệ quy ....................................................................................................... 74
1.3.3- Các phép toán nối ngoài (outer join), hợp ngoài (outer union) ....................................................... 74
1.4- Một số ví dụ về truy vấn trong đại số quan hệ ............................................................................ 75
2. Chuyển đổi mô hình ER thành mô hình quan hệ .............................................. 76
2.1- Các quy tắc chuyển đổi ............................................................................................................... 76
2.2- Chuyển đổi mô hình cụ thể .......................................................................................................... 80
3. Tổng kết chƣơng và câu hỏi ôn tập ..................................................................... 80
3.1- Tổng kết chương .......................................................................................................................... 80
3.2- Câu hỏi ôn tập ............................................................................................................................. 81
3.3- Bài tập ......................................................................................................................................... 82

