Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL
Bạn đang xem 20 trang mẫu của tài liệu "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:
- co_so_du_lieu_chuong_1_tong_quan_ve_csdl.ppt
Nội dung text: Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL
- Nội dung môn học ¡ Chương 1: Tổng quan về CSDL ¡ Chương 2: Mô hình thực thể liên kết ¡ Chương 3: Mô hình dữ liệu quan hệ ¡ Chương 4: Đại số quan hệ ¡ Chương 5: Ngôn ngữ hỏi SQL ¡ Chương 6: Ràng buộc toàn vẹn ¡ Chương 7: Chuẩn hóa lược đồ quan hệ Giới thiệu phần mềm: DurianDatabase.exe Cơ sở dữ liệu - Database 1
- Đánh giá: ¡ Đồ án môn học (30%): Nộp bài tập & Điểm danh ¡ Thi hết môn (70%) Giảng viên: - Vũ Duy Linh - vdlinh@ctu.edu.vn Cơ sở dữ liệu - Database 2
- Chương 1 Tổng quan về CSDL
- 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 khái niệm ¡ Ngôn ngữ CSDL Cơ sở dữ liệu - Database 4
- Giới thiệu ¡ Ví dụ - Kinh doanh Thông tin - Ngân hàng và tài chính - Giáo dục Chọn lọc - Hành chính - Giải trí Dữ liệu - ¡ Dữ liệu (Data) - Một mô tả hình thức về thông tin và hoạt động Tên, địa chỉ, số điện thoại của khách hàng Báo cáo doanh thu Đăng ký học phần Cơ sở dữ liệu - Database 5
- Giới thiệu (tt) ¡ Cơ sở dữ liệu (Database) - Một tập hợp có cấu trúc của những dữ liệu có liên quan với nhau được lưu trữ trong máy tính Danh sách sinh viên Niên giám điện thoại Danh mục các đề án - Một CSDL biểu diễn một phần của thế giới thực (thế giới thu nhỏ) - CSDL được thiết kế, xây dựng, và lưu trữ với một mục đích xác định, phục vụ cho một số ứng dụng và người dùng - Tập ngẫu nhiên của các dữ liệu không thể xem là một CSDL Cơ sở dữ liệu - Database 6
- Giới thiệu (tt) ¡ Hệ quản trị CSDL (Database Management System) - Tập hợp các chương trình cho phép người sử dụng tạo ra và duy trì CSDL - Một phần mềm hệ thống cho phép định nghĩa, xây dựng và xử lý dữ liệu Định nghĩa – khai báo bộ khung dữ liệu cùng với các mô tả chi tiết về dữ liệu Xây dựng – lưu trữ dữ liệu lên bộ nhớ phụ Xử lý – truy vấn, cập nhật và phát sinh báo cáo ¡ ACCESS, SQL SERVER, ORACAL 10G Cơ sở dữ liệu - Database 7
- Giới thiệu (tt) ¡ Hệ CSDL (Database System) Người sử dụng/Lập trình viên Chương trình ứng dụng/Truy vấn HQT CSDL Xử lý truy vấn Truy xuất dữ liệu Định nghĩa Catalog CSDL CSDL Hệ CSDL Cơ sở dữ liệu - Database 8
- Một ví dụ về CSDL NHÂNVIÊN HONV TENLOT TENNV MANV NGSINH MA_NQL PHG Tran Hong Quang 987987987 03/09/1969 987654321 4 Nguyen Thanh Tung 333445555 12/08/1955 888665555 5 Nguyen Manh Hung 666884444 09/15/1962 333445555 5 Tran Thanh Tam 453453453 07/31/1972 333445555 5 ĐỀÁN TENDA MADA DDIEM_DA PHONG San pham X 1 VUNG TAU 5 San pham Y 2 NHA TRANG 5 San pham Z 3 TP HCM 5 Tin hoc hoa 10 HA NOI 4 PHÂNCÔNG MA_NVIEN SODA THOIGIAN 123456789 1 32.5 123456789 2 7.5 666884444 3 40.0 453453453 1 20.0 Cơ sở dữ liệu - Database 9
- Một ví dụ về CSDL (tt) ¡ Quản lý đề án của một công ty - Định nghĩa CSDL Cấu trúc bảng, bao gồm các thành phần dữ liệu và kiểu dữ liệu tương ứng - Xây dựng CSDL Đưa dữ liệu vào các bảng - Xử lý CSDL Thực hiện các truy vấn: “Cho biết những nhân viên thuộc phòng 5” Thực hiện các phép cập nhật: “Chuyển nhân viên Nguyễn Thanh Tùng sang phòng số 1” Cơ sở dữ liệu - Database 10
- 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 khái niệm ¡ Ngôn ngữ CSDL Cơ sở dữ liệu - Database 11
- Quá trình phát triển ¡ Tập tin (File) Chương trình ứng dụng 1 Quản lý dữ liệu Tập Tin Hệ 1 Thống Chương trình ứng dụng 2 Quản Tập Quản lý dữ liệu Lý Tin Tập 2 Tin Chương trình ứng dụng 3 Tập Quản lý dữ liệu Tin Dữ liệu 3 Cơ sở dữ liệu - Database 12
- Quá trình phát triển (tt) ¡ Hạn chế - Dữ liệu bị trùng lắp và dư thừa - Thiếu tính nhất quán giữa các dữ liệu - Khó khăn trong việc truy xuất - Việc chia sẻ dữ liệu bị hạn chế - Khó khôi phục Cơ sở dữ liệu - Database 13
- Quá trình phát triển (tt) ¡ Cơ sở dữ liệu (Database) Chương trình ứng dụng 1 Quản lý dữ liệu Hệ Chương trình ứng dụng 2 Quản Quản lý dữ liệu Trị CSDL CSDL Chương trình ứng dụng 3 Quản lý dữ liệu Cơ sở dữ liệu - Database 14
- 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 - Tính tự mô tả - Tính độc lập giữa chương trình và dữ liệu - Tính trừu tượng dữ liệu - Tính nhất quán - Các cách nhìn dữ liệu ¡ Người sử dụng CSDL ¡ Các khái niệm ¡ Ngôn ngữ CSDL Cơ sở dữ liệu - Database 15
- Tính tự mô tả ¡ Hệ CSDL không chỉ chứa bản thân CSDL mà còn chứa định nghĩa đầy đủ (mô tả) của CSDL ¡ Các định nghĩa được lưu trữ trong catalog - Chứa các thông tin về cấu trúc tập tin, kiểu và dạng thức lưu trữ của mỗi thành phần dữ liệu và những ràng buộc dữ liệu ¡ Dữ liệu trong catalog gọi là meta-data (data of data) ¡ Các CTƯD có thể truy xuất đến nhiều CSDL nhờ thông tin cấu trúc được lưu trữ trong catalog Cơ sở dữ liệu - Database 16
- Tính độc lập ¡ Vì định nghĩa về cấu trúc CSDL được lưu trữ trong catalog nên khi có thay đổi nhỏ về cấu trúc ta ít phải sửa lại chương trình Chương trình Độc lập Dữ liệu Cơ sở dữ liệu - Database 17
- 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 Đối tượng Thuộc tính của đối tượng Mối liên hệ Cơ sở dữ liệu - Database 18
- 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 Cơ sở dữ liệu - Database 19
- 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 Cơ sở dữ liệu - Database 20
- 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) ¡ Các khái niệm ¡ Ngôn ngữ CSDL Cơ sở dữ liệu - Database 21
- 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 Cơ sở dữ liệu - Database 22
- 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 Cơ sở dữ liệu - Database 23
- 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, Cơ sở dữ liệu - Database 24
- 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 khái niệm - Mô hình dữ liệu - Lược đồ - Thể hiện ¡ Ngôn ngữ CSDL Cơ sở dữ liệu - Database 25
- 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 Cơ sở dữ liệu - Database 26
- 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 Cơ sở dữ liệu - Database 27
- Ví dụ mô hình 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 Cơ sở dữ liệu - Database 28
- Ví dụ mô hình đố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 Cơ sở dữ liệu - Database 29
- 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 Cơ sở dữ liệu - Database 30
- 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) Cơ sở dữ liệu - Database 31
- 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 MHoc Mức 3: TenMH Khoa TinChi - Khi truy xuất: Đi từ gốc đến phần tử cần xét Cơ sở dữ liệu - Database 32
- 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 Mhoc TenMH MaMH TinChi Khoa DKien MaMH MaMH_Truoc KHoc MaKH MaMH HocKy Nam GV KQua MaKH MaSV Diem Cơ sở dữ liệu - Database 33
- 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 Mhoc TenMH MaMH TinChi Khoa KQua MaSV MaKH Diem Nhap mon tin hoc COSC1310 4 CNTT 17 112 8 Cau truc du lieu COSC3320 4 CNTT 17 119 6 8 85 10 Toan roi rac MATH2410 3 TOAN 8 92 9 Co so du lieu COSC3380 3 CNTT 8 102 8 8 135 10 SVien Ten MaSV Nam Khoa DKien MaMH MaMH_Truoc Son 17 1 CNTT COSC3380 COSC3320 Bao 8 2 CNTT COSC3380 MATH2410 COSC3320 COSC3380 Cơ sở dữ liệu - Database 34
- Ngôn ngữ CSDL ¡ Ngôn ngữ định nghĩa dữ liệu (DDL – Data Definition Language) 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 ); Cơ sở dữ liệu - Database 35
- Ngôn ngữ CSDL (tt) ¡ Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language) Cho phép truy xuất, thêm, xóa, sửa dữ liệu Mức cao (phi thủ tục) 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 Cơ sở dữ liệu - Database 36
- 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: 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: GRANT và REVOKE. Cơ sở dữ liệu - Database 37
- Cơ sở dữ liệu - Database 38