Cộng đồng chia sẻ tri thức Lib24.vn

Giáo trình môn học Cơ Sở Dữ Liệu

6ba28aa54a1f6efbf555ddd634068735
Gửi bởi: Khoa CNTT - HCEM 10 tháng 8 2020 lúc 8:26:51 | Được cập nhật: 5 giờ trước (8:01:50) Kiểu file: PDF | Lượt xem: 427 | Lượt Download: 10 | File size: 0.844356 Mb

Nội dung tài liệu

Tải xuống
Link tài liệu:
Tải xuống

Các tài liệu liên quan


Có thể bạn quan tâm


Thông tin tài liệu

TRƢỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
---------- ----------

GIÁO TRÌNH
MÔN HỌC CƠ SỞ DỮ LIỆU
(Tài liệu lưu hành nội bộ)

Hà Nội, 2018

MỤC LỤC
CHƢƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VÀ MÔ HÌNH HÓA DỮ LIỆU ........ 1
1. Một số khái niệm............................................................................................................ 1
1.1. Cơ sở dữ liệu............................................................................................................... 1
1.2. Hệ quản trị cơ sở dữ liệu ............................................................................................ 2
1.3. Mô hình dữ liệu ........................................................................................................... 3
2. Mô hình thực thể liên kết ............................................................................................... 4
2.1. Thực thể ...................................................................................................................... 4
2.2. Thuộc tính ................................................................................................................... 5
2.3. Mối liên kết ................................................................................................................. 6
2.4. Xây dựng mô hình thực thể liên kết .......................................................................... 10
3. Mô hình dữ liệu quan hệ .............................................................................................. 14
3.1. Các khái niệm cơ bản ............................................................................................... 14
3.2. Xây dựng mô hình dữ liệu quan hệ ........................................................................... 17
4. Đại số quan hệ ............................................................................................................. 20
4.1. Các phép toán tập hợp .............................................................................................. 20
4.2. Các phép toán quan hệ ............................................................................................. 23
CHƢƠNG 2: NGÔN NGỮ SQL ........................................................................................... 25
1. Các lệnh định nghĩa đối tượng cơ sở dữ liệu .............................................................. 25
1.1. Tạo, sử dụng, xóa cơ sở dữ liệu ................................................................................ 25
1.2. Tạo bảng ................................................................................................................... 26
1.3. Sửa đổi định nghĩa bảng ........................................................................................... 30
1.4. Xóa bảng ................................................................................................................... 30
2. Các lệnh bổ sung, cập nhật, xóa dữ liệu ..................................................................... 31
2.1.Thêm bộ vào bảng...................................................................................................... 31
2.2.Cập nhật nội dung của bộ trong bảng ....................................................................... 32
2.3. Xoá các bộ trong bảng.............................................................................................. 33
3. Các lệnh truy vấn dữ liệu ............................................................................................ 34
3.1. Lấy thông tin từ các cột của bảng bằng mệnh đề SELECT ...................................... 34
3.2. Chọn các dòng của bảng bằng mệnh đề WHERE .................................................... 35
3.3. Truy vấn thông tin từ nhiều bảng ............................................................................. 36
3.4. Sắp xếp kết quả truy vấn bằng mệnh đề ORDER BY ................................................ 37
3.5. Phân nhóm dữ liệu bằng mệnh đề GROUP BY ........................................................ 37
3.6. Lọc nhóm kết quả truy vấn bằng mệnh đề HAVING ................................................ 38
3.7. Truy vấn lồng nhau ................................................................................................... 38
CHƢƠNG 3: RÀNG BUỘC TOÀN VẸN VÀ PHỤ THUỘC HÀM ................................. 41
1. Ràng buộc toàn vẹn ..................................................................................................... 41
1.1. Các vấn đề liên quan đến ràng buộc toàn vẹn ......................................................... 41

