



















Preview text:
 Mụ c lụ c 
Mụ c lụ c ............................................................................................................................... 1 
1 Giớ i thiệ u về SQL Server 2005 ....................................................................................... 5 
1.1 Cài đặ t SQL Server 2005 Express Edition ................................................................ 5 
1.1.1 Các yêu cầ u cho hệ thố ng 32bit ........................................................................ 5 
1.1.2 Các bư ớ c cài đặ t SQL Server 2005 Express Edition ........................................ 7 
1.2 Mộ t số thao tác cơ bả n trên SQL Server 2005 Express Edition ............................. 18 
1.2.1 Tạ o mộ t CSDL mớ i ........................................................................................ 18 
1.2.2 Tạ o bả ng mớ i .................................................................................................. 19 
1.2.3 Xóa bả ng, xóa CSDL ....................................................................................... 21 
1.2.4 Mở mộ t query editor để viế t câu lệ nh SQL .................................................... 21 
2 Structured Query Language (SQL) ................................................................................. 22 
2.1 SQL là ngôn ngữ củ a cơ sở dữ liệ u quan hệ .......................................................... 22 
2.2 Vai trò củ a SQL ....................................................................................................... 22 
2.3 Giớ i thiệ u sơ lư ợ c về Transact SQL (T-SQL) ...................................................... 23 
2.3.1 Ngôn ngữ đị nh nghĩa dữ liệ u ( Data Definition Language – DDL) ................ 24 
2.3.2 Ngôn ngữ điề u khiể n dữ liệ u (Data control language – DCL) ....................... 24 
2.3.3 Ngôn ngữ thao tác dữ liệ u (Data manipulation language – DML) .................. 25 
2.3.4 Cú pháp củ a T-SQL .......................................................................................... 26 
2.3.5 Các kiể u dữ liệ u ............................................................................................... 27 
2.3.6 Biế n (Variables) ................................................................................................ 29 
2.3.7 Hàm (Function) ................................................................................................. 29 
2.3.8 Các toán tử (Operators) ..................................................................................... 29 
2.3.9 Các thành phầ n điề u khiể n (Control of flow)................................................. 30 
2.3.10 Chú thích (Comment) ...................................................................................... 30 
2.3.11 Giá trị NULL ................................................................................................... 30 
3 Ngôn ngữ thao tác dữ liệ u – DML ................................................................................. 31 
3.1 Câu lệ nh SELECT ................................................................................................... 31 
3.1.1 Danh sách chọ n trong câu lệ nh SELECT ........................................................ 32 
3.1.2 Mệ nh đề FROM ............................................................................................... 36 
3.1.3 Mệ nh đề WHERE - điề u kiệ n truy vấ n dữ liệ u ........................................... 36 
3.1.4 Phép hợ p (UNION) .......................................................................................... 40 
3.1.5 Phép nố i ............................................................................................................ 43 
3.1.6 Các loạ i phép nố i ............................................................................................. 45 
 3.1.7 Phép nố i theo chuẩ n SQL-92 .......................................................................... 47 
