Cơ sở dữ liệu - Chương 3 - ThS. Nguyễn Vương Thịnh

Chia sẻ bởi Nguyễn Vương Thịnh | Ngày 19/03/2024 | 8

Chia sẻ tài liệu: Cơ sở dữ liệu - Chương 3 - ThS. Nguyễn Vương Thịnh thuộc Công nghệ thông tin

Nội dung tài liệu:

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, 2016
Chương 3
MÔ HÌNH DỮ LIỆU QUAN HỆ
2
Thông tin về giảng viên
3
Thông tin về học phần
PHƯƠNG PHÁP HỌC TẬP, NGHIÊN CỨU
Nghe giảng, thảo luận, trao đổi với giảng viên trên lớp.
Tự nghiên cứu tài liệu và làm bài tập ở nhà.
PHƯƠNG PHÁP ĐÁNH GIÁ
SV phải tham dự ít nhất 75% thời gian.
Có 02 bài kiểm tra viết giữa học phần (X2 = (L1 + L2)/2), 01 bài kiểm tra thực hành (X3). Điểm quá trình X = (X2 + X3)/2.
Thi kết thúc học phần bằng hình thức trắc nghiệm khách quan trên máy tính (Z = 0.5X + 0.5Y).
4
Tài liệu tham khảo
Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database Systems (the 4th Edition), Pearson Education Inc, 2004.
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.
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.
5
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Ệ
6
7
Edgar F. Codd
(1923 – 2003)
8
9
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
10
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:
11
 
 
 
 
 
 
 
12
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à


 
 
 
13
 
 
 
 
 
 
 
 
14
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:
 
 
 
 
15
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:
 
 
 
 
16
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:
 
 
 
 
17
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:
 
 
 
 
 
 
Kết nối 02 bộ:
Hệ quả:
18
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ệ.
 
 
 
 
 
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.
 
 
 
 
20
 
 
 
 
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
 
 
 
22
 
 
 
 
23
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.
 
 
 
24
 
 
 
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.
 
26
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.




27
 
 
28
29
3.3. BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ
 
Thực hiện từ trong ra ngoài
30
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.
31
 
 
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:
32
 
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:
 
33
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Ộ.
34
Lớp(Tên Lớp, Niên Khóa, Sĩ Số, Giáo Viên Chủ Nhiệm)
K = {Tên Lớp, Niên Khóa}
35
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)
36
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:
 
37
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
38
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.
39
Person
Name
Sex
Age
Job
Phone Number
IDCard
IDCard
Name
Sex
Age
Job
PhoneNumber
Person
40
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.
41
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
42
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
43
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.
44
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.

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
45
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ệ
46
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
47
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
48
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
49
Mã NV
TênNV
Chuyên Môn
Trình Độ
Ngày Vào Làm
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
50
Bước 6: Ánh xạ kiểu liê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.
51
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
52
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
53
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
54
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Vương Thịnh
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)