Bài giảng Cơ sở dữ liệu - Chương 1: Giới thiệu môn học Hệ cơ sở dữ liệu - Nguyễn Như Hoa

Mục tiêu môn học  Nắm được các khái niệm và tầm quan trọng của CSDL và hệ quản trị CSDL  Xây dựng được mô hình thực thể kết hợp  Xây dựng được mô hình CSDL quan hệ  Có khả năng hiện thực và khai thác CSDL bằng ngôn ngữ SQ

pdf46 trang | Chia sẻ: thanhle95 | Lượt xem: 656 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Chương 1: Giới thiệu môn học Hệ cơ sở dữ liệu - Nguyễn Như Hoa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giới thiệu môn học Hệ cơ sở dữ liệu Gv. Nguyễn Như Hoa nguyennhuhoa060@gmail.com nnhoa06.blogspot.com 1 Mục tiêu môn học  Nắm được các khái niệm và tầm quan trọng của CSDL và hệ quản trị CSDL  Xây dựng được mô hình thực thể kết hợp  Xây dựng được mô hình CSDL quan hệ  Có khả năng hiện thực và khai thác CSDL bằng ngôn ngữ SQL 2 Nội dung môn học Nội dung Số tiết Lý thuyết Số tiết Thực hành Chương 1: Giới thiệu Tổng quan 3 Chương 2: Mô hình thực thể kết hợp 6 Chương 3: Mô hình CSDL quan hệ 8 Chương 4: Ngôn ngữ SQL 1 60 Chương 5 : Chuẩn hóa CSDL 12 Tổng cộng 30 60 3 Kiểm tra & Đánh giá • Thi giữa kỳ : tự luận • Thi cuối kỳ : tự luận • Kiểm tra thường kỳ : 3 bài 4 Giáo trình và TLTK - Giáo trình : [1]. Hệ Cơ sở dữ liệu – Dương Tuấn Anh, Nguyễn Trung Trực – NXB ĐH Quốc Gia Tp HCM [2]. Giáo trình cơ sở dữ liệu Đại học Công Nghiệp – ThS Trần Đắc Phiến [3] Ramez Elmasri, Shamkant B. Navathe, 2011. Fundamentals of Database systems, 6th edition, Addison- Wesley. [4] Fred R. McFadden, Jeffrey A.Hoffer, Mary B.Prescott , 1999. Modern Database management, 5th edition, Addison Wisley . 5 Giáo trình và TLTK – Tài liệu tham khảo: [1] Các hệ CSDL lý thuyết và thực hành – Hồ Thuần, Hồ Cẩm Hà – Nhà xuất bản giáo dục, 2004. [2] Database Management Systems – Raghu Ramakrishnan & Johannes Gehrke, 3th edition, USA [3] Peter Rob, Carlos Coronel, Database Systems: Design, Implementation and Management, 4th Edition, Course Technology, 2000. [4] Philip M.Lewis, Arthur Bernstein, Michael Kifer, Databases and Transaction Processing , Addison Wesley, 2002. [5] Hector Garcia-Molina, Jeffrey D.Ullman, Jennifer Widom, Database Systems: the complete Book, 2000. 6 Chương 1 Tổng quan về CSDL và Hệ quản trị CSDL Giáo trình & Tài liệu tham khảo: 1. Ramez Elmasri, Shamkant B. Navathe, 2011. Fundamentals of Database systems, 6th edition, Addison-Wesley. 2. Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM 3. Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM 4. Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM Gv. Nguyễn Như Hoa 7 Nội dung chương 1 • Khái niệm về Cơ sở dữ liệu (DB) và Hệ quản trị cơ sở dữ liệu (DBMS) • Các mô hình dữ liệu • Các giai đoạn thiết kế Cơ sở dữ liệu 8 Giới thiệu (1) • Hoạt động của bất kỳ Tổ chức nào thường dẫn đến phát sinh dữ liệu, lưu trữ , xử lý và khai thác dữ liệu – Trường học : quản lý kết quả học tập, thời khóa biểu, đăng ký học phần, quản lý tài chính, thư viện, – Kinh doanh: quản lý bán hàng , kho hàng, mặt hàng, khách hàng, – Hành chính : quản lý nhân khẩu, đất đai, quản lý quỹ, . – ... 9 Giới thiệu (2) • Dữ liệu (data) – Một mô tả hình thức về Tổ chức và hoạt động của nó • Tên, địa chỉ, số điện thoại, của khách hàng • Tên, thời lượng, giáo viên, số lượng SV, ngày bắt đầu, của một khóa học • Mã số thẻ, tên, địa chỉ, số điện thoại, của độc giả (thư viện) • Thông tin (Information) – Dữ liệu đã qua xử lý 10 Giới thiệu (3) Dữ liệu 1 10273 Nguyễn Văn Hoà CDTH7 1996 2 00298 Nguyễn Minh Tâm CDTH7 1996 . . . 151 50542 Hồ Xuân Phương TCTH33 1997 152 50075 Lê Việt Dũng CNTH34 1995 DỮ LIỆU (DATA) THÔNG TIN (INFORMATION) X Ử LÝ 11 Giới thiệu (4) • Cơ sở dữ liệu (Database hay DB) – 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 (một tổ chức và hoạt động của nó) – 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 12 Giới thiệu (5) • Hệ quản trị CSDL (Database Management System hay DBMS) – 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 – Vd: SQL server, Oracle, Mysql, 13 Giới thiệu (6) • Hệ CSDL (Database System) Xử lý truy vấn Hệ QT CSDL Truy xuất dữ liệu CSDL Định nghĩa CSDL Người sử dụng Chương trình ứng dụng/Truy vấn Hệ CSDL Catalog 14 Một ví dụ về CSDL (1) MASV HOTEN MALOP 012022 Sơn TC3201 012023 Bảo TC3202 012024 Trang TC3203 MASV MAMH DIEM 012022 THVP 8 012022 CSDL 6 012022 CTDL 7 012023 THVP 9 012023 CSDL 8 012024 THVP 10 MAMH TENMH TINCHI THVP Nhập môn TH 4 CSDL Cấu trúc dữ liệu 4 CTDL Toán rời rạc 3 MALOP TENLOP KHOA TC3201 TCTH32A CNTT TC3202 TCTH32B CNTT TC3203 TCTH32C CNTT SINHVIEN LOP MONHOC KETQUA 15 Một ví dụ về CSDL (2) • Quản lý KQHT của Sinh viên của một trường học – Đị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 các sinh viên có điểm <5 môn THVP” • Thực hiện các phép cập nhật: “Chuyển sinh viên có mã 012022 sang lớp TCTH32B” 16 Một ví dụ về Hệ CSDL (1) Xử lý truy vấn MS SQL SERVER Truy xuất dữ liệu CSDL Sinhviên Định nghĩa CSDL Người sử dụng Chương trình Quản Lý KQHT của Sinh viên Hệ CSDL 17 Một ví dụ về Hệ CSDL (2) Xử lý truy vấn MS SQL SERVER Truy xuất dữ liệu CSDL Sinhviên Định nghĩa CSDL Người sử dụng Chương trình Quản Lý KQHT của Sinh viên Chương trình Y Chương trình X Hệ CSDL CSDL Y CSDL X 18 Một ví dụ về Hệ CSDL (3) 19 Quá trình phát triển (1) • Tiếp cận cũ : Tập tin (file) Hệ Thống Quản Lý Tập Tin Chương trình ứng dụng 1 Quản lý dữ liệu Chương trình ứng dụng 2 Quản lý dữ liệu Chương trình ứng dụng 3 Quản lý dữ liệu Tập tin Tập tin Tập tin Dữ liệu 20 Quá trình phát triển (2) • Tiếp cận cũ : Tập tin (file) – Các 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 21 Quá trình phát triển (3) • Tiếp cận hiện nay : Cơ sở dữ liệu (Database) Hệ Quản Trị CSDL Chương trình ứng dụng 1 Quản lý dữ liệu Chương trình ứng dụng 2 Quản lý dữ liệu Chương trình ứng dụng 3 Quản lý dữ liệu CSDL 22 Đặc tính của cách tiếp cận Cơ sở dữ liệu • Các đặc tính nổi bật – Tính tự mô tả – Tính trừu tượng dữ liệu – Tính độc lập giữa chương trình và dữ liệu – Tính nhất quán – Hỗ trợ nhiều cách nhìn dữ liệu và chia sẽ dữ liệu 23 Tính tự mô tả • Hệ QTCSDL không chỉ chứa bản thân CSDL mà còn chứa định nghĩa mô tả CSDL – Chứa các thông tin về cấu trúc và tổ chứ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 • Các định nghĩa mô tả CSDL được lưu trữ trong catalog • Dữ liệu trong catalog gọi là meta-data (data of data) Name Type Length Description MaSV Char 6 Mã sinh viên Hoten Char 30 Họ và tên sinh viên MaLop Char 7 Mã Lớp học Namsinh smallint Năm sinh 24 Tính trừu tượng • Hệ QTCSDL trình bày dữ liệu ở mức trừu tượng, che dấu những chi tiết lưu trữ và hiện thực của dữ liệu • Biểu diễn dữ liệu thông qua mô hình dữ liệu – Đối tượng – Thuộc tính của đối tượng – Mối liên hệ 25 Tính độc lập • Độc lập giữa chương trình ứng dụng và dữ liệu – Định nghĩa về cấu trúc data được lưu trữ trong DBMS catalog , tách biệt với chương trình ứng dụng -> có những thay đổi trong cấu trúc data không đòi hỏi thay đổi chương trình ứngdụng – Vd : Thêm mục dữ liệu “ngày sinh” vào các bản ghi SINHVIEN Độc lập Chương trình Dữ liệu 26 Tính nhất quán • Lưu trữ dữ liệu thống nhất và tập trung – Tránh được tình trạng trùng lắp thông tin 27 Hỗ trợ nhiều cách nhìn dữ liệu • Hệ QTCSDL 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 • Hệ QTCSDL sử dụng “view” – Một phần của CSDL hoặc – Dữ liệu tổng hợp từ CSDL 28 Chia sẽ dữ liệu dễ dàng • Dữ liệu phục vụ cho nhiều ứng dụng được lưu trữ tập trung và được chia sẻ dễ dàng qua hỗ trợ của hệ QTCSDL • Hệ QTCSDL có cơ chế cho phép truy xuất dữ liệu từ nhiều user đồng thời – 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 29 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) 30 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 31 32 Thiết kế viên • Chịu trách nhiệm về – Quyết định những dữ liệu nào cần được lưu trữ – Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu • Liên hệ với người dùng để nắm bắt được các yêu cầu và đưa ra một thiết kế CSDL thỏa yêu cầu 33 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 – Vd : 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 – Vd : 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 – Vd : Kỹ sư, nhà khoa học, người phân tích, 34 Mô hình dữ liệu • Thế giới thực được mô hình hóa • Một mô hình dữ liệu bao gồm – Một tập các khái niệm để mô tả và điều khiển dữ liệu, thể hiện các mối quan hệ và ràng buộc trên dữ liệu của một tổ chức – Các ký hiệu để trình bày mô hình, cho phép người thiết kế DB và users có thể đọc và hiểu về dữ liệu của tổ chức • Phân loại mô hình dữ liệu – Mô hình mức cao – Mô hình cài đặt – Mô hình mức thấp 35 Mô hình dữ liệu (tt) • Mô hình mức cao (mức khái niệm) – 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 (mức logic) – Đư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ức 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 36 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 Gvien Nam MaHP 37 Ví dụ mô hình đối tượng SVien Ten Lop Nganh LapTKB() InBangDiem() Diem DiemTH DiemLT DiemPrj SuaDiem() HPhan Ten SLuong 0..* 1..* hoc MHoc Ten Khoa SoTinChi CapNhatSTC() 0..* 1 mo 0..* 0..* Dieu kien +MHoc truoc +MHoc sau 38 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 39 Ví dụ mô hình mạng SVien MHoc HPhan KQua DKien SVIEN_DIEM MHOC_MO MHOC_SAU MHOC_TRUOC KQUA_HPHAN 40 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 41 Lược đồ CSDL (Schema) • Cấu trúc của CSDL gọi là schema (lược đồ csdl) • Hình vẽ biểu diễn schema gọi là schema diagram • Ví dụ: SVien Ten MaSV Nam Khoa TenMH MaMH TinChi Khoa Mhoc MaSV MaKH KQua Diem 42 Thể hiện của CSDL (Instance) • Dữ liệu/trạng thái của CSDL ở một thời điểm nào đó gọi là Instance • Còn gọi là 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 MaSV Diem 17 8 17 6 KQua MaKH 8 8 8 8 112 119 85 92 102 135 10 9 8 10 Các giai đoạn thiết kế cơ sở dữ liệu (1) Phụ thuộc HQT cụ thể Độc lập HQT Thế giới thực Phân tích yêu cầu Thiết kế mức quan niệm Thiết kế mức logic Thiết kế mức vật lý Các yêu cầu về dữ liệu Lược đồ quan niệm Lược đồ logic Lược đồ trong Hiện thực Chương trình ứng dụng Thiết kế Chương trình ứng dụng Phân tích chức năng Các yêu cầu về chức năng Các đặc tả chức năng 43 Các giai đoạn thiết kế cơ sở dữ liệu (2) Phụ thuộc HQT cụ thể Độc lập HQT Thế giới thực Phân tích yêu cầu Thiết kế mức quan niệm Thiết kế mức logic Thiết kế mức vật lý Các yêu cầu về dữ liệu Lược đồ quan niệm ( ERD ) Lược đồ logic (Relational DB shema ) Lược đồ trong ( Tables ) Giai đoạn 1 Giai đoạn 2 (*) Giai đoạn 3 (*) Giai đoạn 4 (*) Phạm vi của Môn học Hệ CSDL 44 Tóm tắt & Câu hỏi ? 45 DATABASE DBMS (hệ QT CSDL) MÔ HÌNH DỮ LIỆU Mô hình Quan hệ Mô hình đối tượng Mô hình ER Lược đồ CSDL Thể hiện CSDL Database Sytem (hệ CSDL) Các thuật ngữ • Database (DB) • Database Management System (DBMS) • Database System • Database Schema • Database Instance • Data model • Data & Metadata 46