3.1.8 Mệ nh đề GROUP BY ....................................................................................... 49 
3.1.9 Truy vấ n con (Subquery) .................................................................................. 52 
3.2 Thêm, cậ p nhậ t và xóa dữ liệ u .............................................................................. 54 
3.2.1 Thêm dữ liệ u .................................................................................................... 54 
3.2.2 Cậ p nhậ t dữ liệ u ............................................................................................. 55 
3.2.3 Xóa dữ liệ u ....................................................................................................... 56 
4 Ngôn ngữ đị nh nghĩa dữ liệ u – DDL ............................................................................ 58 
4.1 Tạ o bả ng ................................................................................................................. 58 
4.2 Các loạ i ràng buộ c .................................................................................................. 60 
4.2.1 Ràng buộ c CHECK .......................................................................................... 60 
4.2.2 Ràng buộ c PRIMARY KEY............................................................................. 61 
4.2.3 Ràng buộ c FOREIGN KEY ............................................................................. 62 
4.3 Sử a đổ i đị nh nghĩa bả ng ....................................................................................... 63 
4.4 Xóa bả ng.................................................................................................................. 64 
4.5 Khung nhìn - VIEW ................................................................................................. 65 
4.6 Thêm, cậ p nhậ t, xóa dữ liệ u trong VIEW ............................................................. 66 
4.7 Thay đổ i đị nh nghĩa khung nhìn ............................................................................ 67 
4.8 Xóa khung nhìn ........................................................................................................ 67 
5 Thủ tụ c lư u trữ , hàm và trigger .................................................................................... 68 
5.1 Thủ tụ c lư u trữ (Stored procedure) ......................................................................... 68 
5.1.1 Tạ o thủ tụ c lư u trữ .......................................................................................... 69 
5.1.2 Lờ i gọ i thủ tụ c ................................................................................................ 70 
5.1.3 Biế n trong thủ tụ c lư u trữ ............................................................................... 70 
5.1.4 Giá trị trả về trong thủ tụ c lư u trữ .................................................................. 71 
5.1.5 Tham số vớ i giá trị mặ c đị nh .......................................................................... 72 
5.1.6 Sử a đổ i thủ tụ c ................................................................................................ 72 
5.1.7 Xóa thủ tụ c ....................................................................................................... 73 
5.2 Hàm do ngư ờ i dùng đị nh nghĩa (User Defined Function-UDF) ........................... 73 
5.2.1 Hàm vô hư ớ ng - Scalar UDF .......................................................................... 73 
5.2.2 Hàm nộ i tuyế n - Inline UDF ........................................................................... 75 
5.2.3 Hàm bao gồ m nhiề u câu lệ nh bên trong – Multi statement UDF .................. 76 
5.2.4 Thay đổ i hàm .................................................................................................... 77 
5.2.5 Xóa hàm ............................................................................................................ 77 
 5.3 Trigger ...................................................................................................................... 77 
5.3.1 Các đặ c điể m củ a trigger ................................................................................ 77 
5.3.2 Các trư ờ ng hợ p sử dụ ng trigger .................................................................... 78 
5.3.3 Khả năng sau củ a trigger .................................................................................. 78 
5.3.4 Đị nh nghĩa trigger ............................................................................................ 78 
5.3.5 Kích hoạ t trigger dự a trên sự thay đổ i dữ liệ u trên cộ t ................................ 82 
5.3.6 Sử dụ ng trigger và Giao tác (TRANSACTION) .............................................. 82 
5.4 DDL TRIGGER ........................................................................................................ 83 
5.5 Enable/ Disable TRIGGER ...................................................................................... 85 
6 Sao lư u và phụ c hồ i dữ liệ u (Backup and Restore) .......................................................... 86 
6.1 Các lý do phả i thự c hiệ n Backup .......................................................................... 86 
6.2 Các loạ i Backup ...................................................................................................... 86 
6.2.1 Full backup và Differential backup ................................................................... 86 
6.2.2 Transaction log backup...................................................................................... 87 
6.3 Các thao tác thự c hiệ n quá trình Backup và Restore trong SQL Server 2005 Express 
Edition ............................................................................................................................ 88 
6.3.1 Sao lư u (Backup) .............................................................................................. 88 
6.3.2 Phụ c hồ i (Restore) ........................................................................................... 90 
7 Các hàm quan trọ ng trong T-SQL ....................................................................................... 92 
7.1 Các hàm làm việ c vớ i kiể u dữ liệ u số .................................................................. 92 
7.1.1 Hàm ISNUMERIC ............................................................................................ 92 
7.1.2 Hàm ROUND .................................................................................................... 93 
7.2 Các hàm làm việ c vớ i kiể u dữ liệ u chuỗ i ............................................................ 94 
7.2.1 Hàm LEFT ......................................................................................................... 94 
7.2.2 Hàm RIGHT ...................................................................................................... 94 
7.2.3 Hàm SUBSTRING ............................................................................................ 94 
7.2.4 Hàm LEN .......................................................................................................... 94 
7.2.5 Hàm REPLACE ................................................................................................ 95 
7.2.6 Hàm STUFF ...................................................................................................... 95 
7.2.7 Hàm LOWER/UPPER ...................................................................................... 95 
7.2.8 Hàm LTRIM/RTRIM ........................................................................................ 96 
7.3 Các hàm làm việ c vớ i kiể u dữ liệ u Ngày tháng/ Thờ i gian ................................ 96 
7.3.1 Hàm GETDATE ................................................................................................ 96 
7.3.2 Hàm DAY/ MONTH/ YEAR ............................................................................ 96 
 7.3.3 Hàm DATEPART .............................................................................................. 96 
