Cơ sở dữ liệu 1
Chương 3: Mô hình dữ liệu
quan hệ
Giảng viên: Nguyễn Công Thương
Email:
2
Chương 3: Mô hình dữ liệu
quan hệ
Các khái niệm về mô hình dữ liệu quan hệ:
Mô hình dữ liệu quan hệ
Các khái niệm
Định nghĩa toán học của quan hệ
Đặc trưng của quan hệ
Các ràng buộc toàn vẹn:
Ràng buộc miền giá trị
Ràng buộc toàn vẹn thực thể
Ràng buộc toàn vẹn tham chiếu
3
Các khái niệm
Mô hình dữ liệu quan hệ:
một lược đồ quan hệ R(A
1
, A
2
, . . ., A
n
) là một
tập các bộ (tuples) n giá trị r = {t
1
, t
2
, . . ., t
m
}.
Ký hiệu r(R)
Bộ (tuples/dòng-row) là một danh sách có
thứ tự n giá trị t = <v
1
, v
2
, . . ., v
n
> , mà mỗi giá
trị v
i
là một giá trị thuộc dom(A
i
) hoặc là giá trị
null
Tích Đề-các, D
1
×D
2
, là tập tất cả những cặp
có thứ tự, trong đó phần tử đầu tiên là một
thành phần của D
1
, phần tử thứ hai là một
thành phần của D
2
D
1
×D
2
= {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
9
Định nghĩa toán học (2)
Tập con bất kỳ của tích Đề-các được gọi là
một quan hệ
Ví dụ: R = {(2, 1), (4, 1)}
Có thể định nghĩa những cặp xuất hiện trong
quan hệ bằng các điều kiện, ví dụ:
Phần tử thứ 2 bằng 1:
R = {(x, y) | x ∈D
1
2
×D
3
= {(1,2,5), (1,2,6), (1,4,5), (1,4,6),
(3,2,5), (3,2,6), (3,4,5), (3,4,6)}
Tập con bất kỳ của tích Đề-các này được gọi
là quan hệ giữa D
1
, D
2
, D
3
11
Định nghĩa toán học (4)
Tích Đề-các của n tập hợp (D
1
, D
2
, . . ., D
n
) là
D
1
×D
2
× ×D
n
= {(d
Các tuple trong quan hệ không cần thứ tự
Thứ tự của các giá trị trong từng tuple là
quan trọng
Nếu định nghĩa mỗi tuple là một tập các cặp
(thuộc tính, giá trị) thì thứ tự không còn quan
trọng
Mỗi giá trị trong từng tuple phải là giá trị
nguyên tố (không cho phép thuộc tính phức
hợp hay thuộc tính đa trị)
13
Ký hiệu mô hình quan hệ
Lược đồ quan hệ R: R(A
1
, A
2
, . . ., A
n
)
Trạng thái của quan hệ (hay quan hệ): r(R)
Bộ n giá trị: t = <v
1
, v
2
, . . ., v
} và một
tập các ràng buộc toàn vẹn (integrity
constraint) IC
Trạng thái của CSDL quan hệ DB của S là
một tập các trạng thái quan hệ DB = {r
1
,
r
2
, . . ., r
m
}:
Mỗi r
i
là trạng thái của R
i
Các trạng thái r
i
thỏa mãn các ràng buộc toàn vẹn
trong IC
15
Ràng buộc miền giá trị
Giá trị của mỗi thuộc tính A phải là một giá trị
nguyên tố thuộc miền giá trị dom(A) hoặc là
giá trị NULL
1
[SK] ≠ t
2
[SK]
Mọi tập con thuộc tính như vậy được gọi là
siêu khóa (superkey)
20
Khóa
Siêu khóa có ràng buộc duy nhất (unique)
Một quan hệ luôn có ít nhất 1 siêu khóa (là
tập tất cả thuộc tính của quan hệ)
Khóa (key) là siêu khóa tối tiểu: không thể bỏ
bớt thuộc tính nào của khóa mà vẫn giữ
được tính chất duy nhất của nó
Ví dụ:
STUDENT(SSN, Name, Age)
Giá trị của khóa không được thay đổi
21
Khóa
Quan hệ có thể có nhiều khóa, mỗi khóa
được gọi là khóa dự tuyển (candidate key)
FK có cùng miền giá trị với khóa chính PK của R
2
.
FK được gọi là tham chiếu đến R
2
Giá trị của FK trong tuple t
1
của trạng thái r
1
(R
1
)
phải là khóa chính của một bộ t
2
trong trạng thái
r
2
(R
2
) hoặc là giá trị null. t
1
[FK] = t
2
[PK]. R
1
là quan
hệ tham chiếu, R
2
là quan hệ được tham chiếu