Co so du lieu 2/20/2019 1 Chương 1 Tổng quan về CSDL Cơ sở dữ liệu Khoa CNTT ĐH KHTN TPHCM 2 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ế[.]
2/20/2019 Chương Tổng quan CSDL Nội dung chi tiết Giới thiệu Q trình phát triển Một số đặc tính CSDL Người sử dụng CSDL Kiến trúc HQT CSDL Các tính HQT CSDL Mơ hình liệu Ngôn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 2/20/2019 Giới thiệu Ví dụ: - Kinh doanh Ngân hàng tài Giáo dục Hành Giải trí … Dữ liệu Xử lý Thông tin Dữ liệu (Data) & Thông tin (Information) - Một mô tả đối tượng hoạt động • • • Tên, địa chỉ, số điện thoại khách hàng Thông tin bán hàng Đăng ký học phần - Dữ liệu tạo thơng tin • Báo cáo doanh thu Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Giới thiệu (tt) Cơ sở liệu (Database) - Một tập hợp có cấu trúc liệu có liên quan với • • • Danh sách sinh viên Niên giám điện thoại Danh mục đề án - CSDL phản ánh phần giới thực - CSDL thiết kế, xây dựng, lưu trữ với mục đích xác định (phục vụ cho ứng dụng/ người dùng) - Tập ngẫu nhiên liệu xem CSDL? Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 2/20/2019 Giới thiệu (tt) Hệ quản trị CSDL (Database Management System) - Tập hợp chương trình cho phép tạo trì CSDL - Một phần mềm hệ thống cho phép định nghĩa, xây dựng, xử lý chia sẻ liệu • • • • Định nghĩa – khai báo khung liệu với mô tả chi tiết liệu Xây dựng – lưu trữ liệu lên nhớ phụ Xử lý – truy vấn, cập nhật phát sinh báo cáo Chia sẻ – cho phép nhiều người dùng/ ứng dụng truy xuất đồng thời CSDL Một số hệ QTCSDL phổ biến: MySQL, Oracle, SQL Server, … Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 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 liệu Catalog Định nghĩa CSDL CSDL Hệ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 2/20/2019 Một ví dụ CSDL NHANVIEN DEAN HONV TENLOT TENNV MANV NGSINH MA_NQL PHG Tran Hong Quang 987987987 03/09/1969 987654321 Nguyen Thanh Tung 333445555 12/08/1955 888665555 Nguyen Manh Hung 666884444 09/15/1962 333445555 Tran Thanh Tam 453453453 07/31/1972 333445555 TENDA MADA DDIEM_DA PHONG San pham X San pham Y VUNG TAU NHA TRANG San pham Z TP HCM Tin hoc hoa 10 HA NOI PHANCONG MA_NVIEN SODA THOIGIAN 123456789 32.5 123456789 7.5 666884444 40.0 453453453 20.0 Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Một ví dụ CSDL (tt) Quản lý đề án công ty - Định nghĩa CSDL • • Cấu trúc bảng, bao gồm thành phần liệu kiểu liệu tương ứng Mối liên kết bảng - Xây dựng CSDL • Đưa liệu vào bảng - Xử lý CSDL • • Thực truy vấn: “Cho biết nhân viên thuộc phòng 5” Thự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ở liệu - Khoa CNTT - ĐH KHTN TPHCM 2/20/2019 Nội dung chi tiết Giới thiệu Q trình phát triển Một số đặc tính CSDL Người sử dụng CSDL Kiến trúc HQT CSDL Các tính HQT CSDL Mơ hình liệu Ngôn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Quá trình phát triển Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 10 2/20/2019 Quá trình phát triển (tt) Hạn chế - Dữ liệu bị trùng lắp, dư thừa • • Tốn không gian lưu trữ Tiềm tàng khả liệu không quán - Việc chia sẻ liệu bị hạn chế - Khó khơi phục - Tính bảo mật thấp Nhưng phù hợp với số ứng dụng - Kích cỡ ứng dụng nhỏ • Chỉ có liệu, khơng có xử lý liệu khác - Ít tốn chi phí • Vận hành hay bảo trì Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 12 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính CSDL - Tính tự mơ tả Tính độc lập Tính trừu tượng Tính qn Đa khung nhìn Người sử dụng CSDL Kiến trúc HQT CSDL Các tính HQT CSDL Mơ hình liệu Ngơn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 14 2/20/2019 Tính tự mơ tả (Self-Describing) Hệ CSDL khơng chứa thân CSDL mà cịn chứa định nghĩa đầy đủ CSDL Các định nghĩa lưu trữ catalog - Chứa thông tin cấu trúc, kiểu dạng thức lưu trữ thành phần liệu ràng buộc liệu Dữ liệu catalog gọi meta-data (data of data) Các CTƯD truy xuất đến nhiều CSDL nhờ thông tin cấu trúc lưu trữ catalog Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 15 Tính độc lập (Insulation) Vì định nghĩa cấu trúc CSDL lưu trữ catalog nên có thay đổi nhỏ cấu trúc ta khơng cần sửa lại chương trình Chương trình Độc lập Dữ liệu Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 16 2/20/2019 Tính trừu tượng (Abstraction) Hệ CSDL cho phép trình bày liệu mức trừu tượng cho phép, nhằm che bớt chi tiết lưu trữ thật liệu Trừu tượng hóa liệu - Mơ hình liệu • • • Đối tượng Thuộc tính đối tượng Mối liên hệ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 17 Tính quán (Consistency) Lưu trữ liệu thống - Tránh tình trạng trùng lắp thơng tin Có chế điều khiển truy xuất liệu hợp lý - Tránh việc tranh chấp liệu - Bảo đảm liệu thời điểm Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 18 2/20/2019 Đa khung nhìn (Multiple Views) Hệ CSDL cho phép nhiều người dùng thao tác lên CSDL Mỗi (nhóm) người dùng cung cấp cách nhìn (view) khác CSDL Một view - Một phần CSDL - Dữ liệu ảo tổng hợp từ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 19 Nội dung chi tiết Giới thiệu Q trình phát triển Một số đặc tính 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 HQT CSDL Các tính HQT CSDL Mơ hình liệu Ngơn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 20 2/20/2019 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 giám sát việc sử dụng CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 21 Thiết kế viên Chịu trách nhiệm - Lựa chọn cấu trúc phù hợp để lưu trữ liệu - Quyết định liệu cần lưu trữ Liên hệ với người dùng để nắm bắt yêu cầu đưa thiết kế CSDL thỏa yêu cầu Có thể nhóm DBA quản lý CSDL sau việc thiết kế hoàn tất Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 22 10 2/20/2019 Người dùng cuối Người sử dụng - Ít truy cập CSDL, cần thông tin khác lần truy cập dù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 cập nhật CSDL nhờ vào số chức xây dựng sẳn - Nhân viên Người sử dụng đặc biệt - Thông thạo HQT CSDL, tự xây dự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ở liệu - Khoa CNTT - ĐH KHTN TPHCM 23 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính CSDL Người sử dụng CSDL Kiến trúc HQT CSDL Các tính HQT CSDL Mơ hình liệu Ngơn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 24 11 2/20/2019 Kiến trúc HQT CSDL Kiến trúc lược đồ Mức Người dùng Người dùng Lược đồ Mức quan niệm … Một view CSDL cho nhóm người dùng Lược đồ ngồi n Ánh xạ (Ánh xạ quan niệm) Lược đồ quan niệm Ánh xạ quan niệm (Ánh xạ trong) Mức Toàn cấu trúc CSDL cho cộng đồng người sử dụng Lược đồ Cấu trúc lưu trữ vật lý Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 25 Kiến trúc HQT CSDL (tt) Độc lập liệu - Độc lập logic • Khả thay đổi lược đồ quan niệm mà không thay đổi lược đồ CTƯD - Độc lập vật lý • Khả thay đổi lược đồ mà không làm thay đổi lược đồ quan niệm lược đồ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 26 12 2/20/2019 Nội dung chi tiết Giới thiệu Q trình phát triển Một số đặc tính CSDL Người sử dụng CSDL Kiến trúc HQT CSDL Các tính HQT CSDL Mơ hình liệu Ngơn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 27 Các tính HQT CSDL Hạn chế trùng lắp liệu - Tích hợp nhu cầu liệu người dùng để xây dựng CSDL thống Chia sẻ liệu - Trong môi trường nhiều người dùng, HQT phải cho phép truy xuất liệu đồng thời Hạn chế truy cập không phép - Từng người dùng nhóm người dùng có tài khoản mật mã để truy xuất liệu Cung cấp nhiều giao diện - HQT cung cấp ngôn ngữ CSDL người dùng Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 28 13 2/20/2019 Các tính HQT CSDL (tt) Đảm bảo ràng buộc toàn vẹn - RBTV (Integrity Constraints) qui định cần thỏa mãn để đảm bảo liệu phản ánh ngữ nghĩa giới thực - Một số RB khai báo với HQT HQT tự động kiểm tra Một số RB khác kiểm tra nhờ CTƯD Khả lưu dự phòng gặp cố - Có khả khơi phục liệu có hư hỏng phần cứng phần mềm Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 29 Các tính HQT CSDL (tt) Các tính khác - Uyển chuyển • Khi nhu cầu cơng việc thay đổi, cấu trúc CSDL thay đổi, HQT cho phép thêm mở rộng cấu trúc mà không làm ảnh hưởng nhiều đến CTƯD - Giảm thời gian phát triển ứng dụng Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 30 14 2/20/2019 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính CSDL Người sử dụng CSDL Các tính HQT CSDL Kiến trúc HQT CSDL Mô hình liệu Ngơn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 31 Mơ hình liệu Bao gồm - Các khái niệm biểu diễn cấu trúc ràng buộc liệu - Các phép toán xử lý liệu Phân loại - Mơ hình mức cao - Mơ hình cài đặt - Mơ hình mức thấp Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 32 15 2/20/2019 Các loại mơ hình liệu Mơ hình mức quan niệm - Cung cấp khái niệm gần gũi với người dùng - Mơ hình phải tự nhiên 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 mức logic - Đưa khái niệm người dùng hiểu không xa với cách liệu tổ chức thật 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 vật lý - Đưa khái niệm mô tả chi tiết cách thức liệu lưu trữ máy tính Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 33 Ví dụ mơ hình ER MaHP Diem hoc (0,n) HPhan Hocky (1,1) Nam mo Gvien mhoctruoc MaSV Ten Lop (1,n) SVien Nganh MaMH TenMH Khoa Tinchi (0,n) MHoc (0,n) dieukien (0,n) mhocsau Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 34 16 2/20/2019 Ví dụ mơ hình đối tượng SVien Ten Lop Nganh hoc * * HPhan Ten SLuong LapTKB() InBangDiem() Diem DiemTH DiemLT DiemPrj mo * SuaDiem() MHoc Ten Khoa SoTinChi +MHoc truoc * CapNhatSTC() * +MHoc sau Dieu kien Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 35 Ví dụ mơ hình quan hệ SVien Hoc HPhan MaSV MaSV MaHP Ten MaHP SLuong Lop DiemLT MaMH Nganh DiemTH DKien MaMH MaMHTruoc MHoc MaMH TenMH Khoa TinChi Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 36 17 2/20/2019 Ví dụ mơ hình mạng MHoc SVien MHOC_SAU MHOC_MO MHOC_TRUOC SVIEN_DIEM HPhan DKien KQUA_HPHAN KQua Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 37 Ví dụ mơ hình phân cấp KQua Mức 1: DiemTH DiemLT SVien HPhan Mức 2: Mức 3: TenHP SLuong TenSV Lop Nganh MHoc TenMH Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM Khoa TinChi 38 18 2/20/2019 Nội dung chi tiết Giới thiệu Quá trình phát triển Một số đặc tính CSDL Người sử dụng CSDL Các tính HQT CSDL Kiến trúc HQT CSDL Mô hình liệu Ngơn ngữ CSDL Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 39 Ngôn ngữ CSDL Ngôn ngữ định nghĩa liệu (DDL – Data Definition Language) • Xác định lược đồ quan niệm Ngôn ngữ lưu trữ liệu (SDL – Storage Definition Language) • Ngơn ngữ định nghĩa lược đồ Ngơn ngữ định nghĩa khung nhìn (VDL – View Definition Language) • Ngơn ngữ định nghĩa lược đồ Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 40 19 2/20/2019 Ngôn ngữ CSDL (tt) Ngôn ngữ thao tác liệu (DML – Data Manipulation Language) • • • Cho phép truy xuất, thêm, xóa, sửa liệu Mức cao (phi thủ tục) Mức thấp (thủ tục) Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 41 Cơ sở liệu - Khoa CNTT - ĐH KHTN TPHCM 42 20