Giáo trình SQL Server 2000 - Pdf 95

Tài liệu SQL Server
1. Giới thiệu (Introduction)
1.1. Phiên bản (Edition)
Doanh nghiệp
(Enterprise)
- Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 32 CPUs và
64GB 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).
Chuẩn
(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.
Cá nhân
(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.
Phát triển
(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 Engin
(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.
Win CE - Dùng cho các ứng dụng chạy trên Windows CE.
Dùng thử (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.
1.2. Yêu cầu phần cứng (Hardware requirement)
1.3. Yêu cầu hệ điều hành (OS requirement)

Tài liệu SQL Server
Ý kiến bản quyền
phần mềm
(Software License
Agreement)
- Chọn Yes.
Khóa đĩa
(CD-Key)
- Nhập CD-Key.
Định nghĩa cài đặt
(Installation
Definition)
- Chọn:
+ Hộp nếu chỉ cài công cụ trên máy khách.
+ Hộp nếu cài công cụ trên máy khách lẫn máy chủ.
+ Hộp nếu chỉ cài phần kết nối.
Tên SQL Server
(Instance Name)
- Chọn hộp nếu dùng tên mặc định (ISCN-Named of SQL server) nhận diện bởi tên máy.
- Bỏ chọn hộp nếu dùng tên tự đặt và nhập tên đó vào hộp .
leonguyen.com
3
Tài liệu SQL Server
Loại cài đặt
(Setup Type)
- Chọn loại cài đặt: Typical, Minimum, Custom.
- Chọn thư mục cài đặt:
- Chứa file chương trình ở mục .
- Chứa file dữ liệu ở mục .
Tài khoản

Lưu ý-Remark
- Khi cài đặt SQL Server 2000 sử dụng tài khoản của hệ điều hành. Sau này nếu vì lý do gì phải
thay đổi mật khẩu của tài khoản này trong Windows, thì ta cũng phải cập nhật mật khẩu này trong
SQL Server.
+ Enterprise Manager -> Tools -> SQL Server Configuration Properties -> Security ->
Startup service account -> điều chỉnh lại mật khẩu.
- Nếu ta đổi tên máy tính (Computer Name) của máy đang cài SQL Server, cần cập nhật lại thông
tin này trong table hệ thống sysservers, bằng cách thi hành 2 thủ tục sau:
sp_dropserver old_name
Go
Sp_addserver new_name, local
Go
Ý kiến bản quyền của người
dùng cuối
(End User License
Agreement)
- Chọn hộp .
Điều kiện cài đặt
(Installing prerequisites)
- Chọn Next.
leonguyen.com
5
Tài liệu SQL Server
Màn hình chào đón
(Welcome screen)
- Chọn Next.
Kiểm tra cấu hình hệ thống
(System Configuration
Check)
- Chọn Next.

Options)
- Chọn Next.
Thiết lập báo cáo sử dụng và
lỗi
(Error and Usage Report
Settings)
- Chọn Next.
Bắt đầu cài đặt
(Ready to Install)
- Chọn Install.
Hoàn tất cài đặt
(Completing Setup)
- Chọn Finish.
leonguyen.com
8
Tài liệu SQL Server
2.2. 2005
3. Cửa sổ làm việc (Window)
3.1. Khởi động (Open),Thoát (Exit)
3.1.1. 2000
Giới thiệu- Introduction - Là 1 hệ quản trị cơ sở dữ liệu của Microsoft.
Khởi động-Open
- Click chọn nút nút > chọn > chọn Microsoft SQL Server > chọn
+ Enterprise Manager: Quản lý SQL Server.
+ Query Analyzer: Nhập và thực hiện các câu lệnh SQL.
hay chọn menu > chọn SQL Query Analyzer.
+ Client Network Utility: Cấu hình để kết nối với các SQL Server khác trên mạng.
+ Server Network Utility: Cấu hình Server để cho phép các máy khác kết nối vào.
+ Configure SQL XML Support in IIS: Cấu hình hỗ trợ SQL XML trong IIS.
+ Import and Export Data: Nhập / Xuất dữ liệu từ các CSDL khác.

3.2.2. 2005
Kết nối-Connect
Dịch vụ-Service
3.3. Đóng kết nối (Disconnect)
3.4. Ngôn ngữ (Language)
VB
(ADO)
rs.Close
cn.Close
Set pr = Nothing
Set cm = Nothing
leonguyen.com
10
Tài liệu SQL Server
Set rs = Nothing
Set cn = Nothing
3.5. Kiến trúc (Architecture)
Relational Database
Engine
- Đây là phần cốt lõi của SQL Server.
- Engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table.
- Hỗ trợ hầu hết các kiểu kết nối (Data connection) thông dụng của Microsoft như ADO (ActiveX
Data Objects), OLE DB, and ODBC (Open Database Connectivity).
- Có khả năng tự điều chỉnh (tune up) như sử dụng thêm các tài nguyên máy khi cần và trả lại tài
nguyên cho hệ điều hành khi một user log off.
Replication
- Cơ chế tạo bản sao (Replica).
- Ta có thể tạo một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật.
Đồng thời lại tạo thêm một database giống y hệt như thế trên một server khác để chạy báo cáo
(report database) (cách làm này thường dùng để tránh ảnh hưởng đến hiệu suất của server

Giới thiệu
(Introduction)
- Mỗi database của SQL Server được tạo ra từ nhiều tập tin của hệ điều hành. Các tập tin này có thể
nhóm lại vào nhóm tập tin (filegroups) để dễ dàng quản lý và nâng cao hiệu suất.
Files - Một database file có thể là một data file hay một log file.
- Data files được dùng để lưu trữ dữ liệu (data) và đối tượng (objects) như tables, indexes, views,
triggers, stored procedures. Có 2 loại data files: primary và secondary.
- Mỗi database phải được tạo ra với ít nhất một data file và một log file. Mỗi files chỉ được sử dụng
bởi một database, database không thể chia sẻ files.
- Có 3 loại files:
+ Primary data file: Chứa tất cả các thông tin khởi động của database cùng các table và
đối tượng hệ thống. Nó trỏ đến toàn bộ các file còn lại tạo ra trong database. Nó có thể lưu
leonguyen.com
Phân loại
Primary data file
Secondary data file
Transaction log file
11
Tài liệu SQL Server
các table và đối tượng của người dùng. Mỗi database có đúng một primary file. Phần mở rộng
là .mdf.
+ Secondary data file (tùy chọn): Có thể dùng lưu trữ dữ liệu và đối tượng không có trong
primary file. Database có thể không có secondary files nếu tất cả dữ liệu của nó lưu trong
primary file. Một số khác lại cần nhiều secondary files để trải dữ liệu trên nhiều đĩa nhằm tăng
hiệu suất. Phần mở rộng thường là .ndf.
+ Transaction log file: Lưu tất cả các thông tin về transaction log để phục hồi (recover)
database. Mỗi database phải có ít nhất một log file và có thể có nhiều log files. Phần mở rộng
là .ldf.
- Kích thước tối đa của data file là 32 Terabytes (TB) của một log file là 4TB.
- Một database có thể chỉ có một primary data file, và một transaction log file.

- Data và thông tin không thể cùng một file.
- Transaction log files không thể là thành phần của một filegroups.
- Khi 1 file được gán là thành phần của một filegroup, thì nó không thể di chuyển sang một filegroup
khác.
Một số lời
khuyên
- Hầu hết database có thể làm việc tốt chỉ với 1 primary data file và 1 transaction log file. Nếu ta gặp
vấn đề về I/O, có thể dùng filegroup để trải dữ liệu trên nhiều đĩa.
- Luôn luôn đặt log files trên một đĩa vật lý (physical disks) khác với đĩa data files.
- Có thể dùng primary data file cho các tables và objects hệ thống, đồng thời tạo ra 1 hoặc nhiều
secondary data files để chứa dữ liệu và đối tượng của người dùng.
- Đặt nonclustered indexes cho table dùng nhiều trong 1 filegroup riêng và trên một đĩa (vật lý) riêng
biệt với đĩa chứa dữ liệu của nó trong table.
- Đặt các table dùng trong cùng câu query trên những đĩa khác nhau, để tận dụng I/O song song khi
search engine tìm kiếm.
Chế độ
Automatic File
Growth
- SQL Server cho phép file tự động tăng kích thước khi cần thiết -> giảm gánh nặng cho người
quản trị phải theo dõi và tăng kích thước file.
- Một file được tạo ra với kích thước ban đầu (Initial file). Khi dữ liệu đầy, SQL Server sẽ tăng kích
thước một lượng, gọi là growth increment. Khi vùng này đầy SQL Server lại tiếp tục cấp phát một
lượng growth increment khác, cho đến khi hết đĩa hoặc đạt tới kích thước tối đa (maximum file size).
leonguyen.com
Phân loại
Primary filegroups
User-defined filegroups
Default filegroups
12
Tài liệu SQL Server

Msdb
13
Tài liệu SQL Server
4.1.2. Thao tác (Operation)
4.1.2.1. 2000
Tạo
(Create)
Ẩn CDSL hệ
thống
- Nhấp chuột phảI lên mục > chọn Edit SQL Server Registration
properties > bỏ chọn hộp .
Thiết kế
(Design)
- Click chuột phải lên mục trong khung Console Root > chọn New
Database.
- Sau đó xuất hiện hộp thoại Database Properties như hình sau:
+ Nhập tên CSDL vào hộp .
+ Chọn thẻ để thiết lập thuộc tính cho file dữ liệu SQL Server.
+ Chọn thẻ để thiết lập cho file nhật ký SQL Server.
Viết lệnh
SQL
Cú pháp:
Create DataBase Tên_CSDL
On
leonguyen.com
14
Tài liệu SQL Server
(SQL
Statement)
(

(
Name=db ,
FileName='db.mdf'
Size=10,
MaxSize=50,
FileGrowth=5
)
Log On
(
Name='db Log',
FileName='db.ldf'
Size=5MB,
MaxSize=25MB,
FileGrowth=5MB
)
Go
Sau khi tạo xong thì dùng nó
Use db
Go
======================================
Nếu không tồn tại db thì phục hồi db (= 2 file hay 1 file)
If Not Exists (Select Name From Databases Where Name='db ')
Exec Sp_Attach_DB 'db ',' :\db.mdf',' :\dbLog.ldf'
Exec Sp_Attach_Single_File_DB 'db ',' :\db.mdf'
Go
======================================
If Exists (Select * From SysObjects Where Name Like
'Sp_SaoLuuDVL')
Drop Procedure Sp_SaoLuuDVL
Go

If Exists (Select * From Master.Dbo.SysDevices Where Name
Like @TenTB)
Exec Sp_DropDevice @TenTB
Go
If Exists (Select * From SysObjects Where Name Like
'Sp_TaoTBMoi')
Drop Procedure Sp_TaoTBMoi
Go
Create Proc Sp_TaoTBMoi (@TenTB VarChar(20,@TenTapTin
VarChar(50))
As
Exec Sp_AddumpDevice 'Disk',@TenTB,@TenTapTin
Go
If Exists (Select * Form SysObjects Where Name Like
'Sp_SaoLuuToanBo')
Drop Procedure Sp_SaoLuuToanBo
Go
Create Proc Sp_SaoLuuToanBo (@TenCSDL VarChar(20),@DuongDan
VarChar(2))
As
Declare @TenTB VarChar(20), @TenTapTinTB VarChar(50)
Set @TenTB = 'tb' + @TenCSDL
Set @TenTapTinTB = @DuongDan + '\' + @TenTB + '.dat'
Exec Sp_XoaTBCu @TenTB
Tạo thiết bị là 'Disk' với tên thiết bị tb sao lưu
tập tin tên là tb
Exec Sp_TaoTBMoi @TenTB,@TenTapTinTB
Với CSDL là
Backup Database @TenCSDL To @TenTB Complete
Go

tin giống tên thiết bị
If Exists (Select * From Master.Dbo.SysDevices Where Name
Like @TenTB)
Restore Database @TenCSDL From @TenTB
If Exists (Select Name From SysDatabases Where Name='db '
Exec Sp_PhucHoiTB 'db ',' :\db.dat','tb '
Go
Bản sao
Restore FileListOnly From [tb ]
Go
Restore Database bs
From db Từ thiết bị luận lý chứ không phải vật lí
With Recovery
Move 'db ' To ' :\db.mdf'
Move 'db Log' To ' :\db Log.ldf'
Go
Sao lưu
(Backup)
Thiết kế
(Design)
- Click chuột phảI lên CSDL > chọn All task > chọn Backup Database.
Viết lệnh SQL
(SQL
Statement)
Nếu không tồn tại db thì phục hồi db (= 2 file hay 1 file)
If Not Exists (Select Name From Databases Where Name='db ')
Exec Sp_Attach_DB 'db ',' :\db.mdf',' :\dbLog.ldf'
Exec Sp_Attach_Single_File_DB 'db ',' :\db.mdf'
Go
======================================

Drop Procedure Sp_XoaTBCu
Go
Create Proc Sp_XoaTBCu (@TenTB VarChar(20))
As
If Exists (Select * From Master.Dbo.SysDevices Where Name
Like @TenTB)
Exec Sp_DropDevice @TenTB
Go
If Exists (Select * From SysObjects Where Name Like
'Sp_TaoTBMoi')
Drop Procedure Sp_TaoTBMoi
Go
Create Proc Sp_TaoTBMoi (@TenTB VarChar(20,@TenTapTin
VarChar(50))
As
Exec Sp_AddumpDevice 'Disk',@TenTB,@TenTapTin
Go
If Exists (Select * Form SysObjects Where Name Like
'Sp_SaoLuuToanBo')
Drop Procedure Sp_SaoLuuToanBo
Go
Create Proc Sp_SaoLuuToanBo (@TenCSDL VarChar(20),@DuongDan
VarChar(2))
As
Declare @TenTB VarChar(20), @TenTapTinTB VarChar(50)
Set @TenTB = 'tb' + @TenCSDL
Set @TenTapTinTB = @DuongDan + '\' + @TenTB + '.dat'
Exec Sp_XoaTBCu @TenTB
Tạo thiết bị là 'Disk' với tên thiết bị tb sao lưu
tập tin tên là tb

Create Proc Sp_PhucHoiTB (@TenCSDL VarChar(20),@DuongDan
VarChar(50),@TenTB VarChar(20)=Null)
As
If (@TenTB Is Null) Set @TenTB = 'tb' + @TenCSDL Tên tập
tin giống tên thiết bị
If Exists (Select * From Master.Dbo.SysDevices Where Name
Like @TenTB)
Restore Database @TenCSDL From @TenTB
If Exists (Select Name From SysDatabases Where Name='db '
Exec Sp_PhucHoiTB 'db ',' :\db.dat','tb '
Go
Bản sao
Restore FileListOnly From [tb ]
Go
Restore Database bs
From db Từ thiết bị luận lý chứ không phải vật lí
With Recovery
Move 'db ' To ' :\db.mdf'
Move 'db Log' To ' :\db Log.ldf'
Go
4.1.2.2. 2005
Tạo (Create)
- Click chuột phải lên mục trong khung tác vụ Object Explorer > chọn New Database.
- Sau đó xuất hiện hộp thoại New Database như hình sau:
+ Nhập tên CSDL vào hộp .
+ Thiết lập một số thuộc tính cho file CSDL ở khung danh sách sau:
leonguyen.com
19
Tài liệu SQL Server
4.2. Bảng (Table)

C1: Click chuột phải lên bảng > chọn Rename.
C2:
- Chọn bảng.
- Click chọn menu > chọn Rename.
Viết lệnh SQL
(SQL Statement)
Mở (Open)
Thiết kế (Design)
C1: Click chuột phải lên bảng > chọn Open Table > Return all rows.
C2:
- Chọn bảng.
- Click chọn menu > chọn Open Table > Return all rows.
Viết lệnh SQL
(SQL Statement)
Thiết kế
(Design)
Thiết kế (Design)
C1: Click chuột phải lên bảng > chọn Design Table.
C2:
- Chọn bảng.
- Click chọn menu > chọn Design Table.
Viết lệnh SQL
(SQL Statement)
Xóa (Delete)
Thiết kế (Design)
C1: Click chuột phải lên bảng > chọn Delete.
C2:
- Chọn bảng.
- Click chọn menu > chọn Delete.
leonguyen.com

Thiết kế (Design) - Click chuột phải lên bảng > chọn Rename.
Viết lệnh SQL
(SQL Statement)
Mở (Open)
Thiết kế (Design) - Click chuột phải lên bảng > chọn Open Table > Open Table.
Viết lệnh SQL
(SQL Statement)
Thiết kế
(Design)
Thiết kế (Design)
- Click chuột phải lên bảng > chọn Modify.
Viết lệnh SQL
(SQL Statement)
ALTER TABLE
Xóa (Delete)
Thiết kế (Design)
- Click chuột phải lên bảng > chọn Modify.
Viết lệnh SQL
(SQL Statement)
DROP TABLE
leonguyen.com
21
Tài liệu SQL Server
4.2.3. Kiểu dữ liệu-Data Type
4.2.3.1. Số nguyên-Integer
Kiểu-Type Độ dài-Length Phạm vi-Scope
Int 32 bit hay 4 byte Từ 2
31
đến 2
31

Ntext Mỗi kí tự chiếm 2 byte Từ 1 đến 1 tỷ (Unicode)
4.2.3.5. Ngày Giờ-Date Time
Kiểu-Type Độ dài-Length Phạm vi-Scope
Datetime Từ 01/01/1753 đến 31/12/9999
Smalldatetime Từ 01/01/1900 đến 06/06/2079
4.2.3.6. Luận lý-Logic
Kiểu-Type Độ dài-Length Phạm vi-Scope
Bit 0, 1 hay NULL
4.2.3.7. Nhị phân-Binary
Kiểu-Type Độ dài-Length Phạm vi-Scope
Binary Từ 1 đến 8000 bytes
Varbinary Từ 1 đến 8000 bytes
Image Từ 1 đến 2 tỷ bytes
4.2.3.8. Tự tạo (User defined)
Tạo
(Create)
Mục đích
(Purpose)
- User-Defined Type (UDT) là kiểu do người dùng tự định nghĩa, dựa trên các kiểu cơ bản
có sẵn.
Mô hình
(Model)
leonguyen.com
22
Tài liệu SQL Server
Cú pháp
(Syntax)
CREATE TYPE Tên_kiểu
FROM Kiểu_cơ_bản
Ví dụ

Key (Tên_cột_khóa_bảng_con) References
Tên_bảng_cha(Tên_cột_khóa_bảng_cha)
***Alter Table tb Modify cột Not Null
***Alter Table tb Add Constraint _ Unique (cột )
Xem tất cả các khóa của bảng tb
Exec Sp_HelpConstraint tb
Xem các khóa chính của bảng
Exec Sp_PKeys tb
Xem các khóa ngoại của bảng
Exec Sp_FKeys tb
Với bảng tb không kiểm tra ràng buộc
Alter Table tb NoCheck Constraint
Với bảng tb không kiểm tra tất cả ràng buộc
Alter Table tb NoCheck Constraint All
Thiết lập NgàyGiờ là dmy
Set DateTime dmy
Ràng buộc miền giá trị
Với bảng tb tạo ràng buộc kiểm tra(cột in (' ', )
Alter Table tb Add Constraint Check ( in (' ', )
Ràng buộc Rule
Tạo luật là @cột
Thực hiện gán luật ,với cột của bảng.
Create Rule As @
Exec BindRule ' ','tb [ ]'
Declare @strSQL VarChar(100)
Set @strSQL='Declare '
Execute (@strSQL)
leonguyen.com
23
Tài liệu SQL Server

SELECT * FROM #TongHop
INSERT INTO #TongHop VALUES(500, 200)
- Table này chỉ tồn tại trong connection này thôi.
- Có thể thấy tìm table này trong database TempDB.
- Tạo table tạm thứ 2, thuộc loại Global temporary table.
CREATE TABLE ##BaoCao
(TongThu INT, TongChi INT)
- Thêm dữ liệu vào table vừa tạo
INSERT INTO ##BaoCao VALUES(300, 100)
- Tạo query (connection) mới.
- Truy vấn và nhận xét sự khác nhau giữa 2 table này.
* Cách 2:
SELECT MSNV, HoTen, MSPB
INTO #NVP1
FROM NhanVien
WHERE MSPB=’P1’
4.2.7. Không gian bảng (Tablespace)
Ví dụ
(Example)
Alter TableSpace tbsUser
Offline Normal;
Drop TableSpace tbsUser
Including Contents;
Create TableSpace tbsUser
DataFile 'C:\User.dat' Size 1M
AutoExtend On Next 1M MaxSize 2M
Online;
Drop TableSpace tbsUser;
Create TableSpace tbsTam
DataFile 'C:\Tam.dat' Size 1M

)
TableSpace tbsUser;
Grant Delete On tbUser To rlUser;
Grant Insert On tbUser To rlUser;
Grant Update On tbUser To rlUser;
4.3. Khung nhìn (View)
Giới thiệu
(Introduction)
- View là một đối tượng trong CSDL, và được xem như là một Bảng ảo (Virtual Table).
- Bản thân view không chứa dữ liệu bên trong, mà dữ liệu được lấy từ các table thông qua cầu
SELECT.
- View thường được dùng để:
+ Che dấu sự phức tạp của câu truy vấn đối với người dùng.
+ Tạo ra các câu truy vấn trung gian, để sử dụng làm nguồn dữ liệu cho các câu truy vấn
kế.
+ Tạo ra nhiều góc nhìn khác nhau trên cùng một dữ liệu nguồn.
+ Giúp cho sự phân quyền uyển chuyển hơn.
Tạo (Create)
Thiết kế
(Design)
Viết lệnh SQL
(SQL
Statement)
CREATE VIEW Tên_Khung_nhìn
AS
Câu_lệnh_SELECT
Ví dụ
(Example)
CREATE VIEW vw_NVP1
AS


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status