Bài giảng Nhập môn Cơ Sở Dữ Liệu: Chương 3: Mô hình dữ liệu quan hệ

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áiniệmquanhệ

ƒ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

pdf40 trang | Chia sẻ: hongmo88 | Lượt xem: 1378 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn Cơ Sở Dữ Liệu: Chương 3: Mô hình dữ liệu quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
n giá trị là số nguyên
y TENNV là một thuộc tính có miền giá trị là chuỗi ký tự
Nhập môn Cơ sở dữ liệu - Khoa CNTT 13
Định
nghĩa hình thức (tt)
ƒ Quan hệ (hay thể hiện quan hệ)
-
Một
quan
hệ
r của lược
đồ
quan
hệ
R(A1
, A2
, , An
), ký
 hiệu
r(R), là
một tập
các
bộ
r = {t1
, t2
, , tk
}
-
Trong
đó mỗi ti
là
1 danh
sách
có
thứ
tự
của n giá trị
 ti
=<v1
, v2
, , vn
>
y Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá 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
t1
t2
t3
t4
vi
Nhập môn Cơ sở dữ liệu - Khoa CNTT 14
Thể
hiện Mô hình quan hệ
Mô
hình
quan
hệ
Sự
kiện về
thực thể Sự
kiện về
liên
kết
Các
quan
hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 15
Tóm
tắt các ký hiệu
ƒ Lược đồ quan hệ R bậc n
-
R(A1
, A2
, , An
)
ƒ Tập thuộc tính của R
-
R+
ƒ Quan hệ (thể hiện quan hệ)
-
R, S, P, Q
ƒ 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]
Nhập môn Cơ sở dữ liệu - Khoa CNTT 16
Nội dung chi tiết
ƒ Giới thiệu
ƒ Các khái niệm của mô hình quan hệ
ƒ Ràng buộc toàn vẹ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 đặc trưng của quan hệ
ƒ Chuyển lược đồ E/R sang thiết kế quan hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 17
Ràng
buộc toàn vẹn
ƒ RBTV (Integrity Constraint)
-
Là
những
qui tắc, điều kiện, ràng
buộc cần
được thỏa
 mãn
trong
một thể
hiện của
CSDL quan
hệ
ƒ RBTV được mô tả khi định nghĩa lược đồ quan hệ
ƒ RBTV được kiể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ột tập
con khác
rỗng
các
thuộc
tính
của R
-
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ủa mỗi bộ
trong
quan
hệ
-
Mọi lược
đồ
quan
hệ
có
tối thiểu một siêu khó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ọi K là một tập
con khác
rỗng
các
thuộc tính của R
-
K là
khóa
nếu thỏa
đồng
thời 2 điều kiện
y K là một siêu khóa của R
y
ƒ Nhận xét
-
Giá
trị
của
khóa
dùng
để
nhận biết một bộ
trong
quan
hệ
-
Khóa
là
một
đặc trưng
của lược
đồ
quan
hệ, không
phụ
 thuộc vào thể
hiện
quan
hệ
-
Khóa
được
xây
dựng
dựa
vào
ý nghĩa của một số
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ải là siêu khóa của R, 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ận biết các bộ
∗
Khóa
có
ít
thuộc
tính
hơn
y Khóa được chọn gọi là khóa chính (PK - primary key)
∗
Các
thuộc
tính
khóa
chính
phải có giá trị
khác
null
∗
Các
thuộc
tính
khóa
chính
thường
được gạ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ột bộ trong quan hệ R, tại thuộc tính A nếu nhận
một giá trị từ một thuộc tính B của quan hệ S, ta gọi
R tham chiếu S
-
Bộ được
tham
chiếu phải tồn tại trướ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ọi FK là tập thuộc tính khác rỗng
của R 
-
FK là
khóa
ngoại
(Foreign Key) của R khi
y Các thuộc tính trong FK phải có cùng miền giá trị với các
thuộc tính khóa chính của S
y Giá trị tại FK của một bộ t1∈R
∗
Hoặc bằng
giá
trị
tại
khóa
chính
của một bộ
t2
∈S
∗
Hoặc bằ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ận xét
-
Trong
một lược
đồ
quan
hệ, một thuộc
tính
vừa có thể
 tham
