Hệ quản trị SQL bài giảng dành cho sinh viên Đại học, Cao đẳng là bộ tài liệu hay và rất hữu ích cho các bạn sinh viên và quý bạn đọc quan tâm. Đây là tài liệu hay trong Bộ tài liệu sưu tập gồm nhiều Bài tập THCS, THPT, luyện thi THPT Quốc gia, Giáo án, Luận văn, Khoá luận, Tiểu luận…và nhiều Giáo trình Đại học, cao đẳng của nhiều lĩnh vực: Toán, Lý, Hoá, Sinh…. Đây là nguồn tài liệu quý giá đầy đủ và rất cần thiết đối với các bạn sinh viên, học sinh, quý phụ huynh, quý đồng nghiệp và các giáo sinh tham khảo học tập. Xuất phát từ quá trình tìm tòi, trao đổi tài liệu, chúng tôi nhận thấy rằng để có được tài liệu mình cần và đủ là một điều không dễ, tốn nhiều thời gian, vì vậy, với mong muốn giúp bạn, giúp mình tôi tổng hợp và chuyển tải lên để quý vị tham khảo. Qua đây cũng gởi lời cảm ơn đến tác giả các bài viết liên quan đã tạo điều kiện cho chúng tôi có bộ sưu tập này. Trên tinh thần tôn trọng tác giả, chúng tôi vẫn giữ nguyên bản gốc. Trân trọng. ĐỊA CHỈ DANH MỤC TẠI LIỆU CẦN THAM KHẢO http:123doc.vntrangcanhan348169nguyenductrung.htm hoặc Đường dẫn: google > 123doc > Nguyễn Đức Trung > Tất cả (chọn mục Thành viên)
Trang 1M C L C
Ch ng 1 T NG QUAN SQL SERVER 2000 4
1.1 Các h th ng SQL Server 4
1.2 Các công c c a SQL Server 4
Ch ng 2 QU N Lụ CÁC D CH V SQL SERVER 15
2.1 Các dch v SQL Server 15
2.2 S d ng trình qu n lý d ch v SQL Server 15
2.2.1 Ti n ích Book Online 15
2.2.2 Ti n ích Client NetWork Utility 16
2.2.3 Ti n ích Import and Export Data 17
2.2.4 Ti n ích Profiler 17
2.2.5 Ti n ích Query Analyzer 18
2.2.6 Ti n ích Server Network Utility 19
2.2.7 Ti n ích Service Manager 19
2.3 S d ng SQL Server Enterprise Manager 20
Ch ng 3 T O C S D LI U 22
3.1 Các h th ng C s d li u 22
3.1.1 Khái ni m v c s d li u 22
3.1.2 Ý ngha c a t ng lo i c s d li u đã đ c t o t đ ng trong quá trình cài đ t Microsoft SQL Server 22
3.1.3 Các t p tin v t lý l u tr c s d li u 23
3 2 T o c s d li u 25
3.2.1 Các thu c tính c a m t c s d li u trong Microsoft SQL Server 25
3.2.2 T o C s d li u (S d ng ti n ích Enterprise Manager) 26
3.2.3 Xóa c s d li u 29
Ch ng 4 T O VÀ QU N Lụ B NG (Table) 32
4.1 Khái ni m v b ng 32
4.1.1 Khái ni m 32
4.1.2 Các thu c tính c a b ng 32
4.2 Các ki u d li u 33
4.3 T o b ng và qu n lý b ng 36
4.3.1 T o c u trúc b ng d li u 36
4.3.2 Qu n lý b ng 42
Ch ng 5 BI U C S D LI U (DataBase Diagram) 63
5.1 T o m t DataBase Diagram 63
5.1.1 Khái ni m v mô hình quan h d li u 63
5.1.2 T o m i mô hình quan h d li u 63
5.2 Qu n lý các đ i t ng CSDL trong DataBase Diagram 66
Ch ng 6 GI I THI U NGÔN NG TRUY V N D LI U SQL 70
6.1 Các l nh truy v n và thao tác trên d li u c a SQL 70
6.1.1 L nh INSERT INTO 70
6.1.2 L nh DELETE FROM 73
6.1.3 L nh UPDATE SET 76
Trang 26.1.4 L nh SELECT FROM 78
6.1.5 Truy v n con 96
6.2 Các hàm c a SQL Server 102
6.2.1 Các hàm toán h c 102
6.2.2 Các hàm x lý chu i ký t .103
6.2.3 Các hàm x lý ngày tháng và th i gian 103
6.3 B ng o (Virtual table - view) trong SQL SERVER 103
6.3.1 Khái ni m v b ng o 104
6.3.2 T o b ng o b ng ti n ích Enterprise Manager 104
6.3.3 Xem và c p nh t d li u b ng o 107
6.3.4 H y b b ng o 108
6.3.5 T o m i b ng o b ng l nh CREATE VIEW 109
6.3.6 S a đ i n i dung b ng o 114
Ch ng 7 T O VÀ QU N Lụ STORE PROCEDURE 116
7.1 Khái ni m Store Procedure (th t c n i t i) 116
7.2 T o Store Procedure 118
7.2.1 T o m i m t th t c n i t i 118
7.2.2 G i th c hi n th t c n i t i 120
7.2.3 H y b th t c n i t i 121
7.2.4 Thay đ i n i dung c a th t c n i t i 121
7.2.5 Tham s bên trong th t c n i t i 123
7.3 Qu n lý Store Procedure 128
7.3.1 Th t c l u tr (Stored procedure) 128
7.3.2 Các hàm c p nh t, xóa, và m t s ví d v cách s d ng các hàm Store Procedure 129
7.3.3 Bi u th c Case 131
7.3.4 C u trúc đi u khi n 135
Ch ng 8 T O TRANSACTION VÀ TRIGGER 143
8.1 Giao tác (Transaction) 143
8.1.1 Khái ni m v giao tác 143
8.1.2 Giao tác không t ng minh 144
8.2 Cách t o (Transaction) 145
8.2.1 Giao tác t ng minh 145
8.2.2 L nh ch đ nh b t đ u m t giao tác 146
8.2.3 Các l nh ch đ nh k t thúc m t giao tác 147
8.2.4 Phân vùng trong giao tác 148
8.2.5 Ki m l i bên trong giao tác 150
8.3 Trigger 153
8.3.1 Khái ni m 153
8.3.2 Cú pháp 153
8.3.3 L nh xóa Trigger 153
Ch ng 9 SAO L U VÀ KHÔI PH C D LI U 155
* Nh ng lý do ph i sao l u và khôi ph c d li u .155
9.1 Các ph ng pháp sao l u d li u 155
Trang 39.2 Các ph ng pháp khôi ph c d li u 156
9.2.1 Các mô hình ph c h i d li u 156
9.2 Màn hình đ t mô hình khôi ph c d li u 157
9.2.2 Khôi ph c d li u – RESTORE DATABASE 158
9.3 Màn hình khôi ph c d li u 158
Ch ng 10 QU N Lụ - B O M T VÀ NG I DÙNG TRONG SQL SERVER 159
10.1 Khái ni m 159
10.2 S d ng Enterprise Manager c p phát quy n cho ng i dùng 159
10.2.1 T o tài kho n đ ng nh p (Login Acount) 159
10.2.2 Thay đ i thu c tính cho Login 160
10.2.3 C p quy n th c thi trên m i CSDL 161
10.2.4 C p quy n t o đ i t ng trên CSDL 161
Xóa User trên m t CSDL: 161
T o User v i Login đã có: 161
10.2.5 Xóa tài kho n đ ng nh p 161
10.3 S d ng Query Analyzer c p phát quy n cho ng i dùng 161
10.3.1 T o tài kho n đ ng nh p (Login Acount): 161
10.3.2 Thay đ i m t kh u 162
10.3.3 C p quy n truy xu t CSDL hi n hành cho Login 162
10.3.4 Xóa quy n truy xu t CSDL hi n hành 163
10.3.5 C p quy n th c thi trên CSDL 163
10.3.6 T ch i quy n th c thi trên CSDL 164
10.3.7 Xóa b quy n th c thi đã c p ho c t ch i trên CSDL 164
10.3.8 C p quy n t o đ i t ng trong CSDL 165
10.3.9 T ch i quy n t o đ i t ng trên CSDL 165
10.3.10 Xóa b quy n t o đ i t ng đã c p ho c t ch i trên CSDL 165
10.4 Vai trò c a User trong SQL Server 165
10.4.1 T o vai trò trên CSDL 165
10.4.2 Thêm User vào Role 166
BÀI T P 167
TÀI LI U THAM KH O 181
Trang 41.2 Các công c c a SQL Server
a) SQL Server có 7 phiên b n:
* Enterprise: Ch a đ y đ các đ c tr ng c a SQL Server, có th ch y t t trên h
th ng lên đ n 32 CPUs và 64 GB RAM Thêm vào đó nó có các d ch v giúp cho vi c phân tích d li u r t hi u qu (Analysis Services)
* Standard: R t thích h p cho các công ty v a và nh vì giá thành r h n nhi u so
v i Enterprise Edition, nh ng l i b gi i h n m t s ch c n ng cao c p (advanced features) khác, edition này có th ch y t t trên h th ng lên đ n 4 CPU và 2 GB RAM
* Personal: đ c t i u hóa đ ch y trên PC nên có th cài đ t trên h u h t các phiên
b n windows k c Windows 98
* Developer: Có đ y đ các tính n ng c a Enterprise Edition nh ng đ c ch t o đ c
bi t nh gi i h n s l ng ng i k t n i vào Server cùng m t lúc Ðây là edition mà các b n mu n h c SQL Server c n có Chúng ta s dùng edition này trong su t khóa
h c Edition này có th cài trên Windows 2000 Professional hay Win NT Workstation
* Desktop Engine (MSDE): Ðây ch là m t engine ch y trên desktop và không có user interface (giao di n) Thích h p cho vi c tri n khai ng d ng máy client Kích
th c database b gi i h n kho ng 2 GB
Trang 5* Trial: Có các tính n ng c a Enterprise Edition, download free, nh ng gi i h n th i gian s d ng
b) CƠi đ t SQL Server:
Khác v i m t s ph n m m khác nh Microsoft Office, Visual Studio, Delphi,
vi c cài đ t Microsoft SQL Server không đ n gi n Do đó, s h ng d n b n các b c đ
t cài đ t c s d li u Microsoft SQL Server Personal
ây là phiên b n làm vi c trong môi tr ng Windows Me, Windows 98,
s d ng Microsoft SQL Server trên máy tính đ n (Stand-Alone) mà không c n ph i cài
đ t Windows NT Server ho c không c n trang b m t h th ng m ng máy tính
* C u hình máy t i thi u đ cài đ t SQL Server 2000:
- CPU: Pentium 166 Mhz ho c Pentium Pro
- RAM: 64MB cho Windows 2000 Professional (128MB thì t t h n)
phiên b n t i thi u (Minimun); 130MB v i phiên b n th ng dùng (Typical)
- H đi u hành: Windows Me, Windows 98, Windows NT Workstation 4.0,
Windows 2000 Professional
- Màn hình: VGA v i đ phân gi i 800 x 600 ho c cao h n
- Internet Browser: Microsoft Internet Explorer 5.0 tr lên
* Các b c th c hi n vi c cƠi đ t:
B c 1: a đ a Microsoft SQL Server Personal vào đ a CDROM N u đ a không
t đ ng ch y, b n double click chu t vào t p tin autorun.exe đ kh i đ ng ch ng trình
cài đ t
B c 2: Trong màn hình kh i đ ng cài đ t Microsoft SQL Server Personal, b n ch n
m c SQL Server 2000 Components đ b t đ u vi c cài đ t
Trang 61.1 Màn hình kh i đ ng cƠi đ t SQL
B c 3: B n ch n ch c n ng Install Database Server đ cài đ t c s d li u Microsoft
SQL Server Personal
i v i hai thành ph n còn l i, đ c dùng đ cài đ t các thành ph n liên quan đ n
vi c x lý phân tích d li u tr c tuy n (OLAP – Online Analytical Processing) và x lý
truy v n d li u b ng ngôn ng ti ng Anh Hai thành ph n này không nh t thi t ph i đ c
cài đ t chung v i c s d li u Microsoft SQL Server Personal
1.3 Trình cài đ t ti n hành sao chép m t s file c n thi t
Trang 71.4 Màn hình Welcome
Ch n Next đ ti p t c cài đ t
B c 4: Trong màn hình Welcome, nh n nút Next đ ti p t c vi c cài đ t Ch n Local
Computer đ cài đ t c s d li u ngay trên máy tính hi n hành, nh n Next đ ti p t c
Trong tr ng h p b n mu n th c hi n vi c cài đ t c s d li u cho m t máy ch
t xa bên trong m t h th ng m ng c c b , b n ch n ch c n ng Remote Computer Khi
đó, b n s cung c p thêm tài kho n ng i dùng, m t kh u và domain c a ng i dùng
thu c nhóm ng i qu n tr đ ch ng trình cài đ t có th truy xu t vào máy ch trong quá trình cài đ t
B c 5: Trong màn hình l a ch n cài đ t (Installation Selection), b n ch n ch c n ng
Create a new instance of SQL Server đ đ n gi n trong quá trình cài đ t, nh n nút Next
Trang 81.6 Màn hình l a ch n cƠi đ t SQL
B c 6: Trong màn hình thông tin ng i dùng (User Information), b n nh p vào tên c a
mình và tên c quan Có th b tr ng tên c quan Nh n nút Next đ ti p t c
B c 7: Trong màn hình th a c b n quy n ph n m m (Software License Agreement
), Microsoft đ a ra m t s th a c cho ng i dùng khi s d ng ph n m m Nh n Yes đ
đ ng ý các th a c này và ti p t c quá trình cài đ t
Trang 91.8 Màn hình th a c b n quy n ph n m m
Ch n Next đ ti p t c cài đ t
B c 8: Trong màn hình đ nh ngh a lo i cài đ t (Installation Definition), ch n Server
and Client Tools đ ch đ nh vi c cài đ t c s d li u và các ti n ích khác Nh n nút
Next đ ti p t c
Trang 101.10 Màn hình đ nh ngh a lo i cƠi đ t SQL
B c 9: Trong màn hình đ nh ngh a tên th hi n (Instance Name), ch n ô ki m tra
Default n u mu n tên th hi n c a Microsoft SQL Server Personal trùng v i tên c a
máy tính b n đang cài đ t Nh n nút Next đ ti p t c
1.11 Màn hình nh p tên th hi n Trong tr ng h p b n mu n đ t tên khác thì b ch n ô ki m tra Default, nh p vào
Trang 11B c 10: Trong màn hình ch n lo i cài đ t (Setup Type) b n nên ch n lo i th ng dùng
là Typical n u dung l ng đ a c ng còn tr ng l n h n 130MB, ng c l i n u dung l ng
đ a c ng còn tr ng l n h n 50MB thì nên ch n lo i t i thi u (Minimum) Nh n nút Next
đ ti p t c cài đ t
1.12 Màn hình ch n lo i cƠi đ t SQL
M c đ nh th m c C:\Programs\Microsoft SQL Server s ch a các t p tin sau
khi cài đ t, bao g m các t p tin ch ng trình và t p tin d li u B n nên ch n m t th
m c khác đ l u tr các t p tin c s d li u v i m c đích an toàn h n B n có th nh n
nút Browser đ thay đ i các th m c khác n u mu n
B c 11: Trong màn hình ch n tài kho n ng i dùng kh i đ ng d ch v (Services
Accounts), cho phép b n ch đ nh tên tài kho n ng i dùng đ có th kh i đ ng hai d ch
v chính y u c a Micorsoft SQL Server khi ho t đ ng là :SQL Server và SQL Server
Nh n nút Next đ ti p t c
Trang 12N u h đi u hành máy tính b n cài đ t là Windows 98 thì màn hình này s không
xu t hi n B n nên ch n s d ng tài kho n ng i dùng h th ng c c b (Use the Local System Account ) đ kh i đ ng cùng lúc c 2 d ch v (Use the same Account for each service ) đ i v i phiên b n Microsoft SQL Server Personal
B c 12: Trong màn hình ch đ nh c ch xác th c đ ng nh p (Authentication Mode),
b n ch n Mixed Mode đ ch đ nh vi c đ ng nh p (Login) vào Microsoft SQL Server
trong Microsoft SQL Server B n nh p tài kho n SA cho tài kho n ng i dùng SA trong Microsoft SQL Server Nh n nút Next đ ti p t c
1.14 Màn hình c ch xác th c đ ng nh p
M c đ nh, luôn luôn có m t tài kho n ng i dùng có tên là sa (syytem administrator ), ng i qu n tr c s d li u trong Microsoft SQL Server đ c t o sau
khi k t thúc quá trình cài đ t c s d li u Microsoft SQL Server
B c 13: Trong màn hình b t đ u sao chép t p tin (Start Copying Files), h th ng thông
báo cho bi t các thông tin cài đ t đã đ c cung c p đ y đ Nh n nút Next đ b t đ u quá
trình sao chép t p tin t CDROM vào đ a c ng máy tính
Trang 131.15 Màn hình chu n b sao chép các t p tin
1.16 Chu n b ti n trình sao chép các t p tin
1.17 Ti n hành sao chép các t p tin
B c 14: B n ph i ch trong m t th i gian đ quá trình cài đ t th c hi n Cu i cùng khi
xu t hi n màn hình hoàn thành cài đ t (Setup Complete), b n nh n nút Finish đ k t
Trang 141.18 Màn hình hoàn thành cài đ t SQL
Trang 152.1 Các ti n ích bên trong Microsoft SQL Server
2.2 S d ng trình qu n lý d ch v SQL Server
2.2.1 Ti n ích Book Online
ng d ng này cho phép chúng ta có th tra c u tr c tuy n t t c các thông tin
liên quan đ n Microsoft SQL Server m t cách đ y đ v i các tính n ng tìm ki m d dàng
và m t giao di n d s d ng
N i dung đ c trình bày theo t ng ph n d dàng xem trong trang Contents Ngoài
ra còn các trang Index và Search cho phép các b n tra c u nhanh theo ch m c đã đ c
s p x p tr c đó ho c gõ vào các t khóa c n tìm
Trang 16Khi c n tham kh o cú pháp các l nh, hàm, bi n h th ng m t cách đ y đ nh t thì chúng ta vào đây xem là hoàn toàn chính xác Tuy nhiên n i dung trình bày hoàn toàn
là b ng ti ng Anh
2.2 Ti n ích Book Online
2.2.2 Ti n ích Client NetWork Utility
Ti n ích này cho phép chúng ta thay đ i, t o m i và l u l i các nghi th c n i k t
m ng(network protocol) m c đ nh c a máy tr m khi th c hi n n i k t vào Microsoft SQL Server t i các máy ch
2.3 Ti n ích Client NetWork Utility
Trang 172.2.3 Ti n ích Import and Export Data
Ti n ích này cho phép chúng ta th c hi n các tính n ng trong vi c nh p (import),
xu t (export) và chuy n đ i d li u qua l i gi a Microsoft SQL Server và nh ng lo i c
s d li u khác th ng dùng nh : Microsoft Access, Visual FoxPro, Microsoft Excel, t p tin v n b n ASCII
2.4 Ti n ích Import and Export Data
Trong ph n bài gi ng này chúng tôi ch trình bày cách s d ng Microsoft SQL Server nên không gi i thi u nhi u v ti n ích này, tuy nhiên n u các b n mu n tr thành
ng i qu n tr Microsoft SQL Server thì ch c r ng công c này là r t c n thi t cho ng i
qu n tr
2.2.4 Ti n ích Profiler
Ti n ích này cho phép chúng ta phát hi n nh ng bi n c đã x y ra c a Microsoft
SQL Server khi đang th c hi n m t x lý nào đó trên máy ch Các bi n c này có th
đ c ghi l i trong m t t p tin l u v t (trace file) đ sau này s d ng l i cho vi c phân tích
nh m phát hi n ra nh ng v n đ khi th c hi n các câu l nh truy v n trong x lý đó
Trang 18Ho t đ ng c a ti n ích này có ph n g n gi ng công c tìm l i trong các ngôn ng
l p trình, có ngh a là các b n s cho th c hi n tu n t các câu l nh trong m t x lý lô (batch) đ có th phát hi n ra l i c a m t câu l nh nào đó (n u có)
2.2.5 Ti n ích Query Analyzer
Ti n ích này cho phép chúng ta so n th o các t p tin k ch b n (script file) – là t p
tin v n b n ASCII ch a các câu l nh SQL giao tác trên c s d li u Microsoft SQL Server ho c có th th c hi n các truy v n tr c ti p trên c s d li u Microsoft SQL
Server và nh n đ c k t qu tr c ti p ngay sau khi th c hi n truy v n đó
2.6 Ti n ích Query Analyzer
Tuy nhiên tr c khi vào đ c màn hình trên, h th ng Microsoft SQL Server s yêu c u các b n đ ng nh p (login) vào h th ng v i tên tài kho n ng i dùng và m t kh u
h p l b i vì Microsoft SQL Server là m t h qu n tr c s d li u m ng máy tính
Trong đó tên tài kho n ng i dùng và m t kh u này s do ng i qu n tr Microsoft SQL Server t o ra tr c đó, trong tr ng h p làm vi c trên Microsoft SQL Server Desktop thì chúng ta có th nh p vào v i tên là SA (System Administrator – ng i qu n
tr h th ng c s d li u Microsoft SQL Server) và m t kh u đ tr ng
Trang 192.7 ng nh p đ n Server
Trong các ch ng còn l i chúng ta ch y u làm vi c v i ti n ích này đ t o ra các
đ i t ng l u tr d li u bên trong Microsoft SQL Server
2.2.6 Ti n ích Server Network Utility
Ti n ích này cho phép chúng ta qu n lý các th vi n nghi th c n i k t m ng c a
máy ch dùng đ l ng nghe các yêu c u t các máy tr m – có ngh a các nghi th c n i k t
m ng gi a máy ch và máy tr m ph i n kh p v i nhau đ chúng có th giao ti p qua l i
2.8 Ti n ích Server Network Utility
2.2.7 Ti n ích Service Manager
Ti n ích này cho phép chúng ta qu n lý các d ch v liên quan đ n Microsoft SQL
Server Có th th c hi n vi c: kh i đ ng (start), t m d ng (pause) và ng ng l i (stop) các
d ch v đó Các d ch v (services) này đ c xem nh là các ng d ng ch y ng m đ nh bên d i h th ng trong môi tr ng Windows
Trang 20Tuy nhiên k t các l n b t máy tính sau đó các d ch v này s đ c t kh i đ ng
n u chúng ta đã ch n vào ô ki m tra Auto-start nh hình phía trên
Thông th ng ti n ích Service Manager s xu t hi n bên d i thanh tác v (task tray) c a Windows kích ho t ti n ích này, chúng ta nh n đúp vào bi u t ng Service Manager
2.10 Ti n ích Service Manager xu t hi n trên thanh công c
Ti n ích này cho phép chúng ta kh i đ ng ho c t m ng ng các d ch v c a Microsoft SQL Server Trong ph n cài đ t, đã gi i thi u các d ch v c a Microsoft SQL
Trang 212.11 Ti n ích Enterprise Manager
Ngoài ra ti n ích này còn giúp chúng ta qu n tr m t ho c nhi u Microsoft SQL
Server khác nhau, v i giao di n đ h a thân thi n (user friendly) ti n ích này s giúp cho các b n có th t o l p c s d li u và các thành ph n bên trong Microsoft SQL Server
m t cách d dàng h n
Tuy nhiên mu n qu n tr Microsoft SQL Server thì chúng ta ph i đ ng ký
(register) máy ch vào ti n ích này, vi c đ ng ký nh th nào chúng tôi s trình bày trong
nh ng ph n ti p theo
Trang 22Ch ng 3 T O C S D LI U
3.1 Các h th ng C s d li u
3.1.1 Khái ni m v c s d li u
M t c s d li u c a Microsoft SQL Server là m t t p h p dùng đ ch a các đ i
t ng : b ng d li u (table), b ng o (view), th t c n i t i (stored procedure) … cho
phép ng i s d ng l u tr và khai thác các thông tin d li u đã đ c t ch c và l u tr bên trong đó
Thông th ng, sau khi cài đ t Microsoft SQL Server, h th ng s t đ ng t o các
c s d li u m c đ nh nh : Master, Model, Tempdb, Pubs, NorthWind và Msdb,
M t SQL Server đ c phép ch a t i đa có 32,767 các c s d li u khác nhau
M t c s d li u c a Microsoft SQL Server ch do m t ng i dùng t o ra, tuy
nhiên trong c s d li u này có th đ c phép có nhi u ng i truy c p, s d ng và t o ra nhi u đ i t ng d li u khác bên trong nó
3.1 M t s c s d li u trong Microsoft SQL Server 3.1.2 Ý ngh a c a t ng lo i c s d li u đã đ c t o t đ ng trong quá trình cài
đ t Microsoft SQL Server
Trang 23này
c C s d li u Tempdb
Là c s d li u t m th i (temporary database) mà Microsoft SQL Server s
d ng đ ch a các b ng t m do ng i dùng t o ra m t cách minh b ch ho c là n i l u tr các k t qu trung gian trong quá trình th c hi n các x lý cho các truy v n ho c s p x p
d li u
d C s d li u Pubs
Là c s d li u m u, qu n lý thông tin v b ng d li u : quy n sách (titles), tác
gi (authors), nhà xu t b n (publishers), … s d ng c s d li u này đ minh h a
bi u nh sao chép an toàn d li u (backup), đ ng b hóa d li u (replicate), …
B n có th h y b các c s d li u : Pubs, NorthWind trong tr ng h p không
mu n s d ng n a mà không làm nh h ng đ n h th ng Microsoft SQL Server Tuy
nhiên, n u dung l ng đ a c ng b n còn tr ng nhi u, b n không nên h y b các c s d
li u này
3.1.3 Các t p tin v t lý l u tr c s d li u
Trang 24M c dù ph i qu n lý nhi u đ i t ng bên trong c s d li u nh ng Microsoft SQL Server ch t ch c m t vài t p tin d li u (data files) v t lý đ l u tr , đó là đi u c i
ti n t phiên b n 7.0 tr lên c a Microsoft SQL Server
M t c s d li u trong Microsoft SQL Server t i thi u ph i bao g m hai t p tin
a T p tin d li u chính (Primary Data File)
ây là t p tin chính dùng đ l u tr các thông tin h th ng c a c s d li u và
ph n còn l i dùng l u tr m t ph n d li u Ph n m r ng c a t p tin này thông th ng là
*.MDF
b T p tin d li u th y u (Secondary Data Files)
ây là t p tin dùng đ l u tr các đ i t ng d li u không n m trong t p tin d
Trang 25c T p tin l u v t (Log Files)
ây là t p tin dùng đ l u v t các giao tác, là nh ng hành đ ng c p nh t d li u (thêm, s a, xóa) vào các b ng do ng i dùng tác đ ng trên c s d li u T p tin này h
tr cho phép b n có th h y b (Rollback) các thao tác c p nh t d li u v a m i th c
hi n i u này giúp cho d li u không h b thay đ i Ph n m r ng c a t p tin này thông
th ng là *.LDF
M c đ nh các t p tin d li u c a c s d li u Microsoft SQL Server s đ c l u
tr trong th m c C:\Program Files\Microsoft SQL Server\MSSQL\Data ho c đ ng
d n mà b n đã ch đ nh l i trong quá trình cài đ t Microsoft SQL Server
3 2 T o c s d li u
3.2.1 Các thu c tính c a m t c s d li u trong Microsoft SQL Server
a Tên c s d li u (Database name)
Là duy nh t trong m t Microsoft SQL Server, đ dài t i đa là 123 ký t B n nên
đ t tên c s d li u g i nh nh QLBanhang (Qu n lý bán hàng), QLHocsinh (Qu n lý
c Tên t p tin (File name)
Là tên lu n lý c a m i lo i t p tin d li u t ng ng mà h th ng Microsoft SQL Server dùng đ qu n lý bên trong T ng ng m i lo i t p tin d li u s có m t tên t p tin riêng bi t
d Kích th c ban đ u (Initial size)
Là kích th c kh i t o c a t p tin d li u khi c s d li u m i đ c t o l p n
v tính là MegaByteMB) Thông th ng kích th c ban đ u c a m t c s d li u m i t i
thi u ph i b ng kích th c c a c s d li u Model, b i vì Microsoft SQL Server s l y
c s d li u Model làm khuôn d ng m u khi t o l p m t c s d li u m i
e Vi c t ng tr ng kích th c t p tin d li u (File growth)
Trang 26Là các quy đ nh cho vi c t ng tr ng t đ ng kích th c t p tin d li u, b i vì các
d li u s đ c ng i dùng n p vào đ l u tr ngày càng nhi u h n so v i kích th c ban
đ u khi t o l p Vi c t ng tr ng s t đ ng làm t ng kích th c t p tin d li u liên quan theo t ng MB (in megabytes) ho c theo t l ph n tr m (by percent) c a kích th c t p
tin hi n hành khi các d li u bên trong Microsoft SQL Server l u tr g n đây so v i
- Kh i đ ng ti n ích Enterprise Manager, ch n m t Microsoft SQL Server đã
đ c đ ng ký qu n tr tr c đó Click chu t ph i trên đ i t ng Database, ch n New Database
Xu t hi n h p h i tho i :
Trang 273.4 Các thu c tính c s d li u - tab General
- Ch n tab General, nh p vào tên c s d li u mu n t o, ví d QLBanHang, ch
đ nh kích th c ban đ u kh i t o c a t p tin d li u chính, thay đ i các thu c tính khác (n u c n)
Ch n tab Transaction Log đ thay đ i các thu c tính c a t p tin l u v t
- Ch n tab Data Files đ ch đ nh kích th c ban đ u khi kh i t o c a t p tin d
li u chính, thay đ i các thu c tính khác (n u c n)
3.5 Các thu c tính c s d li u - tab Data Files
Ch n tab Transaction Log đ thay đ i kích th c và các thu c tính c a t p tin l u
v t giao tác
- T i tab Transaction Log ch đ nh kích th c ban đ u khi kh i t i c a t p tin l u
Trang 283.6 Các thu c tính c s d li u - tab Transaction Log
Nh n OK đ h th ng b t đ u th c hi n vi c kh i t o c s d li u đã ch đ nh
Th i gian th c hi n vi c t o c s d li u tùy thu c vào kích th c c a c s d
li u mu n t o Ngoài ra, b n có th t o m i m t c s d li u b ng câu l nh CREATE
Ví d :
T o m t c s d li u có tên là QLBanHang v i kích th c ban đ u lúc kh i t o
c a t p tin d li u chính là 50MB, t đ ng t ng kích th c lên 10% khi d li u b đ y, kích th c t ng tr ng t p tin d li u t i đa không quá 200MB, t p tin l u v t v i kích
th c ban đ u lúc kh i t o là 10MB, t đ ng t ng kích th c t p tin lên 5MB khi d li u
b đ y, kích th c t ng tr ng t p tin không gi i h n B n th c hi n câu l nh nh sau:
Trang 29Nh v y, b n có hai cách đ th c hi n các hành đ ng trong Microsoft SQL Server: Ho c th c hi n các thao tác trong t ch ích Enterprise Manager ho c th c hi n
các câu l nh T-SQL (Transaction SQL) trong ti n ích Query Analyzer đ t o ra các đ i
t ng bên trong Microsoft SQL Server môi tr ng làm vi c tr nên sinh đ ng h n,
b n nên ph i h p s d ng c hai ti n ích nêu trên
3.2.3 Xóa c s d li u
M t c s d li u sau khi t o xong sau m t th i gian b n không còn khai thác các
d li u bên trong đó thì b n có th h y b đ c i thi n dung l ng đ a c ng
Tuy nhiên ph i ch c r ng các thông tin d li u trong c s d li u mà b n d đ nh xóa s không còn h u ích v sau B i vì b n không th khôi ph c l i sau khi đã xóa
h y b c s d li u trong Microsoft SQL Server, b n có th s d ng nhi u
cách : ho c s d ng câu l nh T-SQL (Transaction SQL) trong ti n ích Query Analyzer
ho c s d ng ch c n ng t th c đ n ng c nh trong ti n ích Enterpeise Manager
Trang 30Ch n c s d li u QLBanHang, nh n phím Delete ho c click chu t ph i t i c s
d li u QLBanHang, ch n Delete, xu t hi n thông báo:
3.9 Xác nh n đ ng ý h y b c s d li u
* S d ng ti n ích Query Analyzer
Kh i đ ng ti n ích Query Analyzer trong Microsoft SQL Server
3.10 Xóa c s d li u QLBanHang b ng ti n ích Query Analyzer
H th ng Microsoft SQL Server không cho phép ng i dùng h y b các c s d
li u h th ng nh Master, Model, Tempdb b i vì các c s d li u luôn đ c h th ng Microsoft SQL Server s d ng
Vi c h y b m t c s d li u thành công ph i đ m b o không còn ng i dùng
Trang 31L u ý:
B n không nên xóa c s d li u b ng cách s d ng Windows Explorer ho c Windows Commander đ h y b các t p tin d li u trong th m c C:\Program Files\Microsoft SQL Server\MSSQL\Data vì th c hi n nh th s nh h ng đ n h
th ng c s d li u Microsoft SQL Server
Trang 32Ch ng 4 T O VÀ QU N Lụ B NG (Table)
4.1 Khái ni m v b ng
4.1.1 Khái ni m
B ng trong Microsoft SQL Server dùng cho vi c l u tr các thông tin d li u c a
nh ng đ i t ng, th c th trong th gi i th c mu n đ c l u tr vào máy tính
Ví d :
Thông tin các khách hàng, nhà cung c p, hóa đ n xu t hàng, hóa đ n nh p hàng,
… các thông tin này s đ c t ch c thành các dòng (row) và các c t (column) mà thông
th ng đ nh d ng c a nó s g n gi ng nh m t danh sách trong b ng tính Excel c a các
b n th ng dùng
M i dòng d li u trong b ng th ng ph i là duy nh t do đó s có m t ho c nhi u
c t bên trong b ng s tham gia làm khóa chính (primary key)
Giá tr d li u t i các c t tham gia làm khóa chính là duy nh t, không trùng l p bên trong b ng
H u nh các b ng trong m t c s d li u s có các quan h v i các b ng khác
nh m ki m tra tính t n t i d li u (foreign key) và trao đ i, chia s thông tin v i nhau
Ví d :
Trong c s d li u qu n lý bán hàng, b ng nhà cung c p s có quan h v i b ng
đ n đ t hàng đ nói r ng vi c đ t hàng cho nh ng nhà cung c p ng v i các lo i v t t nào
4.1.2 Các thu c tính c a b ng
Các thu c tính c b n c a m t b ng d li u bao g m:
a Tên b ng (table name)
Là tên c a b ng d li u do b n quy đ nh, đ dài không quá 128 ký t Tên b ng
ph i duy nh t bên trong ph m vi c a ng i đã t o ra nó trong m t c s d li u
t (column name)
Trang 334.2 Các ki u d li u
• Ki u d li u (data type):
Quy đ nh ki u d li u mà c t s l u tr bên trong b ng Ngoài các ki u d li u c
s mô t danh sách bên d i, Microsoft SQL Server còn cho phép b n đ nh ngh a ra các
ki u d li u m i, cách th c đ nh ngh a ki u d li u m i s đ c trình bày trong các bài
ti p theo
Danh sách các ki u d li u c b n trong Microsoft SQL Server :
Trang 35L u ý:
Các ki u d li u varchar, nvarchar, varbinary là nh ng ki u d li u mà h th ng
Microsoft SQL Server s giúp cho vi c l u tr d li u đ c t i u h n
Ví d :
Gi s c t tên khách hàng trong b ng khách hàng có ki u d li u là varchar(30)
N u giá tr d li u tên khách hàng c n l u là: "Cao Minh Trung" thì khi đó d li u l u tr
-c n đ l u tr là 4 bytes (do h th ng quy đ nh)
• Cho phép đ tr ng d li u (allow null) :
Quy đ nh d li u có th đ c phép đ tr ng hay là không t i m t c t bên trong
b ng trong tr ng h p thêm m i ho c s a đ i m u tin
Ví d :
C t h tên khách hàng là không đ c phép đ tr ng, tuy nhiên, c t s đi n tho i di đ ng
a khách hàng là có th đ tr ng
Trang 36• C t đ nh danh (identity):
Quy đ nh c t d li u c a m t b ng s làm c t đ nh danh trong b ng Giá tr trên c t
đ nh danh ph i là m t s nguyên không trùng l p (nên đ c g i là đ nh danh) do h th ng Microsoft SQL Server t đ ng c p phát
Do đó ch có các ki u d li u c a c t là s int, smallint, tinyint, decimal ho c numeric m i đ c phép làm c t đ nh danh Trong m t b ng ch đ c phép có duy nh t
m t c t làm c t đ nh danh
Thu c tính này có h at đ ng g n gi ng ki u d li u AutoNumber c a Microsoft
Access tuy nhiên ng i s d ng có th ch đ nh giá tr c a s c p phát đ u tiên thông qua thu c tính Identity Seed và s đ n v s đ c t ng cho các m u tin k ti p thông qua
thu c tính Identity Increment
• Giá tr m c đ nh (default value):
Là giá tr m c nhiên s đ c gán vào c t d li u khi ng i s d ng thêm m i m t
a Các b c th c hi n vi c t o b ng d li u trong Enterprise Manager
• Trong ng d ng Enterprise Manager, m r ng c s d li u QLBanHang đ
th y các đ i t ng d li u bên trong Click chu t ph i trên đ i t ng Tables, ch n New Table trong th c đ n t t
Trang 374.1 Ch n ch c n ng New Table đ t o m i b ng
• Trong màn hình thi t k c u trúc b ng (design table), l n l t nh p vào tên các
c t bên trong b ng, ch n l a các ki u d li u t ng ng thích h p và ch đ nh các thu c tính c n thi t cho các c t bên trong b ng Sau cùng đ nh ngh a khóa chính cho b ng
4.2 Thi t k c u trúc b ng
Trang 38• L u l i c u trúc b ng v a đ nh ngh a k t thúc quá trình t o c u trúc b ng b ng
ti n ích Enterprise Manager
4.3 Ch đ nh tên b ng m i
Ngoài ra b n c ng có th t o c u trúc b ng b ng câu l nh CREATE TABLE, cú
pháp đ y đ c a câu l nh này r t ph c t p và r t dài Do đó, s h ng d n b n t ng thành
ph n nh bên trong câu l nh CREATE TABLE đ b n t ng b c làm quen v i các cú
pháp c a câu l nh này Sau đó b n có th k t h p các thành ph n này l i trong m t câu
l nh CREATE TABLE đ xây d ng c u trúc b ng d li u hoàn ch nh
b T o c u trúc b ng đ n gi n
V i cú pháp CREATE TABLE bên d i cho phép b n t o ra c u trúc b ng g m:
tên b ng, tên các c t cùng v i ki u d li u t ng ng và ch đ nh giá tr d li u t i các c t bên trong b ng không đ c phép b tr ng M c đ nh giá tr d li u t i m t c t không tham gia làm khóa chính c a b ng đ c phép b tr ng d li u khi thêm m i
Cú pháp:
Trong đó:
• Tên b ng, tên c t và ki u d li u đã đ c mô t trong ph n các thu c tính c a b ng
• T khóa NOT NULL ch đ nh không cho phép d li u t i c t đ c phép b tr ng
Ví d :
Trang 39t o b ng có tên là VATTU (v t t ) g m có nh ng c t và ki u d li u mô t nh trên, ch có d li u t i c t ph n tr m (Phantram) là đ c phép b tr ng B n th c hi n câu
l nh CREATE TABLE nh sau:
c T o c u trúc b ng có giá tr m c đ nh
V i cú pháp CREATE TABLE bên d i cho phép b n t o ra c u trúc b ng v i
đ nh ngh a giá tr m c đ nh cho c t Giá tr m c đ nh là nh ng giá tr s đ c gán vào bên trong c t d li u c a b ng trong tr ng h p d li u t i c t đó b tr ng khi thêm dòng d
li u m i vào b ng
Cú pháp:
Trong đó:
• Giá tr : Là giá tr c th s đ c gán vào c t
• Hàm: Là tên hàm cùng v i tham s (n u có), tuy nhiên ki u d li u mà hàm tr v ph i cùng v i ki u d li u mà c t s l u tr
Trang 40d Xóa c u trúc b ng
Trong th c t thì l nh xóa b c u trúc b ng r t ít đ c th c hi n b i vì nó r t nguy
hi m, khi đó nó s làm m t toàn b các dòng d li u bên trong đó Vì th b n nên h n ch