Database tt Cơ sở dữ liệu Database 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 Danh sách sinh viên Niên giám điện thoại Tập ngẫu
Trang 3MỤC TIÊU
Trình bày cái nhìn bao quát về cơ sở dữ liệu (Database) cũng như về hệ quản trị cơ sở dữ liệu (DBMS), hệ Cơ sở dữ liệu (Database System).
Các yêu cầu khi xây dựng một DBMS.
Một số khái niệm quan trọng: giao tác (transaction), concurrent control, khôi phục sau sự
cố …
Hiểu cấu trúc tổng thể của một DBMS.
Hiểu vai trò của người sử dụng hệ thống.
Trang 4QUÁ TRÌNH PHÁT TRIỂN CỦA CÁC HỆ THỐNG QUẢN
LÝ DỮ LiỆU
Hệ Thống Quản
Lý Tập Tin
Tập tin
Tập tin
Tập tin
Tập tin Dữ liệu
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 5Course data file
Student data file Student data file
Instructor data file Course data file
Course data file Semeter data file
Trang 6Course data file
Student data file
Instructor data file
Semeter data file
Trang 7MỘT SỐ KHÁI NiỆM CƠ BẢN
Database : Cơ sở dữ liệu
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 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 8 Một mô tả hình thức về thông tin và hoạt động
Tên, địa chỉ, số điện thoại của khách hàng
Báo cáo doanh thu
Trang 9Database (tt)
Cơ sở dữ liệu (Database)
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
Danh sách sinh viên
Niên giám điện thoại
Tập ngẫu nhiên của các dữ liệu không thể xem là một CSDL.
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 10NHANVIEN 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
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 11DBMS (Database Management System)
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.
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 12Chương 1 : Nhập môn Hệ Quản Trị CSDL
quản lý CSDL.
DBMS (tt)
12
Trang 13HỆ CƠ SỞ DỮ LiỆU
Một số bất lợi khi lưu trữ thông tin trong hệ thống file thông thường (flat file) :
dư thừa dữ liệu dữ liệu không nhất quán
khó khăn trong việc truy xuất dữ liệu
Sự cô lập dữ liệu
Các vấn đề về tính nguyên tử
Vấn đề an toàn
Tính bất thường trong truy xuất cạnh tranh
Trang 14Định nghĩa CSDL
Người sử dụng/Lập trình viên Chương trình ứng dụng/Truy vấn
Hệ CSDL
Catalog
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 15Quá trình phát triển (tt)
thống tập tin thông thường sẽ gặp nhiều bất lợi:
Dư thừa dữ liệu và tính không nhất quán
Gặp khó khăn trong việc truy xuất dữ liệu
Trang 16Dư thừa dữ liệu và tính không nhất quán
Do các file và các trình ứng dụng được tạo ra bởi các người lập trình khác nhau, nên các file có định dạng khác nhau, các chương trình được viết trong các ngôn ngữ lập trình khác nhau, cùng một thông tin có thể được lưu giữ trong các file khác nhau Tính không thống nhất và dư thừa này sẽ làm tăng chi phí truy xuất và lưu trữ, hơn nũa, nó sẽ dẫn đến tính không nhất quán của dữ liệu: các bản sao của cùng một dữ liệu có thể không nhất quán.
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 17Khó khăn trong việc truy xuất dữ
liệu
Môi trường của hệ thống xử lý file thông thường không cung cấp các công cụ cho phép truy xuất thông tin một cách hiệu quả và thuận lợi
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 18Sự cô lập dữ liệu
Các giá trị dữ liệu được lưu trữ trong cơ sở dữ liệu phải thoả mãn một số các ràng buộc về tính nhất quán của dữ liệu (ràng buộc nhất quán/consistency contraints ) Trong hệ thống xử lý file thông thường,
rất khó khăn trong việc thay đổi các chương trình để thoả mãn các yêu cầu thay đổi ràng buộc Vấn đề trở nên khó khăn hơn khi các ràng buộc liên quan đến các hạng mục dữ liệu nằm trong các file khác nhau
Trang 19Chương 1 : Nhập môn Hệ Quản Trị CSDL
Tính nguyên tử
Tính nguyên tử của một hoạt động (giao dịch) là:
hoặc nó được hoàn tất trọn vẹn hoặc không có gì
cả Điều này có nghĩa là một hoạt động (giao dịch)
chỉ làm thay đổi các dữ liệu bền vững khi nó đã
hoàn tất (kết thúc thành công) nếu không, giao dịch không để lại một dấu vết nào trên CSDL Trong hệ thống xử lý file thông thường khó đảm bảo được tính chất này
Trang 20Chương 1 : Nhập môn Hệ Quản Trị CSDL
Tính truy xuất cạnh tranh
Một hệ thống cho phép nhiều người sử dụng cập nhật dữ liệu đồng thời, có thể dẫn đến kết quả là dữ liệu không nhất quán Điều này đòi hỏi một sự giám sát Hệ thống xử lý file thông thường không cung cấp chức năng này
Trang 21Chương 1 : Nhập môn Hệ Quản Trị CSDL
An toàn dữ liệu
Một người sử dụng hệ cơ sở dữ liệu không cần thiết
và cũng không có quyền truy xuất tất cả các dữ liệu Vấn đề này đòi hỏi hệ thống phải đảm bảo được tính phân quyền, chống truy xuất trái phép
Trang 23Góc nhìn dữ liệu (Data View)
Mô tả 1 phần nào đó của toàn bộ hệ thống.
Mức luận lý (Logical level)
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ý (Physical Level)
Dữ liệu được lưu trữ như thế nào?
Physical Level Logical Level
View 1 View 2 … View n
View Level
23
Trang 24Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 25Chương 1 : Nhập môn Hệ Quản Trị CSDL
Các đặc trưng của dữ liệu
Có tính ít dư thừa dữ liệu
Trang 26THỂ HiỆN & LƯỢC ĐỒ
tại 1 thời điểm được gọi là 1 thể hiện của CSDL.
Trang 27Lược đồ
Lược đồ CSDL (Database Schema)
Là các mô tả về cấu trúc và ràng buộc trên CSDL
Trang 28Thể hiện
Là dữ liệu hiện thời được lưu trữ trong CSDL ở một thời điểm nào đó
Nhap mon tin hoc
Cau truc du lieu
Mhoc
Toan roi rac
Co so du lieu
MaMH COSC1310 COSC3320 MATH2410 COSC3380
TinChi Khoa 4
4 3 3
CNTT CNTT TOAN CNTT
MaMH MaMH_Truoc
DKien
COSC3380 COSC3320 COSC3380 MATH2410 COSC3320 COSC3380
112 119 85 92 102 135
10 9 8 10
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 29Kiến trúc của HQT CSDL
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
Trang 30Kiến trúc của HQT CSDL (tt)
Mức trong (lược đồ trong)
Mô tả cấu trúc lưu trữ vật lý CSDL.
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.
Che bớt các chi tiết của cấu trúc lưu trữ vật lý.
Mức ngoài (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 đó.
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 31Kiến trúc của HQT CSDL (tt)
Độc lập dữ liệu
Độc lập logic
Khả năng thay đổi lược đồ quan niệm mà không thay đổi lược
đồ ngoài hoặc các CTƯD
Độc lập vật lý
Khả năng thay đổi lược đồ trong mà không làm thay đổi lược
đồ quan niệm cũng như lược đồ ngoài
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 32Kiến trúc của DBMS
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 Manager
Storage
Buffer Manager
DDL Commands Transaction Commands
Data, Metadata, Indexes
32
Trang 33Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 34An tòan bảo mật
Chương 1 : Nhập môn Hệ Quản Trị CSDL
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ý giao tác
Quản lý lưu trữ
34
Trang 35Các tính năng của HQT CSDL
Kiểm soát được tính dư thừa của dữ liệu
Tích hợp các nhu cầu dữ liệu của người dùng để xây dựng một CSDL thống nhất
Chia sẻ dữ liệu
Trong môi trường đa người dùng, các HQT phải cho phép truy xuất dữ liệu đồng thời
Từng người dùng và nhóm người dùng có một tài khoản
và mật mã để truy xuất dữ liệu
Cung cấp nhiều giao diện
HQT cung cấp ngôn ngữ giữa CSDL và người dùng
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 36 Giảm thời gian phát triển ứng dụng
Trang 37Các tính năng của HQT CSDL (tt)
RBTV (Integrity Constraints) là những qui định cần được 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
Một số RB có thể được khai báo với HQT và HQT sẽ tự động kiểm tra Một số RB khác được kiểm tra nhờ CTƯD
Có khả năng khôi phục dữ liệu khi có sự hư hỏng về phần cứng hoặc phần mềm
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 38Ngôn ngữ giao tiếp
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 39Chương 1 : Nhập môn Hệ Quản Trị CSDL
transaction
1 2 3 4 5 7 8
39
Trang 40Chương 1 : Nhập môn Hệ Quản Trị CSDL
Quản lý giao tác (tt)
Để 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 đó
40
Trang 41Chương 1 : Nhập môn Hệ Quản Trị CSDL
Quản lý giao tác (tt)
Điều khiển đồng thời
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
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
41
Trang 42Chương 1 : Nhập môn Hệ Quản Trị CSDL
Quản lý giao tác (tt)
Giải quyết deadlock
Vì sử dụng cơ chế khóa nên các giao tác sẽ phải tranh giành tài nguyên
Tình huống “không một giao tác nào có thể thực hiện được công việc của mình”
Các giao tác chờ đợi lẫn nhau để được cấp phát tài nguyên
Thành phần quản lý giao tác sẽ phải can thiệp vào
Rollback
Abort
42
Trang 43Chương 1 : Nhập môn Hệ Quản Trị CSDL
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
43
Trang 44Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 45Chương 1 : Nhập môn Hệ Quản Trị CSDL
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
A-101 500 A-215 700 A-102 400 A-305 350 A-201 900 A-217 750 A-222 700
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
45
Trang 46Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 47Chương 1 : Nhập môn Hệ Quản Trị CSDL
Mô hình quan hệ
liệu và mối quan hệ
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 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
47
Trang 48Chương 1 : Nhập môn Hệ Quản Trị CSDL
Mô hình hướng đối tượng
Dữ liệu và mối quan hệ được biểu diễn bằng khái niệm đối tượng
48
Trang 49Chương 1 : Nhập môn Hệ Quản Trị CSDL
Mô hình hướng đối tượng (tt)
class Account: public d_Object { private:
Trang 50Chương 1 : Nhập môn Hệ Quản Trị CSDL
Dữ liệu dưới dạng text
50
Trang 51Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 52Ngôn ngữ CSDL
Ngôn ngữ định nghĩa dữ liệu
(DDL – Data Definition Language)
Xác định ra lược đồ quan niệm
Ngôn ngữ lưu trữ dữ liệu
(SDL – Storage Definition Language)
Ngôn ngữ định nghĩa lược đồ trong
(VDL – View Definition Language)
Ngôn ngữ định nghĩa lược đồ ngoài
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 54Quản trị viên
Cấp quyền truy cập CSDL
Điều phối và giám sát việc sử dụng CSDL
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 55Thiết kế viên
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
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 56 Người quả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
Nhân viên
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,…
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 57Mô hình dữ liệu
Các khái niệm biểu diễn dữ liệu
Các phép toán xử lý dữ liệu
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 58Mô hình dữ liệu (tt)
Cung cấp các khái niệm gần gũi với người dùng
Mô hình phải tự nhiên và giàu ngữ nghĩa
VD: mô hình thực thể kết hợp (ER), mô hình đối tượng…
Trang 59Khoa TenMH
(0,n)
Hocky Gvien Nam
MaHP
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 60Ví dụ mô hình đối tượng
SVien
Ten Lop Nganh
LapTKB() InBangDiem()
Diem
DiemTH DiemLT DiemPrj SuaDiem()
HPhan
Ten SLuong 0 *
Trang 61Ví 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
Chương 1 : Nhập môn Hệ Quản Trị CSDL
Trang 64Phân loại:
Hệ tập trung: Là các hệ mà trong đó phần CSDL được lưu
trữ tại 1 nơi, một vị trí nhất định
a Personal Database: Là Hệ CSDL nhỏ bao gồm 4
thành phần chính, trong hệ nầy thì người viết chương trình cũng là người sử dụng cuối đồng thời là người quản lý.
User Máy Tính HQTCSDL
Trang 65b Central Database: Là một hệ đa người dùng từ thiết bị
đầu cuối tại đó có màn hình và bàn phím để trao đổi thông tin Mọi xử lý, tính toán được thực hiện tại trung tâm với 1 máy tính mạnh có thể xử lý nhiều yêu cầu User Máy Tính HQTCSDL
Trang 66c Client/ Server Database: CSDL được tạo lập, lưu trữ
tại server, nhưng việc tính toán lại diễn ra ở các máy client Máy server không cần quá mạnh Hệ CSDL nầy có vẻ phân tán nhưng thực ra vẫn là hệ tập trung
vì dữ liệu đặt toàn bộ tại một chỗ.
Client Máy Tính Server
Trang 67Hệ phân tán: Là những hệ CSDL được chia nhỏ thành
nhiều CSDL địa phương, trải ra trong 1 mạng máy tính
Mạng truyền thông
Phân loại:
Trang 68Cấu trúc hệ thống tổng thể của Hệ quản trị CSDL.
Các thành phần của môi trường Hệ quản trị CSDL.