1
1
Chương
Chương
1
1
Đ
Đ
ạ
ạ
i
i
cương
cương
v
v
ề
ề
c
c
á
á
c
c
h
h
ệ
ệ
cơ
cơ
s
s
ở
ở
d
d
ữ
ữ
li
li
ệ
ệ
u
u
Nguy
Nguy
ễ
ễ
n
n
H
H
ồ
ồ
ng
ng
Phương
Phương
phuongnh@it
phuongnh@it
-
-
hut.edu.vn
hut.edu.vn
B
B
ộ
ộ
môn
môn
H
H
ệ
ệ
th
th
ố
ố
ng
ng
thông
thông
tin
tin
Khoa
Khoa
Công
Công
ngh
ngh
ệ
ệ
thông
thông
tin
tin
Đ
Đ
ạ
ạ
i
i
h
h
ọ
ọ
c
c
B
B
á
á
ch
ch
Khoa
Khoa
H
H
à
à
N
N
ộ
ộ
i
i
2
N
N
ộ
ộ
i
i
dung
dung
chương
chương
n
n
à
à
y
y
• 1.1 Các hệ thống xử lý tệp
truyềnthống và những hạn
chế củanó.
• 1.2 Các hệ CSDL: khái niệm,
khả năng, kiếntrúc, người
dùng củamộthệ quảntrị
CSDL.
• 1.3 Sự phân loạicáchệ
CSDL.
)
3
1.1
1.1
C
C
á
á
c
c
h
h
ệ
ệ
th
th
ố
ố
ng
ng
x
x
ử
ử
lý
lý
t
t
ệ
ệ
p
p
truy
truy
ề
ề
n
n
th
th
ố
ố
ng
ng
•Bướckhởi đầucủaquátrình
tin họchóadoanhnghiệp.
•Tập trung vào nhu cầuxử lý dữ liệu
củacácphòngriênglẻ trong tổ chức
mà không xem xét tổng thể tổ chức
này.
•Viếtmộtchương trình mới
đốivớimỗi ứng dụng đơnlẻ,
không có kế hoạch, không có
mô hình hướng đếnsự
tăng trưởng.
4
•Mỗichương trình ứng dụng
định nghĩavàquảnlýcáctệp
dữ liệucủa riêng nó.
•Trướckhixuấthiệncácphần
mềmhệ quảntrị CSDL, trong
quá khứ các hệ thống trên cơ
sở tệp đã đượctạolập để xử
lý mộtsố lượng lớndữ liệu.
C
C
á
á
c
c
h
h
ệ
ệ
th
th
ố
ố
ng
ng
x
x
ử
ử
lý
lý
t
t
ệ
ệ
p
p
truy
truy
ề
ề
n
n
th
th
ố
ố
ng
ng
5
H
H
ạ
ạ
n
n
ch
ch
ế
ế
c
c
ủ
ủ
a
a
c
c
á
á
c
c
h
h
ệ
ệ
th
th
ố
ố
ng
ng
x
x
ử
ử
lý
lý
t
t
ệ
ệ
p
p
truy
truy
ề
ề
n
n
th
th
ố
ố
ng
ng
•Dư thừa và không nhấtquándữ liệu
•Khókhăn trong truy nhậpdữ liệu
•Côlậpvàhạnchế chia sẻ dữ liệu
•Cácvấn đề về an toàn và toàn vẹn
•Cácvấn đề vềđộtin cậy
•Sự phụ thuộcdữ liệucủacácchương
trình ứng dụng
6
N
N
ộ
ộ
i
i
dung
dung
chương
chương
n
n
à
à
y
y
• 1.1 Các hệ thống xử lý tệp
truyềnthống và những hạn
chế củanó.
•1.2 Các hệ CSDL: khái niệm,
khả năng, kiếntrúc, người
dùng củamộthệ quảntrị
CSDL.
•1.3 Sự phân loạicáchệ
CSDL.
)
2
7
1.2
1.2
C
C
á
á
c
c
h
h
ệ
ệ
cơ
cơ
s
s
ở
ở
d
d
ữ
ữ
li
li
ệ
ệ
u
u
• CSDL (database) là gì ?
•Tạisaophảisử dụng CSDL ?
•Tạisaophảitìmhiểuvề các hệ CSDL
(database systems) ?
8
• Thông tin cầnquantâm
–Khóa học, lớphọc, sinh viên, giáo viên,
môn học,…
– Thông tin về sinh viên: thông tin cá
nhân, thông tin họctập,…
– Thông tin về môn học: khốilượng, giáo
viên, lịch học,…
•Cần lưutrữ những thông tin đadạng
Ví dụ về quảnlýđào tạo
Cơ sở dữ liệu
9
V
V
í
í
d
d
ụ
ụ
:
:
khai
khai
th
th
á
á
c
c
thông
thông
tin
tin
• Sinh viên
–Các môn họccủaKhoaCôngnghệ thông
tin ?
– Điểmthimôn“Hệ cơ sở dữ liệu” ?
• Giáo viên
–Danhsáchsinhviênlớp Tin2-K49 ?
–ThờikhóabiểucủalớpTin2-K49 ?
•Giáovụ
–DanhsáchsinhviênK47 tốt
nghiệploạigiỏi ?...
Phầnmềm ứng dụng
10
“
“
H
H
ì
ì
nh
nh
dung
dung
”
”
v
v
ề
ề
xây
xây
d
d
ự
ự
ng
ng
m
m
ộ
ộ
t
t
CSDL
CSDL
•Yêucầu
–Lưutrữ thông tin cầnthiết mộtcáchchính xác
–Truyxuất thông tin hiệuquả
•Thựchiện
–Xácđịnh yêu cầunghiệpvụ
–Xácđịnh thông tin cầnlưutrữ
–Xácđịnh cách thứclưutrữ
•Cầncôngcụ trợ giúp xây dựng mộtCSDL
Phầnmềmquảntrị CSDL
11
C
C
á
á
c
c
kh
kh
á
á
i
i
ni
ni
ệ
ệ
m
m
cơ
cơ
b
b
ả
ả
n
n
CSDL
Hệ QTCSDL
ứng dụng
hệ CSDL
12
Cơ
Cơ
s
s
ở
ở
d
d
ữ
ữ
li
li
ệ
ệ
u
u
(database)
(database)
•Làmộttậphợpcácdữ liệu
–Biểudiễnmộtvàikhíacạnh nào đócủathế
giớithực
–Cóliênhệ logic thống nhất
– Đượcthiếtkế và bao gồmnhững dữ liệuphục
vụ mộtmục đích nào đó.
•Làmộtbộ sưutậpcácdữ liệu tác nghiệp
đượclưutrữ lạivàđượccáchệứng dụng
củamộtxínghiệpcụ thể nào đósử dụng.
3
13
H
H
ệ
ệ
qu
qu
ả
ả
n
n
tr
tr
ị
ị
cơ
cơ
s
s
ở
ở
d
d
ữ
ữ
li
li
ệ
ệ
u
u
(Database Management System
(Database Management System
-
-
DBMS)
DBMS)
•Là mộthệ thống phầnmềmcho
phép
– Định nghĩa, tạolập: xác định kiểu, cấu
trúc, ràng buộcdữ liệu, lưutrữ dữ liệu
trên các thiếtbị nhớ.
–Thao tác: truy vấn, cậpnhật, kếtxuất,…
các CSDL cho các ứng dụng khác nhau
•Vídụ: MS SQL Server, DB2,
MS Access, Oracle, FoxPro,…
14
H
H
ệ
ệ
cơ
cơ
s
s
ở
ở
d
d
ữ
ữ
li
li
ệ
ệ
u
u
•Làmộthệ thống gồm4 thànhphần
–Hệ quảntrị CSDL
–Phầncứng
–CSDL và phầnmềm ứng dụng
–Những ngườisử dụng
•Vídụ: Hệ quảnlýđào tạo, hệ quảnlý
nhân sự, hệ quảnlýkinhdoanh,…
15
H
H
ệ
ệ
CSDL
CSDL
CSDL
Hệ QuảnTrị CSDL
CSDL
Ứng dụng
Hệ
CSDL
16
C
C
á
á
c
c
t
t
í
í
nh
nh
năng
năng
c
c
ủ
ủ
a
a
h
h
ệ
ệ
qu
qu
ả
ả
n
n
tr
tr
ị
ị
CSDL
CSDL
•Quảnlýdữ liệutồntạilâudài
– Định nghĩadữ liệu
–Quảnlýlưutrữ
•Truyxuấtdữ liệumộtcáchhiệuquả
–Biểudiễn các thao tác dữ liệu
–Xử lý câu hỏi
–Quảntrị giao dịch
17
•Hỗ trợ ít nhấtmộtmôhìnhdữ liệu
• Đảmbảo tính độclậpdữ liệu
•Hỗ trợ các ngôn ngữ cấpcaonhất
định cho phép ngườisử dụng định
nghĩacấutrúccủadữ liệu, truy nhập
và thao tác dữ liệu
• Điềukhiểntruynhập
•Phụchồidữ liệu
C
C
á
á
c
c
t
t
í
í
nh
nh
năng
năng
c
c
ủ
ủ
a
a
h
h
ệ
ệ
qu
qu
ả
ả
n
n
tr
tr
ị
ị
CSDL
CSDL
18
C
C
á
á
c
c
ngôn
ngôn
ng
ng
ữ
ữ
• Ngôn ngữđịnh nghĩadữ liệu(Data
Definition Language - DDL)
–Cấutrúcdữ liệu
–Mốiliênhệ giữacácdữ liệuvàquytắc, ràng
buộcápđặtlêndữ liệu
• Ngôn ngữ thao tác dữ liệu(Data
Manipulation Language - DML)
–Tìmkiếm, thêm, xóa, sửadữ liệutrongCSDL
• Ngôn ngữđiềukhiểndữ liệu(Data
Control Language - DCL)
–Thayđổicấutrúccủacácbảng dữ liệu
–Khaibáobảomật thông tin
–Quyềnhạncủangười dùng trong khai thác
CSDL
4
19
S
S
ự
ự
tr
tr
ừ
ừ
u
u
tư
tư
ợ
ợ
ng
ng
h
h
ó
ó
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
Sơđồkhái niệm
(logic)
Sơ đồ trong
(vậtlý)
Khung nhìn 1 Khung nhìn n
...
Mức quan niệm
(logic)
Mứclưu trữ
(trong)
Mức khung nhìn
(ngoài)
định nghĩacấutrúccác
tệpvàchỉ dẫn đượcsử
dụng trong cơ sở dữ liệu
(cách lưutrữ dữ liệu
như thế nào)
định nghĩacấutrúclogic
củadữ liệu, dữ liệunào
đượclưutrữ và mối quan
hệ giữacácdữ liệu
mô tả cách mà ngườisử
dụng có thể nhìn thấydữ
liệu
20
Tương
Tương
ứ
ứ
ng
ng
3
3
m
m
ứ
ứ
c
c
v
v
ớ
ớ
i
i
ngôn
ngôn
ng
ng
ữ
ữ
Pascal
Pascal
•Mứcvậtlý: mộtbản ghi khach_hang đượcmôtả
như mộtkhốinhớ, chương trình dịch che dấucác
chi tiếtmứcnàyđốivớingườilập trình.
•Mứclogic: mỗibảnghiđượcmôtả bởimột định
nghĩakiểu, ngườilậptrìnhsử dụng ngôn ngữ lập
trình làm việctạimứctrừutượng này.
•Mức khung nhìn: ngườisử dụng máy tính thấy
mộttậpcácch
ương trình ứng dụng, che dấu
những chi tiếtvề các kiểudữ liệu
Type khach_hang = record
ten:string;
ngay_sinh:string;
dia_chi:string;
end;
21
Ki
Ki
ế
ế
n
n
tr
tr
ú
ú
c
c
c
c
ủ
ủ
a
a
m
m
ộ
ộ
t
t
h
h
ệ
ệ
qu
qu
ả
ả
n
n
tr
tr
ị
ị
CSDL
CSDL
Dữ liệu (data)
Siêu dữ liệu
(metadata)
Bộ xử lý
câu hỏi
Bộ quảntrị
giao dịch
Bộ quảnlý
lưu trữ
Các thay đổisơđồ Các truy vấnCácthayđổidữ liệu
22
Qu
Qu
ả
ả
n
n
lý
lý
lưu
lưu
tr
tr
ữ
ữ
•Yêucầu
–lưutrữ và truy xuất
dữ liệutrêncácthiết
bị nhớ
•Thựchiện
–Tổ chứctối ưudữ liệu
trên thiếtbị nhớ
–Tương tác hiệuquả
vớibộ quảnlýtệp
Data & index
(chỉ mục)
Quảnlýbuffer
Quảnlýtệp
Quản
lý
giao
dịch
Bộ quảnlýlưu trữ
Metadata &
Data dictionary
(từ điểndữ liệu)
23
X
X
ử
ử
lý
lý
câu
câu
h
h
ỏ
ỏ
i
i
•Yêucầu
–Tìmkiếmdữ liệutrả
lờichomộtyêucầu
truy vấn.
•Thựchiện
–Biến đổitruyvấn ở
mức cao thành các
yêu cầucóthể hiểu
đượcbởihệ CSDL.
–Lựachọnmộtkế
hoạch tốtnhất để trả
lờitruyvấnnày.
Bộ xử lý câu hỏi
Data & index
Metadata &
Data dictionary
Bộ quảnlý
lưu trữ
Bộ biên dịch
Bộđánh giá
Bộ tối ưu
24
Qu
Qu
ả
ả
n
n
tr
tr
ị
ị
giao
giao
d
d
ị
ị
ch
ch
•Yêucầu
– Định nghĩagiaodịch: mộttập các thao
tác đượcxử lý như một đơnvị không
chia căt được.
– Đảmbảotínhđúng đắnvàtínhnhất
quán củadữ liệu.
•Thựchiện
–Quảnlýđiềukhiểntương tranh.
–Phát hiệnlỗivàphụchồiCSDL
5
25
Ngư
Ngư
ờ
ờ
i
i
d
d
ù
ù
ng
ng
• Ngườithiếtkế và cài đặthệ QTCSDL:
chịutráchnhiệmthiếtkế và cài đặtcác
module củahệ QTCSDL và các giao diện
dướihìnhthứccácgóiphầnmềm
• Người phát triểncôngcụ: chịutrách
nhiệmthiếtkế và cài đặtcácgóiphầnmềm
hỗ trợ cho việcthiétkê, sử dụng cũng như
tăng cường hiệunăng củacáchệ CSDL.
26
Ngư
Ngư
ờ
ờ
i
i
d
d
ù
ù
ng
ng
• Ngườiphân tíchhệ thống và phát triển ứng
dụng: chịutráchnhiệmxác định yêu cầucủa
ngườidùngcuối, xác định các giao dịch cầnthiết
để đáp ứng các yêu cầu người dùng. Ngườilập
trình ứng dụng cài đặtnhững yêu cầunàytrong
chương trình, kiểmthử, gỡ rối, lậptàiliệucho
chương trình
• Ngườithiếtkế CSDL: chịu trách nhiệmxác định
dữ liệulư
utrữ trong CSDL và cấutrúcbiểudiễn
và lưutrữ những dữ liệunày
27
• Ngườisử dụng cuối: là người khai thác các hệ
CSDL
• Ngườiquảntrị CSDL: chịu trách nhiệmcho
phép truy nhậpCSDL, điềuphốivàkiểmtrasử
dụng CSDL, quản lý tài nguyên phầncứng và
phân mềmkhicầnthiết
• Ngườibảotrìhệ thống: là những ngườiquản
trị hệ thống chịutráchnhiệmviệchoạt động và
bảotrìmôi trường (phầncứng và phầnm
ềm)
cho hệ CSDL
Ngư
Ngư
ờ
ờ
i
i
d
d
ù
ù
ng
ng
28
N
N
ộ
ộ
i
i
dung
dung
chương
chương
n
n
à
à
y
y
• 1.1 Các hệ thống xử lý tệp
truyềnthống và những hạn
chế củanó.
• 1.2 Các hệ CSDL: khái niệm,
khả năng, kiếntrúc, người
dùng củamộthệ quảntrị
CSDL.
• 1.3 Sự phân loạicáchệ
CSDL.
)
29
1.3
1.3
Phân
Phân
lo
lo
ạ
ạ
i
i
c
c
á
á
c
c
h
h
ệ
ệ
CSDL
CSDL
•Môhìnhdữ liệu
–Mạng vs. phân cấp vs. quan hệ vs. hướng đối
tượng vs. ...
•Số ngườisử dụng
–Một ngườidùngvs. nhiều người dùng
•TínhphântáncủaCSDL
–Tậptrungvs. Phân tán
•Tínhthống nhấtcủadữ liệu
– Đồng nhất vs. Không đồng nhất
• ...
30
C
C
á
á
c h
c h
ệ
ệ
CSDL t
CSDL t
ậ
ậ
p trung
p trung
•Hệ CSDL cá nhân: một người sử dụng đơn
lẻ vừa thiết kế, tạo lập CSDL, cập nhật,
bảo trì dữ liệu, lập và hiển thị báo cáo.
→đảm nhiệm vai trò: người quản trị CSDL, người
viết chương trình ứng dụng, end-user.
•Hệ CSDL trung tâm: dữ liệu được lưu trữ
trên một máy tính trung tâm.
•Hệ CSDL khách-chủ:
– Các máy tính trung tâm lớn → đắt so với các
máy nhỏ và máy trạm.
–Các ứng dụng máy khách truy nhập dữ liệu
được quản lý bởi máy chủ.