1.2. Các loại ràng buộc toàn vẹn..................................................................................... 42
2. Phụ thuộc hàm ............................................................................................................. 45
2.1. Định nghĩa và biểu diễn phụ thuộc hàm ................................................................... 45
2.2. Bao đóng của tập phụ thuộc hàm và hệ luật dẫn Armstrong ................................... 46
2.3. Bao đóng của tập thuộc tính ..................................................................................... 46
2.4. Phủ và phủ tương đương .......................................................................................... 48
2.5. Thuật toán xác định khoá của lược đồ quan hệ ........................................................ 49
CHƢƠNG 4: DẠNG CHUẨN VÀ CHUẨN HOÁ LƢỢC ĐỒ CƠ SỞ DỮ LIỆU QUAN
HỆ ............................................................................................................................................ 54
1. Giới thiệu về chuẩn hóa và các dạng chuẩn................................................................ 54
1.1. Giới thiệu về chuẩn hóa ............................................................................................ 54
1.2. Các dạng chuẩn ........................................................................................................ 55
2. Phân rã ........................................................................................................................ 59
2.1. Giới thiệu về phân rã ................................................................................................ 59
2.2. Phân rã bảo toàn thông tin ....................................................................................... 60
2.3. Phân rã bảo toàn phụ thuộc hàm ............................................................................. 61
3. Chuẩn hóa lược đồ CSDL............................................................................................ 62
3.1. Thuật toán phân rã LĐQH thành 3NF ..................................................................... 62
3.2. Thuật toán phân rã LĐQH thành BCNF .................................................................. 63

CHƢƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VÀ MÔ HÌNH HÓA DỮ LIỆU

1. Một số khái niệm
1.1. Cơ sở dữ liệu
a. Khái niệm
Cơ sở dữ liệu (Database, viết tắt là CSDL) là một hệ thống các thông tin có cấu trúc
được lưu trữ trên các thiết bị lưu trữ thông tin. Có thể thỏa mãn yêu cầu khai thác thông tin
đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích
khác nhau.
Ví dụ: Ta xem xột hệ thống bán vé máy bay bằng máy tính. Dữ liệu lưu trữ trong
máy tính bao gồm thông tin về hành khách, chuyến bay, đường bay v...v. Mọi thông tin về
mối quan hệ này được biểu diễn trong máy tính thông qua việc đặt chỗ của khách hàng. Vậy
làm thế nào để biểu diễn được dữ liệu đó và đảm bảo cho hành khách đi đúng chuyến. Dữ
liệu nêu trên được lưu trong máy tớnh theo một quy định nào đó và được gọi là cơ sở dữ
liệu.
b. Ƣu điểm
Việc sử dụng cơ sở dữ liệu có những ưu điểm như sau:
 Giảm sự trùng lặp thông tin xuống mức thấp nhất và do đó bảo đảm được
tính nhất quán và toàn vẹn dữ liệu.
 Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau.
 Có khả năng chia sẻ thông tin cho nhiều người sử dụng.
c. Phân loại
Cơ sở dữ liệu được phân thành các loại sau:
 Cơ sở dữ liệu dạng file: Dữ liệu được lưu trữ dưới dạng các file có thể là
text, ascii, *.dbf.
 Cơ sở dữ liệu quan hệ: Dữ liệu được lưu trữ trong các bảng dữ liệu gọi là các thực
thể, giữa các thực thể này có mối liên hệ với nhau gọi là các quan hệ, mỗi quan hệ
có các thuộc tính, trong đó có một thuộc tính là khóa chính.
 Cơ sở dữ liệu hướng đối tượng: Dữ liệu cũng được lưu trữ trong các bảng dữ liệu
nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm
các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một lớp dữ
liệu, một dòng dữ liệu trong bảng là một đối tượng.

1

 Cơ sở dữ liệu bán cấu trúc: Dữ liệu được lưu dưới dạng XML, với định dạng này