7.3.4 Hàm DATENAME ............................................................................................ 97 
7.4 Hàm CAST và CONVERTER .......................................................................................... 98 
8 Kế t nố i vào SQL Server 2005 từ các ngôn ngữ lậ p trình để xây dự ng các ứ ng dụ ngliên 
quan đế n CSDL .......................................................................................................................... 99 
8.1 Cấ u hình Microsoft SQL Server 2005 .............................................................................. 99 
8.1.1 Cho phép tiế p nhậ n các kế t nố i từ xa trên thể hiệ n củ a SQL Server ......... 100 
8.1.2 Kích hoạ t dị ch vụ SQL Server Browser ........................................................ 101 
8.1.3 Tạ o các ngoạ i lệ trên Windows Firewall ....................................................... 102 
8.2 Kế t nố i vào SQL Server trong các ngôn ngữ lậ p trình ................................................. 103 
8.2.1 C# và VB.NET ................................................................................................ 103 
8.2.2 VB 6 ................................................................................................................ 105 
Tài liệ u tham khả o ................................................................................................................... 106       
1 Giớ i thiệ u về SQL Server 2005 
SQL Server 2005 là mộ t hệ thố ng quả n lý cơ sở dữ liệ u (Relational Database Management 
System (RDBMS) ) sử dụ ng Transact-SQL để trao đổ i dữ liệ u giữ a Client computer và SQL 
Server computer. Mộ t RDBMS bao gồ m databases, database engine và các ứ ng dụ ng dùng để 
quả n lý dữ liệ u và các bộ phậ n khác nhau trong RDBMS. 
SQL Server 2005 đư ợ c tố i ư u để có thể chạ y trên môi trư ờ ng cơ sở dữ liệ u rấ t lớ n 
(Very Large Database Environment) lên đế n Tera-Byte và có thể phụ c vụ cùng lúc cho hàng 
ngàn user. SQL Server 2005 có thể kế t hợ p "ăn ý" vớ i các server khác như Microsoft Internet 
Information Server (IIS), E-Commerce Server, Proxy Server.... 
Các phiên bả n củ a SQL Server 2005: 
Enterprise: Hỗ trợ không giớ i hạ n số lư ợ ng CPU và kích thư ớ c Database. Hỗ trợ không 
giớ i hạ n RAM (như ng tùy thuộ c vào kích thư ớ c RAM tố i đa mà HĐH hỗ trợ ) và các hệ thố  ng 64bit. 
Standard: Tư ơ ng tự như bả n Enterprise như ng chỉ hỗ trợ 4 CPU. Ngoài ra phiên bả n này 
cũng không đư ợ c trang bị mộ t số tính năng cao cấ p khác. 
Workgroup: Tư ơ ng tự bả n Standard như ng chỉ hỗ trợ 2 CPU và tố i đa 3GB RAM 
Express: Bả n miễ n phí, hỗ trợ tố i đa 1CPU, 1GB RAM và kích thư ớ c Database giớ i hạ  n trong 4GB. 
Chi tiế t có thể tham khả o tạ i đị a chỉ : 
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx 
1.1 Cài đặ t SQL Server 2005 Express Edition 
1.1.1 Các yêu cầ u cho hệ thố ng 32bit 
Express Edition System Requirements    32-bit 
Processor PIII 600MHZ hoặc cao hơn 
Tốt nhất: 1GHZ hoặc cao hơn 
Framewor  Microsoft .NET Framework 2.0  k  Operating    System 
• Windows XP with Service Pack 2 hoặc cao hơn 
• Microsoft Windows 2000 Professional SP4   
Express Edition System Requirements    32-bit     
• Microsoft Windows 2000 Server Service Pack 4 hoặc cao hơn 
• Windows Server 2003 Standard, Enterprise, or Datacenter editions 
with Service Pack 1 hoặc cao hơn 
• Windows Server 2003 Web Edition SP1 
• Windows Small Business Server 2003 with Service Pack 1 hoặc cao hơn 
• Vista Home Basic và các phiên bản cao hơn (SQL Express SP1 and SQL Express  Advanced SP2) 
• Windows XP Embedded SP2 Feature Pack 2007 
• Windows Embedded for Point of Service SP2    Memory 
 192 MB RAM hoặc cao hơn; tốt nhất: 512 MB hoặc cao hơn  Hard Disk   
