http://www.ebook.edu.vn
TRѬӠNG ĈҤI HӐCĈÀ LҤT
KHOA TOÁN - TIN HӐC
YZHӊ QUҦN TRӎ CѪ SӢ DӲ LIӊU
(Baøi giaûng toùm taét)
NGѬӠI BIÊN SOҤN
TҤ THӎ THU PHѬӦNG
Y
Ñaø Laït 2009
Z
http://www.ebook.edu.vn
MỤC LỤC
Chương 1: Tổng quan về Hệ quản trị cơ sở dữ liệu .....................................Trang 1
I. Gii thiệu................................................................................................................1
II. Cu trúc và thành phn ca hệ quản trị sở dữ liệu ............................................2
Chương 2: Xây dựng, quản lý và khai thác cơ sở dữ liệu.........................................5
I. Khái niệm sở dữ liệu .........................................................................................5
II. Tạo sở dữ liệu. ...................................................................................................5
III. Kiu dữ liệu. ...........................................................................................................6
IV. Tạo và quản bảng. .............................................................................................7
V. Các thao tác trên dữ liệu.......................................................................................11
VI. Truy vn dữ liệu ...................................................................................................12
VII. Tạo và sdng khung nhìn (View)......................................................................14
VIII. Tạo và sdng chỉ mc (Index)...........................................................................14
IX. Chuyn đổi dữ liệu vi cácng dng khác..........................................................18
Chương 3: T-SQL nâng cao ......................................................................................19
I. Khai báo và sdng biến.....................................................................................19
II. Cu trúc điều khin...............................................................................................20
III. Thtc thưng trú (Stored Procedures)...............................................................22
IV. Kiu dữ liệu cursor ...............................................................................................26
V. Hàm ngưi dùng (User Defined Functions).........................................................32
VI. Triggers và cài đặt ràng buc dữ liệu...................................................................35
Chương 4: Bảo mật và an tn dữ liệu.....................................................................40
I. Bảo mật trong hệ quản trị sở dữ liệu ..............................................................40
II. Bản sao dữ liệu .....................................................................................................46
III. Sao lưu và khôi phc dữ liệu ...............................................................................59
IV. Quản giao dịch .................................................................................................61
Chương 5: Lập trình cơ sở dữ liệu............................................................................92
I. Lập trình ADO.NET.............................................................................................92
II. Thiết kế chc năng đọc/ ghi dữ liệu .....................................................................95
III. Tạo báo biu vi Crystal Report ..........................................................................98
Bài tập........................................................................................................................105
http://www.ebook.edu.vn
Bài giảng tóm tt Hệ quản trị sở dữ liệu 1
Chương 1
TỔNG QUAN VỀ HỆ QUN TRỊ CƠ SỞ DỮ LIU
I.
Gii thiệu
Thông tin là ngun tài nguyên quý giá ca một t chc. c phn mm máy tính là
những công chiệu quả để xử lý thông tin và h quản trị sở dữ liu là công cụ phổ
biến cho phép lưu trữ và rút trích thông tin một cách hiệu quả.
Hệ quản tr sở dữ liệu quan h là h quản trị sở dữ liệu phổ biến nht hiện nay
và đưc htrợ bởi nhiu nhà cung cấp phn mm. Tính hiệu quả ca cácng dng ph
thuc vào cht lưng ca việc t chc dữ liệu. Những cải tiến trong kthut và xử lý
sở dữ liệu đưa đến các hi sdng thông tin một cách linh hoạt và hiệu quả khi dữ liệu
đưc t chc và lưu trữ trong các cu trúc quan h. Hệ quản trị sở dữ liệu là một thành
công trong lĩnh vực tơng mại.
Mc tiêu ca hệ quản trị cơ sở dữ liệu.
Hệ quản tr sở dữ liệu phải đm bo các mục tiêu sau: dữ liệu sn dùng (data
availability), tính tn vn dữ liệu (data integrity), an tn dữ liệu (data secutity), và độc
lp dữ liệu (data independency).
o D liệu sn dùng (data availability): dữ liệu đưc t chc sao cho mọi ngưi dùng
thtruy cp ddàng theo chc năng và nhiệm vca h.
o Tính tn vn dữ liệu (data integrity): dữ liệu lưu trữ trong sở dữ liệu là đúng
đắn, đáng tin cy.
o An tn dữ liệu (data secutity): Chnhững ngưi dùng đưc phép mới thtruy
cp dữ liệu. Nếu nhiu ngưi dùng truy cp chung một mục dữ liệu cùng lúc thì h
quản tr sở dữ liệu không cho phép hthực hiện những thay đi gây mâu thun
dữ liệu.
o Độc lp dữ liệu (data independency): h quản trị sở dữ liệu phải cho phép tt cả
mọi ngưi dùng đưc phép lưu trữ, cp nhật và rút trích dữ liệu hiệu quảkhông
cn nắm chi tiết v cu trúc ca sở dữ liệu đưc biu din và cài đặt.
Quá trình phát trin ca hệ quản trị cơ sở dữ liệu.
Quá trình pt trin ca DBMS n sau:
Flat files: 1960s1980s
Hierarchical: 1970s1990s
Network : 1970s1990s
Relational: 1980s – đến nay
Object-oriented: 1990sđến nay
http://www.ebook.edu.vn
Bài giảng tóm tt Hệ quản trị sở dữ liệu 2
Object-relational: 1990s – đến nay
Data warehousing: 1980s – đến nay
Web-enabled: 1990s – đến nay
II. Cu trúc và thành phn ca hệ quản trị cơ sở dữ liệu.
Hình 1.1 Kiến trúc ca DBMS
Kiến trúc ca h quản trị sở dữ liệu gồm 2 thành phn chc năng:
o Bquản lý lưu trữ (Storage manager).
o BXlý truy vn (Query Processor).
1. B quản lý lưu tr
Bquản lý lưu trữ nhiệm vlưu trữ, rút trích và cp nhật dữ liệu vào sở dữ liệu. B
quản lý lưu trữ gồm các đơn v sau:
Kiểm tra chng thực và tn vn.
Quản lý giao dịch .
Quản lý file.
Forms Application
Front ends SQL Interface
SQL Commands
P
a
r
se
rPl
a
n Ex
ecu
t
o
r
Optimizer
Operator Evaluator
Transaction
Manager
Loc
k
Manager
File and Access
Methods
Buffer Manager
Disk Space Manager
Recovery
Manager
Concurrency
Control
Quer
y
Execution
En
g
ine
Index
FilesData
Files
System
catalo
g
SQL Interface
DATABASE
DBMS
http://www.ebook.edu.vn
Bài giảng tóm tt Hệ quản trị sở dữ liệu 3
Quản lý vùng đm.
Quản giao dịch (Transaction management)
Thông thưng, một sthao tác trên cơ s d liu tạo thành một đơn v logic công vic.
Ta hãyt ví d chuyn khoản, trong đó một s tin x đưc chuyn t tài khoản A
(A:=A-x) sang một tài khoản B (B:=B+x). Mt yếu tcn thiết là cả hai thao tác này hoặc
cùng xy ra hoặc không hoạt động nào xy ra cả. Vic chuyn khoản phải xy ra trong
tính tn th ca nó hoặc không.u cu toàn th-hoặc-không này đưc gi là tính
nguyên tố (atomicity). Mt yếu tcn thiết khác là sự thc hiện việc chuyn khon bo
tn tính nht quán ca cơ sở dữ liệu: giá trị của tổng A + B phải được bảo toàn.u cu
về tính chính xác này đưc gi là tính nht quán (consistency). Cui cùng, sau khi thc
hin thành công hoạt động chuyn khon, các g trị ca các tài khon A và B phải bn
vững cho dù có thcó sự ch thng.u cu về tính bn vững này đưc gi là tính lâu
bn (durability).
Mt giao dch là một tp các hoạt động thc hin chỉ mt chc năng logic trong một
ng dng cơ sở dữ liệu. Mi giao dch là một đơn v mang c tính nguyên tln tính nht
quán. Như vậy, các giao dch phải không đưc vi phạm bất kràng buc nht quán nào:
Nếu cơ sở dữ liu nhất quán khi một giao dịch khởi động thì cũng phải nhất
quán khi giao dịch kết thúc thành công. Tuy nhiên, trong khi đang thc hin giao dch,
phải cho phép s không nht quán tạm thi. Sự không nht quán tạm thi này tuy là cn
thiết nhưng li có thdn đến các khó khăn nếu xy ra s c.
Trách nhim ca ngưi lp trình là xác đnh đúng đn các giao dch sao cho bo tn
tính nht quán ca cơ sở dữ liệu.
Đm bo tính nguyên tvà tính lâu bn là trách nhim ca h cơ sở dữ liệu nói chung
và ca thành phần quản tr giao dịch (transaction-management component ) nói riêng.
Nếu không có s c, tt c giao dch hn tt thành công và tính nguyên tố đưc hn
thành ddàng. Tuy nhiên, do s hin din ca các s c, một giao dch có thkhông hn
tt thành công s thc hin ca nó. Nếu tính nguyên tố đưc đm bo, một giao dch tht
bại không gây nh hưng đến trng thái ca cơ sở dữ liệu. Như vậy, cơ sở dữ liệu phải
đưc hn li trng thái ca nó tc khi giao dch bt đầu. H qun tr cơ sở dữ liệu phải
có trách nhim phát hin s ch thng và tr li cơ sở dữ liệu về trng thái tc khi xy
ra s c.
Khi một sgiao dch tương tranh cp nht cơ sở dữ liệu, tính nht quán ca dữ liệu có
thkhông đưc bo tn, ngay c khi mỗi giao dch là chính xác. Bộ quản tr điu khiển
tương tranh (concurency-control manager) có trách nhim điu khin các tương tác gia
các giao dch đồng thi để đm bo tính thng nht ca CSDL.