MỤC TIÊU l Trình bày cái nhìn bao quát về CSDLDatabase, hệ quản trị CSDL DBMS cũng như về hệ CSDL Database System.l Các yêu cầu khi xây dựng một DBMS.l Một số thành phần chính của DBMS:
Trang 2MỤC TIÊU
l Trình bày cái nhìn bao quát về CSDL(Database),
hệ quản trị CSDL (DBMS) cũng như về hệ CSDL (Database System).
l Các yêu cầu khi xây dựng một DBMS.
l Một số thành phần chính của DBMS: giao tác
(transaction), concurrent control, khôi phục sự
cố, xử lý câu truy vấn, …
l Hiểu cấu trúc tổng thể của một DBMS.
l Hiểu vai trò của người sử dụng hệ thống.
2
Trang 7l Triển khai ứng dụng nhanh
l Khả năng đáp ứng nhanh chóng, kịp thời (vì chỉ phục vụ cho mục đích hạn hẹp)
l Nhược điểm:
l Dữ liệu bị trùng lắp và dư thừa
l Thiếu tính nhất quán giữa các dữ liệu
Trang 9Instructor data file Course data file
Course data file Semeter data file
Trang 10Course data file
Student data file
Instructor data file
Semeter data file
Trang 12Người sử dụng/Lập trình viên Chương trình ứng dụng/Truy vấn
Hệ CSDL
Catalog
Trang 13Cơ sở dữ liệu (Database)
Định nghĩa: Cơ sở dữ liệu là một tập các dữ
liệu có liên quan với nhau được tổ chức và lưu
trữ theo một định dạng nào đó nhằm làm giảm
thiểu sự dư thừa dữ liệu và có thể phục vụ cho
nhiều user đồng thời.
Trang 15Cơ sở dữ liệu (tt)
vƯu điểm:
Ø Giảm trùng lắp thông tin xuống mức thấp nhất và
do đó đảm bảo tính nhất quán và toàn vẹn dữ liệu.
Ø Đảm bảo dữ liệu được truy xuất theo nhiều cách khác nhau.
Ø Khả năng chia sẻ thông tin cho nhiều người, nhiều ứng dụng khác nhau.
Trang 16Ø Một mô tả hình thức về thông tin và hoạt động
o Tên, địa chỉ, số điện thoại của khách hàng
o Báo cáo doanh thu
o Đăng ký học phần
Thông tin
Dữ liệu
Chọn lọc
Trang 17Cơ sở dữ liệu (tt)
l Cơ sở dữ liệu (Database)
l Một tập hợp có cấu trúc của những dữ liệu có liên quan với nhau được lưu trữ trong máy tính
l Danh sách sinh viên
l Niên giám điện thoại
Trang 19DEAN TENDA MADA DDIEM_DA PHONG
San pham X 1 VUNG TAU 5 San pham Y 2 NHA TRANG 5 San pham Z 3 TP HCM 5 Tin hoc hoa 10 HA NOI 4
NHANVIEN HONV TENLOT TENNV MANV NGSINH MA_NQL PHG
Tran Hong Quang 123456789 03/09/1969 987654321 4 Nguyen Thanh Tung 333445555 12/08/1955 888665555 5 Nguyen Manh Hung 666884444 09/15/1962 333445555 5 Tran Thanh Tam 453453453 07/31/1972 333445555 5
Trang 20HỆ QUẢN TRỊ CSDL (DBMS - DataBase
Management System)
l Là một phần mềm hệ thống cho phép định nghĩa, xây dựng, xử lý và bảo trì dữ liệu.
ØĐịnh nghĩa : khai báo bộ khung dữ liệu cùng với các
mô tả chi tiết về dữ liệu thông qua DDL
ØXây dựng: lưu trữ dữ liệu lên bộ nhớ phụ
ØXử lý : truy vấn, cập nhật và phát sinh báo cáo thông qua DML.
ØBảo trì: cho phép bảo trì dữ liệu ở trạng thái nhất quán trước khi hư hỏng phần cứng hoặc phần mềm.
Trang 21l Phần mềm cung cấp các công cụ để xây dựng và quản lý CSDL.
Trang 23Góc nhìn dữ liệu (Data View)
l Mức khung nhìn (View Level)
l Mức luận lý (Logical level)
l Mức vật lý (Physical Level)
Physical Level Logical Level
View 1 View 2 … View n
View Level
Trang 25Các đặc trưng của dữ liệu
l Có tính ít dư thừa dữ liệu
l Chia sẻ cho nhiều người sử dụng
Trang 26quyền, sao lưu, phục hồi dữ liệu, giải quyết các tranh chấp dữ liệu, …
Trang 27Người dùng cuối
l Người ít sử dụng
l Í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
l Người quản lý
l Người sử dụng thường xuyên
l 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
Trang 28Thiết kế viên
l Chịu trách nhiệm về
l Lựa chọn cấu trúc phù hợp để lưu trữ dữ liệu
l Quyết định những dữ liệu nào cần được lưu trữ
l 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
l 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
Trang 30Kiến trúc của HQT CSDL
l Kiến trúc ba mức trừu tượng của dữ liệu
Người dùng
Lược đồ ngoài 1 … Lược đồ ngoài n
Lược đồ quan niệm Lược đồ trong
Trang 31Kiến trúc của HQT CSDL (tt)
Mức trong/Vật lý (Lược đồ trong)
Ø Mô tả cấu trúc lưu trữ vật lý CSDL
Ø Vấn đề cần giải quyết: Dữ liệu gì? Lưu trữ như thế nào?
Ở đâu? Cần các chỉ mục gì? Truy xuất tuần tự hay ngẫu nhiên.
Dành cho người quản trị và người sử dụng chuyên môn.
Trang 32Kiến trúc của HQT CSDL (tt)
Mức quan niệm/Logic (Lược đồ quan niệm)
Ø Mô tả cấu trúc của toàn thể CSDL cho 1 cộng đồng người sử dụng, gồm thực thể, kiểu dữ liệu, mối liên hệ và ràng buộc.
Ø CSDL cần phải lưu trữ bao nhiêu loại dữ liệu? là dữ liệu gì? mối quan hệ giữa các loại dữ liệu này ntn ?
Ø Dành cho chuyên viên tin học khảo sát và phân tích cùng với những người quản trị CSDL xác định những loại thông tin cần thiết để đưa vào CSDL và mối quan hệ của chúng.
Ø CSDL mức quan niệm là một biểu diễn trừu tượng của CSDL mức vật lý, hay CSDL mức vật lý là cài đặt cụ thể của CSDL mức quan niệm.
Ø Che bớt các chi tiết của cấu trúc lưu trữ vật lý.
Trang 33Kiến trúc của HQT CSDL (tt)
Mức ngoài/Khung nhìn (Lược đồ ngoài)
Ø Còn gọi là mức khung nhìn (view).
Ø Mô tả một phần của CSDL mà 1 nhóm người dùng quan tâm đến và che dấu phần còn lại của CSDL đối với nhóm người dùng đó.
Ø Đây là mức của người sử dụng và các chương trình ứng dụng
Ø Được “nhìn” (View) CSDL theo một góc độ khác nhau.
Ø Có thể hoàn toàn không biết về cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí cả tên gọi các dữ liệu, thuộc tính.
Ø Họ chỉ làm việc trên một phần CSDL theo cách nhìn gọi
là khung nhìn (View)
Trang 34Kiến trúc của HQT CSDL (tt)
Cấu trúc ngoài 1
Cấu trúc ngoài 2
Cấu trúc ngoài n
Chương trình
ứng dụng n
Mức quan niệm hoặc mức logic
Mức vật lý – Cấu trúc vật lý
CSDL
Môi trường thực thế giới
thực NSD1
NSD2
Trang 35Kiến trúc của DBMS (tt)
DDL Compiler
User/Application Database Administrator
Query Compiler Transaction Manager
Execution Engine Logging & Recovery Concurrency Control
Index/File/
Record Manager
Storage Manager Storage
Buffer Manager
DDL Commands Transaction Commands
Data, Metadata, Indexes
DDL Compiler
User/Application Database Administrator
Query Compiler Transaction Manager
Execution Engine Logging & Recovery Concurrency Control
Index/File/
Record Manager
Storage Manager
Storage
Buffer Manager
DDL Commands Transaction Commands
Data, Metadata, Indexes
Trang 37Kiến trúc của HQT CSDL
xóa, sửa, tìm kiếm dữ liệu
l Bộ phận khai thác dữ liệu: biên dịch NNLT cấp cao
và biên dịch ngôn ngữ thao tác dữ liệu
l Từ điển dữ liệu: danh mục các loại dữ liệu, các CT
xử lý, các dữ liệu nào được yêu cầu bảo mật,…
Trang 39Các tính năng của HQT CSDL
l Kiểm soát được tính dư thừa của dữ liệu
dựng một CSDL thống nhất
l Chia sẻ dữ liệu
phép truy xuất dữ liệu đồng thời
l Hạn chế những truy cập không cho phép
và mật mã để truy xuất dữ liệu
l Cung cấp nhiều giao diện
Trang 40l Khi có một sự thay đổi lên CSDL, tất cả người dùng đều thấy được
Trang 41Các tính năng của HQT CSDL (tt)
l Đảm bảo các ràng buộc toàn vẹn
thỏa mãn để đảm bảo dữ liệu luôn phản ánh đúng ngữ nghĩa của thế giới thực
động kiểm tra Một số RB khác được kiểm tra nhờ CTƯD
l Khả năng sao lưu dự phòng khi gặp sự cố
phần cứng hoặc phần mềm
Trang 42An tòan bảo mật
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ữ
42
Trang 43Ngôn ngữ giao tiếp
l DBMS 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
Trang 44Quản lý giao tác
l Thành phần quản lý các giao tác có ảnh hưởng đến CSDL
đượ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
44
Trang 45Quản lý giao tác (tt)
l Để CSDL được bền vững (durable), mọi thay đổi lên CSDL phải được ghi nhận lại
l Log manager – ghi chép nhật ký
l Đảm bảo CSDL vẫn nguyên vẹn khi có sự cố xảy ra
l Recovery manager – khôi phục
l 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 đó
Trang 46Quản lý giao tác (tt)
l Điều khiển đồng thời
l Bộ lập lịch (scheduler) - có nhiệm vụ lập 1 lịch thực
hiện từ n giao tác được kích hoạt đồng thời
l Cơ chế khóa (lock) - ngăn 2 giao tác cùng thao tác lên
1 đơn vị dữ liệu tại 1 điểm
DBMS Server DB
Client Client Client
Scheduler
Equivalent
to serial result
46
Trang 47Quản lý giao tác (tt)
phải tranh giành tài nguyên
thực hiện được công việc của mình”
l Các giao tác chờ đợi lẫn nhau để được cấp phát tài nguyên
thiệp vào
l Rollback
l Abort
Trang 48l Kiểm tra ngữ nghĩa của câu truy vấn
l Chuyển đổi cấu trúc cây sang ngôn ngữ đại số quan hệ
l Query optimizer
l 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
48
Trang 49Quản lý lưu trữ
l 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 Làm việc với khác khái niệm
Trang 51Mô hình mạng
l Dữ liệu ~ tập các record
l Mối quan hệ giữa các dữ liệu ~ các link
l 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
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
Redwood Princeton 2000000 A-222 700
Lindsay 336-66-9999 Park Pittsfield
Trang 52A-217 750
Smith 019-28-3746 …
A-201 900 John 321-12-3123 A-215 700
Smith 019-28-3746 …
A-201 900
52
Trang 53A-101 A-215 A-102 A-305
Johnson 192-83-7465 Alma Palo Alto A-201
A-217 A-222
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ư
Trang 54Mô hình hướng đối tượng
l Dữ liệu và mối quan hệ được biểu diễn bằng khái niệm đối tượng
l Cấu trúc 1 đối tượng
l Ngôn ngữ định nghĩa đối tượng - ODL
l Ngôn ngữ thao tác đối tượng - OML
54
Trang 55Mô hình hướng đối tượng (tt)
class Account: public d_Object { private:
Trang 56l Dữ liệu dưới dạng text
l Ngôn ngữ truy vấn – Xquery, Xpath
l Ngôn ngữ định nghĩa – DTD, XML Schema (XSD)
56
Trang 58CÁC YÊU CẦU KHI XÂY DỰNG MỘT DBMS
1 Ngôn ngữ giao tiếp giữa người sử dụng và CSDL
2 Từ điển dữ liệu (Data Dictionary)
3 Có biện pháp bảo mật tốt khi có yêu cầu
4 Cơ chế giải quyết tranh chấp dữ liệu
5 Cơ chế sao lưu (Backup) và phục hồi (Restore) dữ liệu
6 Cung cấp một giao diện tốt, dễ sử dụng, dễ hiểu
7 Bảo đảm tính độc lập giữa dữ liệu và chương trình
Trang 59CÁC YÊU CẦU KHI XÂY DỰNG MỘT DBMS (tt)
1 Ngôn ngữ giao tiếp giữa người sử dụng và CSDL
Ø Ngôn ngữ mô tả dữ liệu (DDL – Data Definition
Language): cho phép khai báo cấu trúc CSDL, các
mối liên hệ của dữ liệu, các quy định, ràng buộc dữ liệu.
Ø Ngôn ngữ thao tác dữ liệu (DML– Data Manipulation
Language): cho phép thực hiện thao tác thêm, xóa,
sửa dữ liệu.
Ø Ngôn ngữ truy vấn có cấu trúc (SQL – Structured
Query Language): cho phép người khai thác sử dụng
để truy vấn thông tin cần thiết.
Ø Ngôn ngữ quản lý dữ liệu (DCL – Data Control
Language) cho phép thay đổi cấu trúc bảng, khai báo
bảo mật, cấp quyền cho người sử dụng.
Trang 60CÁC YÊU CẦU KHI XÂY DỰNG MỘT DBMS (tt)
2 Từ điển dữ liệu (Data Dictionary)
Ø Dùng để mô tả các ánh xạ liên kết
Ø Ghi nhận các thành phần cấu trúc của CSDL, các CT
ứng dụng, mật mã, các quyền hạn sử dụng,…
3 Có biện pháp bảo mật tốt khi có yêu cầu
4 Cơ chế giải quyết tranh chấp dữ liệu
Ø Cấp quyền ưu tiên cho người sử dụng (người quản
trị CSDL thực hiện)
Ø Đánh dấu yêu cầu truy suất dữ liệu, phân chia thời
gian, người nào có yêu cầu trước thì có quyền truy suất dữ liệu trước.
Trang 61CÁC YÊU CẦU KHI XÂY DỰNG MỘT DBMS (tt)
5 Cơ chế sao lưu (Backup) và phục hồi (Restore) dữ kiệu
khi có sự cố xảy ra.
Ø Định kỳ kiểm tra CSDL
Ø Tạo nhật ký (LOG) thao tác CSDL
6 Cung cấp một giao diện tốt, dễ sử dụng, dễ hiểu
7 Bảo đảm tính độc lập giữa dữ liệu và chương trình: khi
có thay đổi dữ liệu thì các CT ứng dụng đang chạy trên CSDL đó không cần phải viết lại và cũng không ảnh hưởng đến những NSD khác.
Trang 62Ngôn ngữ CSDL
l Ngôn ngữ định nghĩa dữ liệu
(DDL – Data Definition Language)
l Xác định ra lược đồ quan niệm
l Ngôn ngữ lưu trữ dữ liệu
(SDL – Storage Definition Language)
l Ngôn ngữ định nghĩa lược đồ trong
l Ngôn ngữ định nghĩa khung nhìn
(VDL – View Definition Language)
l Ngôn ngữ định nghĩa lược đồ ngoài
Trang 64Mô hình dữ liệu
l Mô hình dữ liệu (Data Model) bao gồm:
l Các khái niệm biểu diễn dữ liệu
l Các phép toán xử lý dữ liệu
Trang 65Mô hình dữ liệu (tt)
l Mô hình mức cao
tượng…
l Mô hình cài đặt
nhưng không quá xa với cách dữ liệu được tổ chức thật
sự trên máy tính
l Mô hình mức thấp (mô hình vật lý)
được lưu trữ trong máy tính
Trang 66MaMH Khoa TenMH (0,n)
Hocky Gvien Nam
MaHP
Trang 67Ví dụ: Mô hình đối tượng
SVien
Ten Lop Nganh LapTKB() InBangDiem()
Diem
DiemTH DiemLT DiemPrj SuaDiem()
HPhan
Ten SLuong 0 *
Trang 68Ví dụ: Mô hình quan hệ
SVien
MaSV Ten Lop Nganh
Hoc
MaSV MaHP DiemLT DiemTH
HPhan
MaHP SLuong MaMH
MHoc
MaMH TenMH Khoa TinChi
DKien
MaMH MaMHTruoc