Tải bản đầy đủ (.pdf) (40 trang)

Chương 3:Mô hình dữ liệu quan hệ potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (449.28 KB, 40 trang )

Chương
Chương

3
3



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
-




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



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ệ



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)


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



các

thuộctính
-



các

miềngiátrị

D
1

, D
2

, …, D

n

tương

ứng
-



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ệ



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



1 danh

sách



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ệ


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)
-



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



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ệ



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



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ệ



thể



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ệ
-




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



í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: ?
-



thể



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ệ

×