
Bài tập cơ sở dữ liệu
Phạm Hùng Phú 3
Mục lục
Chương 1 MÔ HÌNH THỰC THỂ - LIÊN HỆ
A. TÓM TẮT LÝ THUYẾT .................................................................................. 6
1.1. Các khái niệm và kiến thức cơ bản.............................................................. 6
1.1.1. Khái niệm cơ sở dữ liệu......................................................................... 6
1.1.2. Hệ cơ sở dữ liệu ..................................................................................... 6
1.1.3. Các mức trừu tƣợng trong cơ sở dữ liệu ............................................... 6
1.1.4. Lƣợc đồ (Scheme) và Thể hiện (Instance) ............................................ 6
1.2. Mô hình thực thể liên hệ (Entity- Relationship model)............................... 7
1.2.1 Thực thể .................................................................................................. 7
1.2.2. Tập thực thể ........................................................................................... 7
1.2.3. Thuộc tính và khoá ................................................................................ 7
1.2.4. Phân cấp ISA (là một) ........................................................................... 7
1.2.5. Mối liên hệ ............................................................................................. 7
1.2.6. Thuộc tính khoá vay mƣợn .................................................................... 8
1.2.7. Sơ đồ thực thể liên hệ ............................................................................ 8
1.2.8. Tính chất hàm của mối liên hệ .............................................................. 8
1.2.9. Biểu diễn tính chất hàm trong các sơ đồ thực thể - liên hệ ................... 9
B. BÀI TẬP .......................................................................................................... 12
Chương 2 MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
A. TÓM TẮT LÝ THUYẾT ................................................................................ 21
2.1. Các khái niệm cơ bản ................................................................................ 21
2.1.1. Mô hình cơ sở dữ liệu (Relation model) ............................................. 21
2.1.2. Các khái niệm quan hệ ....................................................................... 21
2.2. Biến đổi sơ đồ thực thể - liên hệ sang mô hình quan hệ ........................... 21
2.2.1. Biến đổi các tập thực thể ..................................................................... 22
2.2.2. Biến đổi mối liên hệ ............................................................................ 22
2.3. Khoá của các quan hệ ................................................................................ 22
2.4. Quan hệ có khoá chung ............................................................................. 23
2.5. Một số phép toán đại số quan hệ ............................................................... 24

Bài tập cơ sở dữ liệu
4 Phạm Hùng Phú
2.5.1. Phép hợp .............................................................................................. 24
2.5.2. Phép giao .............................................................................................. 24
2.5.3. Phép trừ ................................................................................................ 24
2.5.4. Phép tích Đề - Các ............................................................................... 24
2.5.5. Phép chiếu (Projection ) ....................................................................... 25
2.5.6. Phép chọn (Selection ) ......................................................................... 25
2.5.7. Phép kết nối (Join) ............................................................................... 25
2.6. Đại số quan hệ - một ngôn ngữ vấn tin. ..................................................... 25
2.7. Tối ƣu hoá các biểu thức đại số quan hệ .................................................... 27
2.7.1. Các chiến lƣợc tối ƣu tổng quát ........................................................... 27
2.7.2. Biểu thức tƣơng đƣơng ........................................................................ 27
2.7.3. Các phép biến đổi tƣơng đƣơng của đại số quan hệ ............................ 28
B. BÀI TẬP .......................................................................................................... 37
Chương 3 NGÔN NGỮ CƠ SỞ DỮ LIỆU SQL
A. TÓM TẮT LÝ THUYẾT ................................................................................. 57
3.1. Tạo bảng..................................................................................................... 57
3.1.1. Mệnh đề tạo cấu trúc của bảng có dạng tổng quát nhƣ sau: ................ 57
3.1.2. Vào dữ liệu cho bảng ........................................................................... 57
3.2 Khối SELECT ............................................................................................. 58
3.2.1. Tìm kiếm theo câu hỏi đơn giản (tìm kiếm trên một bảng) ................. 59
3.2.2. Tìm kiếm với câu hỏi phức tạp ............................................................ 65
3.3. Các mệnh đề cập nhật dữ liệu .................................................................... 70
3.3.1. Thêm bản ghi vào cuối bảng ................................................................ 70
3.3.2. Xóa bảng .............................................................................................. 70
3.4. Tạo view của ngƣời sử dụng ...................................................................... 72
3.5. Các mệnh đề về an toàn dữ liệu ................................................................. 72
3.5.1. Trao quyền truy nhập ........................................................................... 72
3.5.2. Huỷ bỏ quyền truy nhập ...................................................................... 72
B. BÀI TẬP .......................................................................................................... 73

Bài tập cơ sở dữ liệu
Phạm Hùng Phú 5
Chương 4 THIẾT KẾ CƠ SỞ DỮ LIỆU
A. TÓM TẮT LÝ THUYẾT ................................................................................ 99
4.1. Phụ thuộc hàm ........................................................................................... 99
4.1.1. Khái niệm phụ thuộc hàm ................................................................... 99
4.1.2. Hệ tiên đề cho phụ thuộc hàm ........................................................... 100
4.1.3. Bao đóng của tập thuộc tính .............................................................. 100
4.1.4. Khóa của lƣợc đồ quan hệ ................................................................. 102
4.1.5. Phủ của tập các phụ thuộc hàm ......................................................... 104
4.2. Phép tách các lƣợc đồ quan hệ ................................................................ 106
4.2.1. Khái niệm phép tách một lƣợc đồ quan hệ ....................................... 106
4.2.2. Phép tách kết nối không mất thông tin .............................................. 106
4.2.3. Phép tách bảo toàn phụ thuộc hàm .................................................... 109
4.3. Chuẩn hoá lƣợc đồ quan hệ ..................................................................... 110
4.3.1. Khái niệm lƣợc đồ đƣợc chuẩn hoá và chuẩn hoá lƣợc đồ quan hệ .. 110
4.3.2. Dạng chuẩn thứ nhất (First Normal Form, viết tắt là 1NF) .............. 110
4.3.3. Dạng chuẩn thứ hai (Second Normal Form, viết tắt là 2NF) ........... 111
4.3.4. Dạng chuẩn thứ ba (Third Normal Form, viết tắt là 3NF) ............... 111
4.3.2. Dạng chuẩn Boye-Codd (BCNF) .................................................... 114
B. BÀI TẬP ........................................................................................................ 117
4.1. Bài tập về phụ thuộc hàm ........................................................................ 117
4.2. Bài tập về phép tách lƣợc đồ quan hệ ...................................................... 194
4.3. Bài tập về chuẩn hóa sơ đồ quan hệ ........................................................ 203
4.4. Bài tập tổng hợp ...................................................................................... 213

Bài tập cơ sở dữ liệu
6 Phạm Hùng Phú
Chương 1
MÔ HÌNH THỰC THỂ - LIÊN HỆ
A. TÓM TẮT LÝ THUYẾT
1.1. Các khái niệm và kiến thức cơ bản
1.1.1. Khái niệm cơ sở dữ liệu
Cơ sở dữ liệu là tập hợp các thông tin có quan hệ với nhau đƣợc lƣu trữ trong
máy tính theo một quy định nhất định nhằm phục vụ cho một mục đích nào đó.
1.1.2. Hệ cơ sở dữ liệu
Hệ cơ sở dữ liệu là một hệ thống gồm bốn thành phần:
- Cơ sở dữ liệu hợp nhất;
- Những ngƣời sử dụng;
- Hệ quản trị cơ sở dữ liệu;
- Các thiết bị nhớ ngoài đƣợc sử dụng để lƣu trữ cơ sở dữ liệu.
1.1.3. Các mức trừu tượng trong cơ sở dữ liệu
1) Mức cơ sở dữ liệu vật lý
Là tập hợp các tệp dữ liệu, các chỉ mục hoặc những cấu trúc lƣu trữ khác nhƣ
heap, bảng băm (hash table), … dùng để truy xuất dữ liệu; nó mô tả dữ liệu đƣợc
lƣu trữ một cách thực sự nhƣ thế nào trên các thiết bị nhớ ngoài.
2) Mức cơ sở dữ liệu khái niệm
Là các mô tả những dữ liệu nào đƣợc lƣu trữ trong cơ sở dữ liệu và các mối
quan hệ nào tồn tại giữa các dữ liệu này.
3) Mức cơ sở dữ liệu khung nhìn
Là cách nhìn của ngƣời sử dụng đối với cơ sở dữ liệu, là một đối tƣợng
tƣởng tƣợng đƣợc xây dựng từ cơ sở dữ liệu khái niệm nhƣng thực sự không tồn tại
trong cơ sở dữ liệu đó.
1.1.4. Lược đồ (Scheme) và Thể hiện (Instance)
1) Lược đồ (Schem ) là bộ khung hay cấu trúc của cơ sở dữ liệu
2) Thể hiện (Instance) là dữ liệu hiện có trong cơ sở dữ liệu.

Bài tập cơ sở dữ liệu
Phạm Hùng Phú 7
1.2. Mô hình thực thể liên hệ (Entity- Relationship model)
Là mô hình cho phép sử dụng các tên để mô tả dữ liệu - các tập thực thể thông
qua các thuộc tính và mối liên hệ giữa các tập thực thể. Nó đƣợc dùng làm công cụ
thiết kế lƣợc đồ cơ sở dữ liệu khái niệm.
1.2.1 Thực thể
Thực thể là một sự vật tồn tại và phân biệt đƣợc, nghĩa là có thể phân biệt
đƣợc thực thể này với thực thể khác.
1.2.2. Tập thực thể
Một nhóm bao gồm các thực thể “tƣơng tự” tạo ra một tập thực thể. Mỗi tập
thực thể đƣợc đặt bởi một tên.
1.2.3. Thuộc tính và khoá
1) Thuộc tính
Các đặc tính của tập thực thể gọi là các thuộc tính. Mỗi thuộc tính của tập thực
thể đƣợc đặt bởi một tên và lấy giá trị trên một miền dành cho thuộc tính đó.
2) Khóa
Một hoặc một tập các thuộc tính dùng để xác định một cách duy nhất mỗi
thực thể trong một tập thực thể gọi là khóa đối với tập thực thể đó.
1.2.4. Phân cấp ISA (là một)
A ISA B (A là một B) nếu tập thực thể A là một loại B đặc biệt hoặc tƣơng
đƣơng tập thực thể B là sự tổng quát hóa của tập thực thể A. Mục đích chính của
việc khai báo mối liên hệ ISA giữa các tập thực thể A và B là A có thể kế thừa các
thuộc tính của B, nhƣng A có thể có thêm những thuộc tính khác mà B không có.
1.2.5. Mối liên hệ
Mối liên hệ (Relationship) R giữa các tập thực thể E1, E2, E3, ..., EK là một
danh sách có thứ tự R(E1, E2, E3, ..., EK) của các tập thực thể đó. Nó là tập hợp các
bộ thực thể (e1, e2, e3, ..., ek) với ei Ei và e1, e2, e3, ..., ek có quan hệ R với nhau
(Một tập thực thể đặc biệt có thể xuất hiện nhiều lần trong danh sách).