MÔ HÌNH DỮ LIỆU QUAN HỆ
3.1. MỐT SỐ KHÁI NIỆM CƠ BẢN
3.2. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
3.3. BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ
3.4. ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT
SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
53 trang |
Chia sẻ: Thục Anh | Ngày: 11/05/2022 | Lượt xem: 478 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - Nguyễn Vương Thịnh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG HỌC PHẦN
CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Giảng viên: ThS. Nguyễn Vƣơng Thịnh
Bộ môn: Hệ thống thông tin
Hải Phòng, 2013
Chương 3
MÔ HÌNH DỮ LIỆU QUAN HỆ
2
Thông tin về giảng viên
Họ và tên Nguyễn Vƣơng Thịnh
Đơn vị công tác Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin
Học vị Thạc sỹ
Chuyên ngành Hệ thống thông tin
Cơ sở đào tạo Trƣờng Đại học Công nghệ - Đại học Quốc Gia Hà Nội
Năm tốt nghiệp 2012
Điện thoại 0983283791
Email thinhnv@vimaru.edu.vn
3
Tài liệu tham khảo
1. Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database
Systems (the 4th Edition), Pearson Education Inc, 2004.
2. Nguyễn Tuệ, Giáo trình Nhập môn Hệ Cơ sở dữ liệu, Nhà xuất bản
Giáo dục Việt Nam, 2007.
3. Nguyễn Kim Anh, Nguyên lý của các hệ Cơ sở dữ liệu, Nhà xuất bản
Đại học Quốc gia Hà Nội, 2004.
4
Tài liệu tham khảo
MÔ HÌNH DỮ LIỆU QUAN HỆ
3.1. MỐT SỐ KHÁI NIỆM CƠ BẢN
3.2. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
3.3. BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ
3.4. ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT
SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
5
6
Edgar F. Codd
(1923 – 2003)
7
8
3.1. MỘT SỐ KHÁI NIỆM CƠ BẢN
3.1.1. LƢỢC ĐỒ QUAN HỆ (RELATION SCHEMA)
Lược đồ quan hệ R, ký hiệu là R(A1,A2,...,An) được tạo thành từ một tên
quan hệ R và một tập các thuộc tính {A1,A2,...,An}.
Ví dụ:
Học Sinh(Mã HS, Tên HS, Xếp Loại).
Học Phần(Mã HP, Tên HP, Số TC, Loại HP).
Tương ứng với mỗi thuộc tính Ai trong tập thuộc tính có một tập hợp
các giá trị mà thuộc tính Ai có thể nhận. Người ta gọi đó là miền giá trị
(domain) của Ai và ký hiệu là dom(Ai)
dom(Xếp Loại) = {Xuất Sắc, Giỏi, Khá, Trung Bình, Yếu, Kém}
dom(Loại HP) = {1, 2, 3}
Tên quan hệ
(Relation Name)
Tập thuộc tính
9
3.1.2. QUAN HỆ (RELATION)
Quan hệ r trên lƣợc đồ quan hệ R(A1,A2,...,An) còn đƣợc ký hiệu là
r(R) là tập hợp các bộ t có dạng t = trong đó vi là một
phần tử nào đó thuộc dom(Ai):
𝒓 𝑹 ⊆ 𝒅𝒐𝒎 𝑨𝟏 × 𝒅𝒐𝒎 𝑨𝟐 × ⋯× 𝒅𝒐𝒎(𝑨𝒏)
𝒓 𝑹 = 𝒕|𝒕 = 𝒗𝟏, 𝒗𝟐, , 𝒗𝒏 , 𝒗𝒊 ∈ 𝒅𝒐𝒎(𝑨𝒊)(𝟏 ≤ 𝒊 ≤ 𝒏)
Quan hệ r trên lƣợc đồ quan hệ R(A1,A2,...,An) có thể đƣợc xem là
tập con của tích Đề Các n miền giá trị dom(A1), dom(A2),...,
dom(An):
𝒅𝒐𝒎 𝒓 𝑹 = 𝒅𝒐𝒎 𝑨𝟏 × 𝒅𝒐𝒎 𝑨𝟐 × ⋯× 𝒅𝒐𝒎(𝑨𝒏)
𝒅𝒐𝒎 𝒓 𝑹 = 𝒅𝒐𝒎 𝑨𝟏 . 𝒅𝒐𝒎 𝑨𝟐 𝒅𝒐𝒎(𝑨𝒏)
Chú ý: Miền giá trị của quan hệ r(R) ký hiệu là dom(r(R)) đƣợc định nghĩa
Hiển nhiên:
10
𝑑𝑜𝑚 𝐴1 = *𝑎, 𝑏+ 𝑑𝑜𝑚 𝐴2 = *1,2+
𝑑𝑜𝑚 𝐴1 × 𝑑𝑜𝑚(𝐴2) = * 𝑎, 1 , 𝑎, 2 , 𝑏, 1 , (𝑏, 2)+
𝑟1 𝑅 = 𝑎, 1 , 𝑏, 2 =
𝑟2 𝑅 = 𝑎, 1 , 𝑎, 2 , 𝑏, 2 =
𝑟3 𝑅 = 𝑎, 2 , 𝑏, 1 , 𝑏, 2 =
A1 A2
a 1
a 2
b 2
𝑅 𝐴1, 𝐴2 :
A1 A2
a 1
b 2
A1 A2
a 2
b 1
b 2
11
3.1.3. QUAN HỆ KHẢ HỢP
Quan hệ r và quan hệ s đƣợc gọi là khả hợp nếu chúng đƣợc xác
định trên cùng miền giá trị:
Cụ thể:
𝒅𝒐𝒎 𝒓 = 𝒅𝒐𝒎 𝑨𝟏 × 𝒅𝒐𝒎 𝑨𝟐 × ⋯× 𝒅𝒐𝒎(𝑨𝒏)
𝒅𝒐𝒎 𝒔 = 𝒅𝒐𝒎 𝑩𝟏 × 𝒅𝒐𝒎 𝑩𝟐 × ⋯× 𝒅𝒐𝒎(𝑩𝒎)
Quan hệ r và quan hệ s đƣợc gọi là khả hợp nếu:
Tức là: và
𝒅𝒐𝒎 𝒓 = 𝒅𝒐𝒎(𝐬)
𝒏 = 𝒎 𝒅𝒐𝒎(𝑨𝒊) = 𝒅𝒐𝒎(𝑩𝒊)(∀𝒊 = 𝟏, . . , 𝒏)
12
𝑑𝑜𝑚 𝐴1 = *𝑎, 𝑏+ 𝑑𝑜𝑚 𝐴2 = *1,2+
𝑟1 𝑅 = 𝑎, 1 , 𝑏, 2 =
𝑟2 𝑆 = 𝑎, 1 , 𝑎, 2 , 𝑏, 2 =
B1 B2
a 1
a 2
b 2
𝑅 𝐴1, 𝐴2 :
A1 A2
a 1
b 2
𝑆 𝐵1, 𝐵2 : 𝑑𝑜𝑚 𝐵1 = *𝑎, 𝑏+ 𝑑𝑜𝑚 𝐵2 = *1,2+
13
3.2. CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
3.2.1. PHÉP HỢP (UNION)
Kết quả phép hợp của 2 quan hệ khả hợp r và s là tập tất cả các bộ t
hoặc thuộc r hoặc thuộc s hoặc thuộc đồng thời cả r và s:
𝒓 ∪ 𝒔 = 𝒕|(𝒕 ∈ 𝒓)⋁(𝒕 ∈ 𝒔)
𝑟1 =
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
𝑟2 =
A B C
a1 b1 c1
a2 b2 c2
a4 b4 c4
a5 b5 c5
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
a4 b4 c4
a5 b5 c5
𝑟1 ∪ 𝑟2=
14
3.2.2. PHÉP GIAO (INTERSECTION)
Kết quả phép giao giữa 2 quan hệ khả hợp r và s là tập tất cả các bộ
thuộc đồng thời cả r và s:
𝒓 ∩ 𝒔 = 𝒕|(𝒕 ∈ 𝒓)⋀(𝒕 ∈ 𝒔)
𝑟1 =
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
𝑟2 =
A B C
a1 b1 c1
a2 b2 c2
a4 b4 c4
a5 b5 c5
A B C
a1 b1 c1
a2 b2 c2
𝑟1 ∩ 𝑟2=
15
3.2.3. PHÉP TRỪ (MINUS)
Kết quả phép trừ giữa 2 quan hệ khả hợp r và s là tập tất cả các bộ
thuộc r nhưng không thuộc s:
𝒓 − 𝒔 = 𝒕|(𝒕 ∈ 𝒓)⋀(𝒕 ∉ 𝒔)
𝑟1 =
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3
𝑟2 =
A B C
a1 b1 c1
a2 b2 c2
a4 b4 c4
a5 b5 c5
A B C
a4 b4 c4
a5 b5 c5
𝑟2 − 𝑟1=
16
3.2.4. PHÉP TÍCH ĐỀ CÁC
Kết quả của phép tích Đề Các giữa 2 quan hệ r và s bất kỳ là tập tất cả
các bộ t được tạo thành từ việc kết nối một bộ ti bất kỳ thuộc r với một
bộ tj bất kỳ thuộc s:
𝒓 × 𝒔 = 𝒕 = 𝒕𝒊 + 𝒕𝒋|(𝒕𝒊 ∈ 𝒓)⋀(𝒕𝒋 ∈ 𝒔)
𝑟1 =
A B C
a1 b1 c1
a2 b2 c2
𝑟2 =
D E
d1 e1
d2 e2
d3 e3
A B C D E
a1 b1 c1 d1 e1
a1 b1 c1 d2 e2
a1 b1 c1 d3 e3
a2 b2 c2 d1 e1
a2 b2 c2 d2 e2
a2 b2 c2 d3 e3
𝑟1 × 𝑟2=
𝒓 × 𝒔 = 𝒓 . 𝒔
𝒕𝒊 = 𝒂𝟏, 𝒂𝟐, , 𝒂𝒏 , 𝒕𝒋 = 𝒃𝟏, 𝒃𝟐, , 𝒃𝒎
𝒕 = 𝒕𝒊 + 𝒕𝒋 = 𝒂𝟏, 𝒂𝟐, , 𝒂𝒏, 𝒃𝟏, 𝒃𝟐, , 𝒃𝒎
Kết nối 02 bộ:
Hệ quả:
17
3.2.5. PHÉP CHIẾU (PROJECT)
Phép chiếu của quan hệ r xác định trên tập thuộc tính X là tập các bộ
của r với giá trị được xác định trên tập thuộc tính X:
Phép chiếu trên một quan hệ giúp loại bỏ đi các giá trị tương ứng với
một số thuộc tính của quan hệ.
𝚷𝑿(𝒓) = 𝒕 𝑿 |𝒕 ∈ 𝒓
𝑟 =
A B C D
a1 b1 c1 d1
a2 b2 c2 d2
a3 b3 c3 d3
𝑋 = 𝐴, 𝐵, 𝐷
Π𝑋 𝑟 =
A B D
a1 b1 d1
a2 b2 d2
a3 b3 d3
A B C D
a1 b1 c1 d1
a2 b2 c2 d2
a3 b3 c3 d3
=
3.2.6. PHÉP CHỌN (SELECTION)
Cho quan hệ r và biểu thức logic F xác định trên các thuộc tính của r.
Phép chọn trên quan hệ r với biểu thức chọn F là tập tất cả các bộ của
r thỏa mãn F:
Phép chọn giúp lọc ra các bộ của quan hệ thỏa mãn điều kiện nhất
định.
𝝈𝑭(𝒓) = 𝒕|(𝒕 ∈ 𝒓)⋀(𝑭 𝒕 = 𝑻𝒓𝒖𝒆)
ID Type Quantity
1 A 10
2 C 15
3 B 20
4 B 15
5 C 5
6 A 4
𝑟 =
𝜎𝑇𝑦𝑝𝑒=𝐴 𝑟 =
ID Type Quantity
1 A 10
6 A 4
𝜎𝑄𝑢𝑎𝑛𝑡𝑖𝑡𝑦>10 𝑟 =
ID Type Quantity
2 C 15
3 B 20
4 B 15
19
𝑟 = 𝜎𝐷=𝑎 𝑟 =
A B C D E
a1 b1 c1 a 1
a2 b2 c2 b 2
a3 b3 c3 a 2
a4 b4 c4 a 4
a5 b5 c5 b 4
a6 b6 c6 b 5
A B C D E
a1 b1 c1 a 1
a3 b3 c3 a 2
a4 b4 c4 a 4
𝜎𝐸=4 𝑟 =
A B C D E
a4 b4 c4 a 4
a5 b5 c5 b 4
𝜎(𝐷=𝑎)⋀(𝐸>1) 𝑟 =
A B C D E
a3 b3 c3 a 2
a4 b4 c4 a 4
3.2.7. PHÉP KẾT NỐI (JOIN)
Phép kết nối 2 quan hệ là phép kết nối các bộ của 2 quan hệ thỏa
mãn một điều kiện nào đó trên chúng. Điều kiện kết nối thường được
thể hiện bằng một biểu thức logic F gọi là biểu thức kết nối.
Phép nối của r với s với biểu thức kết nối F được định nghĩa như sau:
= 𝒕 = 𝒕𝒊 + 𝒕𝒋|(𝒕𝒊 ∈ 𝒓)⋀(𝒕𝒋 ∈ 𝒔)⋀(𝑭 𝒕𝒊, 𝒕𝒋 = 𝑻𝒓𝒖𝒆) 𝒓 ⋈ 𝒔
𝑭
Chú ý: Khi F chứa các phép so sánh bằng thì gọi là kết nối bằng
A B C1
a1 b1 1
a2 b2 2
a3 b3 2
a4 b4 5
D E C2
d1 e1 1
d2 e2 2
d3 e3 3
d4 e4 4
𝑟 = 𝑠 = 𝑟 ⋈ 𝑠
𝐶1 = 𝐶2
= A B C1 D E C2
a1 b1 1 d1 e1 1
a2 b2 2 d2 e2 2
a3 b3 2 d2 e2 2
21
MaHS TenHS Lop
01 An 11A1
02 Bình 11A2
03 Cường 11A1
04 Dũng 11A3
TenLop PhongHoc GVCN
11A1 304 Cô Lan
11A2 305 Cô Hoa
11A3 306 Thầy Bình
11A4 307 Thầy Thắng
𝐻𝑜𝑐𝑆𝑖𝑛ℎ = 𝐿𝑜𝑝𝐻𝑜𝑐 =
𝐻𝑜𝑐𝑆𝑖𝑛ℎ ⋈ 𝐿𝑜𝑝𝐻𝑜𝑐
𝐻𝑜𝑐𝑆𝑖𝑛ℎ. 𝐿𝑜𝑝 = 𝐿𝑜𝑝𝐻𝑜𝑐. 𝑇𝑒𝑛𝐿𝑜𝑝
= MaHS TenHS Lop TenLop PhongHoc GVCN
01 An 11A1 11A1 304 Cô Lan
02 Bình 11A2 11A2 305 Cô Hoa
03 Cường 11A1 11A1 304 Cô Lan
04 Dũng 11A3 11A3 306 Thầy Bình
22
Phép kết nối tự nhiên 2 quan hệ r và s (ký hiệu là r * s) là phép kết nối
bằng áp dụng trên các thuộc tính cùng tên của 2 quan hệ đó và sau
khi kết nối thì một trong hai thuộc tính của phép so sánh bằng được
loại bỏ thông qua phép chiếu.
A B C
a1 b1 1
a2 b2 2
a3 b3 2
a4 b4 5
D E C
d1 e1 1
d2 e2 2
d3 e3 3
d4 e4 4
𝑟 = 𝑠 = 𝑟 ∗ 𝑠 = A B C D E
a1 b1 1 d1 e1
a2 b2 2 d2 e2
a3 b3 2 d2 e2
23
MaHS TenHS Lop
01 An 11A1
02 Bình 11A2
03 Cường 11A1
04 Dũng 11A3
Lop PhongHoc GVCN
11A1 304 Cô Lan
11A2 305 Cô Hoa
11A3 306 Thầy Bình
11A4 307 Thầy Thắng
𝐻𝑜𝑐𝑆𝑖𝑛ℎ = 𝐿𝑜𝑝𝐻𝑜𝑐 =
𝐻𝑜𝑐𝑆𝑖𝑛ℎ ∗ 𝐿𝑜𝑝𝐻𝑜𝑐 = MaHS TenHS Lop PhongHoc GVCN
01 An 11A1 304 Cô Lan
02 Bình 11A2 305 Cô Hoa
03 Cường 11A1 304 Cô Lan
04 Dũng 11A3 306 Thầy Bình
3.2.7. PHÉP TOÁN GỘP NHÓM
Phép gộp nhóm trên quan hệ r với các thuộc tính gộp nhóm là
A1,A2,...,An sẽ cho kết quả là một quan hệ mới r’ bằng cách:
Chia các bộ của quan hệ r thành các nhóm sao cho các bộ trong
cùng nhóm thì sẽ có giá trị trên các thuộc tính gộp nhóm A1,A2,...,An
là giống nhau.
Mỗi bản ghi của quan hệ kết quả r’ sẽ mang các giá trị đại diện cho
một nhóm. Đó có thể là một số các giá trị của thuộc tính gộp nhóm
hoặc là kết quả khi áp dụng một hàm thống kê trên nhóm đó.
Ký hiệu:
A1,A2,...,An: Thuộc tính gộp nhóm.
f1,f2,...,fm: Các hàm thống kê áp dụng trên các nhóm.
𝜳𝒇𝟏,𝒇𝟐,,𝒇𝒎(𝒓)
𝑨𝟏,𝑨𝟐,,𝑨𝒏
25
CÁC HÀM THỐNG KÊ THƢỜNG DÙNG:
COUNT(*): Đếm số bộ có trong 1 nhóm.
COUNT(Ai): Đếm số giá trị tƣơng ứng với thuộc tính Ai của các bộ
trong nhóm.
SUM(Ai): Tính tổng các giá trị tƣơng ứng với thuộc tính Ai của các bộ
trong nhóm.
MAX(Ai): Tìm giá trị lớn nhất trong số các giá trị tƣơng ứng với thuộc
tính Ai của các bộ trong nhóm.
MIN(Ai): Tìm giá trị nhỏ nhất trong số các giá trị tƣơng ứng với thuộc
tính Ai của các bộ trong nhóm.
AVG(Ai): Tính giá trị trung bình của các giá trị tƣơng ứng với thuộc
tính Ai của các bộ trong nhóm.
26
ID Value Type
1 10 A
2 20 A
3 10 B
4 20 B
5 10 A
6 20 C
7 10 C
𝑃𝑟𝑜𝑑𝑢𝑐𝑡 =
Type Count(*) SUM(Value)
A 3 40
B 2 30
C 2 30
𝜳𝑪𝑶𝑼𝑵𝑻 ∗ ,𝑺𝑼𝑴(𝑽𝒂𝒍𝒖𝒆)
𝑻𝒚𝒑𝒆 =
27
ID Value Type
1 10 A
2 20 A
3 10 B
4 20 B
5 10 A
6 20 C
7 10 C
ID Value Type
1 10 A
2 20 A
5 10 A
ID Value Type
3 10 B
4 20 B
ID Value Type
6 20 C
7 10 C
Type COUNT(*) SUM(Value)
A 3 40
Type COUNT(*) SUM(Value)
B 2 30
Type COUNT(*) SUM(Value)
C 2 30
Type COUNT(*) SUM(Value)
A 3 40
B 2 30
C 2 30
28
3.3. BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ
3.3.1. NGUYÊN TẮC CHUNG
Các phép toán của đại số quan hệ có thể đƣợc sử dụng đơn lẻ hoặc
kết hợp với nhau để tạo thành các biểu thức đại số quan hệ.
Có thể sử dụng dấu ngoặc đơn để thiết lập thứ tự ƣu tiên cho các
phép toán. Phép toán trong ngoặc đƣợc ƣu tiên thực hiện trƣớc sau
đó mới đến các phép toán bên ngoài.
Khi kết hợp với nhau, các phép toán của đại số quan hệ có thể lồng
nhau ở một số mức nào đấy. Lúc đó, thứ tự thực hiện của các phép
toán là từ trong ra ngoài:
𝒇𝟏 𝒇𝟐 𝒇𝟑 𝒇𝒌 𝒓
Biểu thức đại số quan hệ có thể đƣợc sử dụng để biểu diễn các câu
hỏi (truy vấn) trên cơ sở dữ liệu.
Thực hiện từ trong ra ngoài
29
3.3.2. PHƢƠNG PHÁP THỰC HIỆN
Bƣớc 1: Xác định xem có bao nhiêu thuộc tính liên quan tới truy vấn.
Xác định xem các thuộc tính đó thuộc về những quan hệ (bảng dữ
liệu) nào. Nếu các thuộc tính chỉ liên quan đến 1 quan hệ thì biểu
thức không cần phép kết nối. Ngƣợc lại thì cần.
Bƣớc 2: Xác định xem các bộ lấy ra có cần thoả mãn điều kiện gì
không? Nếu không, biểu thức sẽ không có phép chọn. Ngƣợc lại thì
có phép chọn. Khi đó cần xác định điều kiện chọn.
Bƣớc 3: Xác định xem có lấy mọi thuộc tính trong các quan hệ liên
quan không. Nếu có thì biểu thức không có phép chiếu. Ngƣợc lại thì
biểu thức có phép chiếu. Khi đó cần xác định các thuộc tính cần
chiếu.
30
MaHS TenHS DiemThi Lop
HS01 An 3 10A1
HS02 Bình 4 10A1
HS03 Cường 9 10A2
HS04 Dũng 10 10A2
HS05 Lan 9 10A3
HS06 Vân 6 10A3
TenLop PhongHoc GVCN
10A1 P301 Cô Lan
10A2 P302 Thầy Hùng
10A3 P302 Cô Hiền
10A4 P301 Thầy Hùng
𝐿𝑜𝑝𝐻𝑜𝑐 =
𝐻𝑜𝑐𝑆𝑖𝑛ℎ =
Liệt kê danh sách các học sinh đang học ở phòng P302 có điểm thi
trên 8. Thông tin hiển thị bao gồm MaHS, TenHS, Lop, DiemThi:
31
𝜫𝑴𝒂𝑯𝑺,𝑻𝒆𝒏𝑯𝑺,𝑳𝒐𝒑,𝑫𝒊𝒆𝒎𝑻𝒉𝒊 𝝈(𝑷𝒉𝒐𝒏𝒈𝑯𝒐𝒄="𝑷𝟑𝟎𝟐")∧(𝑫𝒊𝒆𝒎𝑻𝒉𝒊>𝟖)
𝑳𝒐𝒑𝑯𝒐𝒄 ⋈ 𝑯𝒐𝒄𝑺𝒊𝒏𝒉
𝑻𝒆𝒏𝑳𝒐𝒑 = 𝑳𝒐𝒑
Liệt kê danh sách các học sinh đƣợc chủ nhiệm bởi “Thầy Hùng”.
Thông tin hiển thị bao gồm MaHS, TenHS:
𝜫𝑴𝒂𝑯𝑺,𝑻𝒆𝒏𝑯𝑺 𝝈𝑮𝑽𝑪𝑵="𝑻𝒉ầ𝒚 𝑯ù𝒏𝒈"
𝑳𝒐𝒑𝑯𝒐𝒄 ⋈ 𝑯𝒐𝒄𝑺𝒊𝒏𝒉
𝑻𝒆𝒏𝑳𝒐𝒑 = 𝑳𝒐𝒑
Thống kê số học sinh mỗi lớp. Thông tin hiển thị bao gồm Lớp và số
lƣợng học sinh:
𝜳𝑪𝒐𝒖𝒏𝒕 ∗ (𝑯𝒐𝒄𝑺𝒊𝒏𝒉)
𝑳𝒐𝒑
Liệt kê danh sách các học sinh thuộc lớp 10A3 có điểm thi trên 8.
Thông tin hiển thị bao gồm MaHS, TenHS:
𝜫𝑴𝒂𝑯𝑺,𝑻𝒆𝒏𝑯𝑺 𝝈(𝑳𝒐𝒑="𝟏𝟎𝑨𝟑")∧(𝑫𝒊𝒆𝒎𝑻𝒉𝒊>𝟖) 𝑯𝒐𝒄𝑺𝒊𝒏𝒉
32
3.4. ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT
SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
3.4.1. KHÁI NIỆM VỀ KHÓA, KHÓA CHÍNH VÀ KHÓA NGOẠI CỦA LƢỢC
ĐỒ QUAN HỆ.
A. Khóa của lƣợc đồ quan hệ
Khóa là tập thuộc tính thỏa mãn đồng thời 2 tính chất:
Tính chất 1: Không tồn tại 2 bộ bất kỳ của một quan hệ nào có mang các giá
trị giống nhau trên tập thuộc tính đó.
Tình chất 2: Nếu loại bỏ một thuộc tính bất kỳ ra khỏi tập đang xét thì nó
không còn giữ được tính chất 1.
KHÓA LÀ TẬP THUỘC TÍNH TỐI THIỂU MÀ CÁC GIÁ TRỊ
TƢƠNG ỨNG KHÔNG BAO GIỜ TRÙNG NHAU GIỮA CÁC BỘ.
33
Lớp(Tên Lớp, Niên Khóa, Sĩ Số, Giáo Viên Chủ Nhiệm)
L0 11B1 2000 – 2001 40 Cô Hồng
L1 11B2 2000 – 2001 45 Cô Lan
L2 11B1 1998 – 1999 35 Thầy Thắng
L3 11A3 1998 – 1999 40 Cô Hồng
L4 11A3 2001 – 2002 42 Cô Lan
L5 11B2 1997 – 1998 43 Cô Quỳnh
K = {Tên Lớp, Niên Khóa}
34
B. Khóa chính của lƣợc đồ quan hệ
Một lược đồ quan hệ có thể có nhiều hơn 1 khóa. Ta gọi đó là các khóa
dự tuyển (candidate key).
Khi ta chọn trong số các khóa dự tuyển một khóa để đem ra sử dụng,
giúp phân biệt các bộ với nhau, khóa đó sẽ được gọi là khóa chính
(Primary Key – PK).
Nhân Viên(Mã NV, Họ Tên, Địa Chỉ, Số CMND)
Có 02 khóa dự tuyển
Nếu chọn Mã NV làm khóa chính:
Nhân Viên(Mã NV, Họ Tên, Địa Chỉ, Số CMND)
Nếu chọn Số CMND làm khóa chính:
Nhân Viên(Mã NV, Họ Tên, Địa Chỉ, Số CMND)
35
C. Khóa ngoại của lƣợc đồ quan hệ
Một tập thuộc tính FK của lược đồ quan hệ R1 được gọi là khóa ngoại
(Foreign Key – FK) tham chiếu đến lược đồ quan hệ R2 nếu nó thỏa mãn
đồng thời 2 tính chất:
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 của
khóa chính PK của R2.
Giá trị của FK tương ứng với một bộ t1 thuộc quan hệ r1(R1) hoặc là phải
bằng giá trị PK tương ứng của một bộ t2 nào đấy thuộc quan hệ r2(R2)
hoặc là bằng Null:
𝑡1 𝐹𝐾 =
𝑡2 𝑃𝐾
𝑁𝑢𝑙𝑙
36
Học Sinh(Mã HS, Tên HS, Điểm, Tên Lớp)
Lớp(Tên Lớp, Phòng Học, GVCN)
Mã HS
Tên HS
Điểm
Tên Lớp
Học Sinh
Tên Lớp
Phòng Học
GVCN
Lớp
Tên Lớp Phòng Học GVCN
10A1 P301 Lan
10A2 P302 Hồng
10A3 P303 Huệ
Mã HS Tên HS Điểm Tên Lớp
HS01 An 5 10A1
HS02 Bình 6 10A1
HS03 Cƣờng 9 10A1
HS04 Đức 7 10A2
HS05 Quý 8 10A2
37
3.4.2. CÁC BƢỚC THỰC HIỆN ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ
LIÊN KẾT SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
Bƣớc 1: Ánh xạ các kiểu thực thể thông thƣờng (kiểu thực thể
mạnh)
Ứng với mỗi kiểu thực thể E, người ta tạo ra một lược đồ quan hệ R
bao gồm tất cả các thuộc tính đơn trong E.
Nếu trong E có thuộc tính phức hợp thì thuộc tính này sẽ được phân
rã thành các thuộc tính đơn thành phần và đưa vào thành các thuộc
tính trong R.
Chọn một khóa của kiểu thực thể E làm khóa chính của lược đồ quan
hệ R.
38
Person
Name
Sex
Age
Job
Phone
Number
IDCard IDCard
Name
Sex
Age
Job
PhoneNumber
Person
39
Bƣớc 2: Ánh xạ các kiểu thực thể yếu (nếu có)
Ứng với mỗi kiểu thực thể yếu W có kiểu thực thể sở hữu đi kèm là
E, người ta tạo một lược đồ quan hệ R bao gồm tất cả các thuộc tính
có trong W.
Bổ sung vào trong R một khóa ngoại Ko tham chiếu đến khóa chính
của lược đồ quan hệ tương ứng với kiểu thực thể sở hữu E. Khóa
chính của R là sự kết hợp của khóa ngoại Ko và khóa thành phần
(partial key) của kiểu thực thể yếu W.
Lưu ý: Nếu kiểu thực thể yếu E2 có kiểu thực thể sở hữu là kiểu thực
thể yếu E1 thì E1 cần được ánh xạ trước E2.
40
Phụ
Thuộc
Ngƣời Phụ
Thuộc
Tình Trạng
Sức Khỏe
Giới Tính
Họ Tên
Quan Hệ
Ngày
Sinh
N
Nhân Viên
1
Họ Tên
Chuyên
Môn
Trình độ Giới
Tính
Mã NV
41
Mã NV
Họ Tên
Giới Tính
Ngày Sinh
Tình Trạng Sức Khỏe
Quan Hệ
Ngƣời Phụ Thuộc
Mã NV
Họ Tên
Chuyên Môn
Trình Độ
Giới Tính
Nhân Viên
42
Bƣớc 3: Ánh xạ các kiểu liên kết 1:1
Với mỗi kiểu liên kết 1:1 trong mô hình thực thể liên kết (ký hiệu là R),
người ta tạo ra 2 lược đồ quan hệ S và T tương ứng với 2 kiểu thực thể
tham gia vào liên kết R. Sau đó ta có 3 cách xử lý với kiểu liên kết này:
Cách 1: Sử dụng khóa ngoại: Chọn ra 1 lược đồ quan hệ bất kỳ trong 2
lược đồ quan hệ S và T, ví dụ S chẳng hạn. Sau đó đưa vào S một khóa
ngoại tham chiếu đến khóa chính của T. Đưa tất cả các thuộc tính của
liên kết R nếu có vào S.
Lưu ý: Cách này được sử dụng khi một trong hai kiểu thực thể (tương
ứng với S) tham gia toàn thể vào R.
Cách 2: Hòa trộn 2 lược đồ quan hệ: Có thể nhập 2 lược đồ quan hệ S
và T vào làm một. Cách này thường được sử dụng khi cả 2 kiểu thực thể
(tương ứng với S và T) tham gia toàn thể vào liên kết R.
43
Cách 3: Sử dụng tham chiếu chéo: Người ta tạo ra thêm một lược đồ
quan hệ R đóng vai trò là bảng tham chiếu chéo nối khóa chính của 2
lược đồ quan hệ S và T. Tức là trong S sẽ chứa khóa chính của S và T.
Mỗi bản ghi (bộ) trên R sẽ bao gồm 1 giá trị khóa chính của một bản ghi
trên S ghép với giá trị khóa chính của bản ghi tương ứng trên T. Cách
này cũng thường được sử dụng khi xử lý các liên kết kiểu M:N.
Có Bộ Phim
Thời Điểm
Quay
Tên Phim
Mã Phim
Thời Điểm
Phát Hành
Nhà sản
xuất
1
Bản Sao
1 Ngày
Sao Lƣu
Ngăn
Lƣu Trữ
Mã BS
44
Mã Phim
TênPhim
Nhà Sản Xuất
Thời Điểm Quay
Thời Điểm Phát Hành
Mã Bản Sao
Ngày Sao Lƣu
Ngăn Lƣu Trữ
Bộ Phim_Bản Sao
Hòa trộn
02 lược đồ quan hệ
45
Bƣớc 4: Ánh xạ kiểu liên kết 1:N
Với mỗi kiểu liên kết 1:N (ký hiệu là R), người ta tạo ra lược đồ quan hệ
S tương ứng với kiểu thực thể ở phía ứng số nhiều N và lược đồ quan
hệ T tương ứng với kiểu thực thể ở phía ứng số ít 1.
Đưa vào trong S một khóa ngoại tham chiếu đến khóa chính của T.
Nếu kiểu liên kết R có các thuộc tính thì tất cả các thuộc tính này cũng
được đưa vào trong S.
Làm
việc
Nhân Viên
Ngày Vào
Làm
Tên NV
Mã NV
Trình Độ
Chuyên
Môn
N
Phòng Ban
1
Tên PB
Địa
Điểm
Mã PB
46
Mã NV
TênNV
Chuyên Môn
Trình Độ
Ngày Vào Làm
Mã PB
Nhân Viên
Mã PB
Tên PB
Địa điểm
Phòng Ban
47
Bƣớc 5: Ánh xạ kiểu liên kết M:N
Với mỗi kiểu liên kết M:N, tạo ra một lược đồ quan hệ S để biểu diễn cho
kiểu lên kết.
Đưa vào trong S các khóa ngoại tham chiếu tới khóa chính của các lược
đồ quan hệ tương ứng với các kiểu thực thể tham gia vào kiểu liên kết.
02 khóa ngoại này kết hợp lại tạo thành khóa chính của S.
Nếu kiểu liên kết có các thuộc tính thì chúng cũng được đưa vào trong S
Tham
Gia
Nhân Viên
Ngày Vào
Làm
Tên NV
Mã NV
Trình Độ
Chuyên
Môn
M
Dự Án
N
Tên DA
Địa
Điểm
Mã DA
Ngày Bắt
Đầu
Ngày Kết
Thúc
48
Mã NV
TênNV
Chuyên Môn
Trình Độ
Ngày Vào Làm
Mã PB
Nhân Viên
Mã DA
Tên DA
Địa điểm
Dự Án
Mã NV
Mã DA
Ngày Bắt Đầu
Ngày Kết Thúc
Tham Gia
49
Bƣớc 6: Ánh xạ kiểu lên kết bậc n (với n ≥ 3)
Với mỗi kiểu liên kết bậc n (ký hiệu là R), tạo ra một lược đồ quan hệ S
để biểu diễn cho kiểu liên kết.
Đưa vào trong S các khóa ngoại tham chiếu tới khóa chính của các
lược đồ quan hệ tương ứng với các kiểu thực thể tham gia vào kiểu
liên kết.
Khóa chính của S là sự kết hợp của các khóa ngoại này.
Chú ý: Nếu ứng số của một kiểu thực thể nào đó là 1 thì khóa ngoại tham
chiếu đến nó sẽ không được tham gia vào với tư cách là 1 thành phần của
khóa chính trong S.
50
Dạy Giáo Viên
Tên GV
Mã GV
Học Vị
Chuyên
Môn
Phòng Học
Số chỗ
ngồi
Địa
điểm
Số Phòng
Môn Học
Tên
Môn
Số Tiết
Mã Môn
51
Mã GV
TênGV
Chuyên Môn
Trình Độ
Học Vị
Giáo Viên
Số Phòng
Số chỗ ngồi
Địa điểm
Phòng Học
Mã GV
Số Phòng
Mã Môn
Dạy
Mã Môn
Tên Môn
Số Tiết
Môn Học
52
Bƣớc 7: Ánh xạ các thuộc tính đa trị
Ứng với mỗi thuộc tính đa trị A, tạo ra một lược đồ quan hệ R. Trong R
chứa một thuộc tính đơn trị đại diện cho A và khóa ngoại tham chiếu đến
khóa chính của lược đồ quan hệ tương ứng với kiểu thực thể mang thuộc
tính đa trị A.
Nhân Viên
Ngoại Ngữ
Tên NV
Trình Độ
Mã NV
Chuyên
Môn
Mã NV
Tên NV
Chuyên Môn
Trình Độ
Nhân Viên
Mã NV
Tên NN
Ngoại Ngữ
Q & A
53
Các file đính kèm theo tài liệu này:
- bai_giang_co_so_du_lieu_va_quan_tri_co_so_du_lieu_chuong_3_m.pdf