Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung

MÔ HÌNH QUAN HỆ

 Mô hình Cơ sở dữ liệu quan hệ biểu diễn cơ sở

dữ liệu như một tập các quan hệ. Mỗi quan hệ là

một bảng giá trị, gồm các dòng và cột chứa một

tập các giá trị dữ liệu liên quan với nhau.

 Mô hình cơ sở dữ liệu gồm:

 Một hệ thống các ký hiệu để mô tả dữ liệu dưới

dạng dòng và cột như quan hệ, bộ, thuộc tính,

khóa chính, khoá ngoại, .

 Một tập hợp các phép toán thao tác trên dữ liệu

như phép toán tập hợp, phép toán quan hệ.

 Ràng buộc toàn vẹn quan hệ.

pdf 40 trang yennguyen 2680
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung

Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung
CHƯƠNG 2
MÔ HÌNH CSDL QUAN HỆ
GV Th.S. Thiều Quang Trung
Bộ môn Khoa học cơ bản
Trường Cao đẳng kinh tế đối ngoại
2Nội dung
• Các khái niệm trong mô hình CSDL quan hệ
• Các ràng buộc quan hệ
• Các phép toán trên mô hình quan hệ
3MÔ HÌNH QUAN HỆ
 Mô hình Cơ sở dữ liệu quan hệ biểu diễn cơ sở
dữ liệu như một tập các quan hệ. Mỗi quan hệ là
một bảng giá trị, gồm các dòng và cột chứa một
tập các giá trị dữ liệu liên quan với nhau.
 Mô hình cơ sở dữ liệu gồm:
 Một hệ thống các ký hiệu để mô tả dữ liệu dưới
dạng dòng và cột như quan hệ, bộ, thuộc tính,
khóa chính, khoá ngoại, ...
 Một tập hợp các phép toán thao tác trên dữ liệu
như phép toán tập hợp, phép toán quan hệ.
 Ràng buộc toàn vẹn quan hệ.
4MÔ HÌNH QUAN HỆ
 Khái niệm cơ bản:
 Miền (Domain): tập các giá trị nguyên tử
 Họ tên: Tập ký tự có độ dài <= 30.
 Tuổi: Tập các số nguyên từ 1 đến 80.
 Lược đồ quan hệ R:
 ký hiệu: R(A1, A2,..., An)
 R: Tên của quan hệ
 A1, A2,, An: Danh sách các thuộc tính của
quan hệ.
Ví dụ: SinhVien(Hoten, MaSo, Ngaysinh, gioitinh,
Diachi)
5MÔ HÌNH QUAN HỆ
 Một quan hệ r của lược đồ quan hệ R(A1,A2,,
An) được ký hiệu là r(R), là tập hợp các n-bộ
r = {t1, t2, ..., tn }.
Mỗi n-bộ t là một danh sách có thứ tự của n giá
trị, t = , trong đó mỗi vi ,1<= i <=
n.
Giá trị thứ i của bộ t, tương ứng với thuộc tính
Ai được ký hiệu là t[Ai] .
 Bộ là tập mỗi giá trị liên quan của tất cả các
thuộc tính của một lược đồ quan hệ.
6MÔ HÌNH QUAN HỆ
 Quan hệ (Relation): là bảng gồm các dòng
(bộ) và các cột (thuộc tính)
Thuộc tính
Tên của quan hệ
N-bộ t
7MÔ HÌNH QUAN HỆ
 Siêu khóa: S là tập các thuộc tính
 S được gọi là một siêu khóa (superkey) của lược
đồ quan hệ R nếu với hai bộ tùy ý trong quan hệ R
thì giá trị của các thuộc tính trong S là khác nhau.
 Khóa: Siêu khóa có ít thuộc tính nhất.
 Khóa dự tuyển: là tất cả các khóa của một quan
hệ (candidate key).
 Khóa chính(primary key): một trong các khóa dự
tuyển được chọn là khóa tiêu biểu.
8MÔ HÌNH QUAN HỆ
 Khóa ngoại (foreign key) là thuộc tính của lược đồ
Quan Hệ này nhưng lại là khóa chính của lược đồ
quan hệ khác
 Các thuộc tính thuộc một khóa được gọi là thuộc
