Mô hình cơ sở dữ liệu quan hệ
Chia sẻ bởi Võ Thị Kim Chi |
Ngày 10/05/2019 |
37
Chia sẻ tài liệu: Mô hình cơ sở dữ liệu quan hệ thuộc Tin học 12
Nội dung tài liệu:
THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Designing)
Phần I – MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
(Relational Database Modal)
Cơ Sở Dữ Liệu Là Gì ?
Dữ liệu = các thông tin cần lưu trữ vào máy tính để có thể truy xuất (access) và truy vấn (query)
CSDL = không gian chứa dữ liệu có tổ chức :
Có tương quan (relational)
Có cấu trúc : các mẫu tin (record), cột thuộc tính (column)
Các Mô hình CSDL (p.1)
Sự cần thiết của CSDL
Cung cấp khả năng truy vấn dữ liệu
Tránh sự dư thừa, trùng lắp dữ liệu
Liên kết chặt chẽ giữa dữ liệu và chương trình ứng dụng khai thác.
Có nhiều mô hình CSDL khác nhau
Các Mô hình CSDL (p.2)
Hệ Quản Trị CSDL (Database Management System)
Là 1 phần mềm quản lý CSDL, cung cấp các dịch vụ xử lý (truy cập – truy vấn) CSDL cho
Nhà phát triển ứng dụng (lập trình viên)
Tập các hàm, thư viện mã lệnh truy xuất
Người dùng cuối (End-user)
Giao diện sử dụng để truy xuất
Các Mô hình CSDL (p.3)
Các Mô Hình CSDL
Mô hình phân cấp
Mô hình mạng
Mô hình quan hệ
Mô hình đối tượng
…
Các mô hình CSDL khác nhau có các Hệ Quản Trị CSDL tương ứng.
Các Mô hình CSDL (p.4)
Mô Hình CSDL Quan Hệ
Do E.F.Codd đề xuất năm 1971, gồm:
Dữ liệu được mô tả thành tập các bảng (table) (dòng dữ liệu và cột thuộc tính). Các bảng có thể mô tả nội dung của 1 đối tượng/thực thể (Entity) hoặc 1 mối kết hợp (Relationship)
Một hệ thống các ký hiệu, phép toán và khái niệm (thuật ngữ) để mô tả dữ liệu.
Trong phần trình bày tiếp theo, ta sẽ dựa vào ví dụ là CSDL Quản Lý Sinh Viên của 1 trường Đại Học
Cơ Sở Dữ Liệu Quan Hệ (p.1)
Các Khái Niệm : Thuộc tính(Attribute)
Thuộc vào 1 kiểu dữ liệu đơn (Data Type) nhất định và có một miền giá trị.
Trong 1 Lược đồ quan hệ không được có 2 thuộc tính trùng tên.
Ký hiệu : A1,A2, …B, C, …
Ví dụ : với đối tượng Học Sinh, ta có thể có các thuộc tính : Họ, Tên, Ngày sinh, Điểm trung bình, …
Cơ Sở Dữ Liệu Quan Hệ (p.2) – Các khái niệm
Lược đồ quan hệ (Relation Schema) (1)
Tập các thuộc tính của 1 đối tượng hoặc 1 mối kết hợp (1 bảng !)
Ký hiệu :
Q
Q với tập thuộc tính : Q(A1,A2,…,An)
Tập thuộc tính của Q : Q+
Cơ Sở Dữ Liệu Quan Hệ (p.3) – Các khái niệm
Lược đồ quan hệ (Relation Schema) (2)
Tân từ của Lược đồ quan hệ :
Là phát biểu mô tả các ý nghĩa, điều kiện ràng buộc (giữa các thuộc tính) của lược đồ quan hệ.
Được phát biểu ở dạng ngôn ngữ tự nhiên hoặc ngôn ngữ hình thức, mã giả, …
Ví dụ :
Mỗi sinh viên chỉ có 1 mã sinh viên và không trùng với các sinh viên khác.
Ngày kết thúc học phần phải lớn hơn ngày bắt đầu học phần.
…
Cơ Sở Dữ Liệu Quan Hệ (p.4)
Lược đồ quan hệ (Relation Schema) (3)
Tập tất cả các Lược đồ quan hệ có trong 1 CSDL được gọi là Lược đồ CSDL.
Ký hiệu : R
Ví dụ : trong CSDL Quản Lý Sinh Viên, R =
Q1 = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB)
Q2 = HOCPHAN(MaHP,TenHP,SoTinChi)
Q3 = DANGKY_HOCPHAN(MaSV,MaHP)
…
Cơ Sở Dữ Liệu Quan Hệ (p.5)
Quan hệ (Relation)
Sự thể hiện của Lược đồ quan hệ tại một thời điểm nào đó được gọi là Quan hệ.
Ký hiệu : q, r, s, t,… tương ứng với các Lược đồ quan hệ Q, R, S, T, …
Ví dụ : lược đồ Q = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB) tại 1 thời điểm t nào đó có quan hệ q =
{
SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9
SV02, Trần Thị, Chi, 19/12/1980, 7.5
SV03, Lý Văn, Sử, 27/8/1978, 8
}
Cơ Sở Dữ Liệu Quan Hệ (p.6)
Bộ (Record)
Là 1 dòng / phần tử của Quan hệ
Là 1 tập các giá trị tương ứng với các thuộc tính của quan hệ
Ký hiệu : p, q, t, …
Ví dụ : Quan hệ q =
{
SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9
SV02, Trần Thị, Chi, 19/12/1980, 7.5
SV03, Lý Văn, Sử, 27/8/1978, 8
}
có 3 bộ
Cơ Sở Dữ Liệu Quan Hệ (p.7)
Kết luận
Bộ Quan hệ
Thuộc tính Lược đồ quan hệ Lược đồ CSDL
Tân từ mô tả điều kiện, ràng buộc của các Thuộc tính trong Lược đồ quan hệ
Quan hệ là 1 thể hiện (instance) tại 1 thời điểm của Lược đồ quan hệ
Cơ Sở Dữ Liệu Quan Hệ (p.8)
Siêu Khóa (Super Key)
Cho Lược đồ quan hệ Q có thể hiện là quan hệ q, s là 1 tập thuộc tính thuộc Q+ . t1,t2 là 2 bộ tùy ý thuộc q
Ta ký hiệu t1.s là tập các giá trị của t1 trên tập thuộc tính s
s’ = s + Ai
s được gọi là 1 siêu khóa nếu và chỉ nếu :
q, t1, t2 : t1.s t2.s
Cơ Sở Dữ Liệu Quan Hệ (p.9)
Khóa / Khóa chỉ định
Siêu khóa có ít thuộc tính nhất được gọi là Khóa hay Khóa chỉ định.
1 lược đồ quan hệ có thể có nhiều khóa
Trong lược đồ quan hệ, 1 khóa được chọn làm khóa chính (primary key).
Thuộc tính có tham gia vào khóa được gọi là thuộc tính khóa, ngược lại, được gọi là thuộc tính không khóa.
Cơ Sở Dữ Liệu Quan Hệ (p.10)
Khóa ngoại (foreign key) (1)
1 tập thuộc tính được gọi là Khóa ngoại của Lược đồ quan hệ Q nếu và chỉ nếu nó nó là tập thuộc tính của Q+ và là khóa của 1 lược đồ quan hệ khác.
Ví dụ : Cho lược đồ cơ sở dữ liệu Quản Lý Sinh Viên, các lược đồ quan hệ :
Q1 = SINHVIEN(MaSV,Ho,Ten,DiemTB)
Q2 = HOCPHAN(MaHP,TenHP,SoTinChi)
Q3 = DANGKY_HOCPHAN(MaSV,MaHP)
Cơ Sở Dữ Liệu Quan Hệ (p.11)
Khóa ngoại (foreign key) (2)
{MaSV} là khóa của Q1
{MaHP} là khóa của Q2
{MaSV,MaHP} là khóa của Q3
{MaSV}, {MaHP} là các khóa ngoại của Q3
Trong thiết kế CSDL, nhà thiết kế thường dựa vào các Tân từ để xác định khóa cho Lược đồ quan hệ.
Cơ Sở Dữ Liệu Quan Hệ (p.12)
Các Phép Toán : Phép toán tập hợp
Phép hợp (Union) :
Cho lược đồ quan hệ Q, với các quan hệ thể hiện q1, q2
Ta có :
q1 q2 = q3 = {r : r q1 r q2 }
Cơ Sở Dữ Liệu Quan Hệ (p.13)
Các Phép Toán : Phép giao (Intersection)
Phép giao :
Cho lược đồ quan hệ Q, với các quan hệ thể hiện q1, q2
Ta có :
q1 q2 = q3 = {r : r q1 r q2 }
Cơ Sở Dữ Liệu Quan Hệ (p.14)
Các Phép Toán : Phép trừ (Minus, difference)
Phép trừ : -
Cho lược đồ quan hệ Q, với các quan hệ thể hiện q1, q2
Ta có :
q1 - q2 = q3 = {r : r q1 r q2 }
Cơ Sở Dữ Liệu Quan Hệ (p.15)
Tích Descartes
Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể hiện là q1; Q2(B1,B2,…Bm) có quan hệ thể hiện là q2
q1 x q2 = q3 , ta có :
q3 là 1 quan hệ của Q3 với Q3+ = Q1+ + Q2+
q3 = {r : r.(Q1+) q1 r.(Q2+) q2}
Cơ Sở Dữ Liệu Quan Hệ (p.16)
Tích Descartes – Ví dụ
Cho lược đồ quan hệ Q1(MaSV,MaMH,DiemThi), Q2(MaMH,TenMH) có các quan hệ q1, q2 :
q1 = q2 =
q3 =
Cơ Sở Dữ Liệu Quan Hệ (p.17)
Các Phép Toán : Phép toán quan hệ
Phép chiếu (Projection)
_ Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể hiện là q, X là 1 tập con của Q+
_ Phép chiếu của Q lên tập X (ký hiệu là Q[X]) tạo thành lược đồ quan hệ Q’ = Q[X] có Q’+ = X.
_ t là 1 bộ nào đó của q, Phép chiếu của t lên tập X (ký hiệu là t[X] hay t.X) là 1 tập con của t chứa các giá trị ứng với các thuộc tính trong X
_ Phép chiếu của q lên tập X (ký hiệu là q[X] hay q.X) tạo thành quan hệ q’ :
q’ = q[X] = q.X = {t’ : t q, t.X = t’}
Cơ Sở Dữ Liệu Quan Hệ (p.18)
Phép chiếu – Ví dụ
q =
q.{MaMH} = q[{MaMH}] =
Cơ Sở Dữ Liệu Quan Hệ (p.19)
Phép chọn (Selection)
Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể hiện là q, E là 1 biểu thức điều kiện trên các bộ của q, t là 1 bộ nào đó của q.
_ Nếu t thỏa điều kiện E, ta ký hiệu là t(E) hay t:E
_ Phép chọn q trên (với) điều kiện E (ký hiệu là q(E) hay q:E) tạo thành q’ là tập con các bộ của q :
q’ = q(E) = q:E = {t : tq t(E)}
Cơ Sở Dữ Liệu Quan Hệ (p.20)
Phép chọn – Ví dụ
q =
E : q.DiemThi 5
q(E) = q:E =
Cơ Sở Dữ Liệu Quan Hệ (p.21)
Phép kết nối (Join)
Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể hiện là q1; Q2(B1,B2,…Bm) có quan hệ thể hiện là q2; Ai và Bj là 2 thuộc tính có cùng miền giá trị, giả sử tồn tại 1 phép so sánh trên miền giá trị của AI và BJ =>
Gọi q’3 = q1xq2 và Q3 là lược đồ quan hệ của q’3
Ai Bj là 1 biểu thức điều kiện trên q’3
Cơ Sở Dữ Liệu Quan Hệ (p.22)
Phép kết nối (t.t)
Phép kết giữa q1 và q2 trên điều kiện Ai Bi (ký hiệu là ) được xác định như sau :
q3 = q1 q2 = {t : t1q1,t2 q2
t.Q1+ = t1
t.Q2+ = t2
t1.Ai t2.Bj
}
Hoặc : q3 = q1 q2 = q’3(Ai Bj )
Cơ Sở Dữ Liệu Quan Hệ (p.23)
Phép kết nối – Ví dụ
q1 = q2 =
Ai = DiemThi ; Bj = DiemDau ; : ‘>=’
q3 = q1 q2 =
Cơ Sở Dữ Liệu Quan Hệ (p.24)
Phép kết nối – Kết luận
Phép kết thực chất là gộp của Tích Descartes và phép chọn
Trình tự thực hiện phép kết :
Tạo tích Descartes
Thực hiện phép chọn với điều kiện E = AI BJ
Cơ Sở Dữ Liệu Quan Hệ (p.25)
Phép kết nối – Ứng dụng
Phép kết có rất nhiều ứng dụng trong thiết kế CSDL, đặc biệt khi thực hiện các truy vấn (query)
Ở slide 29, ta nhận thấy phép kết chưa thực hiện đúng ý đồ của nhà thiết kế là tìm ra các sinh viên đạt điểm đậu các môn học tương ứng (bộ thứ 2 của q3 không đúng). Trong trường hợp này, ta dùng phép kết kép :
q3 = q1 q2
trong đó : Ck=q1.MaMH , Dl=q2.MaMH và ’ : ‘=’
Cơ Sở Dữ Liệu Quan Hệ (p.26)
Phép kết nối tự nhiên (Natural Join)
Trong trường hợp = ‘=’ , phép kết được gọi là Phép kết bằng
Trong trường hợp AI = BJ, và = ‘=’ , phép kết được gọi là Phép kết tự nhiên
Ví dụ ở slide 31, phép kết giữa Ck , Dl và ’ được gọi là kết tự nhiên.
Phép kết tự nhiên thường được sử dụng nhất trong thực tế
Cơ Sở Dữ Liệu Quan Hệ (p.27)
Phép chia (Division)
Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể hiện là q1; Q2(B1,B2,…Bm) có quan hệ thể hiện là q2; và n > m. Phép chia q1 cho q2 tạo thành q3 với lược đồ quan hệ Q3 được định nghĩa như sau :
Q3+ = {A1,A2,…An-m}
q3 = q1q2 = {t : t2q2, t1q1, t=t1.Q3+
t2=t1.{An-m+1,…,An}
}
Cơ Sở Dữ Liệu Quan Hệ (p.28)
Phép chia – Ví dụ
Cơ Sở Dữ Liệu Quan Hệ (p.29)
q3 = q1q2=
Phép chia – Ví dụ (t.t)
Cơ Sở Dữ Liệu Quan Hệ (p.30)
Yêu cầu truy vấn : cần tìm ra các sinh viên nào có đăng ký đầy đủ tất cả học phần ?
Phép chia – Ví dụ (t.t)
Đáp số là kết quả của phép chia quan hệ DANGKY_HOCPHAN cho quan hệ HOCPHAN.MAHP
Cơ Sở Dữ Liệu Quan Hệ (p.31)
Giáo trình trang 9
Các tính chất của Đại số quan hệ
Cơ Sở Dữ Liệu Quan Hệ (p.32)
Phần I – MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
(Relational Database Modal)
Cơ Sở Dữ Liệu Là Gì ?
Dữ liệu = các thông tin cần lưu trữ vào máy tính để có thể truy xuất (access) và truy vấn (query)
CSDL = không gian chứa dữ liệu có tổ chức :
Có tương quan (relational)
Có cấu trúc : các mẫu tin (record), cột thuộc tính (column)
Các Mô hình CSDL (p.1)
Sự cần thiết của CSDL
Cung cấp khả năng truy vấn dữ liệu
Tránh sự dư thừa, trùng lắp dữ liệu
Liên kết chặt chẽ giữa dữ liệu và chương trình ứng dụng khai thác.
Có nhiều mô hình CSDL khác nhau
Các Mô hình CSDL (p.2)
Hệ Quản Trị CSDL (Database Management System)
Là 1 phần mềm quản lý CSDL, cung cấp các dịch vụ xử lý (truy cập – truy vấn) CSDL cho
Nhà phát triển ứng dụng (lập trình viên)
Tập các hàm, thư viện mã lệnh truy xuất
Người dùng cuối (End-user)
Giao diện sử dụng để truy xuất
Các Mô hình CSDL (p.3)
Các Mô Hình CSDL
Mô hình phân cấp
Mô hình mạng
Mô hình quan hệ
Mô hình đối tượng
…
Các mô hình CSDL khác nhau có các Hệ Quản Trị CSDL tương ứng.
Các Mô hình CSDL (p.4)
Mô Hình CSDL Quan Hệ
Do E.F.Codd đề xuất năm 1971, gồm:
Dữ liệu được mô tả thành tập các bảng (table) (dòng dữ liệu và cột thuộc tính). Các bảng có thể mô tả nội dung của 1 đối tượng/thực thể (Entity) hoặc 1 mối kết hợp (Relationship)
Một hệ thống các ký hiệu, phép toán và khái niệm (thuật ngữ) để mô tả dữ liệu.
Trong phần trình bày tiếp theo, ta sẽ dựa vào ví dụ là CSDL Quản Lý Sinh Viên của 1 trường Đại Học
Cơ Sở Dữ Liệu Quan Hệ (p.1)
Các Khái Niệm : Thuộc tính(Attribute)
Thuộc vào 1 kiểu dữ liệu đơn (Data Type) nhất định và có một miền giá trị.
Trong 1 Lược đồ quan hệ không được có 2 thuộc tính trùng tên.
Ký hiệu : A1,A2, …B, C, …
Ví dụ : với đối tượng Học Sinh, ta có thể có các thuộc tính : Họ, Tên, Ngày sinh, Điểm trung bình, …
Cơ Sở Dữ Liệu Quan Hệ (p.2) – Các khái niệm
Lược đồ quan hệ (Relation Schema) (1)
Tập các thuộc tính của 1 đối tượng hoặc 1 mối kết hợp (1 bảng !)
Ký hiệu :
Q
Q với tập thuộc tính : Q(A1,A2,…,An)
Tập thuộc tính của Q : Q+
Cơ Sở Dữ Liệu Quan Hệ (p.3) – Các khái niệm
Lược đồ quan hệ (Relation Schema) (2)
Tân từ của Lược đồ quan hệ :
Là phát biểu mô tả các ý nghĩa, điều kiện ràng buộc (giữa các thuộc tính) của lược đồ quan hệ.
Được phát biểu ở dạng ngôn ngữ tự nhiên hoặc ngôn ngữ hình thức, mã giả, …
Ví dụ :
Mỗi sinh viên chỉ có 1 mã sinh viên và không trùng với các sinh viên khác.
Ngày kết thúc học phần phải lớn hơn ngày bắt đầu học phần.
…
Cơ Sở Dữ Liệu Quan Hệ (p.4)
Lược đồ quan hệ (Relation Schema) (3)
Tập tất cả các Lược đồ quan hệ có trong 1 CSDL được gọi là Lược đồ CSDL.
Ký hiệu : R
Ví dụ : trong CSDL Quản Lý Sinh Viên, R =
Q1 = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB)
Q2 = HOCPHAN(MaHP,TenHP,SoTinChi)
Q3 = DANGKY_HOCPHAN(MaSV,MaHP)
…
Cơ Sở Dữ Liệu Quan Hệ (p.5)
Quan hệ (Relation)
Sự thể hiện của Lược đồ quan hệ tại một thời điểm nào đó được gọi là Quan hệ.
Ký hiệu : q, r, s, t,… tương ứng với các Lược đồ quan hệ Q, R, S, T, …
Ví dụ : lược đồ Q = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB) tại 1 thời điểm t nào đó có quan hệ q =
{
SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9
SV02, Trần Thị, Chi, 19/12/1980, 7.5
SV03, Lý Văn, Sử, 27/8/1978, 8
}
Cơ Sở Dữ Liệu Quan Hệ (p.6)
Bộ (Record)
Là 1 dòng / phần tử của Quan hệ
Là 1 tập các giá trị tương ứng với các thuộc tính của quan hệ
Ký hiệu : p, q, t, …
Ví dụ : Quan hệ q =
{
SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9
SV02, Trần Thị, Chi, 19/12/1980, 7.5
SV03, Lý Văn, Sử, 27/8/1978, 8
}
có 3 bộ
Cơ Sở Dữ Liệu Quan Hệ (p.7)
Kết luận
Bộ Quan hệ
Thuộc tính Lược đồ quan hệ Lược đồ CSDL
Tân từ mô tả điều kiện, ràng buộc của các Thuộc tính trong Lược đồ quan hệ
Quan hệ là 1 thể hiện (instance) tại 1 thời điểm của Lược đồ quan hệ
Cơ Sở Dữ Liệu Quan Hệ (p.8)
Siêu Khóa (Super Key)
Cho Lược đồ quan hệ Q có thể hiện là quan hệ q, s là 1 tập thuộc tính thuộc Q+ . t1,t2 là 2 bộ tùy ý thuộc q
Ta ký hiệu t1.s là tập các giá trị của t1 trên tập thuộc tính s
s’ = s + Ai
s được gọi là 1 siêu khóa nếu và chỉ nếu :
q, t1, t2 : t1.s t2.s
Cơ Sở Dữ Liệu Quan Hệ (p.9)
Khóa / Khóa chỉ định
Siêu khóa có ít thuộc tính nhất được gọi là Khóa hay Khóa chỉ định.
1 lược đồ quan hệ có thể có nhiều khóa
Trong lược đồ quan hệ, 1 khóa được chọn làm khóa chính (primary key).
Thuộc tính có tham gia vào khóa được gọi là thuộc tính khóa, ngược lại, được gọi là thuộc tính không khóa.
Cơ Sở Dữ Liệu Quan Hệ (p.10)
Khóa ngoại (foreign key) (1)
1 tập thuộc tính được gọi là Khóa ngoại của Lược đồ quan hệ Q nếu và chỉ nếu nó nó là tập thuộc tính của Q+ và là khóa của 1 lược đồ quan hệ khác.
Ví dụ : Cho lược đồ cơ sở dữ liệu Quản Lý Sinh Viên, các lược đồ quan hệ :
Q1 = SINHVIEN(MaSV,Ho,Ten,DiemTB)
Q2 = HOCPHAN(MaHP,TenHP,SoTinChi)
Q3 = DANGKY_HOCPHAN(MaSV,MaHP)
Cơ Sở Dữ Liệu Quan Hệ (p.11)
Khóa ngoại (foreign key) (2)
{MaSV} là khóa của Q1
{MaHP} là khóa của Q2
{MaSV,MaHP} là khóa của Q3
{MaSV}, {MaHP} là các khóa ngoại của Q3
Trong thiết kế CSDL, nhà thiết kế thường dựa vào các Tân từ để xác định khóa cho Lược đồ quan hệ.
Cơ Sở Dữ Liệu Quan Hệ (p.12)
Các Phép Toán : Phép toán tập hợp
Phép hợp (Union) :
Cho lược đồ quan hệ Q, với các quan hệ thể hiện q1, q2
Ta có :
q1 q2 = q3 = {r : r q1 r q2 }
Cơ Sở Dữ Liệu Quan Hệ (p.13)
Các Phép Toán : Phép giao (Intersection)
Phép giao :
Cho lược đồ quan hệ Q, với các quan hệ thể hiện q1, q2
Ta có :
q1 q2 = q3 = {r : r q1 r q2 }
Cơ Sở Dữ Liệu Quan Hệ (p.14)
Các Phép Toán : Phép trừ (Minus, difference)
Phép trừ : -
Cho lược đồ quan hệ Q, với các quan hệ thể hiện q1, q2
Ta có :
q1 - q2 = q3 = {r : r q1 r q2 }
Cơ Sở Dữ Liệu Quan Hệ (p.15)
Tích Descartes
Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể hiện là q1; Q2(B1,B2,…Bm) có quan hệ thể hiện là q2
q1 x q2 = q3 , ta có :
q3 là 1 quan hệ của Q3 với Q3+ = Q1+ + Q2+
q3 = {r : r.(Q1+) q1 r.(Q2+) q2}
Cơ Sở Dữ Liệu Quan Hệ (p.16)
Tích Descartes – Ví dụ
Cho lược đồ quan hệ Q1(MaSV,MaMH,DiemThi), Q2(MaMH,TenMH) có các quan hệ q1, q2 :
q1 = q2 =
q3 =
Cơ Sở Dữ Liệu Quan Hệ (p.17)
Các Phép Toán : Phép toán quan hệ
Phép chiếu (Projection)
_ Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể hiện là q, X là 1 tập con của Q+
_ Phép chiếu của Q lên tập X (ký hiệu là Q[X]) tạo thành lược đồ quan hệ Q’ = Q[X] có Q’+ = X.
_ t là 1 bộ nào đó của q, Phép chiếu của t lên tập X (ký hiệu là t[X] hay t.X) là 1 tập con của t chứa các giá trị ứng với các thuộc tính trong X
_ Phép chiếu của q lên tập X (ký hiệu là q[X] hay q.X) tạo thành quan hệ q’ :
q’ = q[X] = q.X = {t’ : t q, t.X = t’}
Cơ Sở Dữ Liệu Quan Hệ (p.18)
Phép chiếu – Ví dụ
q =
q.{MaMH} = q[{MaMH}] =
Cơ Sở Dữ Liệu Quan Hệ (p.19)
Phép chọn (Selection)
Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể hiện là q, E là 1 biểu thức điều kiện trên các bộ của q, t là 1 bộ nào đó của q.
_ Nếu t thỏa điều kiện E, ta ký hiệu là t(E) hay t:E
_ Phép chọn q trên (với) điều kiện E (ký hiệu là q(E) hay q:E) tạo thành q’ là tập con các bộ của q :
q’ = q(E) = q:E = {t : tq t(E)}
Cơ Sở Dữ Liệu Quan Hệ (p.20)
Phép chọn – Ví dụ
q =
E : q.DiemThi 5
q(E) = q:E =
Cơ Sở Dữ Liệu Quan Hệ (p.21)
Phép kết nối (Join)
Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể hiện là q1; Q2(B1,B2,…Bm) có quan hệ thể hiện là q2; Ai và Bj là 2 thuộc tính có cùng miền giá trị, giả sử tồn tại 1 phép so sánh trên miền giá trị của AI và BJ =>
Gọi q’3 = q1xq2 và Q3 là lược đồ quan hệ của q’3
Ai Bj là 1 biểu thức điều kiện trên q’3
Cơ Sở Dữ Liệu Quan Hệ (p.22)
Phép kết nối (t.t)
Phép kết giữa q1 và q2 trên điều kiện Ai Bi (ký hiệu là ) được xác định như sau :
q3 = q1 q2 = {t : t1q1,t2 q2
t.Q1+ = t1
t.Q2+ = t2
t1.Ai t2.Bj
}
Hoặc : q3 = q1 q2 = q’3(Ai Bj )
Cơ Sở Dữ Liệu Quan Hệ (p.23)
Phép kết nối – Ví dụ
q1 = q2 =
Ai = DiemThi ; Bj = DiemDau ; : ‘>=’
q3 = q1 q2 =
Cơ Sở Dữ Liệu Quan Hệ (p.24)
Phép kết nối – Kết luận
Phép kết thực chất là gộp của Tích Descartes và phép chọn
Trình tự thực hiện phép kết :
Tạo tích Descartes
Thực hiện phép chọn với điều kiện E = AI BJ
Cơ Sở Dữ Liệu Quan Hệ (p.25)
Phép kết nối – Ứng dụng
Phép kết có rất nhiều ứng dụng trong thiết kế CSDL, đặc biệt khi thực hiện các truy vấn (query)
Ở slide 29, ta nhận thấy phép kết chưa thực hiện đúng ý đồ của nhà thiết kế là tìm ra các sinh viên đạt điểm đậu các môn học tương ứng (bộ thứ 2 của q3 không đúng). Trong trường hợp này, ta dùng phép kết kép :
q3 = q1 q2
trong đó : Ck=q1.MaMH , Dl=q2.MaMH và ’ : ‘=’
Cơ Sở Dữ Liệu Quan Hệ (p.26)
Phép kết nối tự nhiên (Natural Join)
Trong trường hợp = ‘=’ , phép kết được gọi là Phép kết bằng
Trong trường hợp AI = BJ, và = ‘=’ , phép kết được gọi là Phép kết tự nhiên
Ví dụ ở slide 31, phép kết giữa Ck , Dl và ’ được gọi là kết tự nhiên.
Phép kết tự nhiên thường được sử dụng nhất trong thực tế
Cơ Sở Dữ Liệu Quan Hệ (p.27)
Phép chia (Division)
Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể hiện là q1; Q2(B1,B2,…Bm) có quan hệ thể hiện là q2; và n > m. Phép chia q1 cho q2 tạo thành q3 với lược đồ quan hệ Q3 được định nghĩa như sau :
Q3+ = {A1,A2,…An-m}
q3 = q1q2 = {t : t2q2, t1q1, t=t1.Q3+
t2=t1.{An-m+1,…,An}
}
Cơ Sở Dữ Liệu Quan Hệ (p.28)
Phép chia – Ví dụ
Cơ Sở Dữ Liệu Quan Hệ (p.29)
q3 = q1q2=
Phép chia – Ví dụ (t.t)
Cơ Sở Dữ Liệu Quan Hệ (p.30)
Yêu cầu truy vấn : cần tìm ra các sinh viên nào có đăng ký đầy đủ tất cả học phần ?
Phép chia – Ví dụ (t.t)
Đáp số là kết quả của phép chia quan hệ DANGKY_HOCPHAN cho quan hệ HOCPHAN.MAHP
Cơ Sở Dữ Liệu Quan Hệ (p.31)
Giáo trình trang 9
Các tính chất của Đại số quan hệ
Cơ Sở Dữ Liệu Quan Hệ (p.32)
* 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ẻ: Võ Thị Kim Chi
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)