gia
vào
khóa
chính, vừa
tham
gia
vào
khóa
ngoại
-
Khóa
ngoại có thể
tham
chiếu
đến khóa chính trên cùng
 1 lược
đồ
quan
hệ
VD: ?
-
Có
thể
có
nhiều khóa ngoại
tham
chiếu
đến cùng một
 khóa
chính. VD: ??
-
Ràng
buộc
tham
chiếu = Ràng buộc
khóa
ngoại
Nhập môn Cơ sở dữ liệu - Khoa CNTT 24
Biểu diễn ràng buộc
tham
chiếu
Nhập môn Cơ sở dữ liệu - Khoa CNTT 25
Nội dung chi tiết
ƒ Giới thiệu
ƒ Các khái niệm của mô hình quan hệ
ƒ Ràng buộc toàn vẹn
ƒ Các đặc trưng của quan hệ
ƒ Chuyển lược đồ E/R sang thiết kế quan hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 26
Các
đặc trưng
của quan hệ
ƒ Thứ tự các bộ trong quan hệ là không quan trọng
ƒ Thứ tự giữa các giá trị trong một bộ là quan trọng
TungNguyen 12/08/1955 638 NVC Q5 Nam 40000 5
TENNVHONV NGSINH DCHI PHAI LUONG PHG
HangBui 07/19/1968 332 NTH Q1 Nu 25000 4
NhuLe 06/20/1951 291 HVH QPN Nu 43000 4
HungNguyen 09/15/1962 null Nam 38000 5
Bộ
khác
Bộ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 27
Các
đặc trưng
của quan hệ
(tt)
ƒ Mỗi giá trị trong một bộ
-
Hoặc là một giá trị
nguyên
tố
-
Hoặc là một giá trị
rỗng
(null)
ƒ Không có bộ nào trùng nhau
Nhập môn Cơ sở dữ liệu - Khoa CNTT 28
Nội dung chi tiết
ƒ Giới thiệu
ƒ Các khái niệm của mô hình quan hệ
ƒ Ràng buộc toàn vẹn
ƒ Các đặc trưng của quan hệ
ƒ Chuyển lược đồ E/R sang thiết kế quan hệ
-
Các
qui tắc
chuyển
đổi
Nhập môn Cơ sở dữ liệu - Khoa CNTT 29
Các
qui tắc
chuyển
đổi
ƒ (1) Tập thực thể
-
Các
tập thực thể
(trừ
tập thực thể
yếu) chuyển
thành
các
 quan