tính khóa (prime attribute), các thuộc tính còn lại
trong lược đồ quan hệ được gọi là các thuộc tính
không khóa (nonprime attribute).
9CÁC RÀNG BUỘC QUAN HỆ
 Ràng buộc miền giá trị: Giá trị cho phép của một
thuộc tính (kiểu dữ liệu).
 Ràng buộc toàn vẹn thực thể (Entity integrity):
 Ràng buộc khóa: khóa chính không được trùng và
không rỗng
Ví dụ: Cho r là một quan hệ của lược đồ quan hệ
KHACHHANG ta có ràng buộc toàn vẹn sau
 t1, t2 r
t1. MAKH ≠ t2. MAKH
10
CÁC RÀNG BUỘC QUAN HỆ
 Ràng buộc toàn vẹn tham chiếu (Referential
integrity ): tất cả các giá trị của khóa ngoại (nếu
khác null) trong quan hệ bên phía nhiều phải tồn
tại trong các giá trị của khóa chính trong quan hệ
bên phía một.
 Ví dụ: r và s là các quan hệ trên lược đồ quan hệ
HOADON và KHACHHANG => Ràng buộc toàn
vẹn: r[MAKH] s[MAKH]
11
RÀNG BUỘC TOÀN VẸN QUAN HỆ
 Qui tắc xóa các hàng dữ liệu:
 Hạn chế (restrict): không cho phép xóa các hàng
bên phía cha (parent) nếu tồn tại các hàng liên
quan bên phía phụ thuộc (dependent).
 Tầng (cascade): tự động xóa các hàng bên phía
phụ thuộc tương ứng với các hàng bên phía cha.
 Gán null (set-to-null): gán null cho khóa ngoại của
các hàng bên phía phụ thuộc tương ứng với các
hàng bên phía cha. Không áp dụng cho các thực
thể yếu.
12
RÀNG BUỘC TOÀN VẸN QUAN HỆ
 Các yếu tố của ràng buộc toàn vẹn
 Điều kiện: của một ràng buộc toàn vẹn R có
thể được biểu diễn bằng ngôn ngữ tự nhiên,
thuật giải, ngôn ngữ đại số tập hợp, đại số
quan hệ hoặc bằng phụ thuộc hàm.
 Bối cảnh của một ràng buộc toàn vẹn là
những quan hệ mà ràng buộc đó có hiệu lực.
Bối cảnh của một ràng buộc toàn vẹn có thể
là một hoặc nhiều quan hệ.
13
RÀNG BUỘC TOÀN VẸN QUAN HỆ
 Bảng tầm ảnh hưởng: xác định thời điểm cần phải tiến
hành kiểm tra các ràng buộc toàn vẹn khi cập nhật dữ liệu.
 Một bảng tầm ảnh hưởng của một ràng buộc toàn vẹn có
dạng:
Tên quan hệ Thêm(T) Sửa(S) Xóa(X)
r1 + - -
r2
... ... .. ..
+ : thực hiện thao tác có thể làm vi phạm RBTV
- : thực hiện thao tác không thể làm vi phạm RBTV
14
PHÂN LOẠI
 RBTV có bối cảnh trên 1 quan hệ
1. RBTV miền giá trị.
2. RBTV liên thuộc tính
3. RBTV liên bộ
 RBTV có bối cảnh trên nhiều quan hệ
1. RBTV tham chiếu
2. RBTV liên thuộc tính, liên quan hệ
3. RBTV do thuộc tính tổng hợp
15
RÀNG BUỘC MIỀN GIÁ TRỊ
 Là tập giá trị mà một thuộc tính có thể nhận.
Ví dụ: R1: Giới tính của học viên chỉ là Nam hoặc Nữ
 Nội dung:
hv HOCVIEN( hv.Gioitinh {‘Nam’,’Nữ’})
 Bối cảnh: quan hệ HOCVIEN
 Bảng tầm ảnh hưởng:
R1 Thêm Xóa Sửa
HOCVIEN + - +(Gioitinh)
16
RÀNG BUỘC LIÊN THUỘC TÍNH
 Là ràng buộc giữa các thuộc tính với nhau trên 1
bộ của quan hệ
Ví dụ: R2: Ngày bắt đầu (TUNGAY) giảng dạy một
môn học cho một lớp luôn nhỏ hơn ngày kết thúc
(DENNGAY)
 Nội dung: gd GIANGDAY (gd.TUNGAY <
gd.DENNGAY)
 Bối cảnh : GIANGDAY
 Bảng tầm ảnh hưởng:
R2 Thêm Xóa Sửa
GIANGDAY + - +(Tungay, Denngay)
17
RÀNG BUỘC LIÊN BỘ
 Là ràng buộc giữa các bộ trên cùng một quan hệ.
Ví dụ: R3: Tất cả các học viên phải có mã số phân
biệt.
 Nội dung:
h1,h2 HOCVIEN(h1 h2 h1.Mahv h2.Mahv)
h1 HOCVIEN(Count(h2 HOCVIEN(h2.Mahv=h1.Mahv))(*)=1)
 Bối cảnh: quan hệ HOCVIEN
 Bảng tầm ảnh hưởng:
R3 Thêm Xóa Sửa
HOCVIEN + - -(*)
18
RÀNG BUỘC THAM CHIẾU
 RBTV tham chiếu còn gọi là ràng buộc phụ thuộc tồn
tại hay ràng buộc khóa ngoại
 Ví dụ: R4: Học viên thi một môn học nào đó thì môn
học đó phải có trong danh sách các môn học
 Nội dung:
k KETQUATHI(m MONHOC(k.Mamh= m.Mamh))
Hoặc: KETQUATHI[Mamh]  MONHOC[Mamh]
 Bối cảnh: quan hệ KETQUATHI, MONHOC
 Bảng tầm ảnh
hưởng:
R4 Thêm Xóa Sửa
KETQUATHI + - -(*)
MONHOC - + -(*)
19
RÀNG BUỘC LIÊN QUAN HỆ
 Là ràng buộc giữa các thuộc tính trên những quan
hệ khác nhau.
 Ví dụ: R5: Ngày giáo viên giảng dạy (Tungay) một
môn học phải lớn hơn hoặc bằng ngày giáo viên đó
vào làm (Ngvl).
 Nội dung: gd GIANGDAY
(gv GIAOVIEN(gd.Magv=gv.Magv) 
gv.Ngvl gd.Tungay)
 Bối cảnh: GIANGDAY, GIAOVIEN
20
RÀNG BUỘC LIÊN QUAN HỆ
R5 Thêm Xóa Sửa
GIANGDAY + - +(Tungay)
GIAOVIEN - - +(Ngvl)
Bảng tầm ảnh hưởng:
21
RÀNG BUỘC LIÊN THUỘC TÍNH
 Ví dụ: R6: Ngày thi một môn học (Ngthi) phải lớn
hơn ngày kết thúc họcmôn học đó (Denngay).
 Nội dung:
kq KETQUATHI
(gd GIANGDAY  hv HOCVIEN 
(gd.Malop=hv.Malopkq.Mamh=gd.Mamh) 
gd.Denngay < kq.Ngthi)
 Bối cảnh: GIANGDAY, HOCVIEN, KETQUATHI
22
RÀNG BUỘC LIÊN THUỘC TÍNH
 Bảng tầm ảnh hưởng:
R6 Thêm Xóa Sửa
HOCVIEN - - +(Malop)
GIANGDAY - - +(Denngay)
KETQUATHI + - +(Ngthi)
23
ĐẠI SỐ QUAN HỆ
 Là một mô hình toán học dựa trên lý thuyết tập
hợp mà đối tượng xử lý là các quan hệ trong cơ
sở dữ liệu quan hệ
 Cho phép sử dụng các phép toán rút trích dữ liệu
từ các quan hệ
 Tối ưu hóa quá trình rút trích dữ liệu
24
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Phép hợp (Union operation): Cho hai lược đồ
quan hệ Q1 và Q2 có cùng tập thuộc tính {A1,
A2,.., An}, r1 và r2 lần lượt là hai quan hệ trên Q1
và Q2.
 Phép hợp của hai lược đồ quan hệ Q1 và Q2 sẽ
tạo thành một lược đồ quan hệ Q3 được xác định
như sau:
Q3+= {A1,A2,..,An} 
r3= r1r2 = {t | t r1 hay t r2}
25
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
26
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Phép giao (Intersection): Cho hai lược đồ quan
hệ Q1 và Q2 có cùng tập thuộc tính {A1,A2,..,An}.
r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2.
 Phép giao của hai lược đồ quan hệ Q1 và Q2 sẽ