thông tin mô tả về đối tượng thể hiện trong các tag. Đây là cơ sở dữ liệu có nhiều
ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu bán
cấu trúc là hướng mới trong nghiên cứu và ứng dụng.
1.2. Hệ quản trị cơ sở dữ liệu
a. Khái niệm
Hệ quản trị cơ sở dữ liệu (Database Management System – DBMS, viết tắt Hệ QT
CSDL): Là tập hợp các chương trình dùng để quản lý cấu trúc và dữ liệu của CSDL đồng
thời điều khiển việc truy xuất dữ liệu trong CSDL. Đồng thời cung cấp cho người dùng và
ứng dụng một môi trường thuận tiện và sử dụng hiệu quả tài nguyên dữ liệu
Ví dụ: Một số hệ quản trị CSDL thường gặp:





MS Access
MS SQL Server
MySQL
Oracle

b. Kiến trúc của một hệ quản trị cơ sở dữ liệu

Hình 1.1: Kiến trúc của một hệ quản trị cơ sở dữ liệu
c. Phân loại
Phân loại dựa trên cách thức tổ chức dữ liệu ta có:
 Hệ QT CSDL phân cấp: IMS của IBM
 Hệ QT CSDL mạng: IDMS của Cullinet Software
 Hệ QT CSDL quan hệ:
o Cho máy tính cá nhân: MS Access
2

o Cho máy chủ: MS SQL Server, MySQL, Oracle
 Hệ QT CSDL đối tượng : Ozone, MS SQL Server, Oracle, PostgreSQL
Phân loại dựa trên cách thức lưu trữ dữ liệu ta có:
 Hệ QT CSDL tập trung
 Hệ QT CSDL phân tán
1.3. Mô hình dữ liệu
Mô hình CSDL (Database Model) là một hệ hình thức toán học gồm có hai phần:
 Một hệ thống ký hiệu để mô tả dữ liệu.
 Một tập hợp các phép toán thao tác trên dữ liệu đó.
1.3.1. Mô hình mạng
Mô hình mạng là một mô hình sơ đồ thực thể liên kết với tất cả các liên kết được hạn
chế là liên kết hai ngôi nhiều – một. Hạn chế này cho phép chúng ta sử dụng đồ thị có
hướng đơn giản để biểu diễn dữ liệu trong mô hình này. Trong mô hình mạng, các tập thực
thể được chuyển thành các kiểu bản ghi logic. Các kiểu bản ghi logic bao gồm một tập các
trường, mỗi trường chứa giá trị là một số nguyên hay một xâu ký tự… Tập tên các trường và
các kiểu của chúng cấu thành quy cách bản ghi logic.
1.3.2. Mô hình phân cấp
Một mô hình phân cấp đơn giản là một mô hình mạng mà là một rừng (tập các cây)
trong có tất cả các móc nối trỏ theo hướng từ con đến cha. Chúng ta sẽ tiếp tục sử dụng các
thuật ngữ của mô hình mạng: kiểu bản ghi logic… khi chúng ta nói về mô hình phân cấp.
1.3.3. Mô hình quan hệ
Là mô hình dựa vào ký hiệu là tập các tên và cơ sở toán học của nó là các phép toán
tập hợp và ánh xạ. Nó là mô hình phổ biến hiện nay. Tập các phép toán trong mô hình này
dựa trên hai hệ ký hiệu: hệ ký hiệu đại số và hệ ký hiệu logic.
1.3.4. Mô hình thực thể liên kết
Là mô hình cho phép mô tả các thực thể thông qua các thuộc tính và mối liên hệ giữa
các thực thể. Một trong các cách biểu thị mô hình thực thể là dùng đồ thị, sơ đồ khối.
1.3.5. Mô hình hƣớng đối tƣợng
Là mô hình cung cấp đặc tính nhận dạng đối tượng. Trong đó mỗi lớp đối tượng
được đặc trưng bởi hai yếu tố:
 Tập các thuộc tính (properties) để nhận dạng đối tượng.
 Tập các phương thức (methods) để thao tác với đối tượng.
3

