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
sdữ liệu một công cụ thu thập sắp xếp thông tin. sở dữ liệu có
thể u trữ thông tin về con người, sản phẩm, đơn hàng, hoặc bất kỳ điều 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 truyền dữ liệu vào 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, sở dữ liệu đã nhiều ứng dụng trong mọi hoạt động của
hội. Muốn thiết kế và sử dụng 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 sở của 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 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 truy vấn sở dữ liệu
khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế chuẩn hóa sở dữ
liệu quan hệ.
Giáo trình cần thiết cho tất cả các đối tượng 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 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 dng mô hình quan niệm bậc cao cho việc thiết kế cơ s dliệ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