Bài giảng môn Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL
Bạn đang xem tài liệu "Bài giảng môn Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_mon_co_so_du_lieu_chuong_1_tong_quan_ve_csdl.pdf
Nội dung text: Bài giảng môn Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL
- CƠ SỞ DỮ LIỆU ( Databases ) Ch ươ ng 1: T ổng quan v ề CSDL bangtqh@utc2.edu.vn Nội dung 1. Các h ệ th ống t ập tin 2. Các h ệ th ống c ơ s ở d ữ li ệu 3. Đị nh ngh ĩa c ơ s ở d ữ li ệu 4. Đị nh ngh ĩa h ệ qu ản tr ị C ơ s ở d ữ li ệu 5. Ki ến trúc c ủa m ột C ơ s ở d ữ li ệu 6. Tính ch ất độ c l ập d ữ li ệu 7. Các mô hình d ữ li ệu bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 2
- 1.1. Xử lý trên hệ thống t ập tin Mỗi ứng d ụng có 1 h ệ th ống t ập tin riêng Sales files: Sales application – PropertyForRent – PrivateOwner – Client Contracts files Contracts application – Lease – PropertyForRent – Client bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 3 Các hạn chế c ủa hệ thống t ập tin Dữ li ệu tách bi ệt và không chia s ẻ –Mỗi ứng d ụng có 1 h ệ th ống t ập tin riêng – Vi ệc chia s ẻ d ữ li ệu gi ữa các ứng d ụng vô cùng khó kh ăn do khác nhau v ề c ấu trúc. Dữ li ệu b ị trùng l ặp –Tốn không gian l ưu tr ữ – Có th ể d ẫn t ới tình tr ạng không nh ất quán d ữ li ệu khi cập nh ật trên các h ệ th ống khác nhau Ph ụ thu ộc d ữ li ệu – Thu ật toán x ử lý ph ụ thu ộc vào c ấu trúc t ập tin ( đã đượ c đị nh ngh ĩa) Khi thay đổ i c ấu trúc d ữ li ệu, khi nâng c ấp d ữ li ệu thì ph ải thay đổ i ch ươ ng trình theo đó bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 4
- Các h ạn ch ế c ủa h ệ th ống t ập tin (tt) Đị nh d ạng không t ươ ng thích – Các t ập tin đượ c đị nh ngh ĩa theo ngôn ng ữ l ập trình nào đó khó chia s ẻ Câu truy v ấn b ị c ố đị nh tr ướ c – Là h ệ qu ả c ủa vi ệc ph ụ thu ộc d ữ li ệu. –Mỗi ch ươ ng trình truy xu ất đượ c phát tri ển c ố đị nh cho một c ấu trúc d ữ li ệu bên d ướ i. bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 5 1.2. Cách ti ếp c ận c ơ s ở dữ li ệu Sales application Data entry and reports Sales DBMS Data entry and Contracts reports Contracts application Database Dữ li ệu độ c l ập v ới ch ươ ng trình Dữ li ệu đượ c qu ản lý t ập trung Dữ li ệu đượ c chia s ẻ cho nhi ều ứng d ụng Dữ li ệu đượ c đả m b ảo an toàn Dữ li ệu ít d ư th ừa bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 6
- 1.3. Đị nh nghĩa Cơ s ở dữ li ệu Cơ sở dữ li ệu là tập hợp dữ li ệu đượ c tổ ch ức theo một cấu trúc ch ặt ch ẽ nh ằm ph ục vụ (chia sẻ) cho nhi ều mục tiêu khác nhau một cách có ch ọn lọc Ví dụ: –Cơ sở dữ li ệu nhân viên –Cơ sở dữ li ệu hàng hóa –Cơ sở dữ li ệu khách hàng – .v.v. Hệ cơ sở dữ li ệu gồm 4 thành ph ần: CSDL, Ng ườ i sử dụng, Ph ần mềm, Ph ần cứng bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 7 1.4. Hệ quản tr ị c ơ s ở dữ li ệu Đị nh ngh ĩa –Hệ qu ản tr ị c ơ s ở d ữ li ệu ( DBMS – Database Management System ) là h ệ th ống ph ần m ềm cung c ấp công c ụ để xây d ựng CSDL, thao tác trên CSDL và ki ểm soát vi ệc truy xu ất trên CSDL Ví d ụ: – Microsoft Access – Microsoft SQL-Server – Oracle – DB2 bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 8
- 1.5. Ki ến trúc 3 l ớp c ủa CSDL bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 9 1.5. Ki ến trúc 3 l ớp c ủa CSDL (tt) Mức v ật lý (Physical Level) –Dữ li ệu gì và đượ c lưu tr ữ nh ư th ế nào ? ở đâu (đĩ a từ, băng từ, track, sector nào) ? Cần các ch ỉ mục gì ? – Vi ệc truy xu ất là tu ần tự (Sequential Access) hay ng ẫu nhiên (Random Access) đố i với từng lo ại dữ li ệu. – Nh ững ng ườ i hi ểu và làm vi ệc với CSDL tại mức này là ng ườ i qu ản tr ị CSDL (Administrator), nh ững ng ườ i sử dụng (NSD) chuyên môn. bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 10
- 1.5. Ki ến trúc 3 l ớp c ủa CSDL (tt) Mức quan ni ệm (Conceptual/Logical Level) – Gi ải quy ết cho câu hỏi CSDL cần ph ải lưu gi ữ bao nhiêu lo ại dữ li ệu ? Đó là nh ững dữ li ệu gì ? Mối quan hệ gi ữa các lo ại dữ li ệu này nh ư th ế nào ? – CSDL mức quan ni ệm là sự bi ểu di ễn tr ừu tượ ng CSDL mức vật lý. CSDL mức vật lý là sự cài đặ t cụ th ể của CSDL mức quan ni ệm Mức ngoài (External Level) – Là mức dành cho ng ườ i sử dụng (ươ ng trình ứng dụng) làm vi ệc. – Cung cấp các "khung nhìn" (View ) để tùy theo đó ng ườ i sử dụng đượ c "nhìn th ấy" cái gì của CSDL bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 11 1.5. Ki ến trúc 3 l ớp c ủa CSDL (tt) External view 1 External view 2 Sno FName LName Age Salary Staff_no LName Bno Conceptual level Staff_No FName LName DOB Salary Branch_No struct STAFF { int Staff_No; int Branch_No; char FName [15]; Internal level char LName [15]; struct date Date_of_Birth; float Salary; struct STAFF *next; }; index Staff_No; index Branch_No bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 12
- Các mức nhìn (levels) Mức khung nhìn/ngoài: là các góc nhìn khác nhau của các nhóm ng ườ i s ử d ụng v ề CSDL. M ỗi nhóm ng ườ i dùng có m ột góc nhìn (view) khác nhau v ề CSDL Mức quan ni ệm (Conceptual level) : là m ức nhìn t ổng th ể v ề CSDL, đây là góc nhìn c ủa ng ườ i có trách nhi ệm qu ản tr ị CSDL. Mức v ật lý / trong (Physical / Internal level): là m ức t ổ ch ức v ật lý c ủa d ữ li ệu trong CSDL, đây là góc nhìn của nh ững nhà phát tri ển ( deverlopers ) CSDL bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 13 1.6. Độc l ập dữ li ệu Độ c l ập logic: – Các thay đổ i l ượ c đồ quan ni ệm (thêm/xóa th ực th ể) thì không làm ảnh h ưở ng t ới l ượ c đồ ngoài hay ph ải vi ết lại ch ươ ng trình ứng d ụng Độ c l ập v ật lý: – Các thay đổ i c ủa l ượ c đồ v ật lý (vd: thay đổ i cách th ức tổ ch ức d ữ li ệu) không làm thay đổ i l ượ c đồ quan ni ệm. bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 14
- 1.6. Độc l ập dữ li ệu (tt) External External External Schemea Schemea Schemea External/Conceptual Logical data independence mapping Conceptual Schemea Conceptual/Internal Physical data independence mapping Internal Schemea bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 15 1.7. Mô hình dữ li ệu Đị nh ngh ĩa mô hình d ữ li ệu: – Là mô hình tr ừu tượ ng dùng để mô tả dữ li ệu và ph ươ ng th ức (phép toán) truy xu ất dữ li ệu – Có nhi ều lo ại mô hình dữ li ệu khác nhau (để mô tả dữ li ệu trong CSDL), mỗi lo ại đự c tr ưng cho một cách ti ếp cận khác nhau của các nhà phân tích Các lo ại mô hình dữ li ệu – Mô hình phân cấp (Hierarchical model ) – Mô hình mạng (network model ) – Mô hình quan hệ (relation model ) – Mô hình th ực th ể liên kết (entity–relatiship model ) – Mô hình hướ ng đố i tượ ng (object oriented model ) bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 16
- Ví dụ mô hình phân c ấp KQua Mức 1: DiemTH DiemLT HPhan SVien Mức 2: TenHP SLuong TenSV Lop Nganh - Khi truy xuất: Đi từ gốc đến phần tử cần xét MHoc Mức 3: TenMH Khoa TinChi bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 17 Ví dụ mô hình mạng SVien MHoc MHOC_SAU MHOC_MO MHOC_TRUOC SVIEN_DIEM HPhan DKien KQUA_HPHAN KQua - Kiểu liên kết đi từ mẫu tin chủ (owner record) đến mẫu tin thành viên (member) bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 18
- Ví dụ mô hình quan hệ SVien Hoc HPhan MaSV MaSV MaHP Ten MaHP SLuong Lop DiemLT MaMH Nganh DiemTH MHoc DKien MaMH MaMH TenMH MaMHTruoc Khoa TinChi bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 19 Ví dụ mô hình hướng đối t ượng SVien Ten HPhan Lop hoc Ten Nganh SLuong 1 * 0 * LapTKB() InBangDiem() 1 Diem mo DiemTH DiemLT DiemPrj 0 * SuaDiem() MHoc Ten Khoa +MHoc truoc SoTinChi 0 * CapNhatSTC() 0 * Dieu kien +MHoc sau bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 20
- VD mô hình Entity-Relationship (ER) Diem MaHP Hocky (0,n) (1,1) Nam Gvien hoc HPhan mo mhoctruoc MaSV (1,n) MaMH (0,n) Ten TenMH Lop SVien Khoa MHoc Nganh Tinchi (0,n) dieukien (0,n) mhocsau bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 21 Mô hình hóa nhi ều c ấp Th ực tế Mô hình quan - Độ c lập với mô hình dữ li ệu ni ệm - Độ c lập với DBMS Mô hình Lôgic - Ph ụ thu ộc mô hình dữ li ệu Codasyl Relationnel Object XML - Ph ụ thu ộc DBMS -Tổ ch ức v ật lý c ủa d ữ li ệu Mô hình v ật lý Ph ụ thu ộc mô hình dữ li ệu -Cấu trúc c ủa d ữ li ệu Ph ụ thu ộc DBMS - Các c ấu trúc ch ỉ m ục bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 22
- Ki ến trúc chung DBMS Pgrogramers Users DBA Application Queries Database programs schema DBMS DML Query DDL preprocessor preprocessor Compiler Program Database Dictionary Object code manager manager Access methods File manager System buffers Database and system catalog bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 23 Các chức năng c ủa DBMS Lưu tr ữ, tìm ki ếm, c ập nh ật Qu ản tr ị siêu c ơ s ở d ữ li ệu (Meta Databases/Catalog) Hỗ tr ợ giao tác Xử lý truy xu ất đồ ng th ời Đả m b ảo an toàn d ữ li ệu Xử lý khôi ph ục sau s ự c ố Qu ản lý l ưu tr ữ v ật lý bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 24
- Các vai trò trong CSDL Qu ản tr ị d ữ li ệu (DA) Qu ản tr ị C ơ s ở d ữ li ệu (DBA) Thi ết k ế CSDL (Database design) Lập trình viên ứng d ụng Ng ườ i s ử d ụng bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 25 Ưu điểm c ủa DBMS Ki ểm soát s ự d ư th ừa d ữ li ệu Dữ li ệu nh ất quán Có nhi ều thông tin h ơn t ừ cùng 1 kh ối l ượ ng d ữ li ệu Chia s ẻ d ữ li ệu Cải thi ện tính nh ất quán c ủa d ữ li ệu Cải ti ến độ an toàn Đạ t đượ c các yêu c ầu v ề chu ẩn hóa Kinh t ế h ơn bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 26
- Ưu điểm c ủa DBMS (tt) Cân b ằng các yêu c ầu có tranh ch ấp Kh ả n ăng truy xu ất và đáp ứng đượ c c ải thi ện Kh ả n ăng s ản xu ất đượ c c ải thi ện Cải thi ện vi ệc b ảo trì d ữ li ệu (do nó độ c l ập) Tăng kh ả n ăng truy xu ất đồ ng th ời Cải thi ện d ịch v ụ sao l ưu và khôi ph ục bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 27 Nhược điểm c ủa DBMS Ph ức t ạp Tốn không gian l ưu tr ữ Tốn chi phí mua DBMS Tốn chi phí cho ph ần c ứng b ổ sung thêm Tốn chi phí chuy ển đổ i Hi ệu n ăng đôi khi b ị gi ảm sút Kh ả n ăng b ị s ự c ố t ăng bangtqh@utc2.edu.vn Cơ s ở d ữ li ệu(Database) - Ch ươ ng 1 28
- bangtqh@utc2.edu.vn