2. Mô hình thực thể liên kết
Hiện nay mô hình dữ liệu quan hệ thường được dùng trong các hệ quản trị cơ sở dữ
liệu, đây là mô hình dữ liệu ở mức vật lý. Để thành lập được mô hình này, thường là phải
dùng mô hình dữ liệu ở mức quan niệm để đặc tả, một trong những mô hình ở dạng đó là
mô hình thực thể liên kết (sau đó mới dùng một số quy tắc để chuyển hệ thống từ mô hình
này về mô hình dữ liệu quan hệ – các quy tắc này sẽ được nói đến trong chương 2).
Sau đây là các khái niệm của mô hình thực thể liên kết.
2.1. Thực thể
Thuật ngữ thực thể (Entity) không có một định nghĩa hình thức.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.
Mỗi con người là một thực thể, mỗi chiếc xe máy là một thực thể. Khái niệm về “
Tính phân biệt được ” rất gần với “ đặc tính nhận dạng đối tượng” vì thế mô hình thực thể
liên hệ được xem như là mô hình hướng đối tượng.
Tập hợp các thực thể giống nhau tạo thành 1 tập thực thể.
Ví dụ: Trong hệ thống “Quản lý đề án công ty” ta có:
 Một nhân viên là một thực thể
 Tập hợp các nhân viên là tập thực thể
 Một đề án là một thực thể
 Tập hợp các đề án là tập thực thể
 Một phòng ban là một thực thể
 Tập hợp các phòng ban là tập thực thể
Kiểu thực thể là tập hợp các thực thể cùng mô tả đối tượng nào đó trong hệ thống.
Ví dụ: Kiểu thực thể Sinhvien
Có 2 kiểu thực thể thực thể: Thực thể mạnh và thực thể yếu

Sinh vien

Than
nhan

Dùng hình chữ nhật (hoặc hình chữ nhật bầu) để biểu diễn thực thể.

4

2.2. Thuộc tính
Thuộc tính là tính chất để mô tả thực thể. Mỗi thuộc tính của tập thực thể lấy giá trị
trên một miền dành cho thuộc tính đó. Thường thì miền giá trị đối với mỗi thuộc tính là một
tập số nguyên, tập các số thực hoặc chuỗi ký tự nhưng cũng không loại trừ các kiểu giá trị
khác.
Ví dụ : một tập thực thể con người có thể khai báo có các thuộc tính như họ và tên
(chuỗi ký tự), chiều cao (số thực), ngày sinh (ngày tháng năm),...
Chọn thuộc tính thích hợp cho các tập thực thể là một bước quan trọng trong việc thiết
kế lược đồ CSDL khái niệm.
Mỗi thuộc tính có một kiểu dữ liệu xác định
 Các loại thuộc tính
o Thuộc tính đơn: không thể tách nhỏ ra được.
Ví dụ : Giới tính,…
o Thuộc tính phức hợp : có thể tách ra thành các thành phần nhỏ hơn.
Ví dụ : Họ tên ( Họ, tên đệm, tên)


Loại giá trị của thuộc tính
o Đơn trị: các thuộc tính có giá trị duy nhất cho một thực thể.
Ví dụ : số CMND, …
o Đa trị: các thuộc tính có một tập giá trị cho cùng một thực thể.
Ví dụ : bằng cấp, …
o Thuộc tính cơ sở – Thuộc tính dẫn xuất ( suy diễn được).
Ví dụ : Ngày sinh  Tuổi



Miền giá trị của thuộc tính (domain)
o Kiểu chuỗi (string)
o Kiểu số nguyên (integer)
o Kiểu số thực …
Ví dụ : tập thực thể NHANVIEN có các thuộc tính
5





Họ tên (hoten: string[20])



Ngày sinh (ns: date)



Điểm TB (DTB:float)





Tính chất của thuộc tính

Tất cả các thực thể nằm trong tập thực thể có cùng tập thuộc tính.
Mỗi thực thể đều được phân biệt bởi một thuộc tính khóa.
Mỗi thuộc tính đều có miền giá trị tương ứng với nó.


Biểu diễn thuộc tính trong các hình oval và gắn với thực thể của nó

MaSV

TenSV

