Tải bản đầy đủ (.pdf) (29 trang)

Bài giảng Cơ sở dữ liệu (Databases) - Chương 1a: Các khái niệm cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (721.93 KB, 29 trang )

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

Sales application


Contracts

– Lease
– PropertyForRent
– Client

Cơ sở dữ liệu(Database) - Chương 1

3


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
Sales application
Data entry and
reports

Sales

DBMS
Contracts

Data entry and
reports

Contracts application


Database

 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


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)
External view 2

External view 1
Sno FName LName

Conceptual level

Internal level

Age Salary

Staff_No FName

LName

Staff_no LName Bno

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
Cơ sở dữ liệu(Database) - Chương 1

12


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)
External
Schemea

External
Schemea

External/Conceptual
mapping

External
Schemea


Logical data independence

Conceptual
Schemea

Conceptual/Internal
mapping

Physical data independence
Internal
Schemea

Cơ sở dữ liệu(Database) - Chương 1

15


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

Mức 1:

DiemTH

DiemLT

SVien

HPhan
Mức 2:

TenHP

TenSV


SLuong

Lop

Nganh

- Khi truy xuất: Đi từ gốc đến phần tử cần xét
Mức 3:

MHoc
TenMH

Khoa

TinChi

Cơ sở dữ liệu(Database) - Chương 1

17


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)

Cơ sở dữ liệu(Database) - Chương 1

18


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

MaMHTruoc

TenMH
Khoa
TinChi


Cơ sở dữ liệu(Database) - Chương 1

19


Ví dụ mô hình hướng đối tượng
SVien
Ten
Lop
Nganh

hoc
1..*

0..*

LapTKB()
InBangDiem()

HPhan
Ten
SLuong

1
Diem
DiemTH
DiemLT
DiemPrj

mo


0..*

SuaDiem()
MHoc
Ten
Khoa
SoTinChi

+MHoc truoc

0..*

CapNhatSTC()
0..*
+MHoc sau

Cơ sở dữ liệu(Database) - Chương 1

Dieu kien

20


VD mô hình Entity-Relationship (ER)
MaHP

Diem

hoc


(0,n)

HPhan

Hocky
(1,1)

Nam

Gvien

mo
mhoctruoc

MaSV
Ten
Lop
Nganh

(1,n)

SVien

MaMH
TenMH
Khoa
Tinchi

(0,n)


MHoc
(0,n)

dieukien
(0,n)

mhocsau

Cơ sở dữ liệu(Database) - Chương 1

21


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


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

Mô hình vật lý

Relationnel

Cơ sở dữ liệu(Database) - Chương 1

Object

XML

22


Kiến trúc chung DBMS

DBMS

Pgrogramers

Users

DBA


Application
programs

Queries

Database
schema

DML
preprocessor

Query
preprocessor

DDL
Compiler

Program
Object code

Database
manager

Dictionary
manager

Access methods

File manager


Database and
system
catalog

System buffers

Cơ sở dữ liệu(Database) - Chương 1

23


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


×