Chương
Chương
3
3
Mô
Mô
h
h
ì
ì
nh
nh
d
d
ữ
ữ
li
li
ệ
ệ
u
u
quan
quan
h
h
ệ
ệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 2
Nộidung chi tiết
Giớithiệu
Các khái niệmcủamôhìnhquanhệ
Ràng buộctoànvẹn
Các đặctrưng của quan hệ
Chuyểnlược đồ E/R sang thiếtkế quan hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 3
Giớithiệu
Do tiếnsĩ E. F. Codd đưara
-
“A Relation Model for Large Shared Data Banks”,
Communications of ACM, 6/1970
Cung cấpmộtcấutrúcdữ liệu đơngiảnvàđồng bộ
-
Khái
niệm
quan
hệ
Có nềntảng lý thuyếtvững chắc
-
Lý
thuyếttậphợp
Là cơ sở của các HQT CSDL thương mại
-
Oracle, DB2, SQL Server…
Nhập môn Cơ sở dữ liệu - Khoa CNTT 4
Nộidung chi tiết
Giớithiệu
Các khái niệmcủa mô hình quan hệ
-
Quan
hệ
(Relation)
-
Thuộc
tính
(Attribute)
-
Lược
đồ
(Schema)
-
Bộ
(Tuple)
-
Miềngiátrị
(Domain)
Ràng buộctoànvẹn
Các đặctrưng của quan hệ
Chuyểnlược đồ E/R sang thiếtkế quan hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 5
1 cộtlà1 thuộctínhcủa
nhân
viên
1 dòng
là
1 nhân
viên
Quan
hệ
Các thông tin lưutrữ trong CSDL đượctổ chức
thành bảng (table) 2 chiều
gọi là quan hệ
TENNV HONV NS DIACHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba
Ria
VT Nam 38000 5
Tênquanhệ
là
NHANVIEN
Nhập môn Cơ sở dữ liệu - Khoa CNTT 6
Quan
hệ
(tt)
Quan hệ gồm
-
Tên
-
Tậphợp
các
cột
y Cốđịnh
y Được đặttên
y Có kiểudữ liệu
-
Tậphợp
các
dòng
y Thay đổi theo thờigian
Một dòng ~ Mộtthựcthể
Quan hệ ~ Tậpthưcthể
Nhập môn Cơ sở dữ liệu - Khoa CNTT 7
Thuộctính
Tên các cộtcủa quan hệ
Mô tả ý nghĩachocácgiátrị tạicột đó
Tấtcả các dữ liệu trong cùng 1 mộtcột đềucódùng
kiểudữ liệu
TENNV HONV NS DIACHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba
Ria
VT Nam 38000 5
Thuộctính
Nhập môn Cơ sở dữ liệu - Khoa CNTT 8
Lược
đồ
quan
hệ
Lược
đồ
Lược đồ quan hệ
-
Tên
của
quan
hệ
-
Tên
củatậpthuộc
tính
NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)
Là
tậphợp
Nhập môn Cơ sở dữ liệu - Khoa CNTT 9
Lược
đồ
(tt)
Lược đồ CSDL
-
Gồm
nhiềulược
đồ
quan
hệ
Lược
đồ
CSDL
NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)
PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, GT, NS, QUANHE)
DEAN(TENDA, MADA, DDIEM_DA, PHONG)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 10
Dữ
liệucụ
thể
củathuộctính
Bộ
Là các dòng của quan hệ (trừ dòng tiêu đề -têncủa
các thuộctính)
Thể hiệndữ liệucụ thể củacácthuộc tính trong
quan hệ
<Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>
Nhập môn Cơ sở dữ liệu - Khoa CNTT 11
Miềngiátrị
Là tậpcácgiátrị nguyên tố gắnliềnvớimộtthuộc
tính
-
Kiểudữ
liệucơ
sở
y Chuỗikýtự (string)
y Số (integer)
-
Các
kiểudữ
liệuphứctạp
y Tậphợp(set)
y Danh sách (list)
y Mảng (array)
y Bản ghi (record)
Ví dụ
-
TENNV: string
-
LUONG: integer
Không
đượcchấpnhận
Nhập môn Cơ sở dữ liệu - Khoa CNTT 12
Định
nghĩahìnhthức
Lược đồ quan hệ
-
Cho
A
1
, A
2
, …, A
n
là
các
thuộctính
-
Có
các
miềngiátrị
D
1
, D
2
, …, D
n
tương
ứng
-
Ký
hiệuR(A
1
:D
1
, A
2
:D
2
, …, A
n
:D
n
) là
mộtlược
đồ
quan
hệ
-
Bậc
củalược
đồ
quan
hệ
là
số
lượng
thuộc
tính
trong
lược
đồ
-
NHANVIEN(MANV:integer, TENNV:string, HONV:string,
NGSINH:date, DCHI:string, GT:string, LUONG:integer,
DONVI:integer)
y NHANVIEN là mộtlược đồ bậc8 môtảđốitượng nhân viên
y MANV là mộtthuộctínhcómiềngiátrị là số nguyên
y TENNV là mộtthuộctínhcómiềngiátrị là chuỗikýtự
Nhập môn Cơ sở dữ liệu - Khoa CNTT 13
Định
nghĩahìnhthức(tt)
Quan hệ (hay thể hiệnquanhệ)
-
Một
quan
hệ
r củalược
đồ
quan
hệ
R(A
1
, A
2
, …, A
n
), ký
hiệu
r(R), là
mộttập
các
bộ
r = {t
1
, t
2
, …, t
k
}
-
Trong
đómỗit
i
là
1 danh
sách
có
thứ
tự
củan giátrị
t
i
=<v
1
, v
2
, …, v
n
>
y Mỗiv
j
là mộtphầntử củamiềngiátrị DOM(A
j
) hoặcgiátrị rỗng
TENNV HONV NGSINH DCHI PHAI LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 null Nam 38000 5
t
1
t
2
t
3
t
4
v
i
Nhập môn Cơ sở dữ liệu - Khoa CNTT 14
Thể
hiệnMôhìnhquanhệ
Mô
hình
quan
hệ
Sự
kiệnvề
thựcthể Sự
kiệnvề
liên
kết
Các
quan
hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 15
Tóm
tắtcáckýhiệu
Lược đồ quan hệ R bậcn
-
R(A
1
, A
2
, …, A
n
)
TậpthuộctínhcủaR
-
R
+
Quan hệ (thể hiện quan hệ)
-
R, S, P, Q
Bộ
-
t, u, v
Miềngiátrị củathuộc tính A
-
DOM(A) hay MGT(A)
Giá trị tạithuộc tính A củabộ thứ t
-
t.A
hay t[A]
Nhập môn Cơ sở dữ liệu - Khoa CNTT 16
Nộidung chi tiết
Giớithiệu
Các khái niệmcủamôhìnhquanhệ
Ràng buộctoànvẹn
-
Siêu
khóa
(Super key)
-
Khóa
-
Khóa
chính
(Primary key)
-
Tham
chiếu
-
Khóa
ngoại
(Foreign key)
Các đặctrưng của quan hệ
Chuyểnlược đồ E/R sang thiếtkế quan hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 17
Ràng
buộctoànvẹn
RBTV (Integrity Constraint)
-
Là
những
qui tắc, điềukiện, ràng
buộccần
đượcthỏa
mãn
trong
mộtthể
hiệncủa
CSDL quan
hệ
RBTV đượcmôtả khi định nghĩalược đồ quan hệ
RBTV đượckiểm tra khi các quan hệ có thay đổi
Nhập môn Cơ sở dữ liệu - Khoa CNTT 18
Siêu
khóa
Các bộ trong quan hệ phải khác nhau từng đôi một
Siêu khóa (Super Key)
-
Gọi
SK là
mộttập
con khác
rỗng
các
thuộc
tính
củaR
-
SK là
siêu
khóa
khi
-
Siêu
khóa
là
tập
các
thuộc
tính
dùng
để
xác
định
tính
duy
nhất
củamỗibộ
trong
quan
hệ
-
Mọilược
đồ
quan
hệ
có
tốithiểumộtsiêukhóa
⇒∀
r,
∀
t1,t2
∈
r, t1 t2
≠ ≠
t1[SK]
t2[SK]
Nhập môn Cơ sở dữ liệu - Khoa CNTT 19
Khóa
Định nghĩa
-
GọiK làmộttập
con khác
rỗng
các
thuộctínhcủaR
-
K là
khóa
nếuthỏa
đồng
thời2 điềukiện
y K là một siêu khóa củaR
y
Nhậnxét
-
Giá
trị
của
khóa
dùng
để
nhậnbiếtmộtbộ
trong
quan
hệ
-
Khóa
là
một
đặctrưng
củalược
đồ
quan
hệ, không
phụ
thuộcvàothể
hiện
quan
hệ
-
Khóa
được
xây
dựng
dựa
vào
ý nghĩacủamộtsố
thuộc
tính
trong
quan
hệ
-
Lược
đồ
quan
hệ
có
thể
có
nhiều
khóa
∀ ≠
K, K’K’
⊂
K
không
phảilàsiêukhóacủaR
, K’
Nhập môn Cơ sở dữ liệu - Khoa CNTT 20
Khóa
chính
Xét quan hệ
-
Có
2 khóa
y MANV
y HONV, TENNV, NS
-
Khi
cài
đặt
quan
hệ
thành
bảng
(table)
y Chọn 1 khóa làm cơ sởđểnhậnbiếtcácbộ
∗
Khóa
có
ít
thuộc
tính
hơn
y Khóa đượcchọngọi là khóa chính (PK - primary key)
∗
Các
thuộc
tính
khóa
chính
phảicógiátrị
khác
null
∗
Các
thuộc
tính
khóa
chính
thường
đượcgạch
dưới
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 21
Tham
chiếu
Mộtbộ trong quan hệ R, tạithuộc tính A nếunhận
mộtgiátrị từ mộtthuộc tính B củaquanhệ S, ta gọi
R tham chiếuS
-
Bộđược
tham
chiếuphảitồntạitrước
TENNV HONV NS DCHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba
Ria
VT Nam 38000 5
TENPHG MAPHG
Nghien
cuu 5
Dieu
hanh 4
Quan
ly 1
R
S
Nhập môn Cơ sở dữ liệu - Khoa CNTT 22
Khóa
ngoại
Xét 2 lược đồ R và S
-
GọiFK làtậpthuộctínhkhácrỗng
củaR
-
FK là
khóa
ngoại
(Foreign Key) củaR khi
y Các thuộc tính trong FK phải có cùng miềngiátrị vớicác
thuộc tính khóa chính củaS
y Giá trị tạiFK củamộtbộ t
1
∈R
∗
Hoặcbằng
giá
trị
tại
khóa
chính
củamộtbộ
t
2
∈S
∗
Hoặcbằng
giá
trị
rỗng
Ví dụ
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG,
PHG
)
PHONGBAN(TENPHG, MAPHG
)
Khóa
chính
Khóa
ngoại
Quan
hệ
tham
chiếu
Quan
hệ
bị
tham
chiếu
Nhập môn Cơ sở dữ liệu - Khoa CNTT 23
Khóa
ngoại(tt)
Nhậnxét
-
Trong
mộtlược
đồ
quan
hệ, mộtthuộc
tính
vừacóthể
tham
gia
vào
khóa
chính, vừa
tham
gia
vào
khóa
ngoại
-
Khóa
ngoạicóthể
tham
chiếu
đếnkhóachínhtrêncùng
1 lược
đồ
quan
hệ
VD: ?
-
Có
thể
có
nhiềukhóangoại
tham
chiếu
đếncùngmột
khóa
chính. VD: ??
-
Ràng
buộc
tham
chiếu= Ràngbuộc
khóa
ngoại
Nhập môn Cơ sở dữ liệu - Khoa CNTT 24
Biểudiễnràngbuộc
tham
chiếu
Nhập môn Cơ sở dữ liệu - Khoa CNTT 25
Nộidung chi tiết
Giớithiệu
Các khái niệmcủamôhìnhquanhệ
Ràng buộctoànvẹn
Các đặctrưng củaquanhệ
Chuyểnlược đồ E/R sang thiếtkế quan hệ