Sinh vien
2.3. Mối liên kết
Mối liên kết diễn tả sự liên hệ giữa hai hay nhiều thực thể phân biệt theo một ý nghĩa
nào đó.
Ví dụ: mối liên kết giữa hai loại thực thể Sinhviên và Lop, mối liên kết giữa Sinhviên
với Mônhọc,...
Mối liên kết được biểu diễn bằng một hình thoi và hai bên là hai nhánh gắn kết với các
loại thực thể (hoặc mối liên kết) liên quan, tên mối liên kết thường là: thuộc, gồm , chứa,...
Chẳng hạn giữa hai loại thực thể Lớp và Khoa có mối liên kết “thuộc” như sau:

6

a. Ràng buộc trên kiểu liên kết
Xét mối quan hệ nhị phân R (binary relationship) giữa 2 tập thực thể A và B, ràng
buộc liên kết bao gồm

(min, max) chỉ định mỗi thực thể e ∈ E tham gia ít nhất và nhiều nhất vào thể hiện của
R

7

Một loại thực thể có thể tham gia nhiều lần vào một quan hệ với nhiều vai trò khác
nhau

b. Thuộc tính trên mối quan hệ
Thuộc tính trên mối quan hệ mô tả tính chất cho mối quan hệ đó.
Thuộc tính này không thể gắn liền với những thực thể tham gia vào mối quan hệ.

b. Các kiểu liên kết
Liên kết Một – Một (1:1)

Liên kết Một – Nhiều (1:N)

8

 Liên kết Nhiều – Nhiều (M:N)

c. Khoá của mối liên kết:
Khóa của mối liên kết dùng để phân biệt các thực thể cùng kiểu
Chẳng hạn như thuộc tính MAGV là khoá của loại thực thể Giangvien, MALOP là
thuộc tính khoá của loại thực thể Lop, MAMH là thuộc tính khoá của loại thực thể Monhoc,
do đó mối liên kết phancong (giữa các loại thực thể Giangvien, Lop, Monhoc) có khoá là
{MAGV, MAMH, MALOP} - phancong là mối liên kết 3 ngôi.
Khóa K của tập thực thể E là một hay nhiều thuộc tính sao cho


Lấy ra 2 thực thể bất kỳ e1, và e2 trong E



Thì e1 và e2 không thể có các giá trị giống nhau tại các thuộc tính trong K

Chú ý:
9



1 khóa có thể có một hoặc nhiều thuộc tính



Một kiểu thực thể có thể có một hoặc nhiều khóa ( khóa ứng viên), khóa ứng viên
được sử dụng gọi là khóa chính (Primary Key)



Trong mô hình ER tên của mỗi thuộc tính dùng làm khóa chính được gạch chân

2.4. Xây dựng mô hình thực thể liên kết
Các bước xây dựng mô hình thực thể liên kết (ER)
Bước 1: Liệt kê, chính xác hóa và lựa chọn thông tin cơ sở
Xác định một từ điển bao gồm tất cảcác thuộc tính (không bỏ sót bất cứ thông tin nào).
Chính xác hóa các thuộc tính đó. Thêm các từ cần thiết để thuộc tính đó mang đầy đủ
ý nghĩa, không gây lầm lẫn, hiểu nhầm.
Chú ý: Để lựa chọn các đặc trưng cần thiết , ta duyệt từ trên xuống và chỉ giữ lại
những thuộc tính đảm bảo yêu cầu sau:


Thuộc tính cần phải đặc trưng cho một lớp các đối tượng được xét.



Chọn một thuộc tính một lần, nếu lặp lại thì bỏ qua.



Một thuộc tính phải là sơ cấp (Nếu giá trị của nó có thể suy ra từ các thuộc tính
khác thì bỏ qua).

10

