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