Bài giảng môn Cơ sở dữ liệu - ĐH Sư phạm TP HCM

121 25 0
Bài giảng môn Cơ sở dữ liệu - ĐH Sư phạm TP HCM

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng môn Cơ sở dữ liệu bao gồm những nội dung về các khái niệm của một hệ CSDL; các mô hình CSDL; mô hình dữ liệu quan hệ (của Codd); ngôn ngữ đại số quan hệ; ngôn ngữ SQL; ngôn ngữ tân từ; ràng buộc toàn vẹn trong một CSDL; tối ưu hóa câu hỏi bằng đại số quan hệ.

Môn: Cơ Sở Dữ Liệu ðH Sư phạm TPHCM Nội dung • • • • • • • • Bài 1: Các khái niệm hệ CSDL Bài 2: Các mơ hình CSDL Bài 3: Mơ hình liệu quan hệ (của Codd) Bài 4: Ngôn ngữ đại số quan hệ Bài 5: Ngôn ngữ SQL Bài 6: Ngơn ngữ tân từ Bài 7: Ràng buộc tồn vẹn CSDL Bài 8: Tối ưu hóa câu hỏi đại số quan hệ ðH Sư phạm TPHCM Bài 1: Các khái niệm hệ CSDL ðH Sư phạm TPHCM Bài 1: Các khái niệm hệ CSDL Giới thiệu Hệ thống tập tin (File System) ðịnh nghĩa CSDL Các ñối tượng sử dụng CSDL Hệ quản trị CSDL Các mức CSDL ðH Sư phạm TPHCM Giới thiệu • Tại cần phải có sở liệu? ðH Sư phạm TPHCM Hệ thống tập tin • Là tập hợp tập tin riêng lẻ phục vụ cho mục đích đơn vị sử dụng • Ưu điểm: – Triển khai ứng dụng nhanh – Khả ñáp ứng nhanh chóng, kịp thời (vì phục vụ cho mục đích hạn hẹp) • Khuyết điểm: – Trùng lắp liệu →lãng phí, liệu khơng qn – Chi phí cao – Chia liệu ðH Sư phạm TPHCM Cơ sở liệu (1) • ðịnh nghĩa: Cơ sở liệu hệ thống thơng tin có cấu trúc, lưu trữ thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thơng tin đồng thời nhiều người sử dụng hay nhiều chương trình ứng dụng với mục đích khác ðH Sư phạm TPHCM Cơ sở liệu (2) • Ưu điểm: – Giảm trùng lắp thơng tin xuống mức thấp nhất, đảm bảo tính quán toàn vẹn liệu – ðảm bảo liệu ñược truy xuất theo nhiều cách khác – Khả chia thông tin cho nhiều người, nhiều ứng dụng khác ðH Sư phạm TPHCM Cơ sở liệu • Những vấn đề cần giải quyết: – Tính chủ quyền liệu – Tính bảo mật quyền khai thác thông tin người sử dụng – Tranh chấp liệu – ðảm bảo liệu có cố ðH Sư phạm TPHCM Các đối tượng sử dụng • Người sử dụng CSDL không chuyên lĩnh vực tin học CSDL -> cần cơng cụ để họ khai thác CSDL cần (End User) • Chuyên viên tin học xây dựng ứng dụng ñể phục vụ cho mục đích quản lý (Application User) • Quản trị CSDL: tổ chức CSDL, bảo mật, cấp quyền, lưu, phục hồi liệu, giải tranh chấp liệu …(Database Administrator) ðH Sư phạm TPHCM 10 Hệ quản trị sở liệu (1) • Hệ quản trị sở liệu (DBMS – DataBase Management System) hệ thống phần mềm hỗ trợ tích cực cho nhà phân tích, thiết kế khai thác CSDL • Các DBMS thông dụng: Visual FoxPro, Microsoft Access, SQL Server, DB2, Oracle … hầu hết DBMS dựa mơ hình quan hệ ðH Sư phạm TPHCM 11 Hệ quản trị sở liệu (2) • Một DBMS phải có: – Ngơn ngữ giao tiếp người sử dụng CSDL – Từ ñiển liệu (Data Dictionary) – Có biện pháp bảo mật có yêu cầu – Cơ chế giải tranh chấp liệu – Có chế lưu (backup), phục hồi (restore) – ðảm bảo tính độc lập liệu chương trình ðH Sư phạm TPHCM 12 Hệ quản trị sở liệu (3) Ngôn ngữ giao tiếp: • Ngơn ngữ mơ tả liệu (DDL – Data Definition Language): cho phép khai báo cấu trúc CSDL, mối liên hệ liệu, quy định, ràng buộc liệu • Ngơn ngữ thao tác liệu (DML – Data Manipulation Language): cho phép thực thao tác thêm, xóa, sửa liệu • Ngơn ngữ truy vấn có cấu trúc (SQL – Structured Query Language): cho phép người khai thác sử dụng để truy vấn thơng tin cần thiết • Ngơn ngữ quản lý liệu (DCL – Data Control Language) cho phép thay đổi cấu trúc bảng, khai báo bảo mật, cấp quyền cho người sử dụng ðH Sư phạm TPHCM 13 Các mức biểu diễn CSDL • Mức trong: (mức vật lý – Physical) mức lưu trữ CSDL (cần giải vấn đề gì? Dữ liệu gì? Lưu trữ nào? ñâu? Cần mục gì? Truy xuất hay ngẫu nhiên Dành cho người quản trị người sử dụng chun mơn • Mức quan niệm: (Conception hay Logical) cần phải lưu trữ loại liệu? liệu gì? mối quan hệ • Mức ngồi: người sử dụng chương trình ứng dụng ðH Sư phạm TPHCM 14 Các mức biểu diễn CSDL NSD1 Cấu Cấu trúc trúc NSD2 Cấu Cấu trúc trúc Cấu Cấu trúc trúc ngồi n Mơi trường thực giới thực Mức quan niệm mức logic Mức vật lý – Cấu trúc vật lý CSDL Chương trình ứng dụng n ðH Sư phạm TPHCM 15 Bài tập tình • Cơng ty SMX sử dụng phần mềm kế tốn EasyAccount cơng ty NVS hệ quản trị sở liệu SQL Server 2000 ñể quản lý sổ sách thu chi Nhân viên kế toán sử dụng phần mềm ñể nhập số liệu kế tốn in ấn báo cáo đưa cho giám ñốc xem Nhân viên IT SMX có nhiệm vụ quản lý lưu, bảo mật CSDL SQL Server 2000 Lập trình viên NVS dùng DOT.NET để viết chương trình EasyAccount • Cho biết Kế Tốn, Giám ðốc, IT SMX lập trình viên NVS loại user CSDL kế tốn trên? Bài 2: Các mơ hình liệu ðH Sư phạm TPHCM 17 Nội dung Giới thiệu Mơ hình liệu mạng Mơ hình thực thể mối kết hợp ðH Sư phạm TPHCM 18 Giới thiệu Mơ hình liệu trừu tượng hóa môi trường thực, biểu diễn liệu mức quan niệm Giới thiệu số mơ hình như: • Mơ hình liệu mạng • Mơ hình liệu phân cấp • Mơ hình liệu thực thể mối kết hợp • Mơ hình liệu quan hệ • Mơ hình liệu hướng đối tượng ðH Sư phạm TPHCM 19 Mơ hình liệu mạng (1) • Mơ hình liệu mạng (Network Data Model) cịn gọi tắt mơ hình mạng mơ hình lưới mơ hình biểu diễn đồ thị có hướng – Mẫu tin (record) – Loại mẫu tin – Loại liên hệ (set type) – Bản số ðH Sư phạm TPHCM 20 3.2.2 Ràng buộc liên thuộc tính (1) • Là ràng buộc thuộc tính quan hệ khác • R6: Ngày giáo viên giảng dạy môn học phải lớn ngày giáo viên vào làm – Nội dung: ∀gd ∈ GIANGDAY Nếu ∃gv ∈ GIAOVIEN: gd.Magv = gv.Magv gv.NGVL ≤ gd.TUNGAY – Bối cảnh: GIANGDAY, GIAOVIEN – Bảng tầm ảnh hưởng: R6 Thêm Xóa Sửa GIANGDAY + - +(Tungay) GIAOVIEN - - +(Ngvl) ðH Sư phạm TPHCM 20 3.2.2 Ràng buộc liên thuộc tính (2) • R7: Ngày thi môn học phải lớn ngày kết thúc học mơn học – Nội dung: ∀kq ∈ KETQUATHI Nếu ∃gd ∈GIANGDAY, ∃hv ∈HOCVIEN: (gd.Malop=hv.Malop)∧(kq.Mamh=gd.Mamh) gd.Denngay < kq.Ngthi – Bối cảnh: GIANGDAY, HOCVIEN, KETQUATHI ðH Sư phạm TPHCM 21 3.2.2 Ràng buộc liên thuộc tính (3) – Bảng tầm ảnh hưởng: R7 Thêm Xóa Sửa HOCVIEN - - +(Malop) GIANGDAY - - +(Denngay) KETQUATHI + - +(Ngthi) ðH Sư phạm TPHCM 22 3.2.3 RBTV thuộc tính tổng hợp (1) • Là ràng buộc thuộc tính, quan hệ khác • Thuộc tính tổng hợp thuộc tính tính tốn từ giá trị thuộc tính khác, khác • Ví dụ : SANPHAM(Masp,Tensp, Nuocsx, Gia) KHACHHANG(Makh, Hoten, Doanhso) HOADON(Sohd, Nghd,Makh,Trigia) CTHD(Sohd,Masp,Soluong,Gia) – Trị giá hoá đơn tổng thành tiền chi tiết thuộc hoá đơn ðH Sư phạm TPHCM 23 3.2.3 RBTV thuộc tính tổng hợp (2) • Doanh số khách hàng tổng trị giá hoá đơn mà khách hàng mua – Nội dung: ∀kh ∈ KHACHHANG, kh.Doanhso = ∑(hd ∈ HOADON: hd.Makh=kh.Makh)(hd.Trigia) – Bối cảnh: KHACHHANG, HOADON – Bảng tầm ảnh hưởng: Thêm Xóa Sửa KHACHHANG + - +(Doanhso) HOADON + + +(Makh) ðH Sư phạm TPHCM 24 3.2.3 RBTV thuộc tính tổng hợp (3) • R8: Sỉ số lớp số lượng học viên thuộc lớp – Nội dung: ∀l ∈ LOP, l.Siso = Count(hv ∈ HOCVIEN: hv.Malop = lp.Malop)(*) – Bối cảnh: quan hệ LOP, HOCVIEN – Bảng tầm ảnh hưởng: R8 Thêm Xóa Sửa LOP + - +(Siso) HOCVIEN + + +(Malop) ðH Sư phạm TPHCM 25 3.2.4 Do diện chu trình (1) Biểu diễn lược đồ quan hệ dạng đồ thị: – Quan hệ biểu diễn nút trịn rỗng to – Thuộc tính biểu diễn nút tròn đặc nhỏ – Tất nút rõ tên quan hệ thuộc tính Thuộc tính thuộc quan hệ biểu diễn cung nối nút tròn to nút tròn nhỏ – Nếu đồ thị biểu diễn xuất đường khép kín ðH Sư phạm TPHCM 26 => lược đồ CSDL có diện chu trình 3.2.4 Do diện chu trình (2) Magv Malop GIANGDAY X GIAOVIEN Mamh Y Hoten Hocvi Tenmh MONHOC … Makhoa ðH Sư phạm TPHCM TCLT 27 3.2.4 Do diện chu trình (3) • X = GIANGDAY[Magv, Mamh] Makhoa • Y = (GIAOVIEN ⋈ MONHOC) [Magv,Mamh] • Ý nghĩa: – X: giáo viên môn học phân công cho giáo viên giảng dạy – Y: giáo viên mơn học thuộc khoa giáo viên phụ trách • Mối quan hệ X Y ràng buộc sau: ðH Sư phạm TPHCM 28 3.2.4 Do diện chu trình (4) • Ràng buộc 1: giáo viên phân công giảng dạy môn thuộc khoa giáo viên phụ trách X⊆ ⊆Y • Ràng buộc 2: giáo viên phải phân công giảng dạy tất mơn thuộc khoa giáo viên phụ trách X=Y • Ràng buộc 3: phân cơng giáo viên giảng dạy môn học X ≠ Y ðH Sư phạm TPHCM 29 3.2.4 Do diện chu trình (4) • R9: giáo viên phân công giảng dạy môn thuộc khoa giáo viên phụ trách X⊆ ⊆Y R9 Thêm Xóa Sửa MONHOC - - +(Makhoa) GIAOVIEN - - +(Makhoa) GIANGDAY + - +(Magv) ðH Sư phạm TPHCM 30 3.3 Phụ thuộc hàm (1) • Cho quan hệ Q(A, B, C) Phụ thuộc hàm A xác định B Ký hiệu A → B nếu: ∀q1,q2∈Q: Nếu q1.A=q2.A q1.B=q2.B • A → B gọi phụ thuộc hàm hiển nhiên B⊆A • A → B gọi phụ thuộc hàm nguyên tố ¬∃A’⊂A, A’≠A cho A’→ B ðH Sư phạm TPHCM 31 3.3 Phụ thuộc hàm (2) • Mỗi quan hệ có phụ thuộc hàm • Ràng buộc khố phụ thuộc hàm Mamh → Tenmh, Tclt, Tcth, Makhoa • R4: Các giáo viên có học vị, hệ số lương mức lương Ràng buộc biểu diễn phụ thuộc hàm sau: Hocvi,Heso → Mucluong ðH Sư phạm TPHCM 32 Bảng tầm ảnh hưởng tổng hợp (1) • Bảng tầm ảnh hưởng tổng hợp m ràng buộc n quan hệ bối cảnh QH1 QH2 T X S T X S … QHn … T X S R1 R2 … Rm ðH Sư phạm TPHCM 33 Bảng tầm ảnh hưởng tổng hợp (2) R1 HOCVIEN GIAOVIEN T X S T + - + X S LOP T X MONHOC S T X S R2 R3 + - KETQUA THI T X S T X S + - + + - -* + - + -* R4 + - + R5 - R6 - R7 - - + R8 + + + R9 GIANGDAY - - -* + + - + + - + - + - - + + - + + - - + ðH Sư phạm TPHCM 34 Bài 8: Tối ưu hóa câu hỏi ðH Sư phạm TPHCM Nội dung Giới thiệu Các nguyên tắc tổng quát để tối ưu hóa câu hỏi 2.1 Biểu thức tương đương 2.1.1 Định nghĩa 2.1.2 Tính chất phép kết phép tích 2.2 Nguyên tắc tổng quát 2.3 Các phép biến đổi tương đương Một số kỹ thuật tối ưu hóa câu hỏi ĐSQH 3.1 Kỹ thuật (dãy phép chọn, phép chiếu, hoán vị …) 3.2 Thuật giải tối ưu hoá câu hỏi ðH Sư phạm TPHCM Giới thiệu (1) • Mục đích: – Giảm thời gian xử lý câu hỏi, giảm khối lượng liệu trung gian – Kết hợp phép tích, phép kết với phép chọn với phép chiếu • Ví dụ: + ((Q1 >< Q2 ) : A = a )[C ] + ((Q1 : A = a ) >< Q2 )[C ] ðH Sư phạm TPHCM Giới thiệu (2) • Ký hiệu: Q Q X Q AθB D R R Q=R[S] R S A θB Q=R:D Q=R >< S ðH Sư phạm TPHCM Giới thiệu (3) • Ví dụ C C A A=a0 A=a0 Q1 A Q2 Q1 Q2 (( Q1 >< Q ) : A = a )[ C ] ðH Sư phạm TPHCM ((Q1 : A = a ) >< Q2 )[C ] 2.1 Tính tương đương (1) • 2.1.1 Định nghĩa: hai biểu thức A, B tương đương có tình trạng CSDL cho kết • 2.1.2 Tính chất phép kết phép tích – Phép kết dk • Giao hốn Q >< Q = Q >< Q dk • Kết hợp dk dk dk dk Q >< ( Q >< Q ) = ( Q >< Q ) >< Q – Phép tích • Giao hốn: • Kết hợp: Q1 × Q = Q × Q1 Q × (Q × Q ) = (Q × Q ) × Q ðH Sư phạm TPHCM 2.1 Tính tương đương (2) 2.1.3 Các phép biến đổi tương đương B Q1 ( A, B) >< Q2 ( B, C ) ≡ (Q1 × Q2 : Q1[ B] = Q2 [ B]) BθD Q1 ( A, B) >< Q2 (C , D) ≡ (Q1 × Q2 : BθD) Q1 ∩ Q2 ≡ ¬((¬Q1 ) ∪ (¬Q2 )) ¬Q( X , , X n ) ≡ (Q[ X ] × Q[ X ] × × Q[ X n ]) − Q( X , , X n ) Q1 ( A, B) ∩ Q2 ( A, B) ≡ Q1[ B] − ((Q1[ B] × Q2 [ A] − Q1 ( A, B))[ B] ðH Sư phạm TPHCM 2.2 Nguyên tắc tổng quát Thực phép chiếu, phép chọn sớm tốt Gom phép chọn chiếu quan hệ để thực lúc Biến phép tích thành phép kết tự nhiên hay theta kết Tìm biểu thức chung biểu thức Tiền xử lý quan hệ: lập mục Đánh giá trước thực hiên tính tốn ðH Sư phạm TPHCM 3.1 Các kỹ thuật tối ưu (1) Dãy phép chọn Dãy phép chiếu Hoán vị phép chiếu phép chọn Hốn vị phép chọn phép tích Hốn vị phép hợp phép chọn Hoán vị phép chọn phép trừ Hoán vị phép chiếu phép hội Hoán vị phép chiếu phép tích ðH Sư phạm TPHCM 3.1 Các kỹ thuật tối ưu (2) Dãy phép chọn ((( Q : dk 1) : dk 2) : dkn ) ≡ Q : dk ∧ dk ∧ dkn Dãy phép chiếu Ví dụ: (Q[Y ])[ Z ] ≡ Q[ Z ] , Cho Z ⊆Y Q ( A, B , C , D ) (Q[ A, C , D ])[ AD ] ≡ Q[ AD ] ðH Sư phạm TPHCM 10 3.1 Các kỹ thuật tối ưu (3) Hoán vị phép chiếu phép chọn – Nếu X ⊆Y – Nếu (Q : dk ( X ))[Y ] ≡ (Q[Y ]) : dk ( X ) X ⊄Y (Q : dk ( X ))[Y ] ≡ (Q[ X ∪ Y ]) : dk ( X ) ðH Sư phạm TPHCM 11 3.1 Các kỹ thuật tối ưu (4) Hoán vị phép chọn phép tích: – Điều kiện dk xác lập thuộc tính X – Nếu dk = dk1 ∧ dk , dk1 xác lập thuộc tính X, dk2 xác lập thuộc tính Y ( Q ( X )) : dk ( X ) × Q (Y ) ≡ ( Q ( X ) × Q (Y )) : dk – Nếu dk1 xác lập thuộc tính X dk2 xác lập thuộc tính X∪Y (( Q1 ( X ) × Q (Y )) : dk 1( X ) ∧ dk (Y ) ≡ (( Q1 ( X ) : dk 1) × ( Q (Y ) : dk ) (( Q ( X ) × Q (Y )) : dk 1( X ) ∧ dk ( X ∪ Y ) ≡ (( Q ( X ) : dk 1) × ( Q (Y )) : dk ( X ∪ Y )) ðH Sư phạm TPHCM 12 3.1 Các kỹ thuật tối ưu (5) Hoán vị phép hội phép chọn (Q1 ∪ Q2 ) : dk ≡ (Q1 : dk ) ∪ (Q2 : dk ) Hoán vị phép chọn phép trừ (Q1 − Q2 ) : dk ≡ (Q1 : dk ) − (Q2 : dk ) Hoán vị phép chiếu phép hội (Q1 ∪ Q2 )[ Z ] ≡ (Q1[ Z ]) ∪ (Q2 [ Z ]) Hoán vị phép chiếu phép tích (Q1 ( X ) × Q2 (Y ))[Z ] ≡ (Q1[Y ∩ Z ]) × (Q2[Y ∩ Z ]) , Z ∈ X ∪ Y ðH Sư phạm TPHCM 13 3.2 Thuật tốn • Bước 1: Áp dụng phép biển đổi tương đương • Bước 2: Áp dụng (1) • Bước 3: Đối với phép chọn áp dụng (3), (4), (5), (6) nhằm đưa phép chọn sâu tốt • Bước 4: Đối với phép chiếu áp dụng (2), (3), (7), (8) nhằm đưa phép chiếu sâu tốt • Bước 5: – Tập trung phép chọn để áp dụng (1) – Kết hợp phép tích phép chọn để chuyển thành phép kết ðH Sư phạm TPHCM 14 ... ðH Sư phạm TPHCM Cơ sở liệu • Những vấn đề cần giải quyết: – Tính chủ quyền liệu – Tính bảo mật quyền khai thác thông tin người sử dụng – Tranh chấp liệu – ðảm bảo liệu có cố ðH Sư phạm TPHCM... đích hạn hẹp) • Khuyết điểm: – Trùng lắp liệu →lãng phí, liệu khơng qn – Chi phí cao – Chia liệu ðH Sư phạm TPHCM Cơ sở liệu (1) • ðịnh nghĩa: Cơ sở liệu hệ thống thơng tin có cấu trúc, lưu trữ... 11/17/08 15 ðH Sư phạm TPHCM Thuộc (1,1) (1,n) HOCVIEN 11/17/08 LOP ðH Sư phạm TPHCM 16 ERD Thuộc (1,1) (1,n) HOCVIEN LOP (1,1) (0,1) Là trưởng lớp 11/17/08 ðH Sư phạm TPHCM 17 Bài tập tình •

Ngày đăng: 09/05/2021, 18:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan