



















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