Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 1: Tổng quan về hệ quản trị cơ sở dữ liệu - Nguyễn Trường Sơn
Dữ liệu trong
CSDL
cần có các đặc trưng:
– Ít hoặc không trùng lắp dữ liệu
– Chia
sẽ cho nhiều người dùng mà không gây ra xung đột
– An
ninh,
bảo mật
– Khôi phục khi có sự cố
– Độc lập dữ liệu
• Độc lập luận lý: Khả năng thay đổi lược đồ mức luận lý mà không lảm
ảnh hưởng đến lược đồ ngoài cũng như chương trình ứng dụng.
• Độc lập vật lý:
Khả năng thay đổi tổ chức vật lý của
CSDL
mà không làm
ảnh hưởng đến lược đồ luận lý.
§ Vì vậy cần có một hệ thống quản lý hiệu quả dữ liệu trong
CSDL.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 1: Tổng quan về hệ quản trị cơ sở dữ liệu - Nguyễn Trường Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 1: Tổng quan về hệ quản trị cơ sở dữ liệu - Nguyễn Trường Sơn
LOGO HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU GVLT: Nguyễn Trường Sơn Chương 1: TỔNG QUAN VỀ HQT CSDL Nội dung Nội dung § Yêu cầu về dữ liệu trong CSDL § Khái niệm HQT CSDL § Kiến trúc của một HQT CSDL § Phân loại HQT CSDL Yêu cầu về dữ liệu trong CSDL § Dữ liệu trong CSDL phải được thể hiện ở các mức độ trừu tượng khác nhau (3 mức độ): – Mức ngoài (External level) • Mô tả một phần của CSDL mà một đối tượng / một nhóm người dùng được quyền tiếp cận – Mức luận lý (Logic level) • Mô tả những thông tin gì được lưu trữ trong CSDL và những mối quan hệ giữa những thông tin đó – Mức vật lý (Physical level) • Dữ liệu được lưu trữ như thế nào trên thiết bị lưu trữ. à Làm tăng tính độc lập (data independence) của cách thức lưu trữ dữ liệu, thiết kế dữ liệu và chương trình sử dụng dữ liệu. Yêu cầu về dữ liệu trong CSDL § Các mức độ trừu tượng của dữ liệu: External Schema 1 External Schema 2 External Schema 3 Logical Schema Physical Schema DISK Yêu cầu về dữ liệu trong CSDL § Dữ liệu trong CSDL cần có các đặc trưng: – Ít hoặc không trùng lắp dữ liệu – Chia sẽ cho nhiều người dùng mà không gây ra xung đột – An ninh, bảo mật – Khôi phục khi có sự cố – Độc lập dữ liệu • Độc lập luận lý: Khả năng thay đổi lược đồ mức luận lý mà không lảm ảnh hưởng đến lược đồ ngoài cũng như chương trình ứng dụng. • Độc lập vật lý: Khả năng thay đổi tổ chức vật lý của CSDL mà không làm ảnh hưởng đến lược đồ luận lý. § Vì vậy cần có một hệ thống quản lý hiệu quả dữ liệu trong CSDL. Lợi ích của tính độc lập dữ liệu § Độc lập luận lý: – Cho phép thêm bớt thuộc tính, bảng, các mối quan hệ mà không cần phải viết lại chương trình, ... § Độc lập vật lý: – Cho phép thay đổi thiết bị lưu trữ, cách thức lưu trữ, các cấu trúc dữ liệu, các tổ chức tập tin khác nhau, các kiểu tổ chức chỉ mục khác nhau, ... External Schema 1 Logical Schema Physical Schema DISK Khái niệm HQT CSDL § Là một hệ thống phần mềm cung cấp các công cụ để xây dựng, khai thác và quản lý cơ sở dữ liệu. – Xây dựng (Sử dụng ngôn ngữ DDL): Định nghĩa cấu trúc CSDL, lưu trữ dữ liệu – Khai thác (Sử dụng ngôn ngữ DML): Truy vấn dữ liệu, Cập nhật dữ liệu – Quản lý: • Quản lý an toàn và bảo mật • Điều khiển truy xuất đồng thời. • Khôi phục khi có sự cố. • § Một số HQTCSDL: MS SQL Server, Oracle, DB2, Các lợi ích của HQT CSDL § Độc lập dữ liệu § Truy cập dữ liệu hiệu quả § Toàn vẹn dữ liệu § An ninh dữ liệu § Truy xuất đồng thời § Khôi phục sau sự cố § Giảm thời gian phát triển ứng dụng § § § Lịch sử phát triển của các HQT CSDL Mô hình mạng Mô hình phân cấp Mô hình quan hệ Mô hình đối tượng No SQL Database SABRE system CODASYL IMS Ingres System R Ingres Corp MS SQL Server Sybase SQL/DS DB2 Allbase Oracle Non-‐Stop SQL Decade of RDBMS 1960s 1970s PostgreSQL dBASE MongoDB, Oracle NoSQL Database, Apache Cassandra , ... 1980s – 1990s 2000s QUEL Prototypes for ODBMS SEQUEL SQL Kiến trúc của một HQT CSDL Web forms Application Front Ends SQL Interface Plan Executor Parser Operator Evaluator Optimizer Files and Access methods Buffer Manager Disk Space Manager Recovery Manager Transaction Manager Lock Manager Query Evaluation EngineConcurency Control SQL COMMANDS DATABASES DBMS Unsophisticated users (customers, travel agents, etc.) Sophiscatedusers, application programmers, DB administrators Index files Data files System Catalog command flows interactions references Kiến trúc của một HQT CSDL § Các thành phần chính: Giao diện lập trình An ninh và bảo mật Xử lý truy xuất đồng thời Xử lý câu truy vấn Khôi phục sau sự cố Tổ chức quản lý lưu trữ Người sử dụng Thành phần Giao diện lập trình § HQTCSDL cung cấp giao diện lập trình dễ sử dụng với một ngôn ngữ lập trình CSDL: – Giao diện: tương tác dòng lệnh (command line), đồ họa (GUI) – Ngôn ngữ: SQL, T-SQL – VD: MS SQL Server cung cấp ngôn ngữ Transacion SQL (T-‐SQL) § Các loại ngôn ngữ sử dụng trong HQTCSDL: – Ngôn ngữ định nghĩa dữ liệu (DDL – Data Definition Language): Giúp người dùng ra lệnh cho HQTCSDL tạo ra các cấu trúc dữ liệu của CSDL (Cách tổ chức dữ liệu và mối liên hệ giữa các đối tượng dữ liệu). – Ngôn ngữ thao tác CSDL (DML – Data Manupulation Language) : Giúp người dùng tích luỹ, hiệu chỉnh và khai thác dữ liệu Thành phần An ninh và bảo mật § Bảo mật dữ liệu: HQTCSDL hỗ trợ các tính năng về chứng thực, phân quyền giúp kiểm soát tốt những người dùng hợp pháp của hệ thống.. § An ninh dữ liệu: HQTCSDL hỗ trợ các phương pháp mã hóa dữ liệu để ngăn chặn các tấn công của những đối tượng tin tặc (đánh cắp thông tin trên đường truyền, đánh cắp nội dung CSDL). Thành phần Khôi phục sau sự cố § Mục tiêu: Đảm bảo sự tổn thất, sai sót về mặt dữ liệu là ít nhất có thể. § Cách tiếp cận: Để đảm bảo tính bền vững của CSDL, mọi thay đổi lên CSDL phải được ghi nhận lại trong nhật ký (Log) § Các thành phần hỗ trợ quá trình khôi phục sau sự cố: – Bộ phận quản lý nhật ký (Log manager) : đảm bảo ghi nhận đầy đủ và chính xác mọi thay đổi trên CSDL vào nhật ký. – Bộ phận quản lý khôi phục sự cố (Recovery Manager): dựa vào nhật ký để phục hồi lại CSDL về trạng thái nhất quán trước đó (Trạng thái thoả tất cả RBTV của CSDL) Xử lý truy xuất đồng thời § Mục tiêu: – Đảm bảo các xử lý có thể được thực hiện đồng thời mà làm không làm cho dữ liệu bị mất tính nhất quán (vi phạm các ràng buộc toàn vẹn) § Các thành phần con: Bộ phận quản lý giao tác (Transaction Manager & Locking Manager) § Phương pháp: – Sử dụng khái niệm giao tác (transaction) để biểu diễn một đơn vị xử lý, một giao tác bao gồm các hành động mà được thực hiện tòn bộ hoặc không có hành động nào được thực hiện. – Bộ lập lịch (scheduler) có nhiệm vụ lập 1 lịchthực hiện từ n giao tác không tách biệt về thời gian sao cho kết quả không vi phạm tính nhất quán của CSDL. – Sử dụng cơ chế khóa (lock) để khóa các đơn vị dữ liệu nào đó khi cần à ngăn 2 giao tác cùng thao tác lên 1 đơn vị dữ liệu ấy tại cùng 1 điểm à Hỗ trợ để lập lịch. -------- -------- -------- -------- T Điều khiển đồng thời (tt) SERVER CLIENT 1 CLIENT 3 CLIENT 2 --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- LỊ CH Đ Ồ N G TH Ờ I LỊ CH T U ẦN T Ự T1 T2 T3 --- --- --- --- --- --- Điều khiển đồng thời (tt) § Vấn đề deadlock – Do sử dụng cơ chế khóa nên các giao tác sẽ phải chờ khi cần truy xuất 1 đơn vị dữ liệu đang bị khóa. – Tình huống chờ vĩnh viễn mà vẫn không được truy xuất đơn vị dữ liệu bị khóa gọi là Deadlock (khoá chết) • Các giao tác chờ đợi lẫn nhau để được cấp phát tài nguyên và không giao tác nào có thể hoàn tất. – Thành phần quản lý giao tác sẽ phải can thiệp vào: • Hoặc hủy bỏ một trong các giao tác gây deadlock • Hoặc ngăn chặn từ trước để không bao giờ sảy ra deadlock Xử lý truy vấn § Biểu diễn câu truy vấn ở dạng ngôn ngữ cấp cao (SQL) và thực hiện câu truy vấn có hiệu quả. § Query compiler – biên dịch truy vấn Query parser Query preprocessor Query optimizer – Xây dựng cấu trúc phân tích câu truy vấn dưới dạng cây – Kiểm tra ngữ nghĩa của câu truy vấn – Chuyển đổi cấu trúc cây sang ngôn ngữ đại số quan hệ – Sắp xếp các phép toán nhằm mục đích tối ưu hóa câu truy vấn Quản lý lưu trữ § Thành phần có nhiệm vụ điều khiển việc đọc/ghi dữ liệu qua lại giữa bộ nhớ và thiết bị lưu trữ § Làm việc với các khái niệm: – Tập tin dữ liệu – Từ điển dữ liệu • Lưu trữ các metadata (Siêu dữ liệu) về cấu trúc của CSDL, đặc biệt là lược đồ của CSDL – Chỉ mục • Giúp cho việc tìm kiếm Dữ liệu được nhanh chóng Phân loại HQT CSDL § Theo mô hình dữ liệu: – Phân cấp – Mạng – Quan hệ – Đối tượng § Theo kiến trúc tính toán: – Tập trung (Centralized database system) – Khách / chủ (Client server database system) – Phân tán (Distributed database system) § Theo đặc tính: – HQTCSDL thời gian thực (real-‐time database system) – HQTCSDL chịu lỗi cao (high fault tolerance database system) – HQTCSDL đa phương tiện (multi-media database syste) Mô hình phân cấp DEPT EMP CHILD OFFICE (DEPT#, BUDGET) (OFFICE#, SIZE)(CHILD NAME, AGE) (NAME, SALARY) 17, 25M Adam, 14K John, 12K Fisher, 10K Peter, 4 Sue, 10 12, 500 Dave, 7 12, 500 12, 500 Mô hình mạng DEPT EMP CHILD OFFICE (DEPT#, BUDGET) (OFFICE#, SIZE) (CHILD NAME, AGE) (NAME, SALARY) 17, 25M Adam, 14K John, 12K Fisher, 10K Peter, 4 Sue, 10 Dave, 7 12, 500 Mô hình quan hệ DEPT (DEPT #, BUDGET) OFFICE (OFFICE #, SIZE) EMP (NAME, SALARY) CHILD (CHILD NAME, AGE) WORKS (DEPT #, NAME) OFFSPRING (NAME, CHILD NAME) OCCUPIED (NAME, OFFICE #) DEPT 17 25M OFFICE 12 500 EMP Fisher 10K John 12K Adam 14K WORKS 17 Fisher 17 John 17 Adam OCCUPIED Fisher 12 John 12 Adam 12 CHILD Sue 10 Peter 4 Dave 7 OFFSPRING Fisher Sue Fisher Peter Jone Dave Phân loại HQTCSDL § Theo kiến trúc tính toán: Tập trung: Phân tán Khách / chủ TÓM TẮT CHƯƠNG 1 § Sự cần thiết phải có HQTCSDL – Dữ liệu cần được trình bày ở nhiều mức khác nhau – Các đặc trưng cần phải có của dữ liệu khi lưu trữ trong CSDL – Tính chất độc lập dữ liệu § Một số thành phần chính của HQTCSDL – Giao diện lập trình – Xử lý đồng thời – An ninh và bảo mật – Khôi phục sau sự cố – Xử lý truy vấn – Quản lý lưu trữ § Phân loại HQTCSL – Theo mô hình dữ liệu – Theo kiến trúc tính toán – Theo đặc tính § Lịch sử phát triển của HQTCSDL § Kiến trúc tổng quan của HQTCSDL ĐỌC THÊM Chapter 1. Introduction to database systems (p.3 à p.23) Chapter 1. Introduction (p.1 à p.24) Chapter 1 & 2 BÀI TẬP Đọc sách Database Management Systems, 2nd Editon (Có thể tham khảo các sách khác & google) và làm những nội dung sau: § A. Trình bày lại nội dung phần 1.10 trong sách § B. Trả lời các câu hỏi trong phần bài tập Exercises 1.1 đến 1.8 (giải thích ngắn gọn, đầy đủ & súc tích): BÀI TẬP Đọc sách Database Management Systems, 2nd Editon (Có thể tham khảo các sách khác & google) và làm những nội dung sau: § A. Trình bày lại nội dung phần 1.10 trong sách § B. Trả lời các câu hỏi trong phần bài tập Exercises 1.1 đến 1.8 (giải thích ngắn gọn, đầy đủ & súc tích):
File đính kèm:
- bai_giang_he_quan_tri_co_so_du_lieu_chuong_1_tong_quan_ve_he.pdf