Tài liệu hệ quản trị cơ sở dữ liệu - Công nghệ thông tin | Trường Đại học Quy Nhơn

Tài liệu hệ quản trị cơ sở dữ liệu - Công nghệ thông tin | Trường Đại học Quy Nhơn được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

1
MC LC
L I NÓI Đ U ............................................................................................................ 5
CHƢƠNG 1. KHÁI QUÁT V CƠ SỞ D LI U VÀ H QUN TR CƠ S D
LIU ............................................................................................................................ 7
................................................................................... 7 1.1. Khái niệm cơ sở dữ liệu
1.1.1. Cơ sở dữ liệu là gì? ................................................................................... 7
1.1.2. ............................................... 8 Sự cần thiết của việc tổ chức cơ sở dữ liệu
1.1.3. Mục tiêu của cơ sở dữ liệu ........................................................................ 9
......................................................................... 10 1.2. Một số mô hình cơ sở dữ liệu
1.2.1. Mô hình ngoài ......................................................................................... 10
1.2.2. Mô hình trong .......................................................................................... 10
1.2.3. Mô hình dữ liệu ....................................................................................... 11
................................................................................ 13 1.3. Hệ quản trị cơ sở dữ liệu
CÂU HI ÔN T .............................................................................. 15 ẬP CHƢƠNG 1
CHƢƠNG 2. TỔNG QUAN V H QUN TR CSDL MICROSOFT SQL
SERVER.................................................................................................................... 16
................................................... 16 2.1. Giới thiệu hệ quản trị cơ sở dữ SQL server
2.1.1. Khái niệm SQL Server ............................................................................ 16
2.1.1.1. SQL là gì? .......................................................................................... 16
2.1.1.2. Vai QL ................................................................................. 17 trò của S
2.1.1.3. Hệ quản trị CSDL Microsoft SQL Server ......................................... 18
2.1.2. Các thành phần của SQL Server ............................................................. 19
............................................................... 20 2.2. Các mô hình vật lý của SQL Server
2.2.1. Mô hình chung SQL Server .................................................................... 20
2.2.2. Mô hình Desktop ..................................................................................... 21
2.2.3. Mô hình Client/Server ............................................................................. 22
2.2.4. Mô hình kết nối ứng dụng trên mạng Internet ........................................ 23
SQL Server Management Studio ................................................................... 24 2.3.
2.3.1. Tạo cơ sở dữ liệu bằng giao diện của SQL Server Management Studio 25
2.3.2. Cấu trúc lƣu trữ cơ sở dữ liệu ................................................................. 25
.................................................................................. 27 Cơ sở dữ liệu minh họa2.4.
CÂU HI ÔN T .............................................................................. 27 ẬP CHƢƠNG 2
CHƢƠNG 3. BẢNG D LIU TABLE ............................................................... 28
.................................................................................. 28 3.1. Khái niệm bảng dữ liệu
.................................................................................................... 29 3.2. Kiểu dữ liệu
.......................................................................................... 32 3.3. Ràng buộc dữ liệu
3.3.1. Khóa chính (Primary Key) ...................................................................... 34
3.3.2. Khóa ngoài (Foreign Key) ...................................................................... 34
3.3.3. Ràng buộc Unique ................................................................................... 35
3.3.4. Ràng buộc Check .................................................................................... 35
2
3.3.5. Ràng buộc giá trị mặc định (Default). ..................................................... 36
............................................................................................. 36 3.4. Tạo bảng dữ liệu
3.4.1. Tạo ràng buộc PRIMARY KEY ............................................................. 38
3.4.2. Tạo ràng buộc FOREIGN KEY .............................................................. 39
3.4.3. Tạo ràng buộc CHECK ........................................................................... 40
3.4.4. Tạo ràng buộc UNIQUE ......................................................................... 41
................................................................................... 42 3.5. Sửa, xóa cấu trúc bảng
3.5.1. Sửa cấu trúc bảng .................................................................................... 42
3.5.2. X ................................................................................................. 44 óa bảng
................................................................................... 45 3.6. Nhập dữ liệu vào bảng
............................................................................................. 46 Cập nhật dữ liệu
3.7.
..................................................................................................... 47 3.8. Xóa dữ liệu
....................................................................................... 49 3.9. Tạo chỉ mục (Index)
3.9.1. C ......................................................................................... 49 hỉ mục là gì?
3.9.2. Các loại chỉ mục ...................................................................................... 50
3.9.3. Tạo chỉ mục ............................................................................................. 50
3.9.4. Xóa chỉ mục ............................................................................................ 51
CHƢƠNG 4. TRUY VẤN D LIU QUERY ..................................................... 52
......................................................................... 52 4.1. Khái quát về truy vấn dữ liệu
4.1.1. Câu lệnh SELECT với mệnh để FROM ................................................. 53
4.1.2. Câu lệnh SELECT với mệnh đề WHERE............................................... 54
4.1.3. Câu lệnh SELECT với mệnh đề ORDER BY ......................................... 56
4.1.4. Câu lệnh SELECT với mệnh đề GROUP BY ......................................... 57
4.1.5. Câu lệnh SELECT với mệnh đề INTO ................................................... 57
4.1.6. Câu lệnh Select với mệnh đề Having ...................................................... 58
4.1.7. Câu lệnh Select với mệnh đề Compute ................................................... 58
................................................................... 60 4.2. Truy vấn dữ liệu trên nhiều bảng
....................................................... 62 4.3. Các loại phép kết nối trong SQL Server:
4.3.1. Phép kết nối trong (Inner Join) ............................................................... 62
4.3.2. Phép kết nối ngoài (Outer Join) ............................................................. 64
4.3.3. Phép kết nối tích hợp (CROSS JOIN)..................................................... 67
4.3.4. Phép tự kết kết nối (Self Join) ................................................................. 67
.................................................................................................. 67 4.4. Truy vấn con
........................................................................................ 69 4.5. Tối ƣu hóa truy vấn
.............................................................................. 71 4.6. Hợp các câu lệnh truy vấn
4.6.1. Cú pháp câu lệnh hợp .............................................................................. 71
4.6.2. Các nguyên tắc khi sử dụng UNION ...................................................... 72
CHƢƠNG 5. KHUNG NHÌN - VIEW ..................................................................... 74
K .................................................................................... 74 5.1. hái niệm khung nhìn
3
Các thao tác trên khung nhìn .......................................................................... 76 5.2.
5.2.1. Tạo khung nhìn ....................................................................................... 76
5.2.1.1. Tạo khung nhìn bằng câu lệnh ........................................................... 76
5.2.1.2. Tạo khung nhìn bằng chức năng có sẵn của SQL Server ................. 76
5.2.1.3. Thực thi khung nhìn ........................................................................... 77
5.2.1.4. Một số quy định khi sử dụng khung nhìn .......................................... 77
5.2.2. Cập nhật, bổ sung và xóa dữ liệu thông qua khung nhìn ........................ 78
5.2.3. Sửa đổi khung nhìn ................................................................................. 78
5.2.4. Xóa khung nhìn ....................................................................................... 79
CHƢƠNG 6. THỦ ỤC LƢU TRỮ T STORED PROCEDURE ............................ 80
...................................................................................................... 80 Định nghĩa
6.1.
.......................................... 81 6.2. Ƣu điểm khi quản lý dữ liệu bằng thủ tục lƣu trữ
................................................................................. 82 6.3. Phân loại thủ tục lƣu trữ
.................................................. 83 6.4. Xây dựng thủ tục lƣu trữ trong SQL Server
6.4.1. Tạo thủ tục lƣu trữ ................................................................................... 83
6.4.2. Lời gọi thủ tục lƣu trữ ............................................................................. 84
6.4.3. Sửa/xóa thủ tục lƣu trữ ............................................................................ 85
............................................................................. 85 6.5. Sử dụng biến trong thủ tục
................................................................................ 88 6.6. Các phát biểu điều khiển
CÂU HI ÔN T .............................................................................. 90 ẬP CHƢƠNG 6
CHƢƠNG 7. HÀM DO NGƢỜI DÙNG ĐỊNH NGHĨA – USER DEFINED
FUNCTION ............................................................................................................... 91
....................................................................................................... 91 7.1. Khái niệm
......................... 91 7.2. Những hạn chế khi sử dụng hàm do ngƣời dùng định nghĩa
......................................................................................................... 91 7.3. Phân loại
7.3.1. Hàm vô hƣớng ......................................................................................... 92
7.3.2. Hàm nội tuyến ........................................................................................ 93
7.3.3. Hàm b ................................................. 94 ao gồm nhiều câu lệnh bên trong
CÂU HI ÔN T .............................................................................. 95 ẬP CHƢƠNG 7
CHƢƠNG 8. TRIGGER ........................................................................................... 96
Giao tác .......................................................................................................... 96 8.1.
8.1.1. Giới thiệu ................................................................................................. 96
8.1.2. Khái niệm ................................................................................................ 96
............................................................................................................ 97 8.2. Trigger
8.2.1. Khái niệm ................................................................................................ 97
8.2.2. Khi nào dùng trigger? ............................................................................. 99
8.2.3. Tạo trigger ............................................................................................. 100
8.2.4 Các kiểu Trigger ..................................................................................... 101
8.2.5 Sửa đổi Trigger ...................................................................................... 103
8.2.6 Xóa Trigger ............................................................................................ 104
4
CÂU HI ÔN T ............................................................................ 104 ẬP CHƢƠNG 8
CHƢƠNG 9. BẢO MT VÀ PHÂN QUYỀN NGƢỜI DÙNG ............................ 105
..................................................................................................... 105 9.1. Khái niệm
...................................................................................... 106 9.2. Quản lý ngƣời dùng
Các ...................................................................................... 106 9.3. cơ chế bảo mật
.......................................................................................... 107 9.4. Các mức bảo mật
............................................................................................ 109 9.5. Tạo ngƣời dùng
9.5.1. Tạo Login .............................................................................................. 109
9.5.2. Tạo User ................................................................................................ 111
9.5.3. Cấp phát quyền cho ngƣời dùng ........................................................... 112
CÂU HI ÔN T ............................................................................ 112 ẬP CHƢƠNG 9
CHƢƠNG 10. IMPORT/EXPORT DATA VÀ BACK UP/RESTORE DATA .... 113
Back up Database ....................................................................................... 113 10.1.
10.1.1. Các kiểu Back up ................................................................................ 113
10.1.2. Back up Database ................................................................................ 115
Restore Database ........................................................................................ 116 10.2.
Import Data ................................................................................................ 117 10.3.
Export D ................................................................................................ 119 10.4. ata
CÂU HI ÔN T .......................................................................... 121 ẬP CHƢƠNG 10
BÀI THC HÀNH ................................................................................................. 122
TÀI LIU THAM KH O ....................................................................................... 127
5
LỜI NÓI ĐẦU
Ngay t nh u ng d ng c a y tính thì vi c qu n d u ững ngày đ li
mt trong nh ng nhu c u r t l n. Nhi u hình d c nghiên c liệu đã đƣợ ứu nhƣ
mô hình phân c p, hình m n khi hình quan h c E. ạng, …. nhƣng cho đế đƣợ
F. Codd đề ất vào năm 1970 thì cơ sở ệu đƣợ xu d li c sang trang mi. Nhiu kết qu
nghiên c u v lý thuy t trên mô hình quan h c công b . Nhi u h qu n tr c ế đã đƣợ ơ
s d u xây d ng trên hình quan h i. Cùng v i s n hóa li đã đƣợc ra đờ chu
ca ngôn ng h i có c cho các h qu n tr d ấu trúc SQL đã làm sở liu s d ng
mô hình quan h p thêm s c m nh trong ng d ng. Và k t qu n nay r nhƣ tiế ế đế t
nhiu h n tr qu cơ sở d liu mô hình quan h đã ra đời và đƣợc ng d ng r ng rãi
trên th gi icrosoft Access, Microsoft ế ới nhƣ: Foxbase, Foxpro, DB2, MySQL, M
SQL Server, Oracle,… Cho đế ầu lƣu trữ n nay, vi s phát trin ca nhu c x
d liu l i vớn (Big Data), hình NoSQL ra đ i hàng lo t h qu n tr s d
li liệu đƣợ ằm đáp ầu lƣu trữc xây dng nh ng nhu c x d u l n. Tuy vy,
các h qu n tr d u hình quan h v a nó trong cơ sở li ẫn còn nguyên ý nghĩa củ
vic ng dng.
H qu n tr d sở liu môn h c b t bu ộc trong chƣơng trình đào tạo
ngành Công ngh thông tin m t s x d u. Giáo ngành khác lƣu trữ li
trình H n tr d u m c tiêu cung c p cho sinh viên nh ng ki n th qu s li ế c
bả sở đƣợn v h qun tr d liu hình quan h c minh ha c th trên
h qu n tr sở d liệu Microsoft SQL Server. Giáo trình đƣợc biên son cho sinh
viên đạ ọc năm thứi h nht hoc th hai vi các kiến thc v công ngh thông tin
chƣa nhiề ức trong giáo trình đƣợ ất đơn giảu nên các kiến th c trình bày r n, ràng
và minh h a c . M c minh h a và th c hành trên h qu n tr th Microsoft SQL
Server nhƣng giáo trình không quá đi sâu vào nh ức năng riêng củng ch a h qun
tr li sở d u Microsoft SQL Server thông qua gi i thi u nh ng ch ức năng
ca h qu n tr d sở liu c th để ngƣời h c bi c nh ng ch ết đƣợ ức năng của
mt h qu n tr sở d liu ng. ng chi chung nhƣng không quá trừu tƣợ Nh c
năng này sẽ sở ging nhau cho nhiu h qun tr d liu theo hình quan h.
Do đó sau khi học xong giáo trình ngƣ ọc cũng có thểi h nhanh chóng làm quen vi
các h qu n tr d u khác. cơ sở li
S chúng tôi chọn Microsoft SQL Server để minh ha trong giáo trình
đây đƣợ mt h qun tr c s d liu mô hình quan h c phát trin b i Microsoft
dùng để ản lƣu trữ Đây mộ qu d liu theo hình Client/Server. t trong
6
nhng h qu n tr sở d liệu đầy đủ c tính năng của mt h qun tr sở
d liệu cơ bản, đƣợ ọn nhƣ mộ ải pháp lƣu c nhiu nhà phát trin ng dng la ch t gi
tr li d u cho các ng d ng.
Giáo trình H qu n tr d u n l ng n i dung c a các gi ng cơ sở li ch c nh
viên Khoa Công ngh thông tin Trƣờng Đại h c gi ng d y trong nhi Quy Nhơn u
năm qua. Trong giáo trình này, chúng tôi không tham vng đề cp đến mi khía
cnh c a h qun tr d sở liu nói chung h qun tr Microsoft SQL Server
ch đặt mc tiêu tài li cho sinh viên và nhu ững ngƣi t h c n c c m đƣ
khái ni a h n tr d u, làm quen và th c nh trên ệm và ý nghĩa c qu cơ sở li
mt h qu n tr d cơ s liu c th Microsoft SQL Server.
Giáo trình đƣợc v i dung chia thành 10 chƣơng i n nhƣ sau:
Chƣơng 1: Khái quát cơ sở cơ sở v d liu và h qu n tr d liu
Chƣơng 2: Tổng quan v SQL Server
Chƣơng 3: Bảng d liu - Table
Chƣơng 4: Truy vấn d liu - Query
Chƣơng 5: Khung nhìn - View
Chƣơng 6: Thủ ục thƣờ t ng trú - Stored Procedure
Chƣơng 7: Hàm do ngƣờ ịnh nghĩa i dùng đ - User Defined Function
Chƣơng 8: Trigger
Chƣơng 9: Quản lý ngƣời dùng và bo mt trong SQL Server
Chƣơng 10: Backup và Restore Data; Import và Export Data
Mặc đã nhiều c gng trong vic biên son cp nht cho php vi
thc t c ch n v n còn nh ng h n ch thi u sót. Nhóm biên ế nhƣng giáo trình chắ ế ế
son mong nh c nh ng ý ki ng nghi c gi giáo ận đƣợ ến đóng góp từ đồ ệp độ để
trình t nh i hngày c hoàn thi v i m ng tđƣợ ện hơn ục tiêu đáp ứ ất cho ngƣờ c.
Mọi đóng góp xin gử ề: Khoa CNTT, Trƣờng Đạ ọc Quy Nhơn, 170 An i v i h
Dƣơng Vƣơng, Tp. Quy Nhơn, Tỉnh Bình Định.
NHÓM BIÊN SO N
7
CHƢƠNG 1. KHÁI QUÁT V CƠ SỞ D LIU VÀ H QUN TR
CƠ SỞ D LIU
Trong chƣơng này trình bày nhữ ệm bả sng khái ni n v cách t chc d
liu theo mô hình quan h ng khái ni m này bao g m m do E.F Codd đề xut. Nh c
tiêu c a m t d u; S c n thi t ph i t c d i d ng d sở li ế ch liệu dƣớ sở
li liu; c l p c a dTính độ u th hi n mô hình hình ki n trúc 3 m c. ế Qua đóthể
th li liy dcơ s u ph n nh tính trung th c, khách quan c a th gi i d ế u; không
dƣ thừ à cũng không thiếa thông tin v u thông tin.
Ni dung của chƣơng bao gồm các phn:
- d u là gì? Cơ sở li
- S c n thi c d u. ết ca vic t ch cơ sở li
- c 3 m d u. Mô hình t ch ức cơ sở li
- M a d u. c tiêu c cơ sở li
- H qu n tr d u. cơ sở li
Khái niệm cơ sở d liu 1.1.
1.1.1. Cơ sở d liu là gì?
sở sƣu tậ d liu (CSDL) mt b p v các loi d liu tác nghip, bao
gm các lo i d u âm thanh, ti ng nói, ch vi h li ế ết, văn bản, đồ a, hình ảnh tĩnh
hay hình i d ng các chu phân ảnh động....đƣợc hoá dƣớ i nh đƣợc lƣu trữ
dƣớ i dng tp tin d liu trong b nh ca máy tính d. sở liu phn nh trung
thc thế gi i hi n th c khách quan.
sở ều ngƣờ d liu tài nguyên thông tin chung cho nhi i cùng s dng.
Bt k ngƣời s d ng nào trên m ng máy tính, t i các thi t b ế đầu cu i, v nguyên
tc quy n truy nh p khai thác toàn b hay m t ph n d u theo ch li ế độ trc
tuyến hay tƣơng tác mà không ph trí đị ủa ngƣờ thuc vào v a lý c i s dng vi các
tài nguyên đó.
sở ệu đƣợ d li c các h ng dng khai thác bng ngôn ng truy xut d
liu ho c b ng các ng d x lý, tìm ki m, tra c u, s i, b chƣơng trình ụng để ế ửa đổ
sung hay lo i b d u. ìm ki m và tra c u thông tin là m t trong nh ng li Trong đó t ế
ch c năng quan trng và ph biến nht c a các ng d ng khai d u. thác cơ sở li
8
Hình 1.1. Sơ đồ ống cơ sở kiến trúc h th d liu
1.1.2. S c t cn thiế a d vic t chc cơ sở liu
Gim b a dớt thừ liệu trong lưu trữ: Trong các ng d ng l p trình truy n
th liống, phƣơng pháp t ức lƣu trữ ch d u v a t n kém; lãng phí b nh các
thiết b ; v . Nhi ng d ng khác lƣu trữ ừa thừa thông tin lƣu trữ ều chƣơng trình
nhau cùng x trên các d n s v d u. liệu nhƣ nhau, dẫn đế thừa đáng kể li
Nếu t theo thuy t CSDL thì có th h chc lƣu tr ế p nh t các t p d u lƣu trữ li
để ng dcác chƣơng trình ứ ng có th cùng chia s tài nguyên trên cùng mt cơ sở d
liu.
Tránh đượ ất quán trong lưu trữ ảo đảm được s không nh d liu b c tính
toàn v n c a d liu: N u m t thu c t trong nhi u t p d u khác ế ộc tính đƣợ li
9
nhau và l p l i nhi u l n trong các b n ghi, khi th c hi n vi c c p nh t, s i, b ửa đổ
sung s không s a h t n i dung các m u d u càng nhi u thì s sai sót ế ục đó. Nế li
khi c p nh t, b sung càng l n. Kh t hi n mâu thu n, không nh t quán năng xuấ
thông tin càng nhi u, d n không nh t quán d . T t y u kéo ẫn đế liệu trong lƣu trữ ế
theo s d thƣờng thông tin, th u và mâu thu n thông tin. a, thiế
Thông thƣờng, trong mt thc th, gia các thuc tính mi quan h ràng
buc l ng ng l y, th kh nh, n u d ẫn nhau, tác độ ảnh hƣở ẫn nhau. Nhƣ vậ ẳng đị ế
li liu không t t t t y u không th ph nh gi i hi n th c d chc t ế n đúng thế u,
không ph n n ch t v ng c a d u. S không nh t quán d nh đúng bả ận độ li liu
trong lƣu trữ ất đi tính toàn vẹ ệu đả làm cho d liu m n ca nó. Tính toàn vn d li m
bo cho s d lƣu trữ liệu luôn luôn đúng.
th ng th i nhi u ng d ng trên cùng m t CSDL triển khai đồ : u này Điề
nghĩa là các ng dng không ch chia s chung tài nguyên d liu mà còn trên cùng
mt CSDL có th ng th trin khai đồ i nhi u ng d ng khác nhau t i các thi ết b đầu
cu chi khác nhau. T c d u theo thuy d u s ng nh t các tiêu li ết sở li th
chun, th t c các bi n pháp b o v , an toàn d u. Các CSDL s c qu n li đƣợ
tp trung bi m i hay m i. B ng các h qu n trột ngƣờ ột nhóm ngƣờ CSDL, ngƣời
qun tr CSDL th áp d ng th ng nh t c tiêu chu nh, th t c chung ẩn, quy đ
nhƣ quy định thng nht v mu biu báo cáo, thi gian b sung, cp nht d liu.
Điề u này làm d dàng cho công vi c b o trì d liệu. Ngƣời qun tr CSDL th
bảo đảm vic truy nh p t i CSDL, th ki m tra, ki m soát các quy n truy nh p
của ngƣờ ụng. Ngăn chặ ập trái phép, sai quy địi s d n các truy nh nh t trong ra hoc
t ngoài vào.
1.1.3. M c tiêu ca d u cơ sở li
Ngƣời s d dụng khi thao tác trên các s liệu không đƣợc làm thay đổi
cấu trúc lƣu trữ d liu chi c truy nh p t i dến lƣợ s liu. D liu ch đƣợc
biu di n, t m t cách duy nh t. C d u ấu trúc lƣu trữ li các chƣơng trình
ng d ng trên các c lCSDL hoàn toàn độ p v i nhau, không ph thuc ln nhau.
vy b c l p d u m c tiêu quan tr ng c a d u. th ảo đảm tính đ li s li
định nghĩa tính độ ệu “Tính bấ ụng đốc lp d li t biến ca các ng d i vi s thay
đổi trong cấu trúc lƣu trữ ến lƣợ ệu”. và chi c truy nhp d li
Khi thay đổ ấu trúc lƣu trữ ến lƣợi c các chi c truy nh p d u không kéo li
theo thay đổ ủa các chƣơng trình ụng và ngƣợ ại, khi các chƣơng i ni dung c ng d c l
trình thay đổi cũng không làm ảnh hƣởng đế ấu trúc lƣu trữ ến lƣợn c chi c truy
10
nhp c a d c l p c liệu. Tính độ a d u b m cho vi c bi u di n n li ảo đ i dung
thông tin cho các th t quán dc th là duy nh t và b m tính toàn v n và nh ảo đả liu
trong lƣu trữ.
Mô hình t d li u 1.2. chc cơ s
Mô hình t c 3 m c c CSDL g m: M c trong, m c hình d u (m ch a li c
quan ni m) m c ngoài. Gi a các m c t n t i các ánh x quan ni m trong ánh
x quan ni m ngoài. Trung tâm c ng là m c quan ni m, t c là m c mô hình a h th
d liu. Ngoài ra còn có khái ni i s dệm ngƣờ ng, h n tr qu CSDLngƣời qun
tr CSDL. Ngƣờ ững ngƣời s dng nh i ti thiết b đầu cu i truy nh p o các
CSDL theo ch c tuy ng d ng hay ế độ tr ến hay tƣơng tác bằng các chƣơng trình
b dng các ngôn ng truy xu t liu.
1.2.1. Mô hình ngoài
Ngƣờ i s dng th truy nhp toàn b hay mt phn CSDL ph thuc vào
quyn truy nh p c a h . Cách nhìn CSDL c i s d ng nói chung tr u ủa ngƣờ
tƣợ ng, h nhìn CSDL bng hình ngoài. Chng h i sạn ngƣờ dng mt nhân
viên c a phòng k toán tài chính, ch nhìn th y t p các xu t hi n ki u b n ghi ngoài ế
v doanh thu, s ng trong tháng, không th nhìn th y các xu t hi n ki u b n ghi ản lƣợ
lƣu trữ v các ch tiêu k thut ca h thng.
hình ngoài n i dung thông tin c i cách nhìn c i s ủa CSDL dƣớ a ngƣờ
dng. ni dung thông tin c a m t ph n d u tác nghi c m li ệp đƣợ ột ngƣời
hoc m i s d ng. Nói cách khác, hình ngoài t cách nhìn d ột nhóm ngƣ
li liu c i s d ng m i s d ng cách nhìn dủa ngƣờ ỗi ngƣ u khác nhau.
Nhiu hình ngoài khác nhau th cùng t n t i trong m t CSDL, nghĩa
nhiều ngƣờ ột sở u. Hơn nữi s dng chia s chung cùng m d li a, th
hình ngoài quan h , mô hình ngoài phân c p hay mô hình ngoài ki u m ạng cũng có
th li t n t i trong m d t cơ sở u.
Mô hình ngoài g m nhi u xu t hi n ki u b i m ản ghi ngoài, nghĩa mỗ ột ngƣi
s d ng m d u riêng, m t khung nhìn d u riêng ( ột đồ li li nhƣ tên các
trƣờng, kiu d liệu các trƣờng, độ ủa trƣờ ủa ngƣờ rng c ng....). Bn ghi ngoài c i s
dng có th khác v i bản ghi lƣu trữ và bn ghi quan nim
1.2.2. Mô hình trong
11
Mô hình trong hình lƣu trữ vt lý d liu. Chduy nht mt và ch mt
cách bi u di i d v t lý. hình trong cách bi u di ễn CSDL dƣớ ng lƣu trữ ễn cơ
s d u tr ng m c th p nh t. li ừu tƣợ
- hình trong g m nhi u xu t hi n c a nhi u ki u b c xác ản ghi lƣu tr đƣợ
đị nh b i m trong. Thông tin biột sơ đồ u din trong mô hình trong là duy nht.
- trong bao g nh các đ ồm các định nghĩa hình trong. Không ch xác đị
kiu khác nhau c a b nh s t ản ghi lƣu trữ còn xác đị n t i c a các ch d n,
cách s p x p các b n ghi theo th t nh d truy nh ế nào. xác đị liệu lƣu trữ p
nhƣ thế nào thông qua các đƣờng dn truy nhp ti d liu.
Ánh x quan ni nh gi a hình trong hình d ệm trong đƣợc xác đị liu
nhm b c l p c a d u. N u c c i, ảo đảm tính độ li ế ấu trúc lƣu trữ ủa CSDL thay đổ
nghĩa thay đổi định nghĩa về ấu trúc lƣu trữ ải cũng c d liu thì ánh x này ph
phải thay đổi tƣơng ứng sao cho sơ đồ ệu) không thay đổ quan nim (mô hình d li i.
Ánh x quan ni m ngoài ánh x ng m t gi a đƣợc xác định tƣơng t-m
hình ngoài c i s d ng v i mô hình d a ngƣ liu.
r t nhi u cách nhìn d u i s d ng khác nhau li hình ngoài, ngƣờ
cách nhìn d u khác nhau và các ng d ng khác nhau nh ng cách nhìn d li liu
cũng khác nhau, nhƣng ch duy nht mt cách nhìn d liu mc quan nim,
biu di n toàn b u t ng quát c thông tin trong CSDL đó là cách nhìn d li ủa ngƣời
s d duy nh t m t ch m t cách bi u di i d ng ụng. cũng chỉ ễn CSDL
lƣu trữ vt lý.
Ánh x nh gi a hình trong hình d u, nh m b trong xác đị li ảo đảm
đƣợc tính độ ệu, nghĩa nế ấu trúc lƣu tr ủa CSDL thay đc lp ca d li u c c i, tc
là thay đổi định nghĩa về ấu trúc lƣu trữ ải cũng phả c d liu thì ánh x này ph i thay
đổi tƣơng ứ không đƣợc thay đổi. Tƣơng tng sao cho mô hình d liu ánh x ngoài
xác định tƣơng ủa ngƣờ ụng nào đó vng gia mt hình c i s d i hình d
li li liu. chuy i d ng bi u di n dển đổ ệu lƣu trữ sang dng biu din d u
các ng d ng c n. ần đế
1.2.3. Mô hình d u li
hình d quan ni m) cách nhìn d u m t cách t ng quát c liệu (sơ đồ li a
ngƣờ i s d ng, n t nhighĩa là rấ u cách nhìn d liu hình ngoài, nhƣng chỉ
có duy nh t cách nhìn d u m c quan ni m. t m li
12
Mô hình d u g m nhi u xu t hi n c a nhi u ki u b n ghi d u. d ki li li u
xut hi n b n ghi v nhân s , ki u xu t hi n b n ghi v doanh thu, s ng, ki ản lƣợ u
xut hi i... n b n ghi v cƣớc đàm thoạ
hình d nh b i m hình d u t c a nhi u ki u liệu đƣợc xác đị t li
th thc th , ch ng h ạn nhƣ mô tả c th tuy n cáp, các lo i cáp, th y giáo, h c sinh... ế
hình d u bao g các ki u b các ràng bu li ồm các định nghĩa về ản ghi, đó c
cho quy n và tính toàn v n d u. Nh ng ràng bu c y chính các tính ch t c li a
d liu, tính liên k t các thu c nh cùng m t ki u dế liu. Các m này quan điể
không bao hàm v c c truy nh p, chúng ch ấu trúc lƣu trữ, cũng nhƣ về chiến lƣợ
các định nghĩa về tính độ ni dung thông tin, v c lp ca d liu trong hình d
liu.
hình d u luôn luôn u t thêm m t ki u th c th li ổn định, nghĩa nế
đặc bit sát nhp vào mô hình d liệu, không đƣợc làm thay đổ ệu cũ. i mô hình d li
Nếu mô hình d u không nh thì các ng d li ổn đị ụng hình ngoài cũng không
ổn đị đƣợc thay đổnh. Mô hình d liu ch i khi có s điều chnh trong thế gii thc,
đòi hỏi điề ại định nghĩa sao cho nó phảu chnh l n nh thế gii hin thc khách quan
hơn, chân lý hơn.
Thiết k hình d n quan tr ng quy nh trong vi c thiế liệu giai đoạ ết đị ết
kế cài đặ sởt d liu. Quá trình thi t k không phế ế thuc quá nhi u vào c u
trúc lƣu trữ ến lƣợ vt chi c truy nh p c a d y vi c thi t k liệu. Nhƣ vậ ế ế
hình d u ph c ti c l p v i vi c thi t k hình trong mô hình li ải đƣợ ến hành độ ế ế
ngoài, n u không vi c thi t k s không nh ph i xem xét l ng ế ế ế ổn đị ại tác độ
thƣờng xuyên đến nhiu thành phn khác ca h thng.
Ngoài vic xut hi n nhi u ki u b n ghi hình d u còn ch nh , li ứa các đị
nghĩa về ủa ngƣờ ểm tra tính đúng đắ quyn truy nhp c i s dng, các thao tác ki n
ca d liu nh m b m tính toàn v n c a CSDL, các lu n thông tin ảo đả ồng lƣu chuyể
quy đị Nhƣ vnh cách thc s dng thông tin. y mô hình d liu là cách nhìn toàn
b n i dung thông tin c a CSDL, l u tiên, quan tr ng trong vi c thi t k à bƣớc đi đầ ế ế
và cài đặ cơ sởt d liu.
13
Hình 1.2. Mô hình ki n trúc d u ế cơ sở li
H n trqu d 1.3. cơ sở liu
H qu n tr d sở liu - DBMS) ph n (DataBase Management System
mềm điề ến lƣợ ập CSDL. Khi ngƣờ ụng đƣa ra yêu cầu khin các chi c truy nh i s d u
truy nh p b ng m t ngôn ng truy xu t d n tr CSDL p nh n liệu nào đó, h qu tiế
và th ng nghiên c a CSDL là các c hiện các thao tác trên CSDL lƣu trữ. Đối tƣợ u c
thc th m i quan h gi a các th c th . M i quan h gi a các th c th cũng
mt lo i th c th đặc bi t. Trong cách ti p c n CSDL theo hình quan h , d ế a
trên s ết đạ thuy i s quan h để xây dng các quan h chun, khi kết ni
không t n th t thông tin khi bi u di n d u duy nh t. D li liệu đƣợc lƣu trữ
trong b nh c a máy tính không nh ng ph n y u t v t ải tính đế ế ối ƣu không gian
lƣu trữ ải đả hĩa là , mà ph m bo tính khách quan, trung thc ca d liu hin thc; ng
phải đảm b o tính nh t quán c u và gi a d li đƣợc s n c a d u. toàn v li
Các ch y u c a m qu n tr d u: ức năng chủ ế t h cơ sở li
- d u t o l p và duy trì s t n t a CSDL. Mô t li i c
- Cho phép truy xu t vào CSDL theo th m quy p. ền đã đƣợc c
14
- C p nh t, chèn thêm, lo hay s u. i b ửa đổi d li
- m b o an toàn, b o m u và tính toàn v n d u. Đả t d li li
- T o c u trúc d ng v i mô hình d u. liệu tƣơng ứ li
- m b d p v i các trình ng Đả ảo tính độc lp d liu: cấu trúc lƣu tr liệu độc l
dng d u. li
- T o m i liên k t gi . ế a các th c th
- i (backup, restore Cung cấp các phƣơng tiện sao lƣu, phc h ).
- u khi Điề ển tƣơng tranh.
Các bƣớ ắt nhƣ sau: c x lý ca h qun tr CSDL có th tóm t
- d u truy nh p b ng ngôn ng truy xu t d u. Ngƣời s ụng đƣa ra yêu cầ li
- H qu n tr d u s p nh n và phân tích yêu c u. cơ sở li tiế
- H qu n tr d u xem xét nh ngoài, ánh x ngoài, hình d sở li
liu, ánh x trong,...
- n các t . Thc hi hao tác trên CSDL lƣu trữ
Mt h qu n tr d u ng có các thành ph cơ sở li thông thƣờ ần chính nhƣ sau:
- u (Data Definition Language). Ngôn ng định nghĩa dữ li
- thao tác d u (Data Manipulation Language). Ngôn ng li
- truy v n d u (Query Language). Ngôn ng li
- B báo cáo (Report Write).
- B h a (Graphics Generator). đồ
- B giao ti p ngôn ng ế ch (Host Language Interface).
- t c (Procedure Language) Ngôn ng th
- T n d u (Data Dictionary). điể li
Ngƣời qun tr CSDL m i hay một ngƣ t nhóm ngƣờ năng chuyên i kh
môn v công ngh thông tin, trách nhi m qu u khi n toàn b ản đi hot
độ ng ca h qun tr sở ậy ngƣ d liu. v i qun tr CSDL cn ph t ra các ải đặ
cách thức, quy định cho ngƣờ ằm ngăn chặi s dng nh n vic truy nhp trái phép
vào . CSDL
Ngƣờ i qun tr CSDL có m t s nhim v chính:
15
- nh th c th n i dung thông tin c nh hình d u Xác đị ần lƣu trữ. Xác đị li
đáp ứng yêu cu truy nhp của ngƣời s dng.
- Quy nh c c truy nh i qu n tr CSDL phết đị ấu trúc lƣu trữ chiến lƣ ập: Ngƣờ i
xác đị ệu nhƣ mô t ấu trúc lƣu trữnh cách thc biu din d li c trong, mô t cu trúc
lƣu trữ ật lý. Xác đ ệu, định nghĩa ánh xạ ấu trúc lƣu trữ v nh hình d li gia c
mô hình ngoài. c hi n các chi , qu n lý h ng. Th ến lƣợc lƣu trữ th
- i qu n tr CSDL ph ng giao ti p gi i s d ng v i các Ngƣờ i tạo môi trƣờ ế ữa ngƣờ
h qu n tr CSDL, vì hình d ng cách nhìn d ng ngoài cho ngƣời s liệu tƣơng ứ
vi ngôn ng truy xu t d u thích h i qu n tr CSDL ph i cung c li ợp, nên ngƣờ p
hình d u, các ánh x c . Ki m soát th m quy n truy nh li ấu trúc u trữ p
của ngƣời s d ng và b m quy n truy nh p c . ảo đả a h
- Duy trì các tiêu chu n th ng nh t v các quy trình c lƣu trữ ấu trúc lƣu trữ,
biu di n thông tin các chi c truy nh p. Ki m soát ki ến lƣợ ểm tra tính đúng
đắn ca d liu; áp dng các bin pháp an toàn d liu.
- nh chi , sao chép, ph c h ng h ng Xác đị ến lƣợc lƣu trữ ồi...trong các trƣờ ợp hƣ hỏ
do sai sót, ho c tr c tr c k thu t.
CÂU H I ÔN T ẬP CHƢƠNG 1
1. d u là gì? Cơ sở li
2. S c n thi t t d u theo lý thuy d u? ế chức lƣu trữ li ết cơ sở li
3. Cho d minh h a v gi m b a d không nh t thừ liệu trong lƣu trữ t
quán d làm cho d u m n. liệu trong lƣu trữ li ất đi tính toàn v
4. Trình bày t ng quát ki n trúc mô hình d u 3 l p. ế cơ sở li
5. Trình bày và phân tích tính nh trong mô hình d ổn đị liu.
6. Vai trò và quan ni m trong và ánh x quan ni m ngoài. chức năng của ánh x
7. T i sao ki d u 3 l m b c l p ến trúc hình sở li ớp đả ảo đƣợc tính độ
toàn vn d liu?
8. T i sao nói, hình d u cách nhìn toàn b n i dung thông tin c li a
CSDL? Ví d minh h a.
9. Hi u th nào v khái ni n d u toàn v ế m “tính toàn vẹ liệu” và “tham chiế ẹn”.
16
CHƢƠNG 2. TNG QUAN V H N TR QU CSDL MICROSOFT
SQL SERVER
Trong chƣơng này, trình sởbày mt cách khái quát v h qun tr d liu
Microsoft SQL Server. Các chức năng ca m t h qu n tr d sở liu c n ph i
có.
Ni dung chính c gủa chƣơng này m:
- u h qu n tr d u Microsoft SQL Server. Gii thi cơ sở li
- Các thành ph n c Microsoft SQL Server a
- Microsoft SQL Server Mô hình
- u công c Enterprise Manager Gii thi
Gii thiu h qun tr d SQL server 2.1. cơ sở
2.1.1. Khái nim SQL Server
2.1.1.1. SQL là gì?
SQL, vi t t t c a ng h i c u ế Structured Query Language (ngôn
trúc), li tr công c s d ng t ch qu n để c, truy xu t d u c đƣợ lƣu
trong li các h qun tr c s d ơ u. L SQ m th ng ngôn ng bao g m t p t h
các câu l nh s d ng ng d u quan h . để tƣơ tác với cơ s li
SQL đƣợc phát trin t ngôn ng SEQUEL bi IBM theo mô hình Codd E.F.
ti trung tâm nghiên c u c a IBM California vào nh n tr ững năm 70 cho h qu
CSDL l c s d ng trong các ngôn ng qu n CSDL chớn. Đầu tiên SQL đƣợ y
trên các máy đơn l. Song do s phát trin nhanh chóng ca nhu cu xây dng
nhng CSDL ln theo hình khách ch trong hình này toàn b: CSDL đƣợc
tp trung trên máy ch (Server), m i thao tác x d c th liệu đƣợ c hi n trên máy
ch b ng các l nh SQL máy tr m ch c p nh p ho c l y thông tin t máy dùng để
ch.
Tên g i n nào chúng ng n ngôn ng h i c u c trú ph làm ta liên tƣở đế
mt công c (ngôn ng ) dùng để truy xu t d u li trong các cơ s d u. li Hơn thế
na, SQL đƣợc s dng để điu khi n t t c các ch qu n tr c năng một h
s d li u cung c p cho ng ƣời dùng bao gm:
- Định u: nghĩa d li SQL cung c p kh n ng nh ngh a ă đị ĩ các s d
li trúc liu, c u các l u t chƣ tr c d u ng th i t i quan h gi a đồ o m
các thành n d u. ph li
17
- Truy xu t thao d tác liu: Vi SQL, ng i dùng ƣờ th d dàng th c
hi bn thao truy xu c p t locác tác t, b sung, nh i d u trong c li các ơ
s d u. li
- Điều n truy c p: khi SQL th c s d ng t o c p phát quy đƣợ để n
ngƣời dùng đng thi kim soát các thao tác ca ngƣời dùng trên d liu,
đả m bo s an toàn cho cơ s d liu.
- Đảm bo toàn vn d liu: SQL định nghĩa các ràng bu c toàn v n
trong s d liu nh đó đảm bo tính hp l chính xác ca d liu
trƣớc các thao tác cp nht cũ ng nhƣ các lỗi ca h th ng.
Nhƣ vy, th nói r ng S t ngôn ng hoàn n c s d ng QL m thi đƣợ
trong các h th ng s d u m t thành ph n không th thi u li ế trong các
h qu n tr s d li u. M c dù SQL không ph là m t ngôn ng l p trình nh C, i ƣ
C++, Java,... song l nh cung c p th c nhúng vào các câu SQL đƣợ trong
các ngôn ng l p trình nh m xây d ng các ng d d u. ụng tƣơng tác với cơ s li
Khác vi ngôn ng l p quen thu C++, Java,... các trình c nhƣ C, SQL
ngôn ng tính khai báo. V i SQL, ng i dùng ch c n t các yêu c u c n ƣờ
ph hii thc n ctrên ơ s d u mà không c n ph i ch li ra cách thc th c hi n các
yêu c u nh nào. ính v SQL ngôn ng d p c n d s d ng. ƣ thế Ch y, tiế
Ngày nay trong các ngôn ng l p trình b u có s giúp c a SQL. Nh t ậc cao đề tr
trong lĩnh vự SQL càng đóng vai trò quan trọc phát trin ca Internet ngôn ng ng
hơn, đƣợ ụng đểc s d truy xut d liu mt cách nhanh chóng trong các trang
web động.
2.1.1.2. Vai trò ca SQL
Bn SQL không i mthân ph t h qu n s tr cơ d u, nó không th t n li
ti độc l p. S c s m t ph n c qu n QL th a h tr s d u, xu t hi n li
trong c h qu n tr s d li u v i vai t ngôn ng công c giao p tiế
gi sa ngƣời s d ng và h qu n tr d u. li
Trong h u h t h qu n s d u quan h , nh vai trò ế các tr li SQL ng
nhƣ sau:
- SQ ngL ôn ng h i tính t ƣơng tác: Ngƣời s d ng th d dàng
thông ti qua trình các n g i yêu c u d ng câu l nh SQL ích để các ƣới d các
đến cơ s d liu và nhn kế t qu tr v t s d liu.
- SQL ngôn ng l p trình s d liu: Các l p trình viên th nhúng
18
các câu l nh S vào các ngôn ng p xây d nên các QL trong l trình để ng
ch sƣơng trình ng d ng giao ti p v ế ới cơ d u. li
- SQL ngôn ng qu n tr s d liu: Thông qua SQL, i qu n ngƣờ tr
s d liu th qu n c đƣợ s d liu, nh đị nghĩa các cu trúc
l iƣu tr d u, li đ u khi n truy c s ập cơ d u,... li
- SQL ng ôn ng cho h ng client/server: các th Trong các h th ống
s d u client/server, SQL li đƣợc s d công cụng nhƣ để giao ti p giế a
các trình ng d ng phía máy khách v i máy ch d u. s li
- SQL ngôn ng truy c p d li u trên Internet: Cho đến nay, h u h t các ế
máy b c máy trên Int s d ng S v i vai ch We ũng nhƣ các ch er etn QL trò
ngôn ng ng tác v u trong các c d u. để tƣơ i d li ơ s li
- SQL ng ôn ng s d u phân li n: Đối v i các h qu n tr s d
li tán, tiu phân m i m t h th ng s d ng SQL giao để ếp v i h th ng các
khác trên m ng, g i và nh n các yêu c u truy xu u v i nhau. t d li
- SQL ngôn ng ng ng s d cho các c giao p tiế s d li u: Trong
mt h th ng m ng m áy tính v u h qu n s d u khác nhau, i nhi tr li
SQL th ng d ng nh l t n ngôn ng giao p gi a ƣờ đƣợc s ƣ à m chu để tiế các
h qu n tr d s liu.
2.1.1.3. H qun tr CSDL Microsoft SQL Server
Microsoft SQL Server (hay còn g i SQL Server) m t h ng qu th ản
s d u quan h li đƣợc phát trin bi Microsoft, có ch , truy ức năng chính là lƣu tr
xut d u và thông qua câu l nh SQL nó có th i d u v i các ng d li trao đổ li ng
trên máy Client. Trong môi d c l trên y trƣờng Client/Server sở liệu đƣợ ƣu
Server, ng p d u t các máy Client qua m ng m ng. ƣời dùng truy c li t h th
SQL Server h nhi u ch n tr d u trên môi tr ng nhi u tr ức năng quả li ƣờ
ngƣờ i dùng theo kiu Client/Server. SQL Server ch u trách nhi ng các yêu ệm đáp
cu truy c p d liu t các máy Client, x và chuy n k t qu v cho máy Server. ế
SQL Server m t h ng b o m t nhi u c p giúp cho vi c qu n b o m th t
d liu thu n ti n và ch . t ch
SQL Server có m t s sau: đặc tính
- Cho phép quản trị một CSDL lớn, có tốc độ xử dữ liệu nhanh đáp ứng yêu
cầu về thời gian.
19
- Cho phép nhiều ngƣời cùng khai thác trong một thời điểm đối với một
CSDL.
- hệ thống phân quyền bảo mật tƣơng thích với hệ thống bảo mật của công
nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của
Windows NT hoặc sử dụng hệ thống bảo mật độc lập của SQL Server.
- Hỗ trợ trong việc triển khai CSDL phân tán phát triển ứng dụng trên
Internet.
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng để xây
dựng các ứng dụng (Visual Basic, C, C++, ASP, .NET, XML, JAVA...). ASP
- Sử dụng câu lệnh truy vấn dữ liệu Transact-SQL: là ngôn SQL ngữ mở rộng
dựa trên chuẩn của ISO (International Organization for Standardization) SQL
và ANSI (American National Standards Institute) .
2.1.2. Các thành phn ca SQL S erver
Các thành bản trong SQL Server gồm có: Reporting Services, Database
Engine, Integration Services, Notification Services, Full Text Search Service,… Tất
cả kết hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc phân tích
lƣu trữ dữ liệu trở nên dễ dàng hơn.
- Database Engine: Đây phần lõi của SQL Server chức năng chứa dữ
liệu dƣới dạng các bảng hỗ trợ các kết nối đến CSDL. Ngoài ra, còn khả
năng tự điều chỉnh ví dụ: trả lại tài nguyên cho ệ điều hành khi một user h log off
yêu cầu thêm các tài nguyên của máy khi cần.
- Integration Services: tập hợp các đối tƣợng lập trình các công cụ đồ họa
cho việc sao chép, di chuyển chuyển đổi dữ liệu. Khi bạn m việc trong một
công ty lớn thì dữ liệu đƣợc lƣu trữ nhiều nơi khác nhau nhƣ đƣợc chứa trong:
Oracle, SQL Server, DB2, Microsoft Access,… bạn chắc chắn sẽ nhu cầu di
chuyển dữ liệu giữa các server này. Ngoài ra, bạn còn muốn định dạng dữ liệu trƣớc
khi lƣu vào database, Integration Services sẽ giúp bạn giải quyết đƣợc công việc
này dễ dàng.
- Analysis Services: một dịch vụ phân tích dữ liệu trong SQL Server . Công
cụ y giúp bạn trong việc phân tích dữ liệu một cách hiệu quả dễ dàng bằng
cách dùng kỹ thuật khai thác dữ liệu mining khái niệm hình khối nhiều data
chiều – multi dimendion cubes.
20
- Notification Services: Dịch vụ thông báo này nền tảng cho sự phát triển
triển khai các ứng dụng soạn gửi thông báo đến hàng ngàn ngƣời đăng sử
dụng trên nhiều loại thiết bị khác nhau.
- ServicesReporting : một công cụ tạo, quản triển khai báo cáo trên
server client. Ngoài ra, còn nền tảng cho việc phát triển xây dựng các
ứng dụng báo cáo.
- Full Text Search Service: một thành phần đặc biệt trong việc truy vấn và
đánh chỉ mục dữ liệu văn bản không cấu trúc đƣợc lƣu trữ trong các sở dữ liệu
SQL Server.
- Service Broker: dịch vụ cân bằng tải cho SQL Server. giúp cho CSDL
thực hiện đƣợc nhiều thao tác với dữ liệu bằng cách dùng hàng đợi lƣu dữ liệu tạm
thời.
Hình 2.1. Các thành phần của SQL Server
Các mô hình v a SQL Server 2.2. t lý c
2.2.1. Mô hình chung SQL Server
SQL Server h qu n tr CSDL ho ng theo hình Client/Server, th ạt độ
th lic hi i dện trao đổ u theo nhi u hình m ng khác nhau, nhi u giao th c
phƣơng thức truyn tin khác nhau.
| 1/127

Preview text:

MC LC
LỜI NÓI ĐẦU ............................................................................................................ 5
CHƢƠNG 1. KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ
LIỆU ............................................................................................................................ 7
1.1. Khái niệm cơ sở dữ liệu ................................................................................... 7
1.1.1. Cơ sở dữ liệu là gì? ................................................................................... 7
1.1.2. Sự cần thiết của việc tổ chức cơ sở dữ liệu ............................................... 8
1.1.3. Mục tiêu của cơ sở dữ liệu ........................................................................ 9
1.2 .Một số mô hình cơ sở dữ liệu ......................................................................... 10
1.2.1. Mô hình ngoài ......................................................................................... 10
1.2.2. Mô hình trong .......................................................................................... 10
1.2.3. Mô hình dữ liệu ....................................................................................... 11
1.3 .Hệ quản trị cơ sở dữ liệu ................................................................................ 13
CÂU HỎI ÔN TẬP CHƢƠNG 1.............................................................................. 15
CHƢƠNG 2. TỔNG QUAN VỀ HỆ QUẢN TRỊ CSDL MICROSOFT SQL
SERVER.................................................................................................................... 16
2.1. Giới thiệu hệ quản trị cơ sở dữ SQL server ................................................... 16
2.1.1. Khái niệm SQL Server ............................................................................ 16
2.1.1.1. SQL là gì? .......................................................................................... 16
2.1.1.2. Vai trò của SQL ................................................................................. 17
2.1.1.3. Hệ quản trị CSDL Microsoft SQL Server ......................................... 18
2.1.2. Các thành phần của SQL Server ............................................................. 19
2.2 .Các mô hình vật lý của SQL Server ............................................................... 20
2.2.1. Mô hình chung SQL Server .................................................................... 20
2.2.2. Mô hình Desktop ..................................................................................... 21
2.2.3. Mô hình Client/Server ............................................................................. 22
2.2.4. Mô hình kết nối ứng dụng trên mạng Internet ........................................ 23
2.3 .SQL Server Management Studio ................................................................... 24
2.3.1. Tạo cơ sở dữ liệu bằng giao diện của SQL Server Management Studio 25
2.3.2. Cấu trúc lƣu trữ cơ sở dữ liệu ................................................................. 25
2.4. Cơ sở dữ liệu minh họa .................................................................................. 27
CÂU HỎI ÔN TẬP CHƢƠNG 2.............................................................................. 27
CHƢƠNG 3. BẢNG DỮ LIỆU – TABLE ............................................................... 28
3.1 .Khái niệm bảng dữ liệu .................................................................................. 28
3.2 .Kiểu dữ liệu .................................................................................................... 29
3.3 .Ràng buộc dữ liệu .......................................................................................... 32
3.3.1. Khóa chính (Primary Key) ...................................................................... 34
3.3.2. Khóa ngoài (Foreign Key) ...................................................................... 34
3.3.3. Ràng buộc Unique ................................................................................... 35
3.3.4. Ràng buộc Check .................................................................................... 35 1
3.3.5. Ràng buộc giá trị mặc định (Default). ..................................................... 36
3.4 .Tạo bảng dữ liệu ............................................................................................. 36
3.4.1. Tạo ràng buộc PRIMARY KEY ............................................................. 38
3.4.2. Tạo ràng buộc FOREIGN KEY .............................................................. 39
3.4.3. Tạo ràng buộc CHECK ........................................................................... 40
3.4.4. Tạo ràng buộc UNIQUE ......................................................................... 41
3.5. Sửa, xóa cấu trúc bảng ................................................................................... 42
3.5.1. Sửa cấu trúc bảng .................................................................................... 42
3.5.2. Xóa bảng ................................................................................................. 44
3.6 .Nhập dữ liệu vào bảng ................................................................................... 45
3.7. Cập nhật dữ liệu ............................................................................................. 46
3.8. Xóa dữ liệu ..................................................................................................... 47
3.9 .Tạo chỉ mục (Index) ....................................................................................... 49
3.9.1. Chỉ mục là gì? ......................................................................................... 49
3.9.2. Các loại chỉ mục ...................................................................................... 50
3.9.3. Tạo chỉ mục ............................................................................................. 50
3.9.4. Xóa chỉ mục ............................................................................................ 51
CHƢƠNG 4. TRUY VẤN DỮ LIỆU – QUERY ..................................................... 52
4.1 .Khái quát về truy vấn dữ liệu ......................................................................... 52
4.1.1. Câu lệnh SELECT với mệnh để FROM ................................................. 53
4.1.2. Câu lệnh SELECT với mệnh đề WHERE............................................... 54
4.1.3. Câu lệnh SELECT với mệnh đề ORDER BY ......................................... 56
4.1.4. Câu lệnh SELECT với mệnh đề GROUP BY ......................................... 57
4.1.5. Câu lệnh SELECT với mệnh đề INTO ................................................... 57
4.1.6. Câu lệnh Select với mệnh đề Having ...................................................... 58
4.1.7. Câu lệnh Select với mệnh đề Compute ................................................... 58
4.2. Truy vấn dữ liệu trên nhiều bảng ................................................................... 60
4.3. Các loại phép kết nối trong SQL Server: ....................................................... 62
4.3.1. Phép kết nối trong (Inner Join) ............................................................... 62
4.3.2. Phép kết nối ngoài (Outer Join) ............................................................. 64
4.3.3. Phép kết nối tích hợp (CROSS JOIN)..................................................... 67
4.3.4. Phép tự kết kết nối (Self Join) ................................................................. 67
4.4 .Truy vấn con .................................................................................................. 67
4.5. Tối ƣu hóa truy vấn ........................................................................................ 69
4.6 .Hợp các câu lệnh truy vấn .............................................................................. 71
4.6.1. Cú pháp câu lệnh hợp .............................................................................. 71
4.6.2. Các nguyên tắc khi sử dụng UNION ...................................................... 72
CHƢƠNG 5. KHUNG NHÌN - VIEW ..................................................................... 74
5.1 .Khái niệm khung nhìn .................................................................................... 74 2
5.2. Các thao tác trên khung nhìn .......................................................................... 76
5.2.1. Tạo khung nhìn ....................................................................................... 76
5.2.1.1. Tạo khung nhìn bằng câu lệnh ........................................................... 76
5.2.1.2. Tạo khung nhìn bằng chức năng có sẵn của SQL Server ................. 76
5.2.1.3. Thực thi khung nhìn ........................................................................... 77
5.2.1.4. Một số quy định khi sử dụng khung nhìn .......................................... 77
5.2.2. Cập nhật, bổ sung và xóa dữ liệu thông qua khung nhìn ........................ 78
5.2.3. Sửa đổi khung nhìn ................................................................................. 78
5.2.4. Xóa khung nhìn ....................................................................................... 79
CHƢƠNG 6. THỦ TỤC LƢU TRỮ – STORED PROCEDURE ............................ 80
6.1. Định nghĩa ...................................................................................................... 80
6.2. Ƣu điểm khi quản lý dữ liệu bằng thủ tục lƣu trữ .......................................... 81
6.3 .Phân loại thủ tục lƣu trữ ................................................................................. 82
6.4 .Xây dựng thủ tục lƣu trữ trong SQL Server .................................................. 83
6.4.1. Tạo thủ tục lƣu trữ ................................................................................... 83
6.4.2. Lời gọi thủ tục lƣu trữ ............................................................................. 84
6.4.3. Sửa/xóa thủ tục lƣu trữ ............................................................................ 85
6.5 .Sử dụng biến trong thủ tục ............................................................................. 85
6.6. Các phát biểu điều khiển ................................................................................ 88
CÂU HỎI ÔN TẬP CHƢƠNG 6.............................................................................. 90
CHƢƠNG 7. HÀM DO NGƢỜI DÙNG ĐỊNH NGHĨA – USER DEFINED
FUNCTION ............................................................................................................... 91
7.1. Khái niệm ....................................................................................................... 91
7.2 .Những hạn chế khi sử dụng hàm do ngƣời dùng định nghĩa ......................... 91
7.3 .Phân loại ......................................................................................................... 91
7.3.1. Hàm vô hƣớng ......................................................................................... 92
7.3.2. Hàm nội tuyến ........................................................................................ 93
7.3.3. Hàm bao gồm nhiều câu lệnh bên trong ................................................. 94
CÂU HỎI ÔN TẬP CHƢƠNG 7.............................................................................. 95
CHƢƠNG 8. TRIGGER ........................................................................................... 96
8.1 .Giao tác .......................................................................................................... 96
8.1.1. Giới thiệu ................................................................................................. 96
8.1.2. Khái niệm ................................................................................................ 96
8.2 .Trigger ............................................................................................................ 97
8.2.1. Khái niệm ................................................................................................ 97
8.2.2. Khi nào dùng trigger? ............................................................................. 99
8.2.3. Tạo trigger ............................................................................................. 100
8.2.4 Các kiểu Trigger ..................................................................................... 101
8.2.5 Sửa đổi Trigger ...................................................................................... 103
8.2.6 Xóa Trigger ............................................................................................ 104 3
CÂU HỎI ÔN TẬP CHƢƠNG 8............................................................................ 104
CHƢƠNG 9. BẢO MẬT VÀ PHÂN QUYỀN NGƢỜI DÙNG ............................ 105
9.1. Khái niệm ..................................................................................................... 105
9.2. Quản lý ngƣời dùng ...................................................................................... 106
9.3. Các cơ chế bảo mật ...................................................................................... 106
9.4. Các mức bảo mật .......................................................................................... 107
9.5. Tạo ngƣời dùng ............................................................................................ 109
9.5.1. Tạo Login .............................................................................................. 109
9.5.2. Tạo User ................................................................................................ 111
9.5.3. Cấp phát quyền cho ngƣời dùng ........................................................... 112
CÂU HỎI ÔN TẬP CHƢƠNG 9............................................................................ 112
CHƢƠNG 10. IMPORT/EXPORT DATA VÀ BACK UP/RESTORE DATA .... 113
10.1 .Back up Database ....................................................................................... 113
10.1.1. Các kiểu Back up ................................................................................ 113
10.1.2. Back up Database ................................................................................ 115
10.2 .Restore Database ........................................................................................ 116
10.3. Import Data ................................................................................................ 117
10.4. Export Data ................................................................................................ 119
CÂU HỎI ÔN TẬP CHƢƠNG 10.......................................................................... 121
BÀI THỰC HÀNH ................................................................................................. 122
TÀI LIỆU THAM KHẢO ....................................................................................... 127 4
LỜI NÓI ĐẦU
Ngay từ những ngày đầu ứng dụng của máy tính thì việc quản lý dữ liệu là
một trong những nhu cầu rất lớn. Nhiều mô hình dữ liệu đã đƣợc nghiên cứu nhƣ
mô hình phân cấp, mô hình mạng, …. nhƣng cho đến khi mô hình quan hệ đƣợc E.
F. Codd đề xuất vào năm 1970 thì cơ sở dữ liệu đƣợc sang trang mới. Nhiều kết quả
nghiên cứu về lý thuyết trên mô hình quan hệ đã đƣợc công bố. Nhiều hệ quản trị cơ
sở dữ liệu xây dựng trên mô hình quan hệ đã đƣợc ra đời. Cùng với sự chuẩn hóa
của ngôn ngữ hỏi có cấu trúc SQL đã làm cho các hệ quản trị cơ sở dữ liệu sử dụng
mô hình quan hệ nhƣ tiếp thêm sức mạnh trong ứng dụng. Và kết quả là đến nay rất
nhiều hệ quản trị cơ sở dữ liệu mô hình quan hệ đã ra đời và đƣợc ứng dụng rộng rãi
trên thế giới nhƣ: Foxbase, Foxpro, DB2, MySQL, Microsoft Access, Microsoft
SQL Server, Oracle,… Cho đến nay, với sự phát triển của nhu cầu lƣu trữ và xử lý
dữ liệu lớn (Big Data), mô hình NoSQL ra đời với hàng loạt hệ quản trị cơ sở dữ
liệu đƣợc xây dựng nhằm đáp ứng nhu cầu lƣu trữ và xử lý dữ liệu lớn. Tuy vậy,
các hệ quản trị cơ sở dữ liệu mô hình quan hệ vẫn còn nguyên ý nghĩa của nó trong việc ứng dụng.
Hệ quản trị cơ sở dữ liệu là môn học bắt buộc trong chƣơng trình đào tạo
ngành Công nghệ thông tin và một số ngành khác có lƣu trữ và xử lý dữ liệu. Giáo
trình Hệ quản trị cơ sở dữ liệu mục tiêu là cung cấp cho sinh viên những kiến thức
cơ bản về hệ quản trị cơ sở dữ liệu mô hình quan hệ và đƣợc minh họa cụ thể trên
hệ quản trị cơ sở dữ liệu Microsoft SQL Server. Giáo trình đƣợc biên soạn cho sinh
viên đại học năm thứ nhất hoặc thứ hai với các kiến thức về công nghệ thông tin
chƣa nhiều nên các kiến thức trong giáo trình đƣợc trình bày rất đơn giản, rõ ràng
và minh họa cụ thể. Mặc dù minh họa và thực hành trên hệ quản trị Microsoft SQL
Server nhƣng giáo trình không quá đi sâu vào những chức năng riêng của hệ quản
trị cơ sở dữ liệu Microsoft SQL Server mà thông qua giới thiệu những chức năng
của hệ quản trị cơ sở dữ liệu cụ thể để ngƣời học biết đƣợc những chức năng của
một hệ quản trị cơ sở dữ liệu nói chung nhƣng không quá trừu tƣợng. Những chức
năng này sẽ giống nhau cho nhiều hệ quản trị cơ sở dữ liệu theo mô hình quan hệ.
Do đó sau khi học xong giáo trình ngƣời học cũng có thể nhanh chóng làm quen với
các hệ quản trị cơ sở dữ liệu khác.
Sở dĩ chúng tôi chọn Microsoft SQL Server để minh họa trong giáo trình vì
đây là một hệ quản trị cở sở dữ liệu mô hình quan hệ đƣợc phát triển bởi Microsoft
dùng để quản lý và lƣu trữ dữ liệu theo mô hình Client/Server. Đây là một trong 5
những hệ quản trị cơ sở dữ liệu có đầy đủ các tính năng của một hệ quản trị cơ sở
dữ liệu cơ bản, đƣợc nhiều nhà phát triển ứng dụng lựa chọn nhƣ một giải pháp lƣu
trữ dữ liệu cho các ứng dụng.
Giáo trình Hệ quản trị cơ sở dữ liệu là chọn lọc những nội dung của các giảng
viên Khoa Công nghệ thông tin – Trƣờng Đại học Quy Nhơn giảng dạy trong nhiều
năm qua. Trong giáo trình này, chúng tôi không có tham vọng đề cập đến mọi khía
cạnh của hệ quản trị cơ sở dữ liệu nói chung và hệ quản trị Microsoft SQL Server
mà chỉ đặt mục tiêu là tài liệu cho sinh viên và những ngƣời tự học nắm đƣợc các
khái niệm và ý nghĩa của hệ quản trị cơ sở dữ liệu, làm quen và thực hành trên
một hệ quản trị cơ sở dữ liệu cụ thể là M icrosoft SQL Server.
Giáo trình đƣợc chia thành 10 chƣơng với nội dung nhƣ sau:
Chƣơng 1: Khái quát về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
Chƣơng 2: Tổng quan về SQL Server
Chƣơng 3: Bảng dữ liệu - Table
Chƣơng 4: Truy vấn dữ liệu - Query
Chƣơng 5: Khung nhìn - View
Chƣơng 6: Thủ tục thƣờng trú - Stored Procedure
Chƣơng 7: Hàm do ngƣời dùng định nghĩa - User Defined Function Chƣơng 8: Trigger
Chƣơng 9: Quản lý ngƣời dùng và bảo mật trong SQL Server
Chƣơng 10: Backup và Restore Data; Import và Export Data
Mặc dù đã có nhiều cố gắng trong việc biên soạn và cập nhật cho phù hợp với
thực tế nhƣng giáo trình chắc chắn vẫn còn những hạn chế và thiếu sót. Nhóm biên
soạn mong nhận đƣợc những ý kiến đóng góp từ đồng nghiệp và độc giả để giáo
trình ngày đƣợc hoàn thiện hơn với mục tiêu đáp ứng tốt nhất cho ngƣời học.
Mọi đóng góp xin gửi về: Khoa CNTT, Trƣờng Đại học Quy Nhơn, 170 An
Dƣơng Vƣơng, Tp. Quy Nhơn, Tỉnh Bình Định. NHÓM BIÊN SOẠN 6
CHƢƠNG 1. KHÁI QUÁT V CƠ SỞ D LIU VÀ H QUN TR
CƠ SỞ D LIU
Trong chƣơng này trình bày những khái niệm cơ bản về cách tổ chức cơ sở dữ
liệu theo mô hình quan hệ do E.F Codd đề xuất. Những khái niệm này bao gồm mục
tiêu của một cơ sở dữ liệu; Sự cần thiết phải tổ chức dữ liệu dƣới dạng cơ sở dữ
liệu; Tính độc lập của dữ liệu thể hiện mô hình hình kiến trúc 3 mức. Qua đó có thể
thấy cơ sở dữ liệu phản ảnh tính trung thực, khách quan của thế giới dữ liệu; không
dƣ thừa thông tin và cũng không thiếu thông tin.
Nội dung của chƣơng bao gồm các phần:
- Cơ sở dữ liệu là gì?
- Sự cần thiết của việc tổ chức cơ sở dữ liệu.
- Mô hình tổ chức 3 mức cơ sở dữ liệu.
- Mục tiêu của cơ sở dữ liệu.
- Hệ quản trị cơ sở dữ liệu.
1.1. Khái niệm cơ sở d liu
1.1.1. Cơ sở d liu là gì?
Cơ sở dữ liệu (CSDL) là một bộ sƣu tập về các loại dữ liệu tác nghiệp, bao
gồm các loại dữ liệu âm thanh, tiếng nói, chữ viết, văn bản, đồ họa, hình ảnh tĩnh
hay hình ảnh động....đƣợc mã hoá dƣới dạng các chuỗi nhị phân và đƣợc lƣu trữ
dƣới dạng tệp tin dữ liệu trong bộ nhớ của máy tính. Cơ sở dữ liệu phản ảnh trung
thực thế giới hiện thực khách quan.
Cơ sở dữ liệu là tài nguyên thông tin chung cho nhiều ngƣời cùng sử dụng.
Bất kỳ ngƣời sử dụng nào trên mạng máy tính, tại các thiết bị đầu cuối, về nguyên
tắc có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu theo chế độ trực
tuyến hay tƣơng tác mà không phụ thuộc vào vị trí địa lý của ngƣời sử dụng với các tài nguyên đó.
Cơ sở dữ liệu đƣợc các hệ ứng dụng khai thác bằng ngôn ngữ truy xuất dữ
liệu hoặc bằng các chƣơng trình ứng dụng để xử lý, tìm kiếm, tra cứu, sửa đổi, bổ
sung hay loại bỏ dữ liệu. Trong đó tìm kiếm và tra cứu thông tin là một trong những
chức năng quan trọng và phổ biến nhất ủ
c a các ứng dụng khai thác cơ sở dữ liệu. 7
Hình 1.1. Sơ đồ kiến trúc h thống cơ sở d liu
1.1.2. S cn thiết ca vic t chc cơ sở d liu
Gim bớt dư thừa d liệu trong lưu trữ: Trong các ứng dụng lập trình truyền
thống, phƣơng pháp tổ chức lƣu trữ dữ liệu vừa tốn kém; lãng phí bộ nhớ và các
thiết bị lƣu trữ; vừa dƣ thừa thông tin lƣu trữ. Nhiều chƣơng trình ứng dụng khác
nhau cùng xử lý trên các dữ liệu nhƣ nhau, dẫn đến sự dƣ thừa đáng kể về dữ liệu.
Nếu tổ chức lƣu trữ theo lý thuyết CSDL thì có thể hợp nhất các tệp lƣu trữ dữ liệu
để các chƣơng trình ứng dụng có thể cùng chia sẻ tài nguyên trên cùng một cơ sở dữ liệu.
Tránh được s không nhất quán trong lưu trữ d liu và bảo đảm được tính
toàn vn ca d liu: Nếu một thuộc tính đƣợc mô tả trong nhiều tệp dữ liệu khác 8
nhau và lặp lại nhiều lần trong các bản ghi, khi thực hiện việc cập nhật, sửa đổi, bổ
sung sẽ không sửa hết nội dung các mục đó. Nếu dữ liệu càng nhiều thì sự sai sót
khi cập nhật, bổ sung càng lớn. Khả năng xuất hiện mâu thuẫn, không nhất quán
thông tin càng nhiều, dẫn đến không nhất quán dữ liệu trong lƣu trữ. Tất yếu kéo
theo sự dị thƣờng thông tin, thừa, thiếu và mâu thuẫn thông tin.
Thông thƣờng, trong một thực thể, giữa các thuộc tính có mối quan hệ ràng
buộc lẫn nhau, tác động ảnh hƣởng lẫn nhau. Nhƣ vậy, có thể khẳng định, nếu dữ
liệu không tổ chức tốt tất yếu không thể phản ảnh đúng thế giới hiện thực dữ liệu,
không phản ảnh đúng bản chất vận động của dữ liệu. Sự không nhất quán dữ liệu
trong lƣu trữ làm cho dữ liệu mất đi tính toàn vẹn của nó. Tính toàn vẹn dữ liệu đảm
bảo cho sự lƣu trữ dữ liệu luôn luôn đúng.
Có th triển khai đồng thi nhiu ng dng trên cùng mt CSDL: Điều này có
nghĩa là các ứng dụng không chỉ chia sẻ chung tài nguyên dữ liệu mà còn trên cùng
một CSDL có thể triển khai đồng thời nhiều ứng dụng khác nhau tại các thiết bị đầu
cuối khác nhau. Tổ chức dữ liệu theo lý thuyết cơ sở dữ liệu sẽ thống nhất các tiêu
chuẩn, thủ tục và các biện pháp bảo vệ, an toàn dữ liệu. Các CSDL sẽ đƣợc quản lý
tập trung bởi một ngƣời hay một nhóm ngƣời. Bằng các hệ quản trị CSDL, ngƣời
quản trị CSDL có thể áp dụng thống nhất các tiêu chuẩn, quy định, thủ tục chung
nhƣ quy định thống nhất về mẫu biểu báo cáo, thời gian bổ sung, cập nhật dữ liệu.
Điều này làm dễ dàng cho công việc bảo trì dữ liệu. Ngƣời quản trị CSDL có thể
bảo đảm việc truy nhập tới CSDL, có thể kiểm tra, kiểm soát các quyền truy nhập
của ngƣời sử dụng. Ngăn chặn các truy nhập trái phép, sai quy định từ trong ra hoặc từ ngoài vào.
1.1.3. Mc tiêu ca cơ sở d liu
Ngƣời sử dụng khi thao tác trên các cơ sở dữ liệu không đƣợc làm thay đổi
cấu trúc lƣu trữ dữ liệu và chiến lƣợc truy nhập tới cơ sở dữ liệu. Dữ liệu chỉ đƣợc
biểu diễn, mô tả một cách duy nhất. Cấu trúc lƣu trữ dữ liệu và các chƣơng trình
ứng dụng trên các CSDL hoàn toàn độc lập với nhau, không phụ thuộc lẫn nhau. Vì
vậy bảo đảm tính độc lập dữ liệu là mục tiêu quan trọng của cơ sở dữ liệu. Có thể
định nghĩa tính độc lập dữ liệu là “Tính bất biến của các ứng dụng đối với sự thay
đổi trong cấu trúc lƣu trữ và chiến lƣợc truy nhập dữ liệu”.
Khi thay đổi cấu trúc lƣu trữ và các chiến lƣợc truy nhập dữ liệu không kéo
theo thay đổi nội dung của các chƣơng trình ứng dụng và ngƣợc lại, khi các chƣơng
trình thay đổi cũng không làm ảnh hƣởng đến cấu trúc lƣu trữ và chiến lƣợc truy 9
nhập của dữ liệu. Tính độc lập của dữ liệu bảo đảm cho việc biểu diễn nội dung
thông tin cho các thực thể là duy nhất và bảo đảm tính toàn vẹn và nhất quán dữ liệu trong lƣu trữ.
1.2. Mô hình t chc cơ sở d liu
Mô hình tổ chức 3 mức của CSDL gồm: Mức trong, mức mô hình dữ liệu (mức
quan niệm) và mức ngoài. Giữa các mức tồn tại các ánh xạ quan niệm trong và ánh
xạ quan niệm ngoài. Trung tâm của hệ thống là mức quan niệm, tức là mức mô hình
dữ liệu. Ngoài ra còn có khái niệm ngƣời sử dụng, hệ quản trị CSDL và ngƣời quản
trị CSDL. Ngƣời sử dụng là những ngƣời tại thiết bị đầu cuối truy nhập vào các
CSDL theo chế độ trực tuyến hay tƣơng tác bằng các chƣơng trình ứng dụng hay
bằng các ngôn ngữ truy xuất d ữ liệu.
1.2.1. Mô hình ngoài
Ngƣời sử dụng có thể truy nhập toàn bộ hay một phần CSDL phụ thuộc vào
quyền truy nhập của họ. Cách nhìn CSDL của ngƣời sử dụng nói chung là trừu
tƣợng, họ nhìn CSDL bằng mô hình ngoài. Chẳng hạn ngƣời sử dụng là một nhân
viên của phòng kế toán tài chính, chỉ nhìn thấy tập các xuất hiện kiểu bản ghi ngoài
về doanh thu, sản lƣợng trong tháng, không thể nhìn thấy các xuất hiện kiểu bản ghi
lƣu trữ về các chỉ tiêu kỹ thuật của hệ thống.
Mô hình ngoài là nội dung thông tin của CSDL dƣới cách nhìn của ngƣời sử
dụng. Nó là nội dung thông tin của một phần dữ liệu tác nghiệp đƣợc một ngƣời
hoặc một nhóm ngƣời sử dụng. Nói cách khác, mô hình ngoài mô tả cách nhìn dữ
liệu của ngƣời sử dụng và mỗi ngƣời sử dụng có cách nhìn dữ liệu khác nhau.
Nhiều mô hình ngoài khác nhau có thể cùng tồn tại trong một CSDL, nghĩa là có
nhiều ngƣời sử dụng chia sẻ chung cùng một cơ sở dữ liệu. Hơn nữa, có thể mô
hình ngoài quan hệ, mô hình ngoài phân cấp hay mô hình ngoài kiểu mạng cũng có
thể tồn tại trong một cơ sở dữ liệu.
Mô hình ngoài gồm nhiều xuất hiện kiểu bản ghi ngoài, nghĩa là mỗi một ngƣời
sử dụng có một sơ đồ dữ liệu riêng, một khung nhìn dữ liệu riêng (nhƣ tên các
trƣờng, kiểu dữ liệu các trƣờng, độ rộng của trƣờng....). Bản ghi ngoài của ngƣời sử
dụng có thể khác với bản ghi lƣu trữ và bản ghi quan niệm
1.2.2. Mô hình trong 10
Mô hình trong là mô hình lƣu trữ vật lý dữ liệu. Chỉ có duy nhất một và chỉ một
cách biểu diễn CSDL dƣới dạng lƣu trữ vật lý. Mô hình trong là cách biểu diễn cơ
sở dữ liệu trừu tƣợng ở mức thấp nhất.
- Mô hình trong gồm nhiều xuất hiện của nhiều kiểu bản ghi lƣu trữ đƣợc xác
định bởi một sơ đồ trong. Thông tin biểu diễn trong mô hình trong là duy nhất.
- Sơ đồ trong bao gồm các định nghĩa mô hình trong. Không chỉ xác định các
kiểu khác nhau của bản ghi lƣu trữ mà còn xác định rõ sự tồn tại của các chỉ dẫn,
cách sắp xếp các bản ghi theo thứ tự nào. Nó xác định dữ liệu lƣu trữ và truy nhập
nhƣ thế nào thông qua các đƣờng dẫn truy nhập tới dữ liệu.
Ánh xạ quan niệm trong đƣợc xác định giữa mô hình trong và mô hình dữ liệu
nhằm bảo đảm tính độc lập của dữ liệu. Nếu cấu trúc lƣu trữ của CSDL thay đổi,
nghĩa là thay đổi định nghĩa về cấu trúc lƣu trữ dữ liệu thì ánh xạ này phải cũng
phải thay đổi tƣơng ứng sao cho sơ đồ quan niệm (mô hình dữ liệu) không thay đổi.
Ánh xạ quan niệm ngoài là ánh xạ đƣợc xác định tƣơng ứng một-một giữa mô
hình ngoài của ngƣời sử dụng với mô hình dữ liệu.
Có rất nhiều cách nhìn dữ liệu ở mô hình ngoài, ngƣời sử dụng khác nhau có
cách nhìn dữ liệu khác nhau và các ứng dụng khác nhau có những cách nhìn dữ liệu
cũng khác nhau, nhƣng chỉ có duy nhất một cách nhìn dữ liệu ở mức quan niệm,
biểu diễn toàn bộ thông tin trong CSDL đó là cách nhìn dữ liệu tổng quát của ngƣời
sử dụng. Và cũng chỉ có duy nhất một và chỉ một cách biểu diễn CSDL dƣới dạng lƣu trữ vật lý.
Ánh xạ trong xác định giữa mô hình trong và mô hình dữ liệu, nhằm bảo đảm
đƣợc tính độc lập của dữ liệu, nghĩa là nếu cấu trúc lƣu trữ của CSDL thay đổi, tức
là thay đổi định nghĩa về cấu trúc lƣu trữ dữ liệu thì ánh xạ này phải cũng phải thay
đổi tƣơng ứng sao cho mô hình dữ liệu không đƣợc thay đổi. Tƣơng tự ánh xạ ngoài
xác định tƣơng ứng giữa một mô hình của ngƣời sử dụng nào đó với mô hình dữ
liệu. Nó chuyển đổi dạng biểu diễn dữ liệu lƣu trữ sang dạng biểu diễn dữ liệu mà
các ứng dụng cần đến.
1.2.3. Mô hình d liu
Mô hình dữ liệu (sơ đồ quan niệm) là cách nhìn dữ liệu một cách tổng quát của
ngƣời sử dụng, nghĩa là có rất nhiều cách nhìn dữ liệu ở mô hình ngoài, nhƣng chỉ
có duy nhất một cách nhìn dữ liệu ở mức quan niệm. 11
Mô hình dữ liệu gồm nhiều xuất hiện của nhiều kiểu bản ghi dữ liệu. Ví dụ kiểu
xuất hiện bản ghi về nhân sự, kiểu xuất hiện bản ghi về doanh thu, sản lƣợng, kiểu
xuất hiện bản ghi về cƣớc đàm thoại...
Mô hình dữ liệu đƣợc xác định bởi một mô hình dữ liệu mô tả của nhiều kiểu
thực thể, chẳng hạn nhƣ mô tả thực thể tuyến cáp, các loại cáp, thầy giáo, học sinh...
Mô hình dữ liệu bao gồm các định nghĩa về các kiểu bản ghi, đó là các ràng buộc
cho quyền và tính toàn vẹn dữ liệu. Những ràng buộc này chính là các tính chất của
dữ liệu, tính liên kết các thuộc tính cùng một kiểu dữ liệu. Các quan điểm này
không bao hàm về cấu trúc lƣu trữ, cũng nhƣ về chiến lƣợc truy nhập, chúng chỉ là
các định nghĩa về nội dung thông tin, về tính độc lập của dữ liệu trong mô hình dữ liệu.
Mô hình dữ liệu luôn luôn ổn định, nghĩa là nếu mô tả thêm một kiểu thực thể
đặc biệt sát nhập vào mô hình dữ liệu, không đƣợc làm thay đổi mô hình dữ liệu cũ.
Nếu mô hình dữ liệu không ổn định thì các ứng dụng và mô hình ngoài cũng không
ổn định. Mô hình dữ liệu chỉ đƣợc thay đổi khi có sự điều chỉnh trong thế giới thực,
đòi hỏi điều chỉnh lại định nghĩa sao cho nó phản ảnh thế giới hiện thực khách quan hơn, chân lý hơn.
Thiết kế mô hình dữ liệu là giai đoạn quan trọng và quyết định trong việc thiết
kế và cài đặt cơ sở dữ liệu. Quá trình thiết kế không phụ thuộc quá nhiều vào cấu
trúc lƣu trữ vật lý và chiến lƣợc truy nhập của dữ liệu. Nhƣ vậy việc thiết kế mô
hình dữ liệu phải đƣợc tiến hành độc lập với việc thiết kế mô hình trong và mô hình
ngoài, vì nếu không việc thiết kế sẽ không ổn định và phải xem xét lại tác động
thƣờng xuyên đến nhiều thành phần khác của hệ thống.
Ngoài việc xuất hiện nhiều kiểu bản ghi, mô hình dữ liệu còn chứa các định
nghĩa về quyền truy nhập của ngƣời sử dụng, các thao tác kiểm tra tính đúng đắn
của dữ liệu nhằm bảo đảm tính toàn vẹn của CSDL, các luồng lƣu chuyển thông tin
và quy định cách thức sử dụng thông tin. Nhƣ vậy mô hình dữ liệu là cách nhìn toàn
bộ nội dung thông tin của CSDL, là bƣớc đi đầu tiên, quan trọng trong việc thiết kế và cài đặt c ơ sở dữ liệu. 12
Hình 1.2. Mô hình kiến trúc cơ sở d liu
1.3. H qun tr cơ sở d liu
Hệ quản trị cơ sở dữ liệu (DataBase Management System - DBMS) là phần
mềm điều khiển các chiến lƣợc truy nhập CSDL. Khi ngƣời sử dụng đƣa ra yêu cầu
truy nhập bằng một ngôn ngữ truy xuất dữ liệu nào đó, hệ quản trị CSDL tiếp nhận
và thực hiện các thao tác trên CSDL lƣu trữ. Đối tƣợng nghiên cứu của CSDL là các
thực thể và mối quan hệ giữa các thực thể. Mối quan hệ giữa các thực thể cũng là
một loại thực thể đặc biệt. Trong cách tiếp cận CSDL theo mô hình quan hệ, dựa
trên cơ sở lý thuyết đại số quan hệ để xây dựng các quan hệ chuẩn, khi kết nối
không tổn thất thông tin và khi biểu diễn dữ liệu là duy nhất. Dữ liệu đƣợc lƣu trữ
trong bộ nhớ của máy tính không những phải tính đến yếu tố về tối ƣu không gian
lƣu trữ, mà phải đảm bảo tính khách quan, trung thực của dữ liệu hiện thực; nghĩa là
phải đảm bảo tính nhất quán của dữ liệu và giữ đƣợc sự toàn vẹn của dữ liệu.
Các chức năng chủ yếu của một hệ quản trị cơ sở dữ liệu:
- Mô tả dữ liệu tạo lập và duy trì sự tồn tại của CSDL.
- Cho phép truy xuất vào CSDL theo thẩm quyền đã đƣợc cấp. 13
- Cập nhật, chèn thêm, loại bỏ hay sửa đổi dữ liệu.
- Đảm bảo an toàn, bảo mật dữ liệu và tính toàn vẹn dữ liệu.
- Tạo cấu trúc dữ liệu tƣơng ứng với mô hình dữ liệu.
- Đảm bảo tính độc lập dữ liệu: cấu trúc lƣu trữ dữ liệu độc lập với các trình ứng dụng dữ liệu.
- Tạo mối liên kết giữa các thực thể.
- Cung cấp các phƣơng tiện sao lƣu, phục hồi (backup, restore).
- Điều khiển tƣơng tranh.
Các bƣớc xử lý của hệ quản trị CSDL có thể tóm tắt nhƣ sau:
- Ngƣời sử dụng đƣa ra yêu cầu truy nhập bằng ngôn ngữ truy xuất dữ liệu.
- Hệ quản trị cơ sở dữ liệu sẽ tiếp nhận và phân tích yêu cầu.
- Hệ quản trị cơ sở dữ liệu xem xét mô hình ngoài, ánh xạ ngoài, mô hình dữ liệu, ánh xạ trong,...
- Thực hiện các thao tác trên CSDL lƣu trữ.
Một hệ quản trị cơ sở dữ liệu thông thƣờng có các thành phần chính nhƣ sau:
- Ngôn ngữ định nghĩa dữ liệu (Data Definition Language).
- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language).
- Ngôn ngữ truy vấn dữ liệu (Query Language).
- Bộ báo cáo (Report Write).
- Bộ đồ họa (Graphics Generator).
- Bộ giao tiếp ngôn ngữ chủ (Host Language Interface).
- Ngôn ngữ thủ tục (Procedure Language)
- Từ điển dữ liệu (Data Dictionary).
Ngƣời quản trị CSDL là một ngƣời hay một nhóm ngƣời có khả năng chuyên
môn về công nghệ thông tin, có trách nhiệm quản lý và điều khiển toàn bộ hoạt
động của hệ quản trị cơ sở dữ liệu. Vì vậy ngƣời quản trị CSDL cần phải đặt ra các
cách thức, quy định cho ngƣời sử dụng nhằm ngăn chặn việc truy nhập trái phép vào CSD . L
Ngƣời quản trị CSDL có một số nhiệm vụ chính: 14
- Xác định thực thể và nội dung thông tin cần lƣu trữ. Xác định mô hình dữ liệu
đáp ứng yêu cầu truy nhập của ngƣời sử dụng.
- Quyết định cấu trúc lƣu trữ và chiến lƣợc truy nhập: Ngƣời quản trị CSDL phải
xác định cách thức biểu diễn dữ liệu nhƣ mô tả cấu trúc lƣu trữ trong, mô tả cấu trúc
lƣu trữ vật lý. Xác định mô hình dữ liệu, định nghĩa ánh xạ giữa cấu trúc lƣu trữ và
mô hình ngoài. Thực hiện các chiến lƣợc lƣu trữ, quản lý hệ thống.
- Ngƣời quản trị CSDL phải tạo môi trƣờng giao tiếp giữa ngƣời sử dụng với các
hệ quản trị CSDL, vì mô hình ngoài cho ngƣời sử dụng cách nhìn dữ liệu tƣơng ứng
với ngôn ngữ truy xuất dữ liệu thích hợp, nên ngƣời quản trị CSDL phải cung cấp
mô hình dữ liệu, các ánh xạ và cấu trúc lƣu trữ. Kiểm soát thẩm quyền truy nhập
của ngƣời sử dụng và bảo đảm quyền truy nhập của họ.
- Duy trì các tiêu chuẩn thống nhất về các quy trình lƣu trữ và cấu trúc lƣu trữ,
biểu diễn thông tin và các chiến lƣợc truy nhập. Kiểm soát và kiểm tra tính đúng
đắn của dữ liệu; áp dụng các biện pháp an toàn dữ liệu.
- Xác định chiến lƣợc lƣu trữ, sao chép, phục hồi...trong các trƣờng hợp hƣ hỏng
do sai sót, hoặc trục trặc kỹ thuật .
CÂU HI ÔN TẬP CHƢƠNG 1
1. Cơ sở dữ liệu là gì?
2. Sự cần thiết tổ chức lƣu trữ dữ liệu theo lý thuyết cơ sở dữ liệu?
3. Cho ví dụ minh họa về giảm bớt dƣ thừa dữ liệu trong lƣu trữ và không nhất
quán dữ liệu trong lƣu trữ làm cho dữ liệu mất đi tính toàn vẹn.
4. Trình bày tổng quát kiến trúc mô hình cơ sở dữ liệu 3 lớp.
5. Trình bày và phân tích tính ổn định trong mô hình dữ liệu.
6. Vai trò và chức năng của ánh xạ quan niệm trong và ánh xạ quan niệm ngoài.
7. Tại sao kiến trúc mô hình cơ sở dữ liệu 3 lớp đảm bảo đƣợc tính độc lập và toàn vẹn dữ liệu?
8. Tại sao nói, mô hình dữ liệu là cách nhìn toàn bộ nội dung thông tin của CSDL? Ví dụ minh họa.
9. Hiểu thế nào về khái niệm “tính toàn vẹn dữ liệu” và “tham chiếu toàn vẹn”. 15
CHƢƠNG 2. TNG QUAN V H QUN TR CSDL MICROSOFT SQL SERVER
Trong chƣơng này, trình bày một cách khái quát về hệ quản trị cơ sở dữ liệu
Microsoft SQL Server. Các chức năng của một hệ quản trị cơ sở dữ liệu cần phải có.
Nội dung chính của chƣơng này gồm:
- Giới thiệu hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
- Các thành phần của Microsoft SQL Server
- Mô hình Microsoft SQL Server
- Giới thiệu công cụ Enterprise Manager
2.1. Gii thiu h qun tr cơ sở d SQL server
2.1.1. Khái nim SQL Server
2.1.1.1. SQL là gì?
SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu
trúc), là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đƣợc lƣu trữ
trong các hệ quản trị cơ sở dữ liệu. S L
Q là một hệ thống ngôn ngữ bao gồm tập
các câu lệnh sử dụng để tƣơng tác với cơ sở dữ liệu quan hệ.
SQL đƣợc phát triển từ ngôn ngữ SEQUEL bởi IBM theo mô hình E.F.Codd
tại trung tâm nghiên cứu của IBM ở California vào những năm 70 cho hệ quản trị
CSDL lớn. Đầu tiên SQL đƣợc sử dụng trong các ngôn ngữ quản lý CSDL và chạy
trên các máy đơn lẻ. Song do sự phát triển nhanh chóng của nhu cầu xây dựng
những CSDL lớn theo mô hình khách chủ: trong mô hình này toàn bộ CSDL đƣợc
tập trung trên máy chủ (Server), mọi thao tác xử lý dữ liệu đƣợc thực hiện trên máy
chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ.
Tên gọi ngôn ng hi có cu tr c ú phần nào là
m chúng ta liên tƣởng đến
một công cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu. Hơn thế
nữa, SQL đƣợc sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ
sở dữ liệu cung cấp cho ngƣời dùng bao gồm:
- Định nghĩa d liu: SQL cung cấp khả năng định nghĩa các cơ sở dữ
liệu, các cấu trúc lƣu trữ và tổ chức dữ liệu đồng thời tạo mối quan hệ giữa
các thành phần dữ liệu. 16
- Truy xut và thao tác d liu: Với SQL, ngƣời dùng có thể dễ dàng thực
hiện các thao tác truy xuất, bổ sung ,cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.
- Điều khin truy cp: SQL có thể đƣợc sử dụng để tạo và cấp phát quyền
ngƣời dùng đồng thời kiểm soát các thao tác của ngƣời dùng trên dữ liệu,
đảm bảo sự an toàn cho cơ sở dữ liệu.
- Đảm bo toàn vn d liu: SQL định nghĩa các ràng buộc toàn vẹn
trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu
trƣớc các thao tác cập nhật cũng nhƣ các lỗi của hệ thống.
Nhƣ vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện đƣợc sử dụng
trong các hệ thống cơ sở dữ liệu và l
à một thành phần không thể thiếu trong các
hệ quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình nhƣ C,
C++, Java,... song các câu lệnh mà SQ
L cung cấp có thể đƣợc nhúng vào trong
các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tƣơng tác với cơ sở dữ liệu.
Khác với các ngôn ngữ lập trìn
h quen thuộc nhƣ C , C++, Java,... SQL l à
ngôn ngữ có tính khai báo. Với SQL, ngƣời dùng chỉ cần mô tả các yêu cầu cần
phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các
yêu cầu nhƣ thế nào. C í
h nh vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng.
Ngày nay trong các ngôn ngữ lập trình bậc cao đều có sự trợ giúp của SQL. Nhất là
trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóng vai trò quan trọng
hơn, nó đƣợc sử dụng để truy xuất dữ liệu một cách nhanh chóng trong các trang web động.
2.1.1.2. Vai trò ca SQL
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn
tại độc lập. SQL thực sự l
à một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện
trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và l à công cụ giao tiếp
giữa ngƣời sử dụng và hệ quản trị cơ sở dữ liệu.
Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò nhƣ sau:
- SQL là ngôn ng hi có tính tƣơng tác: Ngƣời sử dụng có thể dễ dàng
thông qua các trình tiện ích để gởi các yêu cầu dƣới dạng các câu lệnh SQL
đến cơ sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu.
- SQL là ngôn ng lp trình s d liu: Các lập trình viên có thể nhúng 17
các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các
chƣơng trình ứng dụng giao tiếp với cơ sở dữ liệu.
- SQL là ngôn ng qun tr s d liu :Thông qua SQL, ngƣời quản trị
cơ sở dữ liệu có thể quản lý đƣợc cơ sở dữ liệu, định nghĩa các cấu trúc
lƣu trữ dữ liệu, điều khiển truy cập cơ sở dữ liệu,... - SQL l
à ngôn ng cho các h thng client/server: Trong các hệ thống cơ
sở dữ liệu client/server, SQL đƣợc sử dụng nhƣ là công cụ để giao tiếp giữa
các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu.
- SQL là ngôn ng truy cp d liu trên Internet: Cho đến nay, hầu hết các
máy chủ Web cũng nhƣ các máy chủ trên Internet sử dụng SQL với vai tr ò là
ngôn ngữ để tƣơng tác với dữ liệu trong các cơ sở dữ liệu. - SQL l
à ngôn ng s d liu phân tán: Đối với các hệ quản trị cơ sở dữ
liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống
khác trên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau.
- SQL là ngôn ng s dng cho các cng giao tiếp s d liu: Trong
một hệ thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau,
SQL thƣờng đƣợc sử dụng nhƣ là một chuẩn ngôn ngữ để giao tiếp giữa các
hệ quản trị cơ sở dữ liệu.
2.1.1.3. H qun tr CSDL Microsoft SQL Server
Microsoft SQL Server (hay còn gọi SQL Server) là một hệ thống quản lý cơ
sở dữ liệu quan hệ đƣợc phát triển bởi Microsoft, có chức năng chính là lƣu trữ, truy
xuất dữ liệu và thông qua câu lệnh SQL nó có thể trao đổi dữ liệu với các ứng dụng
trên máy Client. Trong môi trƣờng Client/Server cơ sở dữ liệu đƣợc lƣu trên máy
Server, ngƣời dùng truy cập dữ liệu từ các máy Client qua một hệ thống mạng.
SQL Server hỗ trợ nhiều chức năng quản trị dữ liệu trên môi trƣờng nhiều
ngƣời dùng theo kiểu Client/Server. SQL Server chịu trách nhiệm đáp ứng các yêu
cầu truy cập dữ liệu từ các máy Client, xử lý và chuyển kết quả về cho máy Server.
SQL Server có một hệ thống bảo mật nhiều cấp giúp cho việc quản lý và bảo mật
dữ liệu thuận tiện và chặt chẽ.
SQL Server có một số đặc tính sau:
- Cho phép quản trị một CSDL lớn, có tốc độ xử lý dữ liệu nhanh đáp ứng yêu cầu về thời gian. 18
- Cho phép nhiều ngƣời cùng khai thác trong một thời điểm đối với một CSDL.
- Có hệ thống phân quyền bảo mật tƣơng thích với hệ thống bảo mật của công
nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của
Windows NT hoặc sử dụng hệ thống bảo mật độc lập của SQL Server.
- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên Internet.
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng để xây
dựng các ứng dụng (Visual Basic, C, C++, ASP, ASP.NET, XML, JAVA...).
- Sử dụng câu lệnh truy vấn dữ liệu Transact-SQL: là ngôn ngữ SQL mở rộng dựa trên SQ
L chuẩn của ISO (International Organization for Standardization)
và ANSI (American National Standards Institute).
2.1.2. Các thành phn ca SQL Server
Các thành cơ bản trong SQL Server gồm có: Reporting Services, Database
Engine, Integration Services, Notification Services, Full Text Search Service,… Tất
cả kết hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc phân tích và
lƣu trữ dữ liệu trở nên dễ dàng hơn.
- Database Engine: Đây là phần lõi của SQL Server nó có chức năng chứa dữ
liệu dƣới dạng các bảng và hỗ trợ các kết nối đến CSDL. Ngoài ra, nó còn có khả
năng tự điều chỉnh ví dụ: trả lại tài nguyên cho hệ điều hành khi một user log off và
yêu cầu thêm các tài nguyên của máy khi cần.
- Integration Services: là tập hợp các đối tƣợng lập trình và các công cụ đồ họa
cho việc sao chép, di chuyển và chuyển đổi dữ liệu. Khi bạn làm việc trong một
công ty lớn thì dữ liệu đƣợc lƣu trữ ở nhiều nơi khác nhau nhƣ đƣợc chứa trong:
Oracle, SQL Server, DB2, Microsoft Access,… và bạn chắc chắn sẽ có nhu cầu di
chuyển dữ liệu giữa các server này. Ngoài ra, bạn còn muốn định dạng dữ liệu trƣớc
khi lƣu vào database, Integration Services sẽ giúp bạn giải quyết đƣợc công việc này dễ dàng.
- Analysis Services: là một dịch vụ phân tích dữ liệu trong SQL Server. Công
cụ này giúp bạn trong việc phân tích dữ liệu một cách hiệu quả và dễ dàng bằng
cách dùng kỹ thuật khai thác dữ liệu – data mining và khái niệm hình khối nhiều
chiều – multi dimendion cubes. 19
- Notification Services: Dịch vụ thông báo này là nền tảng cho sự phát triển và
triển khai các ứng dụng soạn và gửi thông báo đến hàng ngàn ngƣời đăng ký sử
dụng trên nhiều loại thiết bị khác nhau.
- Reporting Services: là một công cụ tạo, quản lý và triển khai báo cáo trên
server và client. Ngoài ra, nó còn là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.
- Full Text Search Service: là một thành phần đặc biệt trong việc truy vấn và
đánh chỉ mục dữ liệu văn bản không cấu trúc đƣợc lƣu trữ trong các cơ sở dữ liệu SQL Server.
- Service Broker: là dịch vụ cân bằng tải cho SQL Server. Nó giúp cho CSDL
thực hiện đƣợc nhiều thao tác với dữ liệu bằng cách dùng hàng đợi lƣu dữ liệu tạm thời.
Hình 2.1. Các thành phần của SQL Server
2.2. Các mô hình vt lý ca SQL Server
2.2.1. Mô hình chung SQL Server
SQL Server là hệ quản trị CSDL hoạt động theo mô hình Client/Server, có thể
thực hiện trao đổi dữ liệu theo nhiều mô hình mạng khác nhau, nhiều giao thức và
phƣơng thức truyền tin khác nhau. 20