CHƯƠNG 1CHƯƠNG 1
CHƯƠNG 1CHƯƠNG 1
Giới thiệu
NNNN
HCSDL
1
Giới thiệu chungGiới thiệu chung
Data (dữ liệu): văn bản(text), đồ họa(graphics), hình ảnh
(images) âm thanh (sound)
(images)
,
âm
thanh
(sound)
…
Information (thông tin): dữ liệu đã được xử lý
Database: Là một tập hợp dữ liệu có liên quan luận lý với
hhứ thô ti ó tổ hứ ủ ột đơ ị hằ đá
n
h
au, c
hứ
a
thô
ng
ti
n c
ó
tổ
c
hứ
c c
ủ
a m
ột
đơ
n v
ị
n
hằ
m
đá
p
ứng nhu cầu khai thác và chia sẽ thông tin của người dùng.
H
ệ
q
uản tr
ị
CSDL
(
Database Mana
g
ement S
y
stem -
ệ q ị (gy
DBMS): là một hệ thống các phần mềm cho phép người sử
dụng định nghĩa, tạo lập, bảo trì và điều khiển truy xuất
CSDL
NNNN
HCSDL 2
Hệ CSDL (Database System)
NNNN
HCSDL 3
Cơ sở dữ liệu (Database)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 đượclưutrữ trong máy tính
quan
với
nhau
được
lưu
trữ
trong
máy
tính
Sinh viên
Niên giám điện thoại
Dự án
CSDL được thiết kế, xây dựng, và lưu trữ với một
mục đích xác định phụcvụ cho mộtsố ứng dụng
mục
đích
xác
định
,
phục
vụ
cho
một
số
ứng
dụng
và người dùng
Tậpngẫu nhiên củacácdữ liệu không thể xem là
Tập
ngẫu
nhiên
của
các
dữ
liệu
không
thể
xem
là
một CSDL
NNNN
HCSDL 4
Hệ quản trị CSDL
(Database Management System)
Tập hợp các chương trình cho phép người sử dụng
tạora duytrìvàquảnlýCSDL
tạo
ra
,
duy
trì
và
quản
lý
CSDL
Hệ quản trị CSDL cho phép xác định, xây dựng và
xử lý dữ liệu
xử
lý
dữ
liệu
Xác định – khai báo bộ khung dữ liệu cùng với các
mô tả chi tiết về dữ li
ệ
u
ệ
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
Cun
g
cấp
g
iao diện cho n
g
ười sử dụn
g
, các tiện
ích: giải quyết tranh chấp, giao dịch, sao lưu, phục
hồibả ậtCSDL
NNNN
HCSDL 5
hồi
,
bả
o m
ật
CSDL
…
Ví dụ về CSDLVí dụ về CSDL
NNNN
HCSDL 6
Quản lý đề án của một công tyQuản lý đề án của một công ty
Định nghĩa CSDL
Cấ tú bả b ồ áthàhhầ dữ
Cấ
u
t
r
ú
c
bả
n
g
,
b
ao
gồ
m c
á
c
thà
n
h
p
hầ
n
dữ
liệu và kiểu dữ liệu tương ứng
Xây dựng CSDL
Xây
dựng
CSDL
Đưa dữ liệu vào các bảng
Xử lý CSDL
Xử
lý
CSDL
Thực hiện các truy vấn: “Cho biết những
nhân viên thuộc phòng 5
”
nhân
viên
thuộc
phòng
5
Thực hiện các phép cập nhật: “Chuyển
nhân viên Nguyễn Thanh Tùng sang phòng
NNNN
HCSDL 7
số 1”
Ưu điểm cơ sở dữ liệu
Độc lập dữ liệu – chương trình
ể
Giảm tối thi
ể
u dư thừa dữ liệu
Nâng cao tính nhất quán dữ liệu
ậ ệ
ệ ù ữ ệ
T
hu
ậ
n ti
ệ
n cho vi
ệ
c d
ù
n
g
chun
g
d
ữ
li
ệ
u
Tăng hiệu suất phát triển bảo trì, ứng dụng
Dễ dà á d áà bộ tiê h ẩ
Dễ
dà
n
g
á
p
d
ụn
g
c
á
c r
à
n
g
b
u
ộ
c,
tiê
u c
h
u
ẩ
n
NNNN
HCSDL 8
Các thành phần của môi trường DBMSCác thành phần của môi trường DBMS
Phần cứng (Hardware)
Phầnmềm(Software)
Phần
mềm
(Software)
Dữ liệu (data)
Các thủ tục(
procedure
): các qui định hoạt động
Các
thủ
tục
(
procedure
):
các
qui
định
hoạt
động
Con người
Ngườiquảntrị CSDL (DBA
–
Database
Người
quản
trị
CSDL
(DBA
Database
administration)
N
g
ười thiết kế CSDL
(
Database desi
g
ner
)
g
(
g)
Người dùng cuối (End-user)
NNNN
HCSDL 9
Các tính năng của HQT CSDL…
Kiểm soát được tính dư thừa và nhất quán
của
dữ
liệu
của
dữ
liệu
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ấtdữ liệu đồng thời
các
HQT
phải
cho
phép
truy
xuất
dữ
liệu
đồng
thời
Hạn chế những truy cập không cho phép:
Từng người dùng và nhóm người dùng có mộttà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
Tiệníchsử dụng:
Cung
cấp
nhiều
phương tiệnxử
Tiện
ích
sử
dụng:
Cung
cấp
nhiều
phương
tiện
xử
lý, giao tiếp giữa HQT CSDL và người dùng
NNNN
HCSDL 10
…Các tính năng của HQT CSDL…
Đảm bảo các ràng buộc toàn vẹn
RBTV (I t it C t i t ) là hữ i đị h
RBTV
(I
n
t
e
g
r
it
y
C
ons
t
ra
i
n
t
s
)
là
n
hữ
n
g
qu
i
đị
n
h
cần được thỏa mãn để đảm bảo dữ liệu luôn
p
hản ánh đún
g
n
g
ữ n
g
hĩa của thế
g
iới th
ự
c
p gg g g ự
Một số ràng buộc có thể được khai báo với HQT
và HQT sẽ tự động kiểmtra.
Một số ràn
g
buộc khác được kiểm tra nhờ
chương trình ứng dụng
Khả ă lư àhồih
Khả
n
ă
n
g
sao
lư
u v
à
hồi
p
hụ
c
NNNN
HCSDL 11
…Các tính năng của HQT CSDL
Các tính năng khác
Ch ẩ hó
Ch
u
ẩ
n
hó
a
Cho phép DBA định nghĩa và bắt buộc áp dụng
m
ộ
t chuẩn thốn
g
nhất cho m
ọ
i n
g
ười dùn
g
ộ g ọ g g
Uyển chuyển
Khi nhu cầu công việc thay đổi, cấu trúc CSDL
đòi hỏi
th đổi HQT h hé thê h ặ ở
đòi
hỏi
th
ay
đổi
,
HQT
c
h
o p
hé
p
thê
m
h
o
ặ
c m
ở
rộng cấu trúc mà không làm ảnh hưởng đến
chương trình ứng dụng
ể
Giảm thời
g
ian phát tri
ể
n ứn
g
d
ụ
n
g
NNNN
HCSDL 12
Kiến trúc của HQT CSDL
NNNN
HCSDL 13
Kiến trúc Client/Server
NNNN
HCSDL 14
Kiến trúc phân tán
NNNN
HCSDL 15
3 mức mô hình3 mức mô hình
Mô hình mức cao
Cung cấp các khái niệmgầngũivớingười dùng
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…
tượng…
Mô hình cài đặt
Đưa ra các khái niệm người dùng có thể hiểu được
nhưng không quá xa vớicáchdữ liệu đượctổ chức
nhưng
không
quá
xa
với
cách
dữ
liệu
được
tổ
chức
thật sự trên máy tính
VD: mô hình quan hệ
Mô hì h ứ hấ (ôhìhậ lý) Đ á
Mô
hì
n
h
m
ứ
c t
hấ
p
(
m
ô
hì
n
h
v
ậ
t
lý)
:
Đ
ưa ra c
á
c
khái niệm mô tả chi tiết về cách thức dữ liệu được
lưu trữ tron
g
má
y
tính
NNNN
HCSDL 16
gy
Mô hình ER
NNNN
HCSDL 17
Lược đồ CSDL (Database Schema)
Là các mô tả về cấu trúc và ràng buộc trên
CSDL
CSDL
NNNN
HCSDL 18
Thể hiện CSDL (Database Instance)
Là dữ liệu hiện thời được lưu trữ trong CSDL
ở ộtthời điể à đó
ở
m
ột
thời
điể
m n
à
o
đó
Tình trạng của CSDL
NNNN
HCSDL 19
Catalog và MetaCatalog và Meta datadata
Hệ CSDL không chỉ chứa bản thân CSDL mà còn
chứa định nghĩa đầy đủ (mô tả)củaCSDL
chứa
định
nghĩa
đầy
đủ
(mô
tả)
của
CSDL
Các định nghĩa được lưu trữ trong catalog
Chứacácthôngtinvề cấutrúctậptin kiểuvà
Chứa
các
thông
tin
về
cấu
trúc
tập
tin
,
kiểu
và
dạng thức lưu trữ của mỗi thành phần dữ liệu và
những ràng buộc dữ liệu
Dữ liệu trong catalog gọi là meta-data (data of
data)
Các chươn
g
trình ứn
g
dụn
g
có thể truy xuất đến
nhiều CSDL nhờ thông tin cấu trúc được lưu trữ
ttl
NNNN
HCSDL 20
t
ron
g
ca
t
a
l
o
g
Ngôn ngữ CSDL…
Ngôn ngữ xác định dữ liệu (DDL –Data
Dfiiti L )
Xá đị hlượ đồ
D
e
fi
n
iti
on
L
an
g
ua
g
e
)
:
Xá
c
đị
n
h
ra
lượ
c
đồ
quan niệm
V
í dụ
CREATE TABLE em
p
lo
y
ees
(
py
(
id INTEGER PRIMARY KEY,
first_name CHAR(50) null,
last_name CHAR(75) not null,
date_of_birth DATE null );
NNNN
HCSDL 21
…Ngôn ngữ CSDL…
Ngôn ngữ thao tác dữ liệu (DML –Data
Milti L )
M
an
i
pu
l
a
ti
on
L
an
g
ua
g
e
)
Cho phép truy xuất, thêm, xóa, sửa dữ liệu
Mức cao (phi thủ t
ụ
c)
Mức thấp (thủ tục)
Ví dụ
Các câu l
ệ
nh tr
ọ
n
g
S
Q
L: SELECT
,
INSERT
,
ệ ọ gQ , ,
UPDATE và DELETE.
SELECT id, last_name FROM employees
NNNN
HCSDL 22
…Ngôn ngữ CSDL
Ngôn ngữ điều khiển giao dịch (Transaction Control
Language
TCL)
Language
-
TCL)
Đảm bảo tính toàn vẹn dữ liệu khi thực hiện các
tác v
ụ
có s
ự
tha
y
đổi dữ li
ệ
u
ụ ự y ệ
Các câu lệnh SQL tương ứng: COMMIT, ROLLBACK,
và SAVEPOINT.
ể
N
g
ôn n
g
ữ điều khi
ể
n dữ liệu (Data Control
Language - DCL)
C ấ átíhă bả ệ háđốitượ
C
ung c
ấ
p c
á
c
tí
n
h
n
ă
ng
bả
o v
ệ
c
h
o c
á
c
đối
tượ
ng
của CSDL
Các câu lệnh SQL tương ứng: GRANT và REVOKE.
NNNN
HCSDL 23
Các
câu
lệnh
SQL
tương
ứng:
GRANT
và
REVOKE.
Quá trình phát triển DatabaseQuá trình phát triển Database
Mô hình hóa nghiệp vụ (Enterprise modeling)
Thiết
kế dtb lậ lý (l i l d t b
Thiết
kế
d
a
t
a
b
ase
l
u
ậ
n
lý
(l
o
gi
ca
l
d
a
t
a
b
ase
design)
Thiếtkế dtb ậtlý( h i ld t b
Thiết
kế
d
a
t
a
b
ase v
ật
lý
(
p
h
ys
i
ca
l
d
a
t
a
b
ase
design)
ệ h db (db
Hi
ệ
n t
h
ực
d
ata
b
ase
(d
ata
b
ase
implementation)
Bảo trì database (database maintenance)
NNNN
HCSDL 24