Cơ sở dữ liệu quan hệ - Phần 1
Edgar F.Codd là người đầu tiên nghiên cứu mô hình cơ sở dữ liệu quan hệ. Codd đã có nhiều đóng
góp cho sự phát triển đại số quan hệ, các phép toán quan hệ và sự chuẩn hóa quan hệ. Trong bài này
sẽ trình bày những khái niệm cơ bản nhất về lý thuyết cơ sở dữ liệu quan hệ do E.F Codd đề xuất, đó
là các khái niệm về quan hệ, về khóa của lược đồ quan hệ. Những khái niệm này có vai trò quan trọng
trong việc thiết kế và cài đặt các hệ cơ sở dữ liệu quan hệ và các hệ quản trị cơ sở dữ liệu.
Nội dung của chương bao gồm:
♦ Định nghĩa quan hệ.
♦ Lược đồ quan hệ.
♦ Khóa của lược đồ quan hệ.
♦ Một số tính chất của khoá trong lược đồ quan hệ.
♦ Các thuật toán xác định khoá của lược đồ quan hệ.
♦ Các phép toán trên cơ sở dữ liệu quan hệ.
1. Quan hệ :
1.1. Định nghĩa quan hệ :
Cho Ω := {A
1
, A
2
, , A
b
} một tập hữu hạn các thuộc tính, khác rỗng và các phần tử không nhất
thiết phân biệt nhau. Mỗi một thuộc tính A
i
∈ Ω, i =1÷n có một miền giá trị xác định, (Domain), ký
hiệu D(A
i
) = Dom(A
i
). Ví dụ, tập các ký tự số có chiều dài chính xác là 7, là miền của của thuộc
tính số điện thoại. Tích Đề các của các miền Dom(A
1
, A
2
, , A
n
, không nhất thiết
phân biệt nhau và các hàng của quan hệ được gọi là các bộ (tuple), hay còn được gọi là các bản ghi
của quan hệ, ký hiệu là r ∈ R(Ω). Giá trị của mỗi một bộ gồm n thành phần giá trị r = (d
1
, d
2
, , d
n
)
được rút ra giá trị từ các miền xác định tương ứng, tức là r(A
1
) = d
1
∈ D(A
1
), r(A
2
) = d
2
∈ D(A
2
),
, r(A
n
) = d
là các thuộc tính của X cũng là thuộc tính của Ω. Tổng quát X ⊆ Y khi và chỉ khi với mọi thuộc
tính của X cũng là thuộc tính của Y.
♦ Nếu ∀ X ⊆ Ω và ∀ r ∈ R(Ω). Khi đó phép chiếu X trên bộ r được hiểu như sau:
Nếu r: = (d
1
, d
2
, , d
n
) khi đó r[X] := r(X) := (di
1
, di
2
, ,di
k
), tức là r[X] là các giá trị của bộ r chứa
giá trị của thuộc tính X.
♦ Cho hai bộ ∀ r
1
, r
2
∈ R(Ω), r
1
= (d
1
, d
2
, , d
n
) và r
i
.
Ví dụ 1: Quan hệ về khách hàng đặt mua báo: KHACHHANG (M#,TK,DC,SDT).
Trong đó: M# ký hiệu là mã khách đặt mua báo, TK là tên khách, DC địa chỉ khách hàng và
SDT là số điện thoại cảu khách. Miền giá trị của M# là tập hợp (M01, M02, M13, M13), miền giá
trị của TK là họ và tên của khách đặt mua báo, Quan hệ KHACHHANG là một bảng 2 chiều,
các cột là các thuộc tính M#, TK, DC và SDT, các hàng của bảng là thông tin về các khách hàng đặt
mua báo. Quan hệ là tập các bản ghi gồm các thành phần mã khách, họ tên khách, địa chỉ khách và
số điện thoại khách.
Ví dụ: (M01, Nguyễn Ngọc An, 24 Nguyễn Biểu, 822134)
Có thể định nghĩa quan hệ R(Ω) cách khác như sau :
R(Ω) = {(d
1
, d
2
, , d
n
) | d
i
∈ D(A
i
) , A
i
∈ Ω , i =1÷ n }.
Quan hệ BAO (MB#,TBAO,GIA,KY,NXB) là bảng thông tin về các loại báo:
Quan hệ DAT_MUA là bảng biểu diễn thông tin về các phiếu đặt mua báo, tạp chí của khách
hàng: DAT_MUA (M#,MB#,NG,SL)
Hình 3.2 Ví dụ các quan hệ quản lý phát hành báo chí
1. Phụ thuộc hàm :
Phụ thuộc hàm có tầm quan trọng đối với người quản trị cơ sở dữ liệu trong việc thiết kế và cài
j
→ R
j
L
j
, R
j
⊆ Ω} chỉ mới thỏa trên
một quan hệ R(Ω). Câu hỏi đặt ra, liệu các phụ thuộc của F có thỏa trong mọi quan hệ trên Ω hay
không? Năm 1974 Armstrong đã đưa ra 4 tiên đề đặc trưng cho tập các phụ thuộc hàm của File dữ
liệu.
3.1. Hệ tiên đề Armstrong cho các phụ thuộc hàm :
Cho Ω:= {A
1
, A
2
, , A
n
} là tập khác rỗng. Gọi F là tập các phụ thuộc hàm thỏa trên các quan hệ
R trên tập các thuộc tính Ω. Ký hiệu Y:= {(A, B) | A, B ⊆ Ω, A → B∈ F}. Hiển nhiên Y là một họ
f. Khi đó nếu ∀ A, B, C, D ⊆ Ω :
A1: Phản xạ: Nếu với mọi B ⊆ A ⇒ A → B. Quy tắc A1 đưa ra những phụ thuộc không tầm
thường, là những phụ thuộc mà vế phải được chứa trong vế trái. Những phụ thuộc loại này luôn
luôn đúng trong mọi quan hệ, phụ thuộc vào Ω , không phụ thuộc vào tập các phụ thuộc hàm F.
A2: Gia tăng: Nếu A → B ⇒ AC → B , AC → BC. Quy tắc này chỉ ra rằng có thể mở rộng vế
trái hoặc cả hai vế phụ thuộc hàm cùng một thuộc tính. Chú ý không cho phép thêm vào vế phải.
Trong đó AC = A ∪ C.
A3: Bắc cầu: Nếu A → B và B → C thì suy ra A → C. Nếu một thuộc tính xác định thuộc tính
thứ hai, và nó xác định thuộc tính thứ ba, khi đó thuộc tính thứ nhất xác định thuộc tính thứ 3.
A4: Giả bắc cầu: Nếu A → B và BC → Z ⇒ AC → Z. Áp dụng A2 và A3 có thể suy ra A4: A