hệ
có cùng tên và tập thuộc
tính
NHANVIENTENNV
NS DCHI
GT
LUONG
HONV
MANV
Lam_viec
La_truong_phong
PHONGBAN
MAPHGTENPHG
(1,1) (1,n)
(1,1)(1,1)
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG)
PHONGBAN(TENPHG, MAPHG)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 30
Các
qui tắc
chuyển
đổi (tt)
ƒ (2) Mối quan hệ
-
(2a) Một-Một
y Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia
y Hoặc thêm thuộc tính khóa vào cả 2 quan hệ
NHANVIENTENNV
NS DCHI
GT
LUONG
HONV
MANV
La_truong_phong
PHONGBAN
MAPHGTENPHG
(1,1) (1,1)
NG_NHANCHUC
PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 31
Các
qui tắc
chuyển
đổi (tt)
ƒ (2) Mối quan hệ
-
(2b) Một-Nhiều
y Thêm vào quan-hệ-một thuộc tính khóa của quan-hệ-nhiều
NHANVIENTENNV
NS DCHI
GT
LUONG
HONV
MANV
Lam_viec PHONGBAN
MAPHGTENPHG
(1,1) (1,n)
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, MAPHG)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 32
Các
qui tắc
chuyển
đổi (tt)
ƒ (2) Mối quan hệ
-
(2c) Nhiều-Nhiều
y Tạo một quan hệ mới có
∗
Tên
quan
hệ
là
tên
của mối
quan
hệ
∗
Thuộc
tính
là
những
thuộc
tính
khóa
của các tập thực thể
liên
quan
DEAN
TENDA
DDIEM_DA
MADA
NHANVIENTENNV
NGSINH DCHI
PHAI
LUONG
HONV
MANV
Phan_cong
(1,n) (1,n)
THOIGIAN
PHANCONG(MANV, MADA, THOIGIAN)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 33
Các
qui tắc
chuyển
đổi (tt)
ƒ (3) Thực thể yếu
-
Chuyển
thành
một
quan
hệ
y Có cùng tên với thực thể yếu
y Thêm vào thuộc tính khóa của quan hệ liên quan
NHANVIENTENNV
NS DCHI
GT
LUONG
HONV
MANV
THANNHAN(MANV, TENTN, GT, NS, QUANHE)
THANNHAN
TENTN
GT
NS
QUANHECo_than_nhan
(1,1)
(1,n)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 34
Các
qui tắc
chuyển
đổi (tt)
ƒ (4) Thuộc tính đa trị
-
Chuyển
thành
một
quan
hệ
y Có cùng tên với thuộc tính đa trị
y Thuộc tính khóa của quan hệ này là khóa ngoài của quan hệ
chứa thuộc tính đa trị
NHANVIENTENNV
NS BANGCAP
GT
LUONG
HONV
MANV
BANGCAP(MANV, BANGCAP)
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, DCHI)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 35
Các
qui tắc
chuyển
đổi (tt)
ƒ (5) Liên kết đa ngôi (n>2)
-
Chuyển
thành
một
quan
hệ
y Có cùng tên với tên mối liên kết đa ngôi
y Khóa chính là tổ hợp các khóa của tập các thực thể tham gia
liên kết
NHACUNGCAP(MANCC,)
DEAN(MADA,)
THIETBI(MATB,)
NHACUNGCAPMANCC Cung_cap DEAN
MADATENDA
THIETBIMATB
SOLUONG
CUNGCAP(MANCC, MATB, MADA, SOLUONG)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 36
Tổng
kết
ƒ ER
-
Loại thực thể
-
Quan
hệ
1:1, 1:N
-
Quan
hệ
N:M
-
Quan
hệ đa
ngôi
-
Thuộc tính
-
Thuộc tính phức hợp
-
Thuộc tính đa trị
-
Tập
các
giá
trị
-
Thuộc
tính
khóa
ƒ Mô hình quan hệ
-
Quan
hệ
thực thể
-
Khóa
ngoài
-
Quan
hệ
với
2 khóa
ngoài
-
Quan
hệ
với
n khóa
ngoài
-
Thuộc tính
-
Tập các thuộc tính đơn
-
Quan
hệ
với
khóa
ngoài
-
Miền giá trị
-
Khóa
chính
(khóa
dự
tuyển)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 37
Ví
dụ
quản lý công ty
NHÂNVIÊN ĐƠNVỊ
CON
DỰÁN
Quảnlý
Làmviệccho
Kiểm soát
Làmviệc
trên
Giám
sát
Có
Mãsố Tên ĐịađiểmHọtên
Mã
số
Họđệm Tên
Ngàysinh
LươngGiớitính Địachỉ
Ngày
bắt
đầu
Sốgiờ
Tên Ngàysinh Giớitính
Tên Mãsố Địađiểm
(1,N)
(1,1)
(1,1)
(0,1) (0,N)
(1,N)
(1,N)
(0,N)
(1,1)
(0,N)
(0,1)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 38
Tài
liệu tham khảo
ƒ Giáo trình CSDL
-
Chương
3
ƒ Database management system
-
Chapter 3
ƒ An introduction to Database System
-
Chapter 5, 13
ƒ Fundamentals of Database Systems
-
Chapter 7, 9
Nhập môn Cơ sở dữ liệu - Khoa CNTT 39
Bài
tập về
nhà
ƒ Bài tập
-
Chuyển
đổi mô hình thực thể
liên
kết
sang mô
hình
quan
 hệ
cho
bt
chương 2 (TRƯỜNG và THƯ VIỆN)
ƒ Đọc
-
Tìm
hiểu
cách
chuyển
đổi lược
đồ
thực thể
liên
kết mở
 rộng
(EER) Æ Lược đồ quan hệ (chương 9 –
Fundamentals of Database Systems)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 40

File đính kèm:

  • pdfchap03.1.pdf