CƠ SỞ DỮ LIỆU ( Databases )
Chương 1: Tổng quan về CSDL
bangtqh@utc2.edu.vn
Nội dung
1. Các hệ thống tập tin
2. Các hệ thống cơ sở dữ liệu
3. Định nghĩa cơ sở dữ liệu
4. Định nghĩa hệ quản trị Cơ sở dữ liệu
5. Kiến trúc của một Cơ sở dữ liệu
6. Tính chất độc lập dữ liệu
7. Các mô hình dữ liệu
2 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.1. Xử lý trên hệ thống tập tin (cid:1) Mỗi ứng dụng có 1 hệ thống tập tin riêng Sales files:
Sales application
– PropertyForRent – PrivateOwner – Client
Contracts application
Contracts files – Lease – PropertyForRent – Client
3 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Các hạn chế của hệ thống tập tin
(cid:1) Dữ liệu tách biệt và không chia sẻ
– Mỗi ứng dụng có 1 hệ thống tập tin riêng – Việc chia sẻ dữ liệu giữa các ứng dụng vô cùng khó
khăn do khác nhau về cấu trúc.
(cid:1) Dữ liệu bị trùng lặp
– Tốn không gian lưu trữ – Có thể dẫn tới tình trạng không nhất quán dữ liệu khi
cập nhật trên các hệ thống khác nhau
(cid:1) Phụ thuộc dữ liệu
– Thuật toán xử lý phụ thuộc vào cấu trúc tập tin (đã
được định nghĩa) (cid:2) Khi thay đổi cấu trúc dữ liệu, khi nâng cấp dữ liệu thì phải thay đổi chương trình theo đó
4 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Các hạn chế của hệ thống tập tin (tt)
(cid:1) Định dạng không tương thích
– Các tập tin được định nghĩa theo ngôn ngữ lập trình
nào đó (cid:2) khó chia sẻ (cid:1) Câu truy vấn bị cố định trước
– Là hệ quả của việc phụ thuộc dữ liệu. – Mỗi chương trình truy xuất được phát triển cố định cho
một cấu trúc dữ liệu bên dưới.
5 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.2. Cách tiếp cận cơ sở dữ liệu
Data entry and reports
Sales application
DBMS
Data entry and reports
Sales
Contracts
(cid:1) Dữ liệu độc lập với chương trình (cid:1) Dữ liệu được quản lý tập trung (cid:1) Dữ liệu được chia sẻ cho nhiều ứng dụng (cid:1) Dữ liệu được đảm bảo an toàn (cid:1) Dữ liệu ít dư thừa
Contracts application Database
6 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.3. Định nghĩa Cơ sở dữ liệu
(cid:1) Cơ sở dữ liệu là tập hợp dữ liệu được tổ chức theo một cấu trúc chặt chẽ nhằm phục vụ (chia sẻ) cho nhiều mục tiêu khác nhau một cách có chọn lọc
(cid:1) Ví dụ:
– Cơ sở dữ liệu nhân viên – Cơ sở dữ liệu hàng hóa – Cơ sở dữ liệu khách hàng – ….v.v.
(cid:1) Hệ cơ sở dữ liệu gồm 4 thành phần: CSDL, Người sử
dụng, Phần mềm, Phần cứng
7 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.4. Hệ quản trị cơ sở dữ liệu
(cid:1) Định nghĩa
– Hệ quản trị cơ sở dữ liệu (DBMS – Database
Management System) là hệ thống phần mềm cung cấp công cụ để xây dựng CSDL, thao tác trên CSDL và kiểm soát việc truy xuất trên CSDL
(cid:1) Ví dụ:
– Microsoft Access – Microsoft SQL-Server – Oracle – DB2
8 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.5. Kiến trúc 3 lớp của CSDL
9 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.5. Kiến trúc 3 lớp của CSDL (tt)
(cid:1) Mức vật lý (Physical Level)
– Dữ liệu gì và được lưu trữ như thế nào ? ở đâu (đĩa từ, băng từ, track, sector … nào) ? Cần các chỉ mục gì ?
– Việc truy xuất
là tuần tự (Sequential Access) hay ngẫu nhiên (Random Access) đối với từng loại dữ liệu.
– Những người hiểu và làm việc với CSDL tại mức này là người quản trị CSDL (Administrator), những người sử dụng (NSD) chuyên môn.
10 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.5. Kiến trúc 3 lớp của CSDL (tt) (cid:1) Mức quan niệm (Conceptual/Logical Level) – Giải quyết cho câu hỏi CSDL cần phải
lưu giữ bao nhiêu loại dữ liệu ? Đó là những dữ liệu gì ? Mối quan hệ giữa các loại dữ liệu này như thế nào ? – CSDL mức quan niệm là sự biểu diễn trừu tượng CSDL mức vật lý. CSDL mức vật lý là sự cài đặt cụ thể của CSDL mức quan niệm
(cid:1) Mức ngoài (External Level)
– Là mức dành cho người sử dụng (ương trình ứng
dụng) làm việc. – Cung cấp các
"khung nhìn" (View) để tùy theo đó
người sử dụng được "nhìn thấy" cái gì của CSDL
11 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.5. Kiến trúc 3 lớp của CSDL (tt)
External view 2
External view 1
Staff_no LName Bno
Sno FName LName Age Salary
Staff_No FName LName DOB Salary Branch_No
Conceptual level
struct STAFF {
int Staff_No; int Branch_No;
Internal level
char FName [15]; char LName [15];
struct date Date_of_Birth; float Salary; struct STAFF *next;
}; index Staff_No; index Branch_No
12 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Các mức nhìn (levels)
(cid:1) Mức khung nhìn/ngoài: là các góc nhìn khác nhau của các nhóm người sử dụng về CSDL. Mỗi nhóm người dùng có một góc nhìn (view) khác nhau về CSDL
(cid:1) Mức quan niệm (Conceptual level): là mức nhìn tổng thể về CSDL, đây là góc nhìn của người có trách nhiệm quản trị CSDL.
(cid:1) Mức vật lý / trong (Physical / Internal level): là mức tổ chức vật lý của dữ liệu trong CSDL, đây là góc nhìn của những nhà phát triển (deverlopers) CSDL
13 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.6. Độc lập dữ liệu
(cid:1) Độc lập logic:
– Các thay đổi lược đồ quan niệm (thêm/xóa thực thể) thì không làm ảnh hưởng tới lược đồ ngoài hay phải viết lại chương trình ứng dụng
(cid:1) Độc lập vật lý:
– Các thay đổi của lược đồ vật lý (vd: thay đổi cách thức tổ chức dữ liệu) không làm thay đổi lược đồ quan niệm.
14 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.6. Độc lập dữ liệu (tt)
External Schemea
External Schemea
External Schemea
Logical data independence
External/Conceptual mapping
Conceptual Schemea
Physical data independence
Conceptual/Internal mapping
Internal Schemea
15 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
1.7. Mô hình dữ liệu
(cid:1) Định nghĩa mô hình dữ liệu:
– Là mô hình trừu tượng dùng để mô tả dữ liệu và
phương thức (phép toán) truy xuất dữ liệu
– Có nhiều loại mô hình dữ liệu khác nhau (để mô tả dữ liệu trong CSDL), mỗi loại đực trưng cho một cách tiếp cận khác nhau của các nhà phân tích
(cid:1) Các loại mô hình dữ liệu
– Mô hình phân cấp (Hierarchical model) – Mô hình mạng (network model) – Mô hình quan hệ (relation model) – Mô hình thực thể liên kết (entity–relatiship model) – Mô hình hướng đối tượng (object oriented model)
16 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Ví dụ mô hình phân cấp
KQua
Mức 1:
DiemTH
DiemLT
SVien
HPhan
Mức 2:
TenSV
Lop
Nganh
TenHP
SLuong
- Khi truy xuất: Đi từ gốc đến phần tử cần xét
MHoc
Mức 3:
TenMH
Khoa
TinChi
17 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Ví dụ mô hình mạng
MHoc
SVien
MHOC_SAU
MHOC_MO
MHOC_TRUOC
SVIEN_DIEM
HPhan
DKien
KQUA_HPHAN
KQua
- Kiểu liên kết đi từ mẫu tin chủ (owner record) đến mẫu tin thành viên (member)
18 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Ví dụ mô hình quan hệ
SVien
Hoc
HPhan
MaSV
MaSV
MaHP
Ten
MaHP
SLuong
Lop
DiemLT
MaMH
Nganh
DiemTH
MHoc
DKien
MaMH
MaMH
TenMH
MaMHTruoc
Khoa
TinChi
19 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Ví dụ mô hình hướng đối tượng
SVien
hoc
Ten Lop Nganh
HPhan Ten SLuong
1..* 1..*
0..* 0..*
LapTKB() InBangDiem()
1 1
mo
Diem DiemTH DiemLT DiemPrj
0..* 0..*
SuaDiem()
MHoc
+MHoc truoc
Ten Khoa SoTinChi
0..* 0..*
CapNhatSTC()
Dieu kien
0..* 0..* +MHoc sau
20 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
VD mô hình Entity-Relationship (ER)
MaHP
Diem
Hocky
Nam
Gvien
(1,1)
(0,n)
hoc
mo
HPhan
mhoctruoc
(1,n)
(0,n)
MaMH TenMH
SVien
MHoc
MaSV Ten Lop
Khoa Tinchi
Nganh
(0,n)
dieukien
(0,n)
mhocsau
21 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Mô hình hóa nhiều cấp
Thực tế
- Độc lập với mô hình dữ liệu - Độc lập với DBMS
Mô hình quan niệm
Codasyl Relationnel Object XML
Mô hình Lôgic
- Phụ thuộc mô hình dữ liệu - Phụ thuộc DBMS
Mô hình vật lý
Phụ thuộc mô hình dữ liệu Phụ thuộc DBMS
- Tổ chức vật lý của dữ liệu - Cấu trúc của dữ liệu - Các cấu trúc chỉ mục
22 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Kiến trúc chung DBMS
Pgrogramers
DBA
Users
Queries
Application programs
Database schema
DBMS
DML preprocessor
Query preprocessor
DDL Compiler
Program Object code
Database manager
Dictionary manager
Access methods
File manager
System buffers
Database and system catalog
23 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Các chức năng của DBMS
(cid:1) Lưu trữ, tìm kiếm, cập nhật
(cid:1) Quản trị siêu cơ sở dữ liệu (Meta Databases/Catalog)
(cid:1) Hỗ trợ giao tác
(cid:1) Xử lý truy xuất đồng thời
(cid:1) Đảm bảo an toàn dữ liệu
(cid:1) Xử lý khôi phục sau sự cố
(cid:1) Quản lý lưu trữ vật lý
24 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Các vai trò trong CSDL
(cid:1) Quản trị dữ liệu (DA)
(cid:1) Quản trị Cơ sở dữ liệu (DBA)
(cid:1) Thiết kế CSDL (Database design)
(cid:1) Lập trình viên ứng dụng
(cid:1) Người sử dụng
25 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Ưu điểm của DBMS
(cid:1) Kiểm soát sự dư thừa dữ liệu (cid:1) Dữ liệu nhất quán (cid:1) Có nhiều thông tin hơn từ cùng 1 khối lượng dữ liệu (cid:1) Chia sẻ dữ liệu (cid:1) Cải thiện tính nhất quán của dữ liệu (cid:1) Cải tiến độ an toàn (cid:1) Đạt được các yêu cầu về chuẩn hóa (cid:1) Kinh tế hơn
26 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Ưu điểm của DBMS (tt)
(cid:1) Cân bằng các yêu cầu có tranh chấp
(cid:1) Khả năng truy xuất và đáp ứng được cải thiện
(cid:1) Khả năng sản xuất được cải thiện
(cid:1) Cải thiện việc bảo trì dữ liệu (do nó độc lập)
(cid:1) Tăng khả năng truy xuất đồng thời
(cid:1) Cải thiện dịch vụ sao lưu và khôi phục
27 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
Nhược điểm của DBMS
(cid:1) Phức tạp
(cid:1) Tốn không gian lưu trữ
(cid:1) Tốn chi phí mua DBMS
(cid:1) Tốn chi phí cho phần cứng bổ sung thêm
(cid:1) Tốn chi phí chuyển đổi
(cid:1) Hiệu năng đôi khi bị giảm sút
(cid:1) Khả năng bị sự cố tăng
28 bangtqh@utc2.edu.vn Cơ sở dữ liệu(Database) - Chương 1
bangtqh@utc2.edu.vn