CHƯƠNG 3CHƯƠNG 3
CHƯƠNG 3CHƯƠNG 3
Mô hình dữ liệu quan hệ
(
Relational Data Model)
(
Relational
Data
Model)
NNNN
HCSDL
1
Mô hình dữ liệu quan hệMô hình dữ liệu quan hệ
Là mô hình quan hệ do EF.Codd đề xuất năm 1970
Gồm một hệ thống khái niệm như quan hệ, bộ,
th ộ tí h khó hí h kh á iôtả dữ
th
u
ộ
c
tí
n
h
,
khó
a c
hí
n
h
quan
hệ
.
Ràng buộc toàn vẹn quan hệ.
Nền tảng lý thuyết của nó là khái niệm lý thuyết tập hợp
tê á hệ tứ là tậ ủ ábộ iá t ị
t
r
ê
n c
á
c quan
hệ
,
tứ
c
là
tậ
p c
ủ
a c
á
c
bộ
g
iá
t
Khái niệm quan hệ
Có nền tản
g
lý thuyết vữn
g
chắc
Lý thuyết tập hợp
Là cơ sở của các HQT CSDL thương mại
Oracle, DB2, SQL Server…
Oracle,
DB2,
SQL
Server…
NNNN
HCSDL 3
Các khái niệm của mô hình quan hệ
Quan hệ (Relation)
T
huộc tính (Attribute)
Lư
ợ
c đồ
(
Schema
)
g
(t
a
bl
e
)
2
c
hiề
u
g
ọ
i
là
quan
hệ
NNNN
HCSDL 5
……Quan hệ
Quan hệ gồm
Tên
Tập hợp các cột
Cố định
Được đặt tên
Có kiể dữ liệ
Có
tả
ý
n
ghĩ
a c
h
o c
á
c
giá
t
r
ị
t
ạ
i
c
ột
đó
Tất cả các dữ liệu trong cùng 1 một cột đều có
cùng kiểudữ liệu
cùng
kiểu
dữ
h)
Thể hiện dữ liệu cụ thể của các thuộc tính
tron
g
quan hệ
NNNN
HCSDL 10
Miền giá trị (domain)
Là tập các giá trị nguyên tố gắn liền với một thuộc
tính
Kiểu dữ liệu cơ sở
Chuỗi ký tự (string)
Số (integer)
Số
(integer)
Các kiểu dữ liệu phức tạp (Không được chấp nhận)
T
ập
h
ợp
(
set
)
ập ợp( )
Danh sách (list)
Mảng (array)
.
NNNN
HCSDL 12
12
Bậc (degree)Bậc (degree)
Là số lượng các thuộc tính của quan hệ.
ố ộ íố ộ í
ậ ủ ệậ ủ ệ
S
ố
thu
ộ
c t
í
nhS
ố
thu
ộ
c t
í
nh B
ậ
c c
ủ
a quan h
ệ
B
ậ
c c
ủ
HCSDL 13
13
Siêu khoá (superkey)Siêu khoá (superkey)
Siêu khoá (superkey) là một thuộc tính hoặc
ộ ậ á ộ íùể á
m
ộ
t t
ậ
p c
á
c thu
ộ
c t
í
nh d
ù
n
g
đ
ể
x
á
c định duy
nhất một bộ của quan hệ
Siê kh á hiể hiê
là tậ tất ả áthộ tí h
Siê
u
Ví dụ Ví dụ siêu siêu khókhóaa
Xét 1 lược đồ quan hệ
STUDENT (StudentID, FirstName, LastName,
BirthDate, Major, SSN, ClassID)
Xác định các siêu khóa có thể có của R???
NNNN
HCSDL 15
15
Khoá dự tuyển (candidate key)Khoá dự tuyển (candidate key)
Khoá dự tuyển (candidate key): là một siêu
kh áK àkhô ó ộttậ thự ự bấtkỳ
kh
o
á
K
m
à
khô
n
g
c
ó
m
ột
tậ
p con
thự
trong các bộ của r là duy nhất
Tính tối giản (irreducibility hay minimality)
không có tập con thực sự K’ ⊂ K lại có tính duy
nhất.
Ví dụ
:
khó
ad
ự
tuy
ể
n
củ
aquanh
ệ
STUDENT???
Ví
dụ
:
khó
a
d
ự
tuy
ể
n
h
d
uy n
hất
m
ột
bộ
của quan hệ. Khóa chính có thể chỉ có 1 thuộc
tính hay khóa phứchợp
tính
hay
khóa
phức
hợp
.
Ví dụ: khóa chính của quan hệ STUDENT???
NNNN
HCSDL 17
17
Các định nghĩa khác về khoá…Các định nghĩa khác về khoá…
Thuộc tính khoá (key attribute, prime attribute):
là th ộ tí h th i à kh á dự t ể
tính
không
tham
gia
vào
khóa
dự
tuyển
Khóa phức hợp (composite key): là khóa có
nhiềuhơnmộtthuộctính
nhiều
hơn
một
thuộc
tính
NNNN
HCSDL 18
18
…Các định nghĩa khác về khoá…Các định nghĩa khác về khoá
)
:
là
1
th
u
ộ
c
tí
n
h
h
ay
1
tập thuộc tính của 1 quan hệ tham chiếu đến
khóa dự tuyểncủa 1 quan hệ khác hay của
khóa
dự
tuyển
của
1
tuyển
có chứa khóa ngoại
NNNN
HCSDL 19
19
Ví dụVí dụ
Xét
cá
clược đồ quan hệ sau:
Xét
cá
c
lược
đồ
quan
hệ
sau:
Employee(Emp_ID, Name, Dept_Name, Salary)
Training(
Emp ID
Course
, …, D
n
tươn
g
ứn
g
K
ý
hi
ệ
u R
(
A
1
:D
1
,
A
2
:D
2
,
…
,
A
n
:D
n
)
là m
hiệu
r(R)
,
là
một
tập
các
bộ
r
=
{t
1
, t
2
, …, t
k
}
Trong đómỗit
i
là
1
trị t
i
=<v
1
, v
2
, …, v
n
>
Mỗi v
j
là một phần tử thuộc miền giá trị DOM(A
j
)
ặ á ỗ
ho
ặ
c gi
á
trị r
ỗ
ng
NNNN
HCSDL 22
Cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ
(Relational database)(Relational database)
Là 1 t
ập
h
ợp
quan
hệ
(table)
Có
nhiều
mốiquanhệ giữacácbảng
Có
nhiều
mối
quan
hệ
giữa
các
bảng
NNNN
HCSDL 23
23
Định nghĩa hình thức Khoá quan hệ Định nghĩa hình thức Khoá quan hệ
(Relational Keys)(Relational Keys)
Định nghĩa khóa theo quan hệ toán học:
phân
biệt
nằm
trong khoảng từ 1 đến n (n<=m), phải thỏa
mãn đồng thời2điềukiệnsau:
mãn
đồng
thời
2
điều
kiện
sau:
1. ∀ t1, t2∈ r, nếu t1≠ t2 thì t[K1] ≠ t[K2] (1)
2. Khôn
g
tồn t
ạ
i K’ ⊂ K sao cho K’ thỏa mãn
g ạ
điều kiện (1)
NNNN
Qhệ (thể hiệ
hệ
th đổi)
Q
uan
hệ
(thể
hiệ
n quan
hệ
-
th
ay
đổi)
r, s, p, q
Bộ
Bộ
t, u, v
Miền giá trị của thuộc tính A
DOM(A) hay MGT(A)
Giá trị tại thuộc tính A của bộ thứ t
t.A hay t[A]
NNNN
HCSDL 25