Chương 1: Tổng quan về cơ sở dữ liệu
Tham khảo tài liệu [A]:
Chapter 1: Introduction to Databases
1
Nội dung chương 1 (1)
1.
2.
3.
4.
5.
Một số ví dụ sử dụng hệ thống CSDL
Đặc điểm của hệ thống lưu DL theo file
Nhược điểm của hệ thống lưu DL theo file
Ý nghĩa của thuật ngữ CSDL (database)
Ý nghĩa của thuật ngữ hệ quản trị CSDL (DBMS)
(DBMS: Database Management System)
2
Nội dung chương 1 (2)
6.
7.
8.
9.
10.
Các chức năng chính của DBMS
Các thành phần chính của môi trường DBMS
Vai trò của con người trong môi trường DBMS
Lịch sử phát triển của các hệ DBMS
Ưu điểm và nhược điểm của DBMS
3
Ví dụ về các ứng dụng CSDL
◆
◆
◆
◆
◆
◆
◆
Mua bán ở siêu thị
Mua bán dùng thẻ tín dụng
Đặt vé đi nghỉ mát tại trạm giao dịch du lịch
Đọc, mượn sách tại thư viện
Thanh lý hợp đồng bảo hiểm
Sử dụng mạng internet
Học tập, nghiên cứu tại trường đại học
4
Hệ thống lưu DL theo file (File-based System)
◆
◆
Là tập hợp một số chương trình ứng dụng để phục vụ cho
các người dùng cuối (end users), ví dụ chương trình giúp
người dùng in ra các bảng báo cáo
Mỗi chương trình quản lý các dữ liệu có thiết kế riêng cho
chương trình đó
5
Ví dụ về hệ thống lưu DL theo file:
Hệ thống Quản lý cho thuê nhà (gồm 2 chương trình)
6
Hạn chế của phương pháp lưu DL theo file (1)
1.
2.
Dữ liệu riêng rẽ và cô lập
– Mỗi chương trình sử dụng dữ liệu của riêng mình
– Người dùng một chương trình khó thấy được những
thông tin có ích cho mình khi thông tin này nằm trong
dữ liệu của các chương trình khác
Dữ liệu bị trùng lắp
– Các dữ liệu giống nhau có thể được lưu ở các chương
trình khác nhau -> bị dư thừa DL
– Các dữ liệu giống nhau có thể được lưu không cùng giá
trị, hay không cùng format -> bị mâu thuẫn DL
7
Hạn chế của phương pháp lưu DL theo file (2)
3.
4.
5.
Dữ liệu lệ thuộc vào chương trình
– Cấu trúc của file lưu DL do code của chương trình tạo ra
Chương trình lệ thuộc dữ liệu
(không tương thích các format file DL khác nhau)
– Các chương trình được viết bằng các ngôn ngữ LT khác
nhau nên không thể dễ dàng truy xuất các file DL của các
chương trình khác
Chức năng của chương trình là cố định, không linh hoạt
– Các chương trình được viết theo các chức năng định sẳn, nếu
có yêu cầu chức năng nào mới thì phải viết một chương trình
m ới
8
Phương pháp lưu dữ liệu bằng CSDL
◆
Lý do phát sinh phương pháp này:
– Không nên đưa việc định nghĩa DL vào chương trình
– Nên lưu DL riêng và không phụ thuộc vào chương trình
– Nên có sự kiểm soát khi truy xuất và xử lý DL, và việc
kiểm soát này không nên đặt trong một chương trình
◆
Kết quả:
– Hệ quản trị CSDL (DBMS)
9
Cơ sở dữ liệu (Database)
◆
Là tập hợp có tính chia sẽ của các DL có quan hệ logic với
nhau (và sự miêu tả của các DL này), được thiết kế để đáp
ứng nhu cầu về thông tin cho một tổ chức
(Shared collection of logically related data (and a description of this
data), designed to meet the information needs of an organization)
◆
◆
System catalog (metadata): cung cấp thông tin miêu tả DL,
giúp cho chương trình và DL có thể độc lập với nhau
Các DL quan hệ logic với nhau bao gồm: các thực thể, các
thuộc tính, và các mối quan hệ của các thông tin trong một
tổ chức
10
Hệ quản trị CSDL (DBMS)
◆
Là một hệ thống phần mềm cho phép ngưới dùng có thể
định nghĩa, tạo, và duy trì CSDL, cho phép truy xuất CSDL
theo cách có kiểm soát
11
Ví dụ về hệ quản trị CSDL (DBMS)
12
Phương pháp lưu dữ liệu bằng CSDL
◆
Ngôn ngữ định nghĩa dữ liệu
(DDL: Data definition language)
– Cho phép đặc tả kiểu DL, cấu trúc DL và ràng buộc DL
– Tất cả các đặc tả DL được lưu trong CSDL
◆
Ngôn ngữ thao tác dữ liệu
(DML: Data manipulation language).
– Là công cụ để truy vấn DL
13
Phương pháp lưu dữ liệu bằng CSDL
◆
Việc truy xuất CSDL có kiểm soát có thể bao gồm các hệ
thống sau:
– Hệ thống bảo mật DL
– Hệ thống nhất quán DL
– Hệ thống kiểm soát đồng thời
– Hệ thống kiểm soát việc phục hồi DL
– Bảng ghi quyền truy xuất của các users
◆
Dùng cơ chế khung nhìn dữ liệu (view mechanism)
– Cung cấp cho người dùng chính xác các DL mà người
dùng đang cần
14
Khung nhìn dữ liệu (View) (1)
◆
Cho phép mỗi user có cái nhìn riêng về CSDL
◆
Khung nhìn dữ liệu được xem là một phần cơ bản của
CSDL
15
Khung nhìn dữ liệu (View) (2)
◆
Lợi ích của việc dùng view:
– Làm giảm sự phức tạp của CSDL
– Cung cấp thêm một mức độ an toàn
– Cung cấp một cơ chế tùy biến để có thể thay đổi cách
trình bày CSDL
– Giúp ta có một cái nhìn không thay đổi đối với cấu trúc
của một CSDL, cho dù bản thân CSDL đó có thể bị thay
đổi
16
Các thành phần của môi trường dùng DBMS (1)
17
Các thành phần của môi trường dùng DBMS (2)
◆
Phần cứng (Hardware)
– Có thể là một máy PC hay là một mạng máy tính
◆
Phần mềm (Software)
– Hệ DBMS, hệ điều hành, phần mềm mạng (nếu cần) và
các chương trình ứng dụng
◆
Dữ liệu (Data)
– Là DL được dùng và sự miêu tả về DL đó (được gọi là
lược đồ DL (schema))
18
Các thành phần của môi trường dùng DBMS (3)
◆
◆
Các thủ tục (Procedures)
– Tài liệu hướng dẫn và các qui tắc được áp dụng khi thiết
kế CSDL, sử dụng CSDL và DBMS
Người dùng (People)
19
Vai trò của con người trong môi trường DBMS
◆
◆
◆
◆
◆
Người quản trị dữ liệu (Data Administrator (DA))
Người quản trị CSDL
(Database Administrator (DBA))
Người thiết kế CSDL (Database Designers)
Mức logic và vật lý (Logical and Physical)
Người lập trình ứng dụng
(Application Programmers)
Người sử dụng chương trình (End Users)
Mức cơ bản và mức thành thạo (naive and sophisticated)
20
Lịch sử các hệ thống cơ sở dữ liệu
◆
◆
◆
Thế hệ đầu tiên (First generation)
– Hệ thống CSDL phân cấp (Hierarchical)
– Hệ thống CSDL mạng (Network)
Thế hệ thứ hai (Second generation)
– Hệ thống CSDL quan hệ (Relational)
Thế hệ thứ ba (Third generation)
– Hệ thống CSDL quan hệ - đối tượng
(Object Relational)
– Hệ thống CSDL hướng đối tượng
(Object-Oriented)
21
Ưu điểm của DBMS (1)
◆
◆
◆
◆
◆
◆
◆
◆
Có kiểm soát sự dư thừa dữ liệu
Có tính nhất quán dữ liệu (data consistency)
Chứa được nhiều thông tin hơn với cùng số lượng dữ liệu
như nhau
Cho phép chia sẽ dữ liệu
Tăng cường sự toàn vẹn của dữ liệu (data integrity)
Tăng độ bảo mật (security)
Có tuân theo các tiêu chuẩn
Tiết kiệm về kích cỡ
22
Ưu điểm của DBMS (2)
◆
◆
◆
◆
◆
◆
Cân đối các yêu cầu có tính xung đột
Tăng cường khả năng truy xuất và đáp ứng của dữ liệu
(accessibility and responsiveness)
Nâng cao hiệu suất (productivity)
Bảo trì tốt hơn nhờ dữ liệu độc lập với chương trình
Tăng khả năng sử dụng đồng thời
Cải thiện chức năng sao lưu và phục hồi dữ liệu
23
Nhược điểm của DBMS
◆
◆
◆
◆
◆
◆
◆
Phức tạp (Complexity)
Nhược điểm về kích thước (Size)
Nhược điểm về chi phí (Cost of DBMS)
Phải tốn chi phí thêm cho phần cứng
Tốn chi phí vào việc chuyển đổi (Cost of conversion)
Nhược điểm về tốc độ thực hiện
Dễ bị hư hỏng hơn
HẾT CHƯƠNG 1
24