Các tiện ích trong SQL Server Tiện ích SQL Server Business Intelligence Development Studio: - Lập trình trên SQL Server 2005 Môn học: CƠ SỞ DỮ LiỆU 35 36 Các tiện ích trong SQL Server
Trang 1Chương
Ngôn Ngôn ngữ ngữ SQL SQL
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 2
Trang 2Tổng quan
Khái niệm về cấu trúc vật lý
- Máy chủ (Server): là các máy tính cung cấp các tài
nguyên chia sẻ trên mạng.
- Máy trạm (Client): là các máy tính được phép truy xuất
các tài nguyên đã được chia sẻ trên mạng.
- Dây cáp mạng (Cable hoặc Media): là một hệ thống dây
cáp nối kết vật lý các máy tính, máy in lại với nhau
- Dữ liệu chung (Shared data):
• Tính toán, hiển thị dữ liệu trên màn hình giao diện
• Có thể sử dụng nhiều loại ngôn ngữ lập trình khác nhau
o Xử lý trên máy chủ Database Server
• Xử lý các yêu cầu đọc / ghi dữ liệu
• Quản lý đồng bộ dữ liệu giữa các yêu cầu đọc ghi từ nhiều máy trạm
gửi tới
• Các dịch vụ quản trị dữ liệu tự động theo định kỳ như sao lưu / phục
hồi (backup / restore) dữ liệu
Môn học: CƠ SỞ DỮ LiỆU 4
Trang 35
Vì sao phát triển ứng dụng khách chủ?
- Giảm chi phí
o Chia sẻ tài nguyên phần cứng/phần mềm
o Giảm chi phí bản quyền
o Giảm chi phí nâng cấp, bảo trì, quản lý
- Lịch sử ra đời Microsoft SQL Server:
o 1970: IBM giới thiệu ngôn ngữ SEQUEL
o 1987: IBM tích hợp phần mềm quản trị CSDL vào hệ điều
hành OS2
o 1988: Hệ quản trị CSDL Ashton-Tate được MS kết hợp với
Sybase giới thiệu
o MS bắt đầu phát triển SQL Server trên nền Ashton-Tate và
đưa vào WinNT Server sau đó
o Các phiên bản được sử dụng của SQL Server: 4.2, 4.21, 6.0,
6.5, 7.0, 2000, 2005, 2008
Môn học: CƠ SỞ DỮ LiỆU 6
Trang 4o OLTP Databases (Online Transaction Processing)
• SQL Server cho phép nhiều người dùng thực hiện đồng thời các giao
tác và dữ liệu thay đổi theo thời gian thực
o OLAP Databases (Online Analytical Processing)
• Công nghệ OLAP tổ chức và thống kê khối lượng lớn dữ liệu được
dùng để phân tích, báo cáo, hổ trợ ra quyết định
Môn học: CƠ SỞ DỮ LiỆU 8
Trang 6Màn hình VGA có độ phân giải 1024x768 trở lên
Môn học: CƠ SỞ DỮ LiỆU 11
Microsoft Windows NET Framework 2.0
Môn học: CƠ SỞ DỮ LiỆU 12
Trang 713
Yêu cầu phần mềm:
Các phiên bản SQL Server
1 SQL Server 2005 Enterprise Edition 4
2 SQL Server 2005 Developer Edition
3 SQL Server 2005 Standard Edition
4 SQL Server 2005 Workgroup Edition
5 SQL Server 2005 Express Edition
6 SQL Server 2005 Evaluation Edition
Môn học: CƠ SỞ DỮ LiỆU 13
Standard Edition
Workgroup Edition
Express Edition
Evaluation Edition
Trang 8Developer Edition
Standard Edition
Workgroup Edition
Express Edition
Evaluation Edition
Trang 9Môn học: CƠ SỞ DỮ LiỆU 17
Trang 11Môn học: CƠ SỞ DỮ LiỆU 22
Trang 12Môn học: CƠ SỞ DỮ LiỆU 23
Môn học: CƠ SỞ DỮ LiỆU 24
Trang 13Môn học: CƠ SỞ DỮ LiỆU 25
Trang 1529
Tiện ích Book Online:
- Toàn bộ các tài liệu liên quan đến SQL Server.
Môn học: CƠ SỞ DỮ LiỆU 29
30
Các tiện ích trong SQL Server
Tiện ích Book Online:
- Giao diện:
Môn học: CƠ SỞ DỮ LiỆU 30
Trang 16Các tiện ích trong SQL Server
Tiện ích SQL Server Configuration Manager:
- Cấu hình hệ thống
Môn học: CƠ SỞ DỮ LiỆU 31
32
Các tiện ích trong SQL Server
Tiện ích SQL Server Configuration Manager:
- Giao diện:
Môn học: CƠ SỞ DỮ LiỆU 32
Trang 1733
Tiện ích SQL Server Management Studio:
- Cho phép quản trị Cơ sở dữ liệu bằng giao diện đồ họa
Quản trị các thể hiện
Quản trị các đối tượng
Sử dụng Query Window để thực hiện các câu lệnh
Môn học: CƠ SỞ DỮ LiỆU 33
34
Các tiện ích trong SQL Server
Tiện ích SQL Server Management Studio:
- Giao diện:
Môn học: CƠ SỞ DỮ LiỆU 34
Trang 18Các tiện ích trong SQL Server
Tiện ích SQL Server Business Intelligence
Development Studio:
- Lập trình trên SQL Server 2005
Môn học: CƠ SỞ DỮ LiỆU 35
36
Các tiện ích trong SQL Server
Tiện ích Performance Monitor:
- Cho biết tình trạng sử dụng tài nguyên của máy chủ trong
khi SQL Server hoạt động
Môn học: CƠ SỞ DỮ LiỆU
36
Trang 1937
Tiện ích Performance Monitor:
- Xuất hiện hộp thoại sau:
Môn học: CƠ SỞ DỮ LiỆU 37
38
Các tiện ích trong SQL Server
Tiện ích Profiler:
- Lưu vết các xử lý trên server
Môn học: CƠ SỞ DỮ LiỆU 38
Trang 20Các tiện ích trong SQL Server
Tiện ích Profiler:
- Kết nối vào Server
Môn học: CƠ SỞ DỮ LiỆU 39
40
Các tiện ích trong SQL Server
Tiện ích Profiler:
- Đặt tên cho tập tin lưu vết
Môn học: CƠ SỞ DỮ LiỆU 40
Trang 2141
Dùng tiện ích SQL Server Management Studio:
- Menu Start \ Programs \ Microsoft SQL Server 2005 \
SQL Server Management Studio
Môn học: CƠ SỞ DỮ LiỆU 41
42
Khởi ñộng SQL Server
Dùng tiện ích SQL Server Management Studio:
- Xuất hộp thoại sau:
Chọn loại server kết nối
Trang 22Khởi ñộng SQL Server
Dùng tiện ích SQL Server Management Studio:
- Màn hình quản lý các đối tượng có trong
SQL Server 2005:
Môn học: CƠ SỞ DỮ LiỆU 43
44
Khởi ñộng SQL Server
Tiện ích Query Editor:
- Dùng xây dựng các câu lệnh T-SQL truy vấn dữ liệu
- Khởi động :
Click chuột vào nút New Query
Hoặc vào menuFile\New\New Query With Current
Connection
Môn học: CƠ SỞ DỮ LiỆU 44
Trang 23trước khi thao tác
Môn học: CƠ SỞ DỮ LiỆU 45
Kết quả
Click
Tiện ích Query Editor:
- Chọn các chế độ hiển thị kết quả của câu truy vấn:
46
Khởi ñộng SQL Server
Môn học: CƠ SỞ DỮ LiỆU 46
Trang 24Tiện ích Query Editor:
- Chọn các chế độ hiển thị kết quả của câu truy vấn:
Kết quả
Click
47
Khởi ñộng SQL Server
Môn học: CƠ SỞ DỮ LiỆU 47
Tiện ích Query Editor:
- Chọn các chế độ hiển thị kết quả của câu truy vấn:
Trang 25Giới thiệu:
- Một CSDL do một hoặc nhiều người tạo nhưng có thể
được nhiều người truy cập.
- Trong SQL Server có thể tạo được 32.767 CSDL khác
nhau.
- Một CSDL của SQL Server là tập hợp các đối tượng:
Table:bảng dữ liệu
View: bảng dữ liệu ảo lấy nội dung từ bảng dữ liệu
Stored Procedure: thủ tục nội tại chứa các lệnh thao tác với dữ
liệu
Function: Hàm xử lý (giống thủ tục nội tại) trả về giá trị
49 Môn học: CƠ SỞ DỮ LiỆU 49
Giới thiệu:
- Một CSDL của SQL Server là tập hợp các đối tượng:
Trigger:chứa các lệnh thao tác với dữ liệu, kiểm tra ràng buộc
tự động
Constraint:chứa các ràng buộc dữ liệu
Cấu trúc lưu trữ của một CSDL:
- Một CSDL trong SQL Server tối thiểu sẽ dùng hai tập tin
vật lý để lưu trữ dữ liệu:
Data file: lưu trữ dữ liệu
Transaction log file: lưu các vết giao tác trên CSDL
50
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 50
Trang 26Cấu trúc lưu trữ của một CSDL:
- Thường được tổ chức lưu trữ trong 3 tập tin như sau:
Log file (*.LDF)
Môn học: CƠ SỞ DỮ LiỆU 51
Tạo mới một CSDL trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio:
Click chuột phải vào đối tượng Databases, chọn New Database
52
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 52
Trang 27Tạo mới một CSDL trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio:
Xuất hiện hộp thoại:
Initial Size (MB) : kích thước ban đầu
Autogrowth : tự động tăng kích thước
o In Percent: theo phần trăm
o Unrestricted File Growth:
không giới hạn kích thước
Tương tự cho Transaction Log
Môn học: CƠ SỞ DỮ LiỆU 53
Tạo mới một CSDL trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio:
Xuất hiện hộp thoại:
Initial Size (MB) : kích thước ban đầu
Autogrowth : tự động tăng kích thước
o In Percent: theo phần trăm
o Unrestricted File Growth:
không giới hạn kích thước
Tương tự cho Transaction Log
54
Trang 28Tạo mới một CSDL trong SQL Server:
- Cách 2: Sử dụng tiện ích Query Editor:
• Viết câu lệnh sau:
CREATE DATABASE QLSinhVien
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 55
Xóa một CSDL trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio:
Click chuột phải vào CSDL muốn xóa, chọn Delete
- Cách 2: Sử dụng tiện ích Query Editor:
• Viết câu lệnh sau:
DROP DATABASE Tên CSDL
• Ví dụ
DROP DATABASE QLSinhVien
56
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 56
Trang 29Các kiểu dữ liệu trong SQL Server:
58
Xây dựng 1 CSDL với SQL Server
Kiểu dữ liệu Kích thước Miền giá trị dữ liệu lưu trữ
> Các kiểu dữ liệu dạng số nguyên
Int 4 bytes từ-2,147,483,648 ñến +2,147,483,647
SmallInt 2 bytes từ -32768 ñến +32767
> Các kiểu dữ liệu dạng số thập phân
Decimal, Numeric 17bytes từ -10 ^38 ñến +10 ^38
> Các kiểu dữ liệu dạng số thực
Float 8 bytes từ -1.79E+308 ñến +1.79E+308
Real 4 bytes từ -3.40E+38 ñến +3.40E+38
Môn học: CƠ SỞ DỮ LiỆU 58
Trang 30Các kiểu dữ liệu trong SQL Server:
59
Xây dựng 1 CSDL với SQL Server
> Các kiểu dữ liệu dạng chuỗi có ñộ dài cố ñịnh
Char N bytes từ 1 ñến 8000 ký tự, mỗi ký tự là một byte
(char(n))
> Các kiểu dữ liệu dạng chuỗi có ñộ dài biến ñổi
VarChar N bytes từ 1 ñến 8000 ký tự, mỗi ký tự là 1 byte
Text N bytes từ 1 ñến 2,147,483,647 ký tự, mỗi ký tự là 1 byte
> Các kiểu dữ liệu dạng chuỗi dùng font chữ Unicode
NChar 2*N bytes từ 1 ñến 4000 ký tự, mỗi ký tự là 2 bytes
NVarChar 2*N bytes từ 1 ñến 4000 ký tự, mỗi ký tự là 2 bytes
NText 2*N bytes từ 1 ñến 1,073,741,823 ký tự, mỗi ký tự là 2
bytes
Môn học: CƠ SỞ DỮ LiỆU 59
Các kiểu dữ liệu trong SQL Server:
60
Xây dựng 1 CSDL với SQL Server
> Các kiểu dữ liệu dạng tiền tệ
Money 8 bytes từ -922,337,203,685,477.5808 ñến
+922,337,203,685,477.5807 SmallMoney 4 bytes từ -214,748.3648 ñến +214,748.3647
> Các kiểu dữ liệu dạng ngày và giờ
DateTime 8 bytes từ 01/01/1753 ñến 31/12/9999
SmallDateTime 4 bytes từ 01/01/1900 ñến 06/06/2079
> Các kiểu dữ liệu dạng chuỗi nhị phân (Binary String)
Binary N bytes từ 1 ñến 8000 bytes
VarBinary N bytes từ 1 ñến 8000 bytes
Image N bytes từ 1 ñến 2,147,483,647 bytes
Môn học: CƠ SỞ DỮ LiỆU 60
Trang 31Tạo bảng dữ liệu trong SQL Server:
- Các thuộc tính cơ bản của một bảng:
Table Name: tên bảng, độ dài không quá 128 ký tự Tên bảng
phải duy nhất trong phạm vi một CSDL
Column Name: tên của các cột bên trong bảng, tên này phải
duy nhất trong 1 bảng
Data Type: định kiểu dữ liệu của cột trong bảng
Data Length: dùng để qui định độ dài dữ liệu mà cột sẽ lưu trữ
đối với các kiểu dữ liệu dạng chuỗi
Precision: là số ký số tối đa mà các kiểu dữ liệu dạng số có thể
lưu trữ được
Scale:là số lẻ tối đa mà các kiểu dữ liệu dạng số thập phân
dùng để lưu trữ
61 Môn học: CƠ SỞ DỮ LiỆU 61
Tạo bảng dữ liệu trong SQL Server:
- Các thuộc tính cơ bản của một bảng:
Identity: cột định danh tăng tự động Giá trị của cột định danh là
số nguyên không trùng lắp do hệ thống Microsoft SQL Server
tự động cấp phát
∗ Các kiểu dữ liệu của cột định danh : Int, SmallInt, TinyInt, Decimal,
Numeric
∗ Thuộc tính Identity Seed : giá trị đầu tiên
∗ Thuộc tính Identity Increment: giá trị tăng
Một bảng chỉ được một cột có thuộc tính Identity
Allow Null: cho phép để trống dữ liệu, không cần nhập
Default Value: giá trị mặc định sẽ được gán vào cột dữ liệu khi
người sử dụng thêm mới một mẫu tin, nhưng không nhập liệu
62
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 62
Trang 32Tạo bảng dữ liệu trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio
Mở CSDL, click chuột phải trên đối tượng Tables, chọn lệnh
New Table
63
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 63
Tạo bảng dữ liệu trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio
Màn hình sau xuất hiện :
∗ Column Name : nhập tên cột
∗ Data Type : chọn kiểu dữ liệu
∗ Allow Nulls : dữ liệu của cột có được rỗng hay không.
64
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 64
Trang 33Tạo bảng dữ liệu trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio
Trong hộp thoại Column Properties :
∗ Default Value or Binding : giá trị mặc định của cột
∗ Identity Specification : dữ liệu của cột tự tăng
Is Identity : tự tăng
Identity Increment : giá trị bắt đầu
Identity Seed : giá trị tăng
65 Môn học: CƠ SỞ DỮ LiỆU 65
Tạo bảng dữ liệu trong SQL Server:
- Cách 2: Sử dụng tiện ích Query Editor:
• Viết câu lệnh sau:
CREATE TABLE Tên_bảng
(
Tên_cột_1 Kiểu_dữ_liệu [NOT NULL] ,
Tên_cột_2 Kiểu_dữ_liệu [NOT NULL] [ , ]
)
• Trong đó:
* Tên bảng, tên cột và kiểu dữ liệu đã được mô tả ở trên
* 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
66
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 66
Trang 34Tạo bảng dữ liệu trong SQL Server:
- Cách 2: Sử dụng tiện ích Query Editor:
• Ví dụ 1
CREATE TABLE KHOA
(
MAKH char(2) not null,
TENKH nvarchar(30) not null
)
• Ví dụ 2
CREATE TABLE MONHOC
(
MAMH char(2) not null,
TENMH nvarchar(25) not null,
SOTIET int
)
67
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 67
Tạo bảng dữ liệu trong SQL Server:
- Cách 2: Sử dụng tiện ích Query Editor:
• Tạo cấu trúc bảng có cột định danh
CREATE TABLE Tên_bảng
(
Tên_cột_1 Kiểu_dữ_liệu_số IDENTITY [(Số_bắt_đầu, Chỉ_số_tăng)] ,
Tên_cột_2 Kiểu_dữ_liệu [NOT NULL] [ , ]
)
• Trong một bảng chỉ có tối đa một cột được chỉ định làm cột
định danh
• Số bắt đầu: là số mà SQL Server sử dụng để cấp phát cho
mẫu tin đầu tiên (mặc định là 1)
• Giá trị tăng: là giá trị mà SQL Server cộng lên để cấp phát
cho từng mẫu tin kế tiếp (mặc định là 1)
68
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 68
Trang 35Tạo bảng dữ liệu trong SQL Server:
- Cách 2: Sử dụng tiện ích Query Editor:
• Định nghĩa cột có giá trị tính toán từ các cột khác
Ten_cot as Bieu_Thuc
• Ví dụ:
create table TONKHO
(
NamThang char(6) not null,
MaVTu char(4) not null,
Xóa bảng dữ liệu trong SQL Server:
- Cách 1: Sử dụng tiện ích Management Studio:
Click chuột phải vào bảng dữ liệu muốn xóa, chọn Delete
- Cách 2: Sử dụng tiện ích Query Editor:
• Viết câu lệnh sau:
DROP TABLE Tên bảng dữ liệu
• Ví dụ:
DROP TABLE SinhVien
Lưu ý: Không thể xóa bảng khi có ràng buộc khóa ngoại tham
chiếu đến
70
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 70
Trang 36Thay đổi cấu trúc bảng dữ liệu trong SQL Server:
- Thêm cột mới:
ALTER TABLE Tên_bảng
ADD Tên_cột Kiểu_dữ_liệu [ , ]
- Hủy bỏ cột:
ALTER TABLE Tên_bảng
DROP COLUMN Tên_cột [ , ]
- Đổi kiểu dữ liệu cột:
ALTER TABLE Tên_bảng
ALTER COLUMN Tên_cột Kiểu_dữ_liệu_mới
71
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 71
Thay đổi cấu trúc bảng dữ liệu trong SQL Server:
Muốn thay đổi cấu trúc của cột phải xoá tất cả
các Constraint liên quan
72
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 72
Trang 37Tính toàn vẹn dữ liệu trong cơ sở dữ liệu:
- Các ràng buộc trong SQL Server được quản lý bởi hai đối
tượng: CONSTRAINT và TRIGGER
Tính toàn vẹn dữ liệu trong cơ sở dữ liệu:
74
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 74
Trang 38Tính toàn vẹn dữ liệu trong cơ sở dữ liệu:
constraint PK_KETQUA_MASV_MAMH primary key (MASV, MAMH)
)
75
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 75
Tính toàn vẹn dữ liệu trong cơ sở dữ liệu:
- Xây dựng các Constraint:
Định nghĩa ràng buộc duy nhất (Unique):
∗ Dữ liệu có thể rỗng Nếu có dữ liệu, thì dữ liệu phải duy nhất.
76
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 76
Trang 39Tính toàn vẹn dữ liệu trong cơ sở dữ liệu:
- Xây dựng các Constraint:
Lưu ý:
Trong một bảng chỉ định nghĩa một ràng buộc khoá chính,
nhưng có thể định nghĩa nhiều ràng buộc dữ liệu duy nhất
77 Môn học: CƠ SỞ DỮ LiỆU 77
Tính toàn vẹn dữ liệu trong cơ sở dữ liệu:
- Xây dựng các Constraint:
Định nghĩa ràng buộc khóa ngoại (Foreign Key):
∗ Tham chiếu đến cột làm khóa chính trong 1 bảng khác.
∗ Phải tạo bảng có cột làm khóa chính trước khi tạo bảng có khóa ngoại
(Tạo bảng quan hệ1 trước, tạo bảng quan hệnsau).
∗ Trong một bảng có thể định nghĩa nhiều khoá ngoại.
∗ Cú pháp:
[CONSTRAINT FK_Tên_bảng_Tên_cột]
FOREIGN KEY (Danh_sách_cột_khóa_ngoại) REFERENCES Tên_bảng_tham_chiếu (Danh_sách_cột_tham_chiếu)
78
Xây dựng 1 CSDL với SQL Server
Môn học: CƠ SỞ DỮ LiỆU 78