Bước 2: Xác định các thực thể và các thuộc tính của nó, sau đó xác định thuộc tính
định danh cho từng thực thể
Duyệt danh sách các thuộc tính từ trên xuống để tìm ra thuộc tính tên gọi. Mỗi thuộc
tính tên gọi sẽ tương ứng với một thực thể.
Gán các thuộc tính cho từng thực thể.
Xác định thuộc tính định danh cho từng thực thể.
Bước 3: Xác định các mối quan hệ và các thuộc tính riêng của nó
Xét danh sách các thuộc tính còn lại, hãy tìm tất cả các động từ (ứng với thuộc tính
đó). Với mỗi động từ, hãy trả lời các câu hỏi: Ai? Cái gì? Ở đâu? Khi nào? Bằng cách nào?
Bước 4: Vẽ sơ đồ mô hình thực thể - mối quan hệ, xác định lực lượng tham gia liên
kết cho các thực thể.
Bước 5: Chuẩn hóa sơ đồ và thu gọn sơ đồ
Chuẩn hóa sơ đồ: Nếu trong đó còn có chứa: các thuộc tính lặp, nhóm lặp và các
thuộc tính phụ thuộc thời gian thì sơ đồ chỉ còn các thực thể đơn và các thuộc tính đơn.
Thu gọn sơ đồ: Nếu một thực thể có tất cả các đặc trưng:


Là thực thể treo: là thực thể chỉtham gia vào một mối quan hệ và chỉ chứa một
thuộc tính duy nhất thực sự là của nó (có thể có thuộc tính thứ 2 thêm vào làm
định danh).



Mối quan hệ là bậc hai và không có thuộc tính riêng.



Mối quan hệ là 1: N hay 1:1.

Được thu gọn thành sơ đồ sau:

11

Ví dụ:
CSDL đề án công ty theo dõi các thông tin liên quan đến nhân viên, phòng ban và đề
án
- Cty có nhiều đơn vị, mỗi đơn vị có tên duy nhất, mã đơn vị duy nhất, một trưởng
phòng và ngày nhận chức. Mỗi đơn vị có thể ở nhiều địa điểm khác nhau.
- Dự án có tên duy nhất, mã duy nhất, do 1 một phòng ban chủ trì và được triển khai ở
1 địa điểm.
- Nhân viên có mã số, tên, địa chỉ, ngày sinh, giới tính và lương. Mỗi nhân viên làm
việc ở 1 phòng ban, tham gia vào các đề án với số giờ làm việc khác nhau. Mỗi nhân viên
đều có một người quản lý trực tiếp.
- Một nhân viên có thể có những người con được hưởng bảo hiểm theo nhân viên. Mỗi
người con của nhân viêncó tên, giới tính, ngày sinh.
Ta có mô hình ER của bài toán trên như sau:

12

13

3. Mô hình dữ liệu quan hệ
3.1. Các khái niệm cơ bản
3.1.1. Thuộc tính
Thuộc tính (attribute) là một tính chất riêng biệt của một đối tượng cần lưu trữ trong
CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng.
Ví dụ:
 Đối tượng KHOA (tương ứng với thực thể KHOA trong mô hình thực thể kết
hợp) có các thuộc tính Ma-khoa, Ten-khoa.
 Thực thể LOP-HOC có một số thuộc tính Ma-lop, Ten-lop, Nien-khoa, Sohoc-vien.
 Thực thể MON-HOC có một số thuộc tính Ma-mon, Ten-mon.
Mỗi thuộc tính được xác định trên 1 miền giá trị gọi là miền thuộc tính (domain), ký
hiệu là D.
 Thuộc tính Tên: D(Tên) = {Hoa, Lan, Huệ}
 Thuộc tính Họ tên: D(Họ tên) = {char(30)}
 Thuộc tính Tuổi: D(Tuổi) = N
3.1.2. Quan hệ
Quan hệ (Relation) là một tập con của tích Đề-các của một hoặc nhiều miền.
Tích Đề-các: Gọi D 1, D 2,…,Dn là các miền. Tích đề-các của n miền này ký hiệu là
D1x D2x…x Dn là tập tất cả n bộ (v1, v2,…, vn) sao cho vi thuộc Di với i=1…n
Ví dụ:
Cho n=2, D1={0,1}, D2={a,b,c}
Khi đó D1x D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
Ta có {(0,a),(0,b),(1,a),(1,b)} là một quan hệ r 1, đó là tập con của tích đề-các D 1x D2.
Tập rỗng  cũng là một quan hệ.
3.1.3. Bộ giá trị
Bộ giá trị (tuple) là tập hợp mỗi giá trị liên quan đến tất cả các thuộc tính của 1 lược
đồ quan hệ hay là một phần tử của một quan hệ.
Ta thường sử dụng các chữ cái thường (t, p, q,…) để biểu diễn các bộ. Nếu bộ t thuộc
quan hệ r thì: t  r