tạo thành một lược đồ quan hệ Q3 như sau:
Q3+={A1,A2,..,An}
r3 = r1r2= {t | t r1 và t r2}
27
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
28
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Phép trừ (Minus, difference): Cho hai lược đồ
quan hệ Q1 và Q2 có cùng tập thuộc tính {A1,
A2,.., An}, r1 và r2 lần lượt là hai quan hệ trên
Q1 và Q2.
 Phép trừ lược đồ quan hệ Q1 cho Q2 sẽ tạo thành
một lược đồ quan hệ Q3 như sau:
Q3+={A1,A2,..,An}
r3 = r1 - r2= {t | t r1 và t r2}
29
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Ví dụ:
30
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Tích Descartes (Cartesian Product, product):
Cho hai lược đồ quan hệ Q1(A1,A2,..,An),
Q2(B1,B2,..,Bm), r1 và r2 lần lượt là hai quan hệ
trên Q1 và Q2.
 Tích Descartes của hai lược đồ quan hệ Q1 và Q2
sẽ tạo thành một lược đồ quan hệ Q3 như sau:
Q3+ = Q1+  Q2+= {A1,..., B1,...}
r3 = r1 x r2 = {(t1,t2)| t1 r1 và t2 r2}
31
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
32
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Phép nối (JOIN ): Cho hai lược đồ quan hệ
Q1(A1, A2,.., An), Q2(B1, B2,..,Bm),
 r1 và r2 là hai quan hệ trên Q1 và Q2.
 Ai và Bj là các thuộc tính của Q1 và Q2 sao cho
Miền giá trị(Ai) = Miền giá trị(Bj).
  là một phép so sánh trên Miền giá trị (Ai).
 Phép kết Q1 Q2 sẽ tạo thành một lược đồ quan
hệ Q3 = Q1
+ ∪ Q2
+
r3=r1 r2 = {t12|∃t1∈r1, ∃t2∈r2
sao cho t12.Q1
+ = t1, t12.Q2
+ = t2 , t1.Ai θ t2.Bj}
Bj θAi
33
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Dạng tổng quát của phép nối trên hai quan hệ
R(A1, A2,,An) và S(B1,B2,, Bm) là
 Kết quả của phép nối là một quan hệ
Q(A1,A2,,An,B1,B2,,Bm) có n+m thuộc tính.
Mỗi bộ của Q là một kết nối giữa một bộ của R và
một bộ của S khi thoả mãn .
R S
34
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
Ví dụ:
Nếu  được sử dụng trong phép kết là phép so sánh
bằng (=) thì ta gọi là phép kết bằng. nếu Ai = Bj thì
gọi là phép kết tự nhiên.
B>=F
35
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 
 Phép chọn (SELECT): Phép chọn được sử dụng
để chọn một tập hợp các bộ thoả mãn điều kiện
chọn từ một quan hệ.
 Ký hiệu:
 Ví dụ:
36
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Biểu thức logic trong gồm:
 Tính chất:
 Tính chất giao hoán
 Tính kết hợp:
37
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Phép chiếu (PROJECT): Phép chiếu là phép toán
chọn một số cột của bảng.
 Ký hiệu:
 Ví dụ:
R
38
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
 Có thể áp dụng nhiều phép toán quan hệ liên tiếp
nhau.
Ví dụ: xuất ra Họtên và Lương của các Nhânviên làm
việc ở đơn vị có Mãsố là 4.
π(σ (NHÂNVIÊN)) 
39
TÓM TẮT BÀI GIẢNG
• Mô hình CSDL quan hệ biểu diễn cơ sở dữ liệu như một tập 
các quan hệ.
• Ràng buộc miền giá trị là giá trị cho phép của một thuộc tính.
• Ràng buộc toàn vẹn thực thể là ràng buộc khóa chính không 
được trùng và không rỗng.
• Ràng buộc toàn vẹn tham chiếu là tất cả các giá trị của khóa 
ngoại trong quan hệ bên phía nhiều phải tồn tại trong các giá 
trị của khóa chính trong quan hệ bên phía một.
• Đại số quan hệ là một mô hình toán học dựa trên lý thuyết tập 
hợp mà đối tượng xử lý là các quan hệ trong cơ sở dữ liệu 
quan hệ.
• Các phép toán đại số quan hệ gồm: hợp, giao, trừ, tích, nối, 
chọn, chiếu.

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_2_mo_hinh_co_so_du_lieu_quan.pdf