Chương I. Kiến trúc tổng quát
của một hệ quản trị cơ sở dữ liệu
1
Nội dung
Quá trình phát triển của các hệ xử lý dữ liệu
bằng máy tính.
Định nghĩa hệ quản trị cơ sở dữ liệu.
Các đặc trưng của dữ liệu trên CSDL.
Ba mức trừu tượng của dữ liệu.
Các loại hệ quản trị CSDL.
2
Quá trình phát triển của các hệ xử
lý dữ liệu bằng máy tính.
Hệ thống tập tin cổ điển (file systems)
Cơ sở dữ liệu (Database)
Các đối tượng sử dụng CSDL
3
Hệ thống tập tin cổ điển (file systems)
CSDL được lưu trữ dưới dạng tập hợp các files
Mỗi file là một tập các records, thường có cùng một
loại
Một record là một chuỗi các fields
Ví dụ: Xét hệ thống tập tin quản lý nhân sự của một
đơn vị:
Phòng Tổ chức hành chánh: Lý lịch chi tiết của CBCNV
Phòng kế tóan: Phòng, họ tên, lương, phụ cấp, ngày
công…,
Quản đốc phân xưởng: Họ tên, ngày công, ngày nghỉ,…
4
Hệ thống tập tin cổ điển (file systems)
Ưu điểm:
Gọn nhẹ, phù hợp thực tiễn. Ít tốn thời gian, chi phí thấp
Khả năng đáp ứng khai thác nhanh chóng và kịp thời
Nhược điểm:
Thông tin lưu nhiều nơi, dư thừa, không nhất quán
Lãng phí thời gian cập nhật dữ liệu và lưu trữ
Phối hợp tổ chức và khai thác là khó khăn
Thiếu sự chia sẽ thông tin giữa các đơn vị và bộ phận.
Khó khi nâng cấp ứng dụng.
Không có người quản trị dữ liệu, mọi người có quyền sử dụng
thêm, xóa, sửa không an tòan, không bảo mật thông tin
5
Cơ sở dữ liệu (Database)
Là HTTT có cấu trúc, được lưu trữ trên các thiết bị mang tin
từ tính, phục vụ việc khai thác thông tin của nhiều người sử
dụng một cách đồng thời với nhiều mục đích khác nhau.
Các vấn đề cần giải quyết
Tính chủ quyền bị vi phạm
Tính nhất quán CSDL
Vấn đề bảo mật
Tính an tòan dữ liệu
Vấn đề tranh chấp dữ liệu
Chia sẽ thông tin cho nhiều người sử dụng một cách đồng thời
Đảm bảo dữ liệu truy xuất đồng thời theo nhiều cách khác nhau
Tính độc lập giữa dữ liệu và chương trình / hệ thống ứng dụng
6
Các đối tượng 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)
2 cách khai thác CSDL:
Trực tiếp: không thông qua chương trình ứng
dụng viết trước và truy cập qua khung nhìn hay
sql.
Gián tiếp: thông qua chương trình ứng dụng viết
trước.
7
Quản trị viên
8
Có trách nhiệm quản lý hệ CSDL
Cấp quyền truy cập CSDL
Điều phối và giám sát việc sử dụng
CSDL
Thiết kế viên
9
Chịu trách nhiệm về
Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu
Quyết định những dữ liệu nào cần được lưu
trữ.
Liên hệ với người dùng để nắm bắt được
những yêu cầu và đưa ra một thiết kế CSDL thỏa
yêu cầu này.
Có thể là 1 nhóm các DBA quản lý các CSDL
sau khi việc thiết kế hoàn tất
Người dùng cuối
10
Người ít sử dụng
Ít khi truy cập CSDL, nhưng cần những thông tin khác nhau
trong mỗi lần truy cập và dùng nhữ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 và cập nhật CSDL nhờ vào một số
các chức năng đã được xây dựng sẳn
Nhân viên
Người sử dụng đặc biệt
Thông thạo về HQT CSDL, tự xây dựng nhữ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,…
Định nghĩa hệ quản trị cơ sở dữ liệu
Là một hệ thống phần mềm cung cấp các
công cụ để xây dựng và quản lý CSDL
Định nghĩa cấu trúc dữ liệu (DDL).
Cung cấp khả năng thao tác trên CSDL (MDL).
Hỗ trợ lưu trữ dữ liệu.
Điều khiển truy xuất dữ liệu giữa nhiều người
dùng.
11
Các đặc trưng của dữ liệu trên CSDL
Giảm thiểu sự trùng lắp thông tin.
Bảo đảm tính nhất quán.
Dữ liệu có thể chia sẽ cho nhiều người dùng một
cách đồng thời.
Bảo đảm dữ liệu có thể truy cập theo nhiều cách
khác nhau.
Có thể khôi phục khi có sự cố
12
13
Có tính độc lập
Vật lý (physical): Khi thay đổi tổ chức vật lý của CSDL thì
không làm ảnh hưởng đến chương trình đang khai thác CSDL
đó
Luận lý (logical): Khi thay đổi mức quan niệm không làm ảnh
hưởng đến các chương trình đang khai thác CSDL
Bảo mật thông tin được đảm bảo chặt chẽ.
Mỗi người sử dụng sẽ được cấp một quyền hạn sử dụng những
dữ liệu thuộc phạm vi của mình vào những thời điểm nhất định
An tòan trước sự cố thông qua các cơ chế sao lưu và phục hồi
dữ liệu một cách tự động
Giải quyết tranh chấp dữ liệu thông qua các cơ chế cài đặt
sẵn
Các đặc trưng của dữ liệu trên CSDL
Ba mức trừu tượng của dữ liệu.
14
Kiến trúc 3 lược đồ
Người dùng
Lược đồ ngoài 1 Lược đồ ngoài n
…
Lược đồ quan niệm
Lược đồ trong
Người dùng
Ánh xạ ngoài/
Ánh xạ quan niệm
Mức ngoài
Mức quan niệm
Mức trong
Ánh xạ quan niệm/
Ánh xạ trong
Mức khung nhìn (mức ngoài)
Mô tả 1 phần nào đó của toàn bộ hệ thống
Mức quan niệm
Những thông tin gì được lưu trữ trong CSDL
Có những mối quan hệ nào giữa những thông
tin đó
Mức vật lý (mức trong)
Dữ liệu được lưu trữ như thế nào
15
Ba mức trừu tượng của dữ liệu.
Ví dụ
Mức vật lý
Mẫu tin customer là 1 block các byte liên tiếp nhau
Mức luận lý
customer và các mối liên kết được định nghĩa
Mức khung nhìn
Người sử dụng chỉ được truy xuất đến 1 phần thông
tin của customer
type customer = record
customer-id: string;
customer-name: string;
customer-street: string;
cusomter-city: string;
end;
16
Các thành phần chính của DBMS
Quản lý
khôi phục
Xử lý
truy vấn
Ngôn ngữ
giao tiếp
Quản lý
giao tác
Quản lý
lưu trữ
17
Ngôn ngữ giao tiếp
DBMS cung cấp giao diện lập trình để sử dụng với
một ngôn ngữ lập trình CSDL
SQL Server: Transaction-SQL (T-SQL)
Oracle: PL/SQL
Ngôn ngữ bao gồm
Định nghĩa dữ liệu
Thao tác dữ liệu
18
Quản lý giao tác
Thành phần quản lý các giao tác có ảnh hưởng đến
CSDL
Giao tác là một nhóm các hành động mà nếu thực hiện
được thì phải thực hiện hết tất cả các hành động trong
giao tác đó, ngược lại xem như không thực hiện hành
động nào
transaction
1
2
3
4
5
7
8
19
Quản lý khôi phục
Để CSDL được bền vững (durable), mọi thay
đổi lên CSDL phải được ghi nhận lại.
Log manager – ghi chép nhật ký.
Đảm bảo CSDL vẫn nguyên vẹn khi có sự cố xảy ra.
Recovery manager – khôi phục.
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 thỏa tất cả các RBTV của CSDL đó.
20
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
Query parser
Xây dựng cấu trúc hình cây từ câu truy vấn
Query preprocessor
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ệ
Query optimizer
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
21
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 về cấu trúc của CSDL, đặc
biệt là lược đồ của CSDL
Chỉ mục
22
Các loại hệ quản trị CSDL
Theo mô hình dữ liệu
Mạng (Network)
Phân cấp (Hierarchical)
Quan hệ (Relation)
Hướng đối tượng (Oriented-Object)
XML
Theo kiến trúc
Đơn người dùng
Client/Server
Khác
Multimedia
Hypertext
23
Mô hình mạng
Dữ liệu ~ tập các record
Mối quan hệ giữa các dữ liệu ~ các link
Các record được tổ chức thành tập các đồ thị tùy ý
Johnson 192-83-7465 Alma Palo Alto
Smith 019-28-3746 North Rye
Hayes 677-89-9011 Main Harison
Tuner 182-73-6091 Putnam Stamford
Jones 321-12-3123 Main Harison
Lindsay 336-66-9999 Park Pittsfield
TênKH MãKH ĐịaChỉ
ThànhPhố
A-101 500
A-215 700
A-102 400
A-305 350
A-201 900
A-217 750
A-222 700
MãTK SốDư
Downtown Brooklyn 9000000
Perryridge Horseneck 1700000
Round Hill Horseneck 8000000
Mianus Woodside 1000000
Redwood Princeton 2000000
Brighton Brooklyn 7000000
TênCN
ThànhPhố
TổngTiền
Khách hàng Tài khoản Chi nhánh
24
Mô hình phân cấp
Dữ liệu và mối quan hệ được biểu diễn bằng các
record và link
Các record được tổ chức dưới dạng tập các cây
Johnson 192-83-7465
…
Hayes 677-89-9011
…
Tuner 182-73-6091
A-101 500
A-215 700
A-102 400
A-305 350
A-201 900
A-217 750
Smith 019-28-3746
…
A-201 900
John 321-12-3123
25