Tài liệu ôn thi cao học - thạc sĩ khoa học máy tính, hệ thống thông tin trường ĐH KHTN TP.HCM:p1
1 Ôn Ôn tập tập C C ơ ơ sở sở Dữ Dữ liệu liệu Phụ trách : TrầnHạnh Nhi Khoa Công nghệ Thông tin Trường Đại học Khoa họctự nhiên 06/03/2008 Ôn thi tuyển sinh cao học 2008 2 T T ổ ch ổ ch ức ức 25 tiết lý thuyết = Ôn tập các điểm chính + Sửabàitập SửaBàitập10/04/20086 SửaBàitập03/04/20085 Ràng buộctoànvẹn trong mộtCSDL, Cácdạng chuẩn CSDL13/03/20084 SửaBàitập06/03/20083 Ngôn ngữ truy vấn SQL28/02/20082 Mô hình dữ liệu quan hệ , Ngôn ngữ đại số quan hệ 21/02/20081 Nội dungNgàyBuổi 2 C C ác ác khái khái ni ni ệm ệm c c ơ ơ bản c bản c ủa ủa CSDL CSDL CSDL và Hệ quản trị CSDL Các mứctrừu tượng CSDL Lược đồ và thể hiện Mô hình dữ liệu Ngôn ngữ CSDL 06/03/2008 Ôn thi tuyển sinh cao học 2008 4 CSDL v CSDL v à à Hệ Hệ quản quản trị trị CSDL CSDL CSDL (Database) { Mộttậphợpcócấutrúccủanhững dữ liệucóliênquanvới nhau đượclưutrữ trong máy tính Hệ quảntrị CSDL (Database Management System) { Tậphợpcácchương trình cho phép ngườisử dụng định nghĩa, xây dựng, và khai thác CSDL một cách hiệuqủavàtiệnlợi Hệ QTCSDL Chương trình QuảnTrị CSDL -Xử lý truy vấn CSDL Chương trình ứng dụng 1 Quảnlýdữ liệu Chương trình ứng dụng 2 Quảnlýdữ liệu Chương trình ứng dụng 3 Quảnlýdữ liệu truy vấn truy vấn truy vấn Truy xuất 3 06/03/2008 Ôn thi tuyển sinh cao học 2008 5 Vai Vai tr tr ò Hệ QTCSDL ò Hệ QTCSDL Mục tiêu : hỗ trợ { Khai thác thông tin từ CSDL { Lưu trữ thông tin vào CSDL Tính năng : cung cấp các cơ chế { Định nghĩacấu trúc lưu trữ dữ liệu { Thao tác, xử lý dữ liệu { Bảo đảm an toàn dữ liệu { Kiểm soát chia sẻ dữ liệu Các đặc tính CSDL cần bảo đảm { Tính tự mô tả { Tính độclậpdữ liệu { Tính nhất quán 06/03/2008 Ôn thi tuyển sinh cao học 2008 6 Mức ngoài (External Level) Ngườidùng Ứng dụng Các Các m m ức ức tr tr ừu ừu t t ư ư ợng ợng CSDL CSDL Nhu cầu khai thác cụ thể (1 phần) CSDL Mức quan niệm (Conceptual Level) Ngườithiết kế CSDL Mứctrong (Internal Level) Ngườicài đặt CSDL Cấu trúc toàn thể CSDL • dữ liệulưutrữ • quan hệ giữacácdữ liệu Lưutrữ vậtlýCSDL 4 06/03/2008 Ôn thi tuyển sinh cao học 2008 7 Các Các m m ức ức tr tr ừu ừu t t ư ư ợng ợng CSDL ( CSDL ( tt tt ) ) Mức quan niệm (Conceptual Level) Mứctrong (Internal Level) Mức ngoài (External Level) R 1 (A number(10), B string, …, primary key (A), ) …. R n (X number(15), Y string, …, primary key (X), …) Lược đồ logic Lược đồ quan niệm Lược đồ vậtlý Các Khung nhìn (views) 06/03/2008 Ôn thi tuyển sinh cao học 2008 8 Các Các m m ức ức tr tr ừu ừu t t ư ư ợng ợng CSDL ( CSDL ( tt tt ) ) Mức quan niệm (Conceptual Level) Mứctrong (Internal Level) Mức ngoài (External Level) R 1 (A number(10), B string, …, primary key (A), ) …. R n (X number(15), Y string, …, primary key (X), …) Độclập logic : Khả năng thay đổilược đồ quan niệm mà không thay đổi lược đồ ngoài hoặc các CTƯD Độclậpvậtlý: Khả năng thay đổilược đồ trong mà không làm thay đổilược đồ quan niệmcũng như lược đồ ngoài 5 06/03/2008 Ôn thi tuyển sinh cao học 2008 9 L L ư ư ợc ợc đ đ ồ ồ và và thể hi thể hi ện ện c c ủa ủa CSDL CSDL Lược đồ (Schema) { mô tả về cấutrúcvàràng buộctrênCSDL Thể hiện (Instance) { dữ liệuhiệnthời đượclưu trữ trong CSDL ở mộtthời điểmnàođó Lược đồ đượcbiễudiễn bằng một mô hình dữ liệu SVien Ten MaSV Nam Khoa TenMH MaMH TinChi Khoa Mhoc MaMH MaMH_Truoc DKien MaKH MaMH KHoc HocKy Nam GV MaKH MaSV KQua Diem Ten MaSV Nam Khoa Son 17 1 CNTT Bao 8 2 CNTT SVien TenMH Nhap mon tin hoc Cautrucdulieu Mhoc Toan roi rac Co so du lieu MaMH COSC1310 COSC3320 MATH2410 COSC3380 TinChi Khoa 4 4 3 3 CNTT CNTT TOAN CNTT MaMH MaMH_TruocDKien COSC3380 COSC3320 COSC3380 MATH2410 COSC3320 COSC3380 MaSV Diem 17 8 17 6 KQua MaKH 8 8 8 8 112 119 85 92 102 135 10 9 8 10 06/03/2008 Ôn thi tuyển sinh cao học 2008 10 Mô Mô hình hình dữ dữ liệu liệu (Data model) (Data model) Tậphợp các phương tiện cho phép biễudiễndữ liệu, quan hệ dữ liệu và các ràng buộcdữ liệu { Các khái niệmbiểudiễndữ liệu { Các phép toán xử lý dữ liệu Các mứctrừutượng { Mô hình quan niệm (conceptual model) các khái niệm độclậpvới các hệ thống tin học vd : ER, UML { Mô hình logic (logical model) các khái niệmsử dụng bởimộthọ các CSDL nhưng độclậpvớimộtCSDL cụ thể vd : Phân cấp, mạng, quan hệ, hướng đốitượng, XML { Mô hình mứcthấp các khái niệm đượccàiđặt trong mộtCSDL cụ thể vd. Oracle, Sybase 6 06/03/2008 Ôn thi tuyển sinh cao học 2008 11 Ngôn Ngôn ngữ ngữ CSDL CSDL Ngôn ngữđịnh nghĩadữ liệu (DDL – Data Definition Language) { Đặctả các khái niệmbiễudiễn trong lược đồ CSDL (quan niệm / logic) Ngôn ngữ lưutrữ dữ liệu (SDL – Storage Definition Language) : Ngôn ngữđịnh nghĩalược đồ trong Ngôn ngữđịnh nghĩa khung nhìn (VDL – View Definition Language) : Ngôn ngữđịnh nghĩalược đồ ngoài Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language) { Đặctả các thao tác truy xuất, vấn tin CSDL { Phân loại: Ngôn ngữ thủ tục (Procedural) Ngôn ngữ khai báo (Declarative) Mô Mô hình hình dữ dữ liệu liệu quan quan hệ hệ Giớithiệu Các khái niệmcủamôhìnhquanhệ Các đặctrưng của quan hệ 7 06/03/2008 Ôn thi tuyển sinh cao học 2008 13 Giới Giới thiệu thiệu Do tiếnsĩ E. F. Codd đưara { “A Relation Model for Large Shared Data Banks”, Communications of ACM, 6/1970 Khái niệm quan hệ : biểudiễn các thông tin lưutrữ trong CSDL dưới dạng bảng (table) 2 chiều { Cung cấpmộtcấutrúcdữ liệu đơngiảnvàđồng bộ Có nềntảng lý thuyếtvững chắc { Lý thuyếttậphợp Là cơ sở của các HQT CSDL thương mại { Oracle, DB2, SQL Server… 06/03/2008 Ôn thi tuyển sinh cao học 2008 14 Các Các khái khái niệm niệm của của mô mô hình hình quan quan hệ hệ Quan hệ (Relation) Thuộc tính (Attribute) Lược đồ quan hệ(Relation Schema) Bộ (Tuple) Miền giá trị (Domain) Các loại Khoá của quan hệ (Key) 8 06/03/2008 Ôn thi tuyển sinh cao học 2008 15 NHANVIEN TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Quan hệ (Relation) Các Các khái khái niệm niệm của của mô mô hình hình quan quan hệ hệ Thuộc tính (attribute) Bộ (Tuple/record) Lược đồ quan hệ (relation schema) 06/03/2008 Ôn thi tuyển sinh cao học 2008 16 1 cộtlà1 thuộctínhcủa nhân viên 1 dòng là 1 nhân viên Quan Quan hệ hệ Phảnánhnội dung CSDL tạimộtthời điểm Đượcbiểudiễnbằng mộtbảng 2 chiều MộtQuanhệđược định nghĩabởi { Tên { Tậphợp các dòng → Mộtdòng~ Mộtthựcthể Quan hệ ~ Tậpthưcthể { Tậphợpcáccột → Mộtcột~ Một thuộc tính TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 NHANVIEN 9 06/03/2008 Ôn thi tuyển sinh cao học 2008 17 Thuộc Thuộc tính tính Phảnánhmột đặctínhcủamột đốitượng Mộtthuộctínhđược định nghĩabởi { Tên (cộtcủa quan hệ) { Kiểudữ liệu { Miềngiátrị (Domain) Tậpcácgiátrị mộtthuộctínhcóthể nhận Mô hình quan hệ chỉ chấpnhậncácthuộc tính có giá trịđơn Cóthể nhận giá trị NULL TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 Thuộctính ∈ MiềnGT số nguyên 06/03/2008 Ôn thi tuyển sinh cao học 2008 18 Lược đồ quan hệ L L ư ư ợc ợc đ đ ồ ồ quan quan hệ hệ PhảnánhcấutrúcCSDL { Quan hệ phảnánhtìnhtrạng CSDL Biểudiễncấutrúcbảng 2 chiềuthể hiện quan hệ Lược đồ quan hệđược định nghĩabởi { Tên của quan hệ { Tên củatậpthuộc tính { Tân từ phảnánhngữ nghĩacủa quan hệ Có thể có nhiều quan hệ cùng được định nghĩatrênmộtlược đồ quan hệ NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) Là tậphợp 10 06/03/2008 Ôn thi tuyển sinh cao học 2008 19 L L ư ư ợc ợc đ đ ồ ồ CSDL CSDL Gồm nhiềulược đồ quan hệ { Phản ánh cấutrúctoànbộ CSDL { Tập các quan hệđịnh nghĩatrênlược đồ CSDL tạimộtthời điểm = tình trạng CSDL Lược đồ CSDL NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC) DIADIEM_PHG(MAPHG, DIADIEM) THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) DEAN(TENDA, MADA, DDIEM_DA, PHONG) 06/03/2008 Ôn thi tuyển sinh cao học 2008 20 Dữ liệucụ thể củathuộctính Bộ Bộ Là các dòng của quan hệ (trừ dòng tiêu đề -têncủacácthuộc tính) Thể hiệndữ liệucụ thể của các thuộc tính trong quan hệ <Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5> [...]... 20 - C D E 1 α 10 + α 1 γ 10 - 2 β 10 + β 2 α 10 + β 20 - β 2 β 10 + γ 10 - β 2 β 20 - β R 2 γ 10 - A B α β S 06/03/2008 Ôn thi tuyển sinh cao học 2008 43 Phép tích Cartesian (tt) (tt) Ví dụ (R+ ∩ S+ )≠ ∅ R A α 1 β R×S B 2 X B C B X C D α 1 α 10 + α 1 β 10 + α S A 1 β 20 - D α 1 γ 10 - 2 α 10 + Đổi tên B→X α 10 + β β 10 + β 2 β 10 + - β 2 β 20 - - β 2 γ 10 - β γ 06/03/2008 20 10 Ôn thi tuyển sinh cao. .. Smith Hayes 06/03/2008 L-170 L-230 L-155 Ôn thi tuyển sinh cao học 2008 59 Outer Join – Example Inner Join loan Borrower loan_number branch_name L-170 L-230 Downtown Redwood amount customer_name 3000 4000 Jones Smith Left Outer Join loan Borrower loan_number L-170 L-230 L-260 06/03/2008 branch_name Downtown Redwood Perryridge amount customer_name 3000 4000 1700 Ôn thi tuyển sinh cao học 2008 Jones Smith... ICOUNT(MANV)AVG(LUONG)(NHANVIEN) 06/03/2008 Ôn thi tuyển sinh cao học 2008 57 Phép kết ngoài (Outer join) Mở rộng phép kết để tránh mất mát thông tin Thực hiện phép kết Lấy thêm các bộ không thỏa điều kiện kết Có 3 hình thức Mở rộng bên trái Mở rộng bên phải Mở rộng 2 bên 06/03/2008 Ôn thi tuyển sinh cao học 2008 58 29 Outer Join – Example Relation loan loan_number branch_name L-170 L-230 L-260 Downtown Redwood Perryridge... 06/03/2008 vi Ôn thi tuyển sinh cao học 2008 22 11 Tóm tắt các ký hiệu Lược đồ quan hệ R bậc n R(A1, A2, …, An) Tập thuộc tính của R R+ Quan hệ (thể hiện quan hệ) R, S, P, Q Bộ t, u, v Miền giá trị của thuộc tính A DOM(A) hay MGT(A) Giá trị tại thuộc tính A của bộ thứ t t.A hay t[A] 06/03/2008 Ôn thi tuyển sinh cao học 2008 23 Khóa Dùng để nhận biết một bộ trong quan hệ Đặc trưng của lược đồ quan hệ, không phụ... 06/03/2008 Ôn thi tuyển sinh cao học 2008 29 Đại số quan hệ Giới thi u Các phép toán Các thao tác cập nhật trên quan hệ 15 Giới thi u Đại số (Algebra) : hệ thống toán học bao gồm Toán hạng (operand) : các biến/giá trị dùng để xây dựng một giá trị mới Toán tử (operator) : các ký hiệu biểu diễn thủ tục xây dựng một giá trị mới từ các biến/giá trị đã có Đại số quan hệ (Relational Algebra) Toán hạng: các quan hệ. .. tính tính toán trong hàm F 06/03/2008 Ôn thi tuyển sinh cao học 2008 54 27 Phép gom nhóm (tt) tt) Ví dụ ISUM(C)(R) A B 2 7 α 4 7 β 2 3 γ 2 10 SUM_C C α R 27 A ISUM(C)(R) SUM_C 14 3 10 06/03/2008 Ôn thi tuyển sinh cao học 2008 55 Ví dụ 16 Tính số lượng nhân viên và lương trung bình của cả công ty ICOUNT(MANV)AVG(LUONG)(NHANVIEN) 06/03/2008 Ôn thi tuyển sinh cao học 2008 56 28 Ví dụ 17 Tính số lượng... khóa chính, vừa tham gia vào khóa ngoại FK có thể tham chiếu đến PK trên cùng 1 lược đồ quan hệ Có thể có nhiều FK tham chiếu đến cùng một PK 06/03/2008 Ôn thi tuyển sinh cao học 2008 27 Ôn thi tuyển sinh cao học 2008 28 Ví dụ Khóa ngoại 06/03/2008 14 Các đặc trưng của quan hệ Thứ tự các bộ trong quan hệ là không quan trọng HONV TENNV NGSINH DCHI PHAI Nguyen Tung Bui Hang LUONG PHG 12/08/1955 638 NVC... (NHANVIEN) 06/03/2008 Ôn thi tuyển sinh cao học 2008 40 20 πA1, A2, …, Ak(R) Phép chiếu Trích ra một vài cột của quan hệ R Kết quả trả về là một quan hệ Có k thuộc tính Có số bộ luôn ít hơn hoặc bằng số bộ của R Ví dụ A B C α 10 1 α 20 1 β 30 β R 40 A C α 1 α 1 1 β 1 2 β 2 π A,C (R) Phép chiếu không có tính giao hóan, kết hợp πX,Y (R) ≠ πX (πY (R)) 06/03/2008 Ôn thi tuyển sinh cao học 2008 41 Phép chiếu... branch_name L-170 L-230 L-155 Downtown Redwood null amount customer_name 3000 4000 null Jones Smith Hayes Full Outer Join loan borrower loan_number branch_name L-170 L-230 L-260 L-155 Downtown Redwood Perryridge null 06/03/2008 amount customer_name 3000 4000 1700 null Jones Smith null Hayes Ôn thi tuyển sinh cao học 2008 61 Ví dụ 18 Cho biết họ tên nhân viên và tên phòng ban mà họ phụ trách nếu có Quan hệ: ... Queries Cho biết tài khoản tiền gởi lớn nhất Tìm các tài khoản có tiền gởi không lớn nhất Cần đổi tên quan hệ Account để có thể so sánh các tài khoản với nhau trên quan hệ tích của chính nó Dùng phép trừ để chọn các account không được trích ở bước trên R1 ← σaccount.balance