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

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU  
Chương 1:  
TỔNG QUAN VỀ  
HQT CSDL  
GVLT: Nguyễn Trường Sơn  
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  
External  
External  
Schema 1  
Schema 2  
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  
External  
Schema 1  
§ꢀ Độ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, ...  
Logical Schema  
§ꢀ Độ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, ...  
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  
Decade of RDBMS  
1970s  
1960s  
1980s – 1990s  
2000s  
Mô hình  
mạng  
Mô hình  
quan hệ  
Mô hình  
đối tượng  
No SQL  
Database  
CODASYL  
Mô hình  
phân cấp  
SEQUEL  
QUEL  
SQL  
IMS  
Ingres  
dBASE  
PostgreSQL  
MongoDB, Oracle  
NoSQL Database,  
Apache  
SABRE  
system  
Ingres Corp Sybase  
MS SQL Server  
Prototypes  
for ODBMS  
Cassandra , ...  
System R  
Non-Stop SQL  
DB2  
SQL/DS  
Oracle  
Allbase  
Kiến trúc của một HQT CSDL  
Sophiscatedusers, application  
programmers, DB administrators  
Unsophisticated users (customers, travel agents, etc.)  
Application Front  
Web forms  
Ends  
SQL Interface  
command flows  
SQL COMMANDS  
DBMS  
interactions  
Plan Executor  
Operator Evaluator  
Parser  
Optimizer  
Query  
Evaluation  
Engine  
Concurency  
Control  
Files and Access methods  
Transaction  
Manager  
Recovery  
Manager  
Buffer Manager  
Lock  
Manager  
Disk Space Manager  
references  
Index files  
Data files  
System Catalog  
DATABASES  
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  
Xử lý câu truy vấn  
An ninh và bảo mật  
Khôi phục sau sự cố  
Người sử dụng  
Xử lý truy xuất đồng  
thời  
Tổ chức quản lý lưu  
trữ  
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.  
T
–ꢀ 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.  
Điều khiển đồng thời (tt)  
---  
---  
CLIENT 1  
CLIENT 2  
CLIENT 3  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---------  
---  
---  
SERVER  
---  
---  
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  
–ꢀ Xây dựng cấu trúc phân tích câu truy  
Query parser  
vấn dưới dạng cây  
–ꢀ Kiểm tra ngữ nghĩa của câu truy vấn  
Query  
preprocessor  
–ꢀ Chuyển đổi cấu trúc cây sang ngôn  
ngữ đại số quan hệ  
Query  
–ꢀ Sắp xếp các phép toán nhằm mục đích  
optimizer  
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  
Tải về để xem bản đầy đủ
pdf 29 trang yennguyen 19920 Free
Bạn đang xem 20 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

File đính kèm:

  • pdfbai_giang_he_quantri_co_sodulieu_chuong_1_tong_quan_ve_he_qu.pdf