3.1. Khỏi niệm
a. Quan hệ
Mụ hỡnh CSDL quan hệ hay ngắn gọn là mụ hỡnh quan hệ được E.F.Codd phỏt
Hỡnh 4.4. Mụ hỡnh liờn kết thực thể của hệ thống bỏn hàng trong cụng ty Y
triển vào đầu những năm 1970. Mụ hỡnh này được thiết lập trờn cơ sở lý thuyết tập hợp nờn nú rất dễ hiểu và được sử dụng rất rộng rói trong việc tổ chức dữ liệu cho cỏc hệ thống.
- Cỏc thành phần trong mụ hỡnh quan hệ gồm: Cỏc quan hệ - cỏc bộ - cỏc thuộc tớnh.
Tương ứng với cỏc thành phần trong mụ hỡnh thực thể liờn kết là: Cỏc thực thể – cỏc thể hiện của thực thể – cỏc thuộc tớnh.
Mụ hỡnh thực thể liờn kết => Mụ hỡnh quan hệ => Cỏc bảng trong HQTCSDL. So sỏnh tương ứng giữa mụ hỡnh thực thể liờn kết, mụ hỡnh quan hệ và hệ quản trị CSDL chỳng ta cú bảng sau: Mụ hỡnh thực thể liờn kết Mụ hỡnh quan hệ Cỏc bảng trong hệ QTCSDL Thực thể (kiểu thực thể) Quan hệ Bảng Thể hiện của thực thể (thực thể) Bộ Dũng hay bản ghi
Thuộc tớnh Thuộc tớnh Cột hay trường
Vớ dụ:
Mụ hỡnh thực thể liờn kết:
Biểu diễn quan hệ dưới dạng bản ghi logic:
Quan hệ SINH VIấN (mó SV, họ tờn, ngày sinh, quờ quỏn, lớp) Cỏc bộ: (SV01, Vũ Thị Lan, 12/3/1985, Hà Nội, T5_K2) (SV41, Đặng Nhật Minh, 1/8/1981, Thỏi Bỡnh, T4_K4) Sinh viờn mó SV họ tờn ngày sinh quờ quỏn lớp SV01 Vũ Thị Lan 12/3/1985 Hà Nội T5_K2 SV41 Đặng Nhật Minh 1/8/1981 Thỏi Bỡnh T4_K4 Thực thể Thể hiện của thực thể
Biểu diễn quan hệ dưới dạng bảng:
SINH VIấN mó SV họ tờn ngày sinh quờ quỏn lớp
SV01 Vũ Thị Lan 12/3/1985 Hà Nội T5_K2
SV41 Đặng Nhật Minh 1/8/1981 Thỏi Bỡnh T4_K4
Chỳ ý:
Cỏc bộ trong một quan hệ khụng được trựng nhau.
Thuộc tớnh được xỏc định bởi tờn, thứ tự của cỏc thuộc tớnh trong quan hệ là khụng quan trọng. Trong một quan hệ, tờn cỏc thuộc tớnh phải khỏc nhau (cỏc miền giỏ trị của cỏc thuộc tớnh khụng nhất thiết khỏc nhau)
b. Khoỏ
Khoỏ chớnh: Khoỏ chớnh của một quan hệ (Primary Key-PK) là một hoặc một nhúm thuộc tớnh xỏc định duy nhất một bộ trong quan hệ. Khoỏ chớnh của quan hệ là định danh của thực thể tương ứng. Trong quan hệ cỏc thuộc tớnh thuộc khoỏ chớnh được gạch chõn và được gọi là cỏc thuộc tớnh khoỏ.
Vớ dụ: SINH VIấN (mó SV, họ tờn, ngày sinh, quờ quỏn, lớp) – mó SV là khoỏ chớnh của quan hệ SINH VIấN.
Khi chọn khoỏ chớnh cần phải xem xột cỏc tiờu chuẩn sau: khoỏ chớnh phải xỏc định được duy nhất một bộ trong quan hệ, phải cú số thuộc tớnh ớt nhất, phải khụng thay đổi theo thời gian.
Khoỏ ghộp: Khoỏ ghộp là khoỏ cú từ hai thuộc tớnh trở lờn.
Vớ dụ: GIẢNG DẠY(mó GV, mó MH, ngày bắt đầu, ngày kết thỳc) – khoỏ chớnh của quan hệ GIẢNG DẠY là một khoỏ ghộp gồm hai thuộc tớnh mó GV
và mó MH.
Khoỏ ngoài: Một khoỏ ngoài được sử dụng để thiết lập một mối quan hệ. Đú là thuộc tớnh mụ tả của quan hệ này nhưng đồng thời lại là thuộc tớnh khoỏ trong quan hệ khỏc. Trong quan hệ cỏc thuộc tớnh khoỏ ngoài được in nghiờng hoặc gạch chõn bằng nột đứt.
Vớ dụ: LỚP (tờn lớp, khoa, phũng học)
khoỏ ngoài của quan hệ SINH VIấN
Khoỏ giả: Là thuộc tớnh do con người đặt ra để làm khoỏ chớnh. Thuộc tớnh này khụng mụ tả đặc điểm của cỏc đối tượng quan tõm mà chỉ cú tỏc dụng để xỏc định duy nhất đối tượng đú. Vớ dụ: mó SV, số hoỏ đơn…Thụng thường khi khoỏ chớnh cú từ 3 thuộc tớnh trở lờn người ta thường đặt ra một khoỏ giả làm khoỏ chớnh để tiện lợi hơn trong việc truy vấn dữ liệu.
- Ràng buộc thực thể: là một ràng buộc trờn khoỏ chớnh. Nú yờu cầu khoỏ chớnh phải tối thiểu, xỏc định duy nhất và khụng null. (Giỏ trị null tức là khụng cú giỏ trị. Nú khỏc với giỏ trị 0 hay dấu cỏch.)
- Ràng buộc tham chiếu (ràng buộc khoỏ ngoài): liờn quan đến tớnh toàn vẹn của mối quan hệ tức là liờn quan đến tớnh toàn vẹn của khoỏ ngoài. Một ràng buộc tham chiếu yờu cầu một giỏ trị khoỏ ngoài trong một quan hệ cần phải tồn tại là một giỏ trị khoỏ chớnh trong một quan hệ khỏc hoặc là giỏ trị null.
Vớ dụ: trong quan hệ sau:
SINH VIấN mó SV tờn SV tờn lớp SV01 Đỗ thị Cỳc T1-K3 SV52 Vũ Thu Hà SV34 Hoàng Anh T4-K7 LỚP tờn lớp phũng học T1_K3 302 T3_K4 414
Tờn lớp là T4-K7 trong quan hệ SINH VIấN khụng cú trong quan hệ LỚP vỡ vậy nú vi phạm ràng buộc tham chiếu.
Cỏc ràng buộc được định nghĩa bởi người dựng: đõy là cỏc ràng buộc liờn quan đến miền giỏ trị của dữ liệu thực tế.
3.2. Cỏc dạng chuẩn
a. Phụ thuộc hàm
- Trong một quan hệ R, thuộc tớnh B phụ thuộc hàm vào thuộc tớnh A (hay thuộc tớnh A xỏc định hàm thuộc tớnh B) ký hiệu AàB nếu với mỗi giỏ trị của thuộc tớnh A Bản ghi mồ cụi
xỏc định một giỏ trị duy nhất của thuộc tớnh B. Vớ dụ: Mó SV->Ngày sinh Mó SV Ngày sinh 1234 1/2/78 1235 15/5/81 1237 30/12/80 1236 1/2/78
- Phụ thuộc hàm giữa nhiều thuộc tớnh: thuộc tớnh B phụ thuộc hàm vào cỏc thuộc tớnh A1 và A2 ký hiệu{A1,A2} → B nếu với mỗi cặp giỏ trị của A1 và A2 xỏc định duy nhất một giỏ trị của B.
Vớ dụ: {Số hoỏ đơn, Mó hàng}-> Số lượng
Số hoỏ đơn Mó hàng Số lượng
1234 P1 50*
1234 P2 70
1235 P1 50*
1235 P2 30
1236 P1 80
Chỳ ý: A1-> {A2,A3} ≡A1-> A2 và A1-> A3 {A1,A2}-> A3 ≠ A1-> A3 và A2-> A3 - Cỏc loại phụ thuộc hàm
Phụ thuộc hàm đầy đủ: Thuộc tớnh B gọi là phụ thuộc đầy đủ vào tập thuộc tớnh A (cú từ 2 thuộc tớnh trở lờn) nếu nú chỉ phụ thuộc hàm vào A và khụng phụ thuộc hàm vào bất cứ tập con nào của A. Ngược lại B gọi là phụ thuộc hàm bộ phận vào tập thuộc tớnh A.
Phụ thuộc hàm bắc cầu: Nếu cú A1 -> A2 và A2 -> A3 thỡ A1 -> A3. Khi đú A3 được gọi là phụ thuộc bắc cầu vào A1.
- Định nghĩa khoỏ theo quan niệm phụ thuộc hàm : Trong quan hệ R, tập cỏc thuộc tớnh K là khoỏ của quan hệ nếu cú K -> Bi với Bi là tất cả cỏc thuộc tớnh cũn lại.
b. Cỏc dạng chuẩn
- Dạng chuẩn 1 (1NF): Một quan hệ là ở dạng chuẩn 1 nếu toàn bộ cỏc miền thuộc tớnh đều là cỏc miền đơn và khụng tồn tại nhúm thuộc tớnh lặp.
Một thuộc tớnh A là thuộc tớnh lặp nếu với một giỏ trị cụ thể của khoỏ chớnh cú nhiều giỏ trị của thuộc tớnh A kết hợp với khoỏ chớnh này.
Vớ dụ: Khoỏ chớnh là Mó SV. Nhúm thuộc tớnh lặp là Mụn học và Điểm.
Mó SV Tờn SV Mụn học Điểm Mụn học Điểm
135 Anh SA1 5 SA2 7
136 Bỡnh SA2 6 SD 5
140 Lan SD 8
- Dạng chuẩn 2 (2NF): Một quan hệ ở dạng chuẩn 2 nếu nú đó ở dạng chuẩn 1 và khụng tồn tại phụ thuộc hàm bộ phận vào khoỏ.
Vớ dụ: Cho một quan hệ: R (A, B, C, D, E) Khoỏ chớnh là A,B
Cỏc phụ thuộc hàm:
{A,B} -> D;
A -> C; (Phụ thuộc hàm bộ phận vào khoỏ) D -> E
* Chỳ ý: Quan hệ cú khoỏ chớnh là một thuộc tớnh luụn ở dạng chuẩn 2
- Dạng chuẩn 3 (3NF): Một quan hệ ở dạng chuẩn 3 nếu nú đó ở dạng chuẩn 2 và khụng tồn tại phụ thuộc hàm bắc cầu vào khoỏ (hay phụ thuộc hàm giữa cỏc thuộc tớnh khụng khoỏ).
Vớ dụ: Cho một quan hệ: R (A, B, D, E) Khoỏ chớnh là A,B
Cỏc phụ thuộc hàm:
{A,B} -> D;
D -> E (Phụ thuộc hàm giữa cỏc thuộc tớnh khụng khoỏ)