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 đủ
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:
bai_giang_he_quantri_co_sodulieu_chuong_1_tong_quan_ve_he_qu.pdf