• 350 MB ổ cứng cho các cài đặt cơ bản 
• 425 MB ổ cứng cho các cài đặt SQL Server Books Online, SQL Server Mobile Books  Online, và sample databases    Drive   CD-ROM or DVD-ROM drive  Display 
Super VGA (1,024x768) hoặc cao hơn  Other   Mouse, Keyboard  Devices  Other 
Microsoft Internet Explorer 6.0 SP1 hoặc cao hơn  Requireme nts 
Chi tiế t yêu cầ u hệ thố ng cho các phiên bả n Microsoft SQL Server 2005 có thể tham khả  o tạ i đị a chỉ : 
http://www.microsoft.com/sql/prodinfo/sysreqs/default.mspx 
Download và cài đặ t Microsoft .NET Framework 2.0: Để cài đặ t thành công SQL Server 
Express Edition hay các phiên bả n SQL Server 2005 khác, Microsoft .NET Framework 2.0 phả 
i đư ợ c cài đặ t trư ớ c. 
Gỡ bỏ các phiên bả n Beta, CTP hoặ c Tech Preview củ a SQL Server 2005, Visual Studio 
2005 và Microsoft .NET Framework 2.0.  Download và cài đặ t 
Cài đặ t SQL Server 2005 Express Edition: Microsoft SQL Server 2005 Express Edition là 
phiên bả n miễ n phí, dễ sử dụ ng và “nhẹ ” củ a Microsoft SQL Server 2005. Microsoft SQL 
Server 2005 Express Edition đư ợ c tích hợ p trong Visual Studio 2005 tạ o ra sự dễ dàng trong 
việ c phát triể n các ứ ng dụ ng hư ớ ng CSDL. SQL Server 2005 Express Edition đư ợ c tự do sử 
dụ ng trong các ứ ng dụ ng thư ơ ng mạ i và dễ dàng cậ p nhậ t lên các phiên bả n cao hơ n khi  cầ n thiế t. 
Cài đặ t SQL Server Management Studio Express: SQL Server Management Studio Express 
cung cấ p giao diệ n để ngư ờ i dùng dễ dàng tư ơ ng tác vớ i các thành phầ n củ a Microsoft 
SQL Server 2005 Express Edition. Trư ớ c khi cài đặ t SQL Server Management Studio Express, 
MSXML 6.0 phả i đư ợ c cài đặ t 
Download tạ i đị a chỉ : 
http://www.microsoft.com/express/sql/download/default.aspx 
1.1.2 Các bư ớ c cài đặ t SQL Server 2005 Express Edition 
Double click vào file cài đặ t Microsoft SQL Server Express Edition.    Click Next:           
Lư u ý: SQL Server 2005 có hai kiể u authentication (kiể m tra ngư ờ i dùng). 
Windows authentication mode: Việ c kiể m tra ngư ờ i dùng củ a SQL Server 2005 sẽ phụ 
thuộ c vào việ c kiể m tra ngư ờ i dùng củ a Windows. Khi ngư ờ i dùng có quyề n đăng nhậ p 
vào Windows, ngư ờ i dùng đó sẽ có quyề n đăng nhậ p vào SQL Server. Kiể u kiể m tra ngư ờ i 
dùng này thư ờ ng đư ợ c sử dụ ng khi ứ ng dụ ng khai thác dữ liệ u và SQL Server đư ợ c cài 
trên cùng mộ t máy tính. 
SQL Server authentication mode: Việ c kiể m tra ngư ờ i dùng củ a SQL Server 2005 sẽ 
không phụ thuộ c vào việ c kiể m tra ngư ờ i dùng củ a Windows. Khi ngư ờ i dùng có quyề n 
đăng nhậ p vào Windows, ngư ờ i dùng đó chư a chắ c sẽ có quyề n đăng nhậ p vào SQL Server. 
Để đăng nhậ p vào SQL Server, ngư ờ i dùng này phả i có mộ t bộ username và password do SQL 
Server quả n lý. Kiể u kiể m tra ngư ờ i dùng này thư ờ ng đư ợ c sử dụ ng khi ứ ng dụ ng khai 
thác dữ liệ u và SQL Server không đư ợ c cài trên cùng mộ t máy tính. 
Khi chọ n Mixed mode, SQL Server có thể dùng bấ t kỳ kiể u kiể m tra ngư ờ i dùng nào 
khi cầ n thiế t. Đây là mộ t thiế t lậ p thự c sự rấ t hữ u ích khi xây dự ng các ứ ng dụ ng CSDL. 
Ngoài ra, ta cũng phả i đánh password vào hai ô bên dư ớ i để có thể đăng nhậ p vào SQL 
Server khi ta xây dự ng mộ t ứ ng dụ ng truy xuấ t vào CSDL ở máy này khi ta đang ở máy  khác.  Click Next ba lầ n:     
Cài đặ t SQL Server Management Studio Express. Sau khi cài đặ t, đăng nhậ p vào SQL 
Server 2005 Express Edition như sau:   
Khi đăng nhậ p có thể chọ n Windows Authentication hoặ c SQL Server Authentication. Nế 
u chọ n SQL Server Authentication thì phả i nhậ p password. Password này đư ợ c thiế t lậ p trong 
quá trình cài đặ t SQL Server 2005 Express Edition. 
Nế u trong quá trình cài đặ t SQL Server 2005 Express Edition chúng ta không cho phép 
SQL Server kích hoạ t ngay khi khở i độ ng máy, bấ m nút Connect sẽ gây ra lỗ i. Để khắ c phụ 
c vào Start->Run đánh services.msc->Enter. 
Tìm service SQL Server (SQLExpress), double click và trong comboxbox Startup type chọ 
n Automatic -> Apply - >Start -> OK. 
Giao diệ n sau khi đăng nhậ p thành công   
1.2 Mộ t số thao tác cơ bả n trên SQL Server 2005 Express Edition. 
Microsoft SQL Server Management Studio cung cấ p mộ t giao diệ n thân thiệ n giúp cho 
ngư ờ i dùng thự c hiệ n các thao tác mộ t cách dễ dàng. Mộ t số các thao tác cơ bả n bao gồ m: 
tạ o CSDL mớ i, xóa CSDL, tạ o bả ng, xóa bả ng…Cũng cầ n lư u ý rằ ng các thao tác thự c hiệ 
n thông qua giao diệ n thì đề u có thể đư ợ c thự c hiệ n đư ợ c bằ ng các câu lệ nh SQL. 
1.2.1 Tạ o mộ t CSDL mớ i   
Đặ t tên Database trong Textbox Database Name, click OK.   
1.2.2 Tạ o bả ng mớ i     
Bả ng gồ m các các cộ t. Mỗ i cộ t gồ m tên cộ t (Column Name), kiể u dữ liệ u (Data Type) 
và mộ t giá trị cho biế t cộ t đó có thể chứ a giá trị NULL hay không. Trong bả ng sẽ có ít nhấ t 
mộ t cộ t làm khóa chính (primary key). Cộ t làm khóa chính sẽ có biể u tư ợ ng chìa khóa trư ớ  c tên cộ t. 
Sau khi tạ o xong tấ t cả các cộ t củ a bả ng, tiế n hành Save -> OK