14

Về trực quan thì mỗi quan hệ xem như một bảng dữ liệu, trong đó mỗi cột là thông
tin về một thuộc tính và mỗi dòng là thông tin về một bộ.
Ví dụ:
Quan hệ SINHVIEN
MASV

HOTEN

NGAYSINH

MALOP

DIACHI

HOCBONG

7462

Nguyễn Thị Hoa

15/03/1989

Tin3A

Hải Dương

1000000

8390

Trần Văn Mạnh

03/07/1992

Tin5A

Nam Định

1200000

3.1.4. Lƣợc đồ quan hệ
Tập các tên thuộc tính cho một quan hệ được gọi là một lược đồ quan hệ (Relation
Scheme). Nếu chúng ta đặt tên cho một quan hệ là R và lược đồ quan hệ của nó có các thuộc
tính A1, A2,..., An thì lược đồ quan hệ này có thể viết dưới dạng R(A 1, A2,..., An).
Như vậy khi ta nói cho một lược đồ quan hệ R(A1, A2,..., An) có nghĩa là ta đã cho một
tập thuộc tính A1, A2,..., An và trên đó đã tồn tại một quan hệ R.
Ví dụ: Với quan hệ SINHVIEN có các thuộc tính MASV, HOTEN, NGAYSINH,
MALOP, DIACHI, HOCBONG thì ta có lược đồ quan hệ sau:
SINHVIEN(MASV, HOTEN, NGAYSINH, MALOP, DIACHI, HOCBONG)
3.1.5. Thể hiện của quan hệ
Thể hiện (hoặc còn gọi là tình trạng) của quan hệ R, ký hiệu bởi T R, là tập hợp các bộ
giá trị của quan hệ R vào một thời điểm. Tại những thời điểm khác nhau thì quan hệ sẽ có
những thể hiện khác nhau. Thể hiện (hay tình trạng) của các lược đồ quan hệ con T Ri gọi là
tình trạng của lược đồ cơ sở dữ liệu .
Ví dụ:
Các thể hiện của quan hệ lớp-học và môn-học
Quan hệ lớp-học:
Mã-lớp
QTKD1
TCKT1
CNTT1

Tên-lớp
Quản trị kinh doanh QT01
Tài chính kế toán KT3
Công nghệ thông tin K1

Quan hệ môn-học:
Mã-môn
TCKT
CSDL
KTCT

Niên-khoá
96-99
97-2000
98-2001

Tên-môn
Tài chính kế toán
Cơ sở dữ liệu
Kinh tế chính trị
15

Số-Hviên
154
200
120
Số-đv-học-trình
4
5
4

Mã-khoa
QTKD
TCKT
CNTT

LTCB

Lập trình căn bản C

5

3.1.6. Khoá- siêu khoá - khoá chỉ định – khoá chính – khoá ngoại
Khoá (key): Khoá của một quan hệ R(A 1, A2,...,An) là tập con
  K  { A1, A2,...,An }, thoả mãn các tính chất sau đây:
 Với bất kỳ 2 bộ t1, t2  R đều tồn tại một thuộc tính A K sao cho
t1[A]  t2[A].
Nói một cách khác: không tồn tại 2 bộ mà có giá trị bằng nhau trên mọi thuộc tính
của K. Điều kiện này có thể viết t

1[K]

 t 2[K]. Do vậy mỗi giá trị của K là xác

định duy nhất.
 Không có tập con thực sự nào của K có tính chất 
Ví dụ:
Cho thể hiện của quan hệ HANG_HOA như sau:
MSMH

TEN_HANG

SO_LUONG

10101

Sắt phi 6

1000

10102

Sắt phi 8

2000

20001

Xi măng

1000

Trong quan hệ HANG_HOA trên thì mã số mặt hàng (MSMH) là khoá. Mỗi giá trị
MSMH đều xác định duy nhất một loại mặt hàng trong quan hệ HANG_HOA.
Chú ý: Khoá phụ thuộc vào lược đồ quan hệ không phụ thuộc vào thể hiện của quan
hệ. Một quan hệ có thể có nhiều khoá.
Siêu khóa (Super key ): k là 1 khóa của quan hệ r(U) thì mọi tập hợp k‟ chứa k đều
là khóa của quan hệ r(U). Ta gọi k‟ là siêu khóa của quan hệ.
Siêu khóa chứa ít thuộc tính nhất được gọi là khóa chỉ định.
Khóa chính là khóa được chọn để cài đặt trong một hệ quản trị cơ sở dữ liệu.
Khi chọn khóa chính ta phải chú ý các tính chất:
 Khóa có tính áp dụng khi nó không bỏ sót bất kỳ trường hợp nào của vấn đề
 Khóa phải có tính duy nhất dùng để phân biệt bộ này với bộ kia trong quan hệ

16

 Khóa có tính nhỏ nhất khi ta bỏ qua bất kỳ thuộc tính nào của nó thì nó không còn
tính duy nhất nữa
 Khóa có tính ổn định khi giá trị của khóa không thay đổi
Khóa ngoại (Foreign key): một thuộc tính được gọi là khóa ngoại nếu nó là thuộc
tính của một lược đồ quan hệ này nhưng lại là khóa chính của lược đồ quan hệ khác.
3.1.7. Phụ thuộc hàm
Quan hệ R được định nghĩa trên tập thuộc tính U = {A

1,A2,

…,A n}. X , Y  U là

hai tập con của tập thuộc tính U. Nếu tồn tại một ánh xạ f: X → Y thì ta nói rằng X xác
định hàm Y, hay Y phụ thuộc hàm vào X và ký hiệu là X →Y. Chúng ta sẽ tìm hiểu kỹ hơn
về phụ thuộc hàm trong Chương 4.
3.1.8. Ràng buộc toàn vẹn
Các RBTV là những điều kiện bất biến mà mọi thể hiện của quan hệ đều phải thỏa ở
bất kỳ thời điểm nào. Chúng ta sẽ tìm hiểu kỹ hơn về ràng buộc toàn vẹn trong Chương 4.
3.2. Xây dựng mô hình dữ liệu quan hệ
Như chúng ta đã biết, mô hình ER là mô hình dữ liệu mức khái niệm. Sau quá trình
khảo sát thiết kế, ta thu được mô hình này. Từ mô hình này ta có thể sử dụng các quy tắc
chuyển sang mô quan hệ để thực hiện quản lý cơ sở dữ liệu trên máy tính.
Sau đây là 8 bước được sử dụng để chuyển từ mô hình ER sang mô hình quan hệ:
Bước 1: Mỗi kiểu thực thể bình thường (không phải kiểu thực thể yếu) trong mô hình
ER trở thành một quan hệ. Quan hệ đó bao gồm tất cả các thuộc tính đơn giản và thuộc tính
tổ hợp của thực thể. Thuộc tính định danh của thực thể là khóa chính của quan hệ.
Bước 2: Cho mỗi thực thể yếu (Weak Entity) trong mô hình ER, tạo thành một
quan hệ R, tất cả thuộc tính đơn giản của thực thể yếu trở thành thuộc tính của R.
Thêm vào đó, thuộc tính định danh của thực thể chủ trở thành khóa ngoại của R.
Khoá chính của R là sự kết hợp giữa thuộc tính định danh của thực thể chủ và thuộc
tính định danh của thực thể yếu.
Bước 3: Cho mỗi mối liên kết 1-1 trong mô hình ER:
- Xác định một quan hệ S_T. Kiểu thực thể có sự tham gia toàn bộ vào liên kết trở
thành quan hệ S, thực thể còn lại trở thành quan hệ T.
- Đưa khóa chính của T sang làm khóa ngoại của S.
- Thuộc tính của mối quan hệS_T trở thành thuộc tính của S.

17