Bài giảng Nhập môn Cơ Sở Dữ Liệu: Chương1- Tổng quan về Cơ Sở Dữ Liệu
Giớithiệu
Ví dụ
- Kinhdoanh
- Ngânhàngvàtàichính
- Giáodục
- Hànhchính
- Giảitrí
-
Dữliệu(Data)
- Mộtmôtảhìnhthứcvềthôngtin vàhoạtđộng
y Tên, địachỉ, sốđiệnthoạicủa khách hàng
y Báo cáo doanh thu
y Đăng ký họcphần
ỏ về cấu trúc ta ít phải sửa lại chương trình Độc lập Chương trình Dữ liệu Nhập môn CSDL - Khoa CNTT 16 Tính trừu tượng Hệ CSDL cho phép trình bày dữ liệu ở một mức trừu tượng cho phép, nhằm che bớt những chi tiết lưu trữ thật của dữ liệu Trừu tượng hóa dữ liệu - Mô hình dữ liệu y Đối tượng y Thuộc tính của đối tượng y Mối liên hệ Nhập môn CSDL - Khoa CNTT 17 Tính nhất quán Lưu trữ dữ liệu thống nhất - Tránh được tình trạng trùng lặp thông tin Có cơ chế điều khiển truy xuất dữ liệu hợp lý - Tránh được việc tranh chấp dữ liệu - Bảo đảm dữ liệu luôn đúng tại mọi thời điểm Nhập môn CSDL - Khoa CNTT 18 Các cách nhìn dữ liệu Hệ CSDL cho phép nhiều người dùng thao tác lên cùng một CSDL Mỗi người đòi hỏi một cách nhìn (view) khác nhau về CSDL Một view là - Một phần của CSDL hoặc - Dữ liệu tổng hợp từ CSDL Nhập môn CSDL - Khoa CNTT 19 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính của CSDL Người sử dụng CSDL - Quản trị viên (Database Administrator - DBA) - Thiết kế viên (Database Designer) - Người dùng cuối (End User) Kiến trúc của HQT CSDL Các tính năng của HQT CSDL Các khái niệm Ngôn ngữ CSDL Nhập môn CSDL - Khoa CNTT 20 Quản trị viên Có trách nhiệm quản lý hệ CSDL - Cấp quyền truy cập CSDL - Điều phối và giám sát việc sử dụng CSDL Nhập môn CSDL - Khoa CNTT 21 Thiết kế viên Chịu trách nhiệm về - Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu - Quyết định những dữ liệu nào cần được lưu trữ Liên hệ với người dùng để nắm bắt được những yêu cầu và đưa ra một thiết kế CSDL thỏa yêu cầu này Có thể là 1 nhóm các DBA quản lý các CSDL sau khi việc thiết kế hoàn tất Nhập môn CSDL - Khoa CNTT 22 Người dùng cuối Người ít sử dụng - Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau trong mỗi lần truy cập và dùng những câu truy vấn phức tạp - Người quản lý Người sử dụng thường xuyên - Thường xuyên truy vấn và cập nhật CSDL nhờ vào một số các chức năng đã được xây dựng sẳn - Nhân viên Người sử dụng đặc biệt - Thông thạo về HQT CSDL, tự xây dựng những truy vấn phức tạp cho công việc - Kỹ sư, nhà khoa học, người phân tích, Nhập môn CSDL - Khoa CNTT 23 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính của CSDL Người sử dụng CSDL Kiến trúc của HQT CSDL Các tính năng của HQT CSDL Các khái niệm Ngôn ngữ CSDL Nhập môn CSDL - Khoa CNTT 24 Kiến trúc của HQT CSDL Kiến trúc 3 lược đồ Người dùng Lược đồ ngoài 1 Lược đồ ngoài n Lược đồ quan niệm Lược đồ trong Người dùng Ánh xạ ngoài/ Ánh xạ quan niệm Mức ngoài Mức quan niệm Mức trong Ánh xạ quan niệm/ Ánh xạ trong Nhập môn CSDL - Khoa CNTT 25 Kiến trúc của HQT CSDL (tt) Nhập môn CSDL - Khoa CNTT 26 Kiến trúc của HQT CSDL (tt) Mức trong (lược đồ trong) - Mô tả cấu trúc lưu trữ vật lý CSDL Mức quan niệm (lược đồ quan niệm) - Mô tả cấu trúc của toàn thể CSDL cho 1 cộng đồng người sử dụng, gồm thực thể, kiểu dữ liệu, mối liên hệ và ràng buộc - Che bớt các chi tiết của cấu trúc lưu trữ vật lý Mức ngoài (lược đồ ngoài) - Còn gọi là mức khung nhìn (view) - Mô tả một phần của CSDL mà 1 nhóm người dùng quan tâm đến và che dấu phần còn lại của CSDL đối với nhóm người dùng đó Nhập môn CSDL - Khoa CNTT 27 Kiến trúc của HQT CSDL (tt) Độc lập dữ liệu - Độc lập logic y Khả năng thay đổi lược đồ quan niệm mà không thay đổi lược đồ ngoài hoặc các chương trình ứng dụng - Độc lập vật lý y Khả năng thay đổi lược đồ trong mà không làm thay đổi lược đồ quan niệm cũng như lược đồ ngoài Nhập môn CSDL - Khoa CNTT 28 Kiến trúc của HQT CSDL (tt) Nhập môn CSDL - Khoa CNTT 29 Kiến trúc Client/Server Nhập môn CSDL - Khoa CNTT 30 Kiến trúc phân tán Nhập môn CSDL - Khoa CNTT 31 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính của CSDL Người sử dụng CSDL Kiến trúc của HQT CSDL Các tính năng của HQT CSDL Các khái niệm Ngôn ngữ CSDL Nhập môn CSDL - Khoa CNTT 32 Các tính năng của HQT CSDL Kiểm soát được tính dư thừa của dữ liệu - Tích hợp các nhu cầu dữ liệu của người dùng để xây dựng một CSDL thống nhất Chia sẻ dữ liệu - Trong môi trường đa người dùng, các HQT phải cho phép truy xuất dữ liệu đồng thời Hạn chế những truy cập không cho phép - Từng người dùng và nhóm người dùng có một tài khoản và mật mã để truy xuất dữ liệu Cung cấp nhiều giao diện - HQT cung cấp ngôn ngữ giữa CSDL và người dùng Nhập môn CSDL - Khoa CNTT 33 Các tính năng của HQT CSDL (tt) Đảm bảo các ràng buộc toàn vẹn - RBTV (Integrity Constraints) là những qui định cần được thỏa mãn để đảm bảo dữ liệu luôn phản ánh đúng ngữ nghĩa của thế giới thực - Một số ràng buộc có thể được khai báo với HQT và HQT sẽ tự động kiểm tra. - Một số ràng buộc khác được kiểm tra nhờ chương trình ứng dụng Khả năng sao lưu dự phòng khi gặp sự cố - Có khả năng khôi phục dữ liệu khi có sự hư hỏng về phần cứng hoặc phần mềm Nhập môn CSDL - Khoa CNTT 34 Các tính năng của HQT CSDL (tt) Các tính năng khác - Chuẩn hóa y Cho phép DBA định nghĩa và bắt buộc áp dụng một chuẩn thống nhất cho mọi người dùng - Uyển chuyển y Khi nhu cầu công việc thay đổi, cấu trúc CSDL rất có thể thay đổi, HQT cho phép thêm hoặc mở rộng cấu trúc mà không làm ảnh hưởng đến chương trình ứng dụng - Giảm thời gian phát triển ứng dụng - Tính khả dụng y Khi có một sự thay đổi lên CSDL, tất cả người dùng đều thấy được Nhập môn CSDL - Khoa CNTT 35 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính của CSDL Người sử dụng CSDL Các tính năng của HQT CSDL Kiến trúc của HQT CSDL Các khái niệm - Mô hình dữ liệu - Lược đồ - Thể hiện Ngôn ngữ CSDL Nhập môn CSDL - Khoa CNTT 36 Mô hình dữ liệu Mô hình dữ liệu (Data Model) bao gồm - Các khái niệm biểu diễn dữ liệu - Các phép toán xử lý dữ liệu Nhập môn CSDL - Khoa CNTT 37 Mô hình dữ liệu (tt) Mô hình mức cao - Cung cấp các khái niệm gần gũi với người dùng - Mô hình phải tự nhiên và giàu ngữ nghĩa - VD: mô hình thực thể kết hợp (ER), mô hình đối tượng Mô hình cài đặt - Đưa ra các khái niệm người dùng có thể hiểu được nhưng không quá xa với cách dữ liệu được tổ chức thật sự trên máy tính - VD: mô hình quan hệ, mô hình mạng, mô hình phân cấp Mô hình mức thấp (mô hình vật lý) - Đưa ra các khái niệm mô tả chi tiết về cách thức dữ liệu được lưu trữ trong máy tính Nhập môn CSDL - Khoa CNTT 38 Ví dụ mô hình ER SVien hoc HPhan mo MHoc dieukien Nganh MaSV Lop Diem (1,n) (0,n) Ten (1,1) mhoctruoc mhocsau (0,n) (0,n) Tinchi MaMH Khoa TenMH (0,n) Hocky GvienNam MaHP Nhập môn CSDL - Khoa CNTT 39 Ví dụ mô hình đối tượng SVien Ten Lop Nganh LapTKB() InBangDiem() Diem DiemTH DiemLT DiemPrj SuaDiem() HPhan Ten SLuong0..*1..* hoc MHoc Ten Khoa SoTinChi CapNhatSTC() 0..* 1 mo 0..* 0..* Dieu kien +MHoc truoc +MHoc sau Nhập môn CSDL - Khoa CNTT 40 Ví dụ mô hình quan hệ SVien MaSV Ten Lop Nganh Hoc MaSV MaHP DiemLT DiemTH HPhan MaHP SLuong MaMH MHoc MaMH TenMH Khoa TinChi DKien MaMH MaMHTruoc Nhập môn CSDL - Khoa CNTT 41 Ví dụ mô hình mạng SVien MHoc HPhan KQua DKien SVIEN_DIEM MHOC_MO MHOC_SAU MHOC_TRUOC KQUA_HPHAN Nhập môn CSDL - Khoa CNTT 42 Ví dụ mô hình phân cấp SVien TenSV Lop Nganh HPhan TenHP SLuong MHoc TenMH Khoa TinChi Mức 2: Mức 1: Mức 3: KQua DiemTH DiemLT Nhập môn CSDL - Khoa CNTT 43 Lược đồ Lược đồ CSDL (Database Schema) - Là các mô tả về cấu trúc và ràng buộc trên CSDL SVien Ten MaSV Nam Khoa TenMH MaMH TinChi KhoaMhoc MaMH MaMH_TruocDKien MaKH MaMHKHoc HocKy Nam GV MaKH MaSVKQua Diem Nhập môn CSDL - Khoa CNTT 44 Thể hiện Thể hiện CSDL (Database Instance) - Là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời điểm nào đó - Tình trạng của CSDL Ten MaSV Nam Khoa Son 17 1 CNTT Bao 8 2 CNTT SVien TenMH Nhap mon tin hoc Cau truc du lieu 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 Nhập môn CSDL - Khoa CNTT 45 Ngôn ngữ CSDL Ngôn ngữ định nghĩa dữ liệu (DDL – Data Definition Language) y Xác định ra lược đồ quan niệm Ví dụ CREATE TABLE employees ( id INTEGER PRIMARY KEY, first_name CHAR(50) null, last_name CHAR(75) not null, date_of_birth DATE null ); Nhập môn CSDL - Khoa CNTT 46 Ngôn ngữ CSDL (tt) Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language) y Cho phép truy xuất, thêm, xóa, sửa dữ liệu y Mức cao (phi thủ tục) y Mức thấp (thủ tục) Ví dụ - Các câu lệnh trọng SQL: SELECT, INSERT, UPDATE, và DELETE. - SELECT id, last_name FROM employees Nhập môn CSDL - Khoa CNTT 47 Ngôn ngữ CSDL (tt) Ngôn ngữ điều khiển giao dịch (Transaction Control Language - TCL) - Đảm bảo tính toàn vẹn dữ liệu khi thực hiện các tác vụ có sự thay đổi dữ liệu - Các câu lệnh SQL tương ứng: y COMMIT, ROLLBACK, và SAVEPOINT. Ngôn ngữ điều khiển dữ liệu (Data Control Language - DCL) - Cung cấp các tính năng bảo vệ cho các đối tượng của CSDL - Các câu lệnh SQL tương ứng: y GRANT và REVOKE. Nhập môn CSDL - Khoa CNTT 48 Tài liệu tham khảo Giáo trình CSDL - Chương 1, Database management system - Chapter 1 An introduction to Database System - Chapter 1, 2 Nhập môn CSDL - Khoa CNTT 49
File đính kèm:
- chap01.pdf