Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
580 KB
Nội dung
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ác Mơ hình CSDL (p.1) Cơ Sở Dữ Liệu Là Gì ? • Dữ liệu = thơng tin cần lưu trữ vào máy tính để truy xuất (access) truy vấn (query) • CSDL = khơng gian chứa liệu có tổ chức : – Có tương quan (relational) – Có cấu trúc : mẫu tin (record), cột thuộc tính (column) Các Mơ hình CSDL (p.2) Sự cần thiết CSDL • Cung cấp khả truy vấn liệu • Tránh dư thừa, trùng lắp liệu • Liên kết chặt chẽ liệu chương trình ứng dụng khai thác Có nhiều mơ hình CSDL khác Các Mơ hình CSDL (p.3) Hệ Quản Trị CSDL (Database Management System) • Là phần mềm quản lý CSDL, cung cấp 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 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.4) 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 có Hệ Quản Trị CSDL tương ứng Cơ Sở Dữ Liệu Quan Hệ (p.1) Mơ Hình CSDL Quan Hệ Do E.F.Codd đề xuất năm 1971, gồm: • Dữ liệu mơ tả thành tập bảng (table) (dịng liệu cột thuộc tính) Các bảng mơ tả nội dung đối tượng/thực thể (Entity) mối kết hợp (Relationship) • Một hệ thống ký hiệu, phép toán khái niệm (thuật ngữ) để mô tả liệu Trong phần trình bày tiếp theo, ta dựa vào ví dụ CSDL Quản Lý Sinh Viên trường Đại Học Cơ Sở Dữ Liệu Quan Hệ (p.2) – Các khái niệm Các Khái Niệm : Thuộc tính (Attribute) • Thuộc vào kiểu liệu đơn (Data Type) định có miền giá trị • Trong Lược đồ quan hệ khơng có 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ó thuộc tính : Họ, Tên, Ngày sinh, Điểm trung bình, … Cơ Sở Dữ Liệu Quan Hệ (p.3) – Các khái niệm Lược đồ quan hệ (Relation Schema) (1) • Tập thuộc tính đối tượng 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 Q : Q+ Cơ Sở Dữ Liệu Quan Hệ (p.4) Lược đồ quan hệ (Relation Schema) (2) • Tân từ Lược đồ quan hệ : – Là phát biểu mô tả ý nghĩa, điều kiện ràng buộc (giữa thuộc tính) lược đồ quan hệ – Được phát biểu dạng ngơn ngữ tự nhiên ngơn ngữ hình thức, mã giả, … Ví dụ : – Mỗi sinh viên có mã sinh viên khơng trùng với sinh viên khác – Ngày kết thúc học phần phải lớn ngày bắt đầu học phần – … Cơ Sở Dữ Liệu Quan Hệ (p.5) Lược đồ quan hệ (Relation Schema) (3) • Tập tất Lược đồ quan hệ có CSDL gọi Lược đồ CSDL • Ký hiệu : R Ví dụ : 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.17) Tích Descartes – Ví dụ Cho lược đồ quan hệ Q1(MaSV,MaMH,DiemThi), Q2(MaMH,TenMH) có quan hệ q1, q2 : MaSV MaMH DiemThi q1 = q2 = MaMH TenMH 99001 CSDL 5.0 CSDL Cơ sở liệu 99002 CTDL 2.0 FOX Foxpro 99003 MANG 8.0 q3 = MaSV MaMH DiemThi MaMH 99001 CSDL 5.0 99001 CSDL 5.0 99002 CTDL 2.0 99002 CTDL 2.0 99003 MANG 8.0 99003 MANG 8.0 TenMH CSDL Cơ sở liệu FOX Foxpro CSDL Cơ sở liệu FOX Foxpro CSDL Cơ sở liệu FOX Foxpro Cơ Sở Dữ Liệu Quan Hệ (p.18) Các Phép Toán : Phép tốn quan hệ • Phép chiếu (Projection) _ Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể q, X tập Q+ _ Phép chiếu Q lên tập X (ký hiệu Q[X]) tạo thành lược đồ quan hệ Q’ = Q[X] có Q’+ = X _ t q, Phép chiếu t lên tập X (ký hiệu t[X] hay t.X) tập t chứa giá trị ứng với thuộc tính X _ Phép chiếu q lên tập X (ký hiệu 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.19) Phép chiếu – Ví dụ q= MaSV MaMH DiemThi 99001 CSDL 5.0 99002 CTDL 2.0 99003 MANG 8.0 q.{MaMH} = q[{MaMH}] = MaMH CSDL CTDL MANG Cơ Sở Dữ Liệu Quan Hệ (p.20) Phép chọn (Selection) Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể q, E biểu thức điều kiện q, t q _ Nếu t thỏa điều kiện E, ta ký hiệu t(E) hay t:E _ Phép chọn q (với) điều kiện E (ký hiệu q(E) hay q:E) tạo thành q’ tập q : q’ = q(E) = q:E = {t : t∈q ∧ t(E)} Cơ Sở Dữ Liệu Quan Hệ (p.21) Phép chọn – Ví dụ q= MaSV MaMH DiemThi 99001 CSDL 5.0 99002 CTDL 2.0 99003 MANG 8.0 E : q.DiemThi ≥ q(E) = q:E = MaSV MaMH DiemThi 99001 CSDL 5.0 99003 MANG 8.0 Cơ Sở Dữ Liệu Quan Hệ (p.22) Phép kết (Join) Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể q1; Q2(B1,B2,…Bm) có quan hệ thể q2; Ai Bj thuộc tính có miền giá trị, giả sử tồn phép so sánh θ miền giá trị AI BJ => Gọi q’3 = q1xq2 Q3 lược đồ quan hệ q’3 Ai θ Bj biểu thức điều kiện q’3 Cơ Sở Dữ Liệu Quan Hệ (p.23) Phép kết (t.t) • Phép kết q1 q2 điều kiện Ai θ Bi (ký hiệu A θB ) xác định sau : i ∞ j A i θB j q3 = q1 ∞= {t : ∃t1∈q1,t2 ∈q2 ∧ q2 t.Q1+ = t1 ∧ t.Q2+ = t2 ∧ t1.Ai θ t2.Bj } A i θB j ∞= q’ (A θ B ) Hoặc : q3 = q1 q2 i j Cơ Sở Dữ Liệu Quan Hệ (p.24) Phép kết – Ví dụ q1 = MaSV MaMH DiemThi 99001 CSDL 5.0 99002 CSDL 2.0 99003 MANG q2 = MaMH DiemDau CSDL 4.0 MANG 7.0 6.0 Ai = DiemThi ; Bj = DiemDau ; θ : ‘>=’ A i θB j q3 = q1 ∞2 = q MaSV MaMH DiemThi MaMH DiemDau 99001 CSDL 5.0 CSDL 4.0 99003 MANG 6.0 CSDL 4.0 Cơ Sở Dữ Liệu Quan Hệ (p.25) Phép kết – Kết luận • Phép kết thực chất gộp Tích Descartes phép chọn Trình tự thực phép kết : Tạo tích Descartes Thực phép chọn với điều kiện E = AI θ BJ Cơ Sở Dữ Liệu Quan Hệ (p.26) Phép kết – Ứng dụng • Phép kết có nhiều ứng dụng thiết kế CSDL, đặc biệt thực truy vấn (query) • Ở slide 29, ta nhận thấy phép kết θ chưa thực ý đồ nhà thiết kế tìm sinh viên đạt điểm đậu môn học tương ứng (bộ thứ q3 không đúng) Trong trường hợp này, ta dùng phép kết kép : q3 = q1 A θBqC θ'D ,2 i j k ∞ : l Ck=q1.MaMH , Dl=q2.MaMH θ’ : ‘=’ Cơ Sở Dữ Liệu Quan Hệ (p.27) Phép kết tự nhiên (Natural Join) • Trong trường hợp θ = ‘=’ , phép kết gọi Phép kết • Trong trường hợp AI = BJ, θ = ‘=’ , phép kết gọi Phép kết tự nhiên Ví dụ slide 31, phép kết Ck , Dl θ’ gọi kết tự nhiên • Phép kết tự nhiên thường sử dụng thực tế Cơ Sở Dữ Liệu Quan Hệ (p.28) Phép chia (Division) Cho lược đồ quan hệ Q1(A1,A2,…An) có quan hệ thể q1; Q2(B1,B2,…Bm) có quan hệ thể q2; n > m Phép chia q1 cho q2 tạo thành q3 với lược đồ quan hệ Q3 định nghĩa sau : Q3+ = {A1,A2,…An-m} q3 = q1÷q2 = {t : ∀t2∈q2, ∃t1∈q1, t=t1.Q3+ ∧ t2=t1.{An-m+1,…,An} } Cơ Sở Dữ Liệu Quan Hệ (p.29) Phép chia – Ví dụ q1 q2 q3 A1 A2 A3 A4 A5 B1 B2 A1 A2 A3 a b d c g a b d e f b c e e f e g c c g e g c e f a b e g c a b d t l c g e f q3 = q1÷q2= a b d e g c Cơ Sở Dữ Liệu Quan Hệ (p.31) Phép chia – Ví dụ (t.t) Đáp số kết phép chia quan hệ DANGKY_HOCPHAN cho quan hệ HOCPHAN.MAHP DANGKY_HOCPHAN ÷ HOCPHAN.MAHP MaSV SV01 SV03 Cơ Sở Dữ Liệu Quan Hệ (p.32) Các tính chất Đại số quan hệ Giáo trình trang ... CSDL Cơ sở liệu FOX Foxpro CSDL Cơ sở liệu FOX Foxpro Cơ Sở Dữ Liệu Quan Hệ (p.18) Các Phép Tốn : Phép tốn quan hệ • Phép chiếu (Projection) _ Cho lược đồ quan hệ Q(A1,A2,…An) với quan hệ thể... c Cơ Sở Dữ Liệu Quan Hệ (p.31) Phép chia – Ví dụ (t.t) Đáp số kết phép chia quan hệ DANGKY_HOCPHAN cho quan hệ HOCPHAN.MAHP DANGKY_HOCPHAN ÷ HOCPHAN.MAHP MaSV SV01 SV03 Cơ Sở Dữ Liệu Quan Hệ. .. } Cơ Sở Dữ Liệu Quan Hệ (p.15) Các Phép Toán : Phép trừ (Minus, difference) Phép trừ : Cho lược đồ quan hệ Q, với quan hệ thể q1, q2 Ta có : q1 - q2 = q3 = {r : r ∈ q1 ∧ r ∉ q2 } Cơ Sở Dữ Liệu