Nội dung chương Chương Đại cương hệ sở liệu Ng ễn Hồng Phương Nguyễn phuongnh@soict.hut.edu.vn http://is.hut.edu.vn/~phuongnh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin Truyền thông Đại học Bách Khoa Hà Nội • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm niệm, khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 1.1 Các hệ thống xử lý tệp truyền thống Các hệ thống xử lý tệp truyền thống • Mỗi chương trình ứng dụng định nghĩa quản lý tệp liệu riêng • Trước xuất phần mềm hệ quản trị CSDL, khứ hệ thống sở tệp tạo lập để xử lý số lượng lớn liệu • Bước khởi đầu q trình tin học hóa doanh nghiệp • Tập trung vào nhu cầu xử lý liệu phòng riêng lẻ tổ chức mà không khô xem xét é tổng ổ thể hể tổ ổ chức • Viết chương trình ứng dụng đơn lẻ, khơng có kế hoạch, khơng có mơ hình hướng đến tăng trưởng Hạn chế hệ thống xử lý tệp truyền thống • • • • • • Nội dung chương Dư thừa không quán liệu Khó khăn truy nhập liệu Cô lập hạn chế chia sẻ liệu Các vấn đề an toàn toàn vẹn Các vấn đề độ tin cậy Sự phụ thuộc liệu chương trình ứng dụng • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm, niệm khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL SinhVienZone.com https://fb.com/sinhvienzonevn Ví dụ quản lý đào tạo 1.2 Các hệ sở liệu • Thơng tin cần quan tâm • CSDL (database) ? • Tại phải sử dụng CSDL ? • Tại phải tìm hiểu hệ CSDL (d t b (database systems) t )? – Khóa học, lớp học, sinh viên, giáo viên, mơn học,… – Thông tin sinh viên: thông tin cá nhân,, thông g tin học ọ tập,… ập, – Thông tin môn học: khối lượng, giáo viên, lịch học,… • Cần lưu trữ thông tin đa dạng Cơ sở liệu Ví dụ: khai thác thơng tin “Hình dung” xây dựng CSDL • Sinh viên • u cầu – Các mơn học Viện Công nghệ thông tin Truyền thông? – Điểm thi môn “Hệ sở liệu” ? – Lưu trữ thơng tin cần thiết cách xác – Truy xuất thơng tin hiệu • Thực • Giáo viên – Xá Xác định đị h yêu ê cầu ầ nghiệp hiệ vụ – Xác định thông tin cần lưu trữ – Xác định cách thức lưu trữ – Danh sách sinh viên lớp Tin2-K49 ? – Thời khóa biểu lớp Tin2-K49 ? • Giáo vụ • Cần công cụ trợ giúp xây dựng CSDL – Danh sách sinh viên K47 tốt nghiệp loại giỏi ? Phần mềm quản trị CSDL Phần mềm ứng dụng Các khái niệm ứng dụng 10 Cơ sở liệu (database) • Là tập hợp liệu – Biểu diễn vài khía cạnh giới thực – Có liên hệ logic thống – Được thiết kế bao gồm liệu phục vụ mục đích hệ CSDL CSDL • Là sưu tập liệu tác nghiệp lưu trữ lại hệ ứng dụng xí nghiệp cụ thể sử dụng Hệ QTCSDL 11 12 SinhVienZone.com https://fb.com/sinhvienzonevn Hệ quản trị sở liệu Hệ sở liệu (Database Management System System DBMS) • Là hệ thống phần mềm cho phép – Định nghĩa, tạo lập: xác định kiểu, cấu trúc, ràng buộc liệu, lưu trữ liệu ê thiết h ế bị b nhớ hớ – Thao tác: truy vấn, cập nhật, kết xuất,… CSDL cho ứng dụng khác • Là hệ thống gồm thành phần – Hệ quản trị CSDL – Phần cứng – CSDL phần mềm ứng dụng – Những người sử dụng • Ví dụ: Hệ quản lý đào tạo, hệ quản lý nhân sự, hệ quản lý kinh doanh,… • Ví dụ: MS SQL Server, DB2, MS Access, Oracle, FoxPro,… 13 Hệ CSDL 14 Các tính hệ quản trị CSDL • Quản lý liệu tồn lâu dài Hệ CSDL – Định nghĩa liệu – Quản lý lưu trữ Ứng dụng • Truy T xuất ất liệu liệ ột cách h hiệu hiệ ả – Biểu diễn thao tác liệu – Xử lý câu hỏi – Quản trị giao dịch Hệ Quản Trị CSDL CSDL CSDL 15 Các tính hệ quản trị CSDL • Hỗ trợ mơ hình liệu • Đảm bảo tính độc lập liệu • Hỗ trợ ngơn ngữ cấp cao định ị cho p phép p người g sử dụng ụ g định ị nghĩa cấu trúc liệu, truy nhập thao tác liệu • Điều khiển truy nhập • Phục hồi liệu 16 Các ngơn ngữ • Ngơn ngữ định nghĩa Definition Language - DDL) liệu (Data – Cấu trúc liệu – Mối liên hệ liệu quy tắc, ràng buộc áp đặt lên liệu • Ngơn ngữ thao tác liệu M i l ti Manipulation L Language - DML) (Data • Ngơn ngữ điều khiển Control Language - DCL) (Data – Tìm kiếm, thêm, xóa, sửa liệu CSDL liệu – Thay đổi cấu trúc bảng liệu – Khai báo bảo mật thông tin – Quyền hạn người dùng khai thác CSDL 17 18 SinhVienZone.com https://fb.com/sinhvienzonevn Tương ứng mức với ngơn ngữ Pascal Sự trừu tượng hóa liệu Khung nhìn Type khach_hang = record ten:string; Khung nhìn n Mức khung nhìn (ngồi) ngay_sinh:string; dia_chi:string; mơ tả cách mà người sử dụng nhìn thấy liệu Sơ đồ khái niệm (logic) định nghĩa cấu trúc logic liệu, liệu lưu trữ mối quan hệ liệu Mức quan niệm (logic) định nghĩa cấu trúc tệp dẫn sử dụng sở liệu (cách lưu trữ liệu nào) Sơ đồ (vật lý) Mức lưu trữ (trong) end; • Mức vật lý: ghi khach_hang mô tả hư ột khối nhớ, hớ chương hươ t ì h dịch trình dị h che h dấu dấ chi tiết mức người lập trình • Mức logic: ghi mơ tả định nghĩa kiểu, người lập trình sử dụng ngơn ngữ lập trình làm việc mức trừu tượng • Mức khung nhìn: người sử dụng máy tính thấy tập chương trình ứng dụng, che dấu chi tiết kiểu liệu 19 Kiến trúc hệ quản trị CSDL Các thay đổi sơ đồ Các truy vấn Bộ xử lý câu hỏi – lưu trữ truy xuất liệu thiết bị nhớ Bộ quản trị giao dịch g ị • Thực – Tìm kiếm liệu trả lời cho yêu cầu truy vấn Siêu liệu (metadata) Quản lý buffer Quản lý tệp (từ điển liệu) 21 Quản lý giao dịch Data & index (chỉ mục) 22 Quản trị giao dịch Bộ xử lý câu hỏi Bộ biên dịch Bộ tối ưu Bộ đánh giá • Thực – Biến đổi ổ truy vấn mức cao thành yêu cầu hiểu hệ CSDL – Lựa chọn kế hoạch tốt để trả lời truy vấn Bộ quản lý lưu trữ – Tổ chức tối ưu liệu thiết bị nhớ – Tương tác hiệu Metadata & với quản lý tệp Data dictionary Xử lý câu hỏi • Yêu cầu Quản lý lưu trữ • Yêu cầu Các thay đổi liệu Bộ quản lý lưu trữ Dữ liệu (data) 20 Bộ quản lý lưu trữ Metadata & Data dictionary Data & index • Yêu cầu – Định nghĩa giao dịch: tập thao tác xử lý đơn vị không chia căt – Đảm bảo tính đắn ắ tính quán liệu • Thực – Quản lý điều khiển tương tranh – Phát lỗi phục hồi CSDL 23 24 SinhVienZone.com https://fb.com/sinhvienzonevn Người dùng Người dùng • Người thiết kế cài đặt hệ QTCSDL: chịu trách nhiệm thiết kế cài đặt module hệ QTCSDL giao diện hình thức gói phần mềm • Người phát triển cơng cụ: chịu trách nhiệm thiết kế cài đặt gói phần mềm hỗ trợ cho việc thiét kê, sử dụng tăng cường hiệu hệ CSDL • Người phân tích hệ thống phát triển ứng dụng: chịu trách nhiệm xác định yêu cầu người dùng cuối, xác định giao dịch cần thiết để đáp ứng yêu cầu người dùng Người lập trình ứng dụng cài đặt yêu cầu chương hươ t ì h kiểm trình, kiể thử gỡ thử, ỡ rối, ối lập lậ tài liệu liệ cho h chương trình • Người thiết kế CSDL: chịu trách nhiệm xác định liệu lưu trữ CSDL cấu trúc biểu diễn lưu trữ liệu 25 26 Nội dung chương Người dùng • Người sử dụng cuối: người khai thác hệ CSDL • Người quản trị CSDL: chịu trách nhiệm cho phép p p truy y nhập ập CSDL,, điều p phối kiểm tra sử dụng CSDL, quản lý tài nguyên phần cứng phân mềm cần thiết • Người bảo trì hệ thống: người quản trị hệ thống chịu trách nhiệm việc hoạt động bảo trì môi trường (phần cứng phần mềm) cho hệ CSDL • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm, niệm khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 27 28 Các hệ CSDL tập trung 1.3 Phân loại hệ CSDL • Hệ CSDL cá nhân: người sử dụng đơn lẻ vừa thiết kế, tạo lập CSDL, cập nhật, bảo trì liệu, lập hiển thị báo cáo • Mơ hình liệu – Mạng vs phân cấp vs quan hệ vs hướng đối tượng vs đảm nhiệm vai trò: người quản trị CSDL, người viết chương trình ứng dụng, end end-user user • Số người sử dụng – Một người dùng vs nhiều người dùng • Hệ CSDL trung tâm: liệu lưu trữ máy tính trung tâm • Hệ CSDL khách-chủ: • Tính phân tán CSDL – Tập trung vs Phân tán • Tính thống liệu – Đồng vs Khơng đồng • 29 – Các máy tính trung tâm lớn đắt so với máy nhỏ máy trạm – Các ứng dụng máy khách truy nhập liệu quản lý máy chủ 30 SinhVienZone.com https://fb.com/sinhvienzonevn Các hệ CSDL tập trung (tiếp) Các hệ CSDL phân tán Hệ CSDL trung tâm Hệ CSDL cá nhân Hệ CSDL kháchchủ • CSDL phân tán? Là tập CSDL có quan hệ logic với trải nhiều trạm làm việc mạng máy tính • Có tính chất: q quan hệ ệ logic g p phân tán • Hệ QTCSDL phân tán: Là hệ thống phần mềm cho phép tạo lập CSDLPT điều khiển truy nhập CSDLPT • Chia loại: CSDLPT không 31 32 Kết luận Các hệ CSDLPT (tiếp) • CSDL cho phép lưu trữ khai thác liệu cách thống hiệu (đặc biệt trường hợp khối lượng liệu lớn) • Sự trừu tượng liệu tính độc lập liệu cho phép phát triển ứng dụng “dễ dàng hơn” • Hệ quản trị CSDL cung cấp công cụ hữu hiệu trợ giúp việc tạo lập CSDL phát triển ứng dụng 33 Sử dụng kiến thức môn học tương lai ‘‘More than 80 % of real world computer applications are associated with databases’’* * Korth Phát triển ứng dụng & Silberschatz Database System Concepts nghiên cứu phát triển Nghiên cứu 35 34 Các điểm cần lưu ý chương • Cách tiếp cận tệp vs cách tiếp cận CSDL • CSDL vs hệ ệQ QTCSDL vs hệ ệ CSDL • Kiến trúc mức hệ CSDL • Các chức hệ QTCSDL • Người sử dụng hệ CSDL • Phân loại hệ CSDL 36 SinhVienZone.com https://fb.com/sinhvienzonevn Lời hay ý đẹp Điều biết giọt nước, điều mênh mông đại dương Einstein 37 38 SinhVienZone.com https://fb.com/sinhvienzonevn ... tệp vs cách tiếp cận CSDL • CSDL vs hệ ệQ QTCSDL vs hệ ệ CSDL • Kiến trúc mức hệ CSDL • Các chức hệ QTCSDL • Người sử dụng hệ CSDL • Phân loại hệ CSDL 36 SinhVienZone. com https://fb .com/ sinhvienzonevn... máy chủ 30 SinhVienZone. com https://fb .com/ sinhvienzonevn Các hệ CSDL tập trung (tiếp) Các hệ CSDL phân tán Hệ CSDL trung tâm Hệ CSDL cá nhân Hệ CSDL kháchchủ • CSDL phân tán? Là tập CSDL có quan... gồm liệu phục vụ mục đích hệ CSDL CSDL • Là sưu tập liệu tác nghiệp lưu trữ lại hệ ứng dụng xí nghiệp cụ thể sử dụng Hệ QTCSDL 11 12 SinhVienZone. com https://fb .com/ sinhvienzonevn Hệ quản trị sở