SlideShare a Scribd company logo
1 of 47
Download to read offline
Bài 2:
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
Tổng quan về hệ quản trị CSDL SQL Server
Các công cụ SQL Server
SQL Server Configuration Manager
SQL Server Management Studio
SQL Books Online
Làm quen với công cụ SQL Management Studio
Hệ thống bài cũ
Tổng quan về hệ quản trị CSDL SQL Server
Các công cụ SQL Server
SQL Server Configuration Manager
SQL Server Management Studio
SQL Books Online
Làm quen với công cụ SQL Management Studio
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 2
Mục tiêu bài học
1. Kiểu dữ liệu
2. Tạo CSDL quan hệ
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 3
2. Tạo CSDL quan hệ
3. Làm quen với T-SQL
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 4
Tổng quan về kiểu dữ liệu
SQL Server định nghĩa 26 kiểu dữ liệu, được chia làm
bốn nhóm.
Nhóm Mô tả
Chuỗi Các chuỗi dữ liệu ký tự .
Số Các số nguyên, số có dấu phẩy động, tiền tệ
và các kiểu dữ liệu số khác.
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 5
Số Các số nguyên, số có dấu phẩy động, tiền tệ
và các kiểu dữ liệu số khác.
Thời gian (ngày/giờ) Ngày, giờ, hoặc cả ngày và giờ.
Kiểu khác Các giá trị chuỗi và nhị phân lớn, XML, dữ liệu
hình học, dữ liệu địa lý, dữ liệu phân cấp.
Kiểu dữ liệu chuỗi
Kiểu Byte Mô tả
char[(n)] n - Chuỗi độ dài cố định.
- n là số ký tự, nằm giữa 1 và 8.000. Mặc định là 1.
varchar[(n)] n -Chuỗi độ dài biến đổi.
- Số lượng byte được sử dụng để lưu trữ chuỗi phụ thuộc vào độ dài
thực của chuỗi.
- n là số lượng ký tự lớn nhất giữa 1 và 8.000. Mặc định là 1.
Dùng để lưu các ký tự
Lưu ký tự
thường
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 6
-Chuỗi độ dài biến đổi.
- Số lượng byte được sử dụng để lưu trữ chuỗi phụ thuộc vào độ dài
thực của chuỗi.
- n là số lượng ký tự lớn nhất giữa 1 và 8.000. Mặc định là 1.
nchar(n) 2n - Chuỗi độ dài cố định chứa dữ liệu ký tự Unicode
- n là số lượng ký tự, nằm giữa 1 và 4.000. Mặc định là 1.
nvarchar(n) 2n -Chuỗi độ dài biến đổi chứa dữ liệu ký tự Unicode
- Số lượng byte được sử dụng để lưu trữ chuỗi phụ thuộc vào độ dài
thực của chuỗi. Hai byte cần thiết để lưu trữ mỗi ký tự.
-n là số lượng ký tự lớn nhất giữa 1 và 4.000. Mặc định là 1.
Lưu ký tự
UNICODE
Kiểu Byte Mô tả
bigint 8 Số nguyên lớn từ -9.223.372.036.854.775.808 tới
9.223.372.036.854.775.807.
int 4 Số nguyên từ -2.147.483.648 tới 2.147.483.647.
smallint 2 Số nguyên nhỏ từ -32.768 tới 32.767.
tinyint 1 Số nguyên dương rất nhỏ, từ 0 tới 255.
bit 1 Số nguyên với các giá trị 1 hoặc 0.
decimal[(p[,s])] 5-17 Số thập phân với độ chính xác (p) và tỷ lệ (s) cố định từ -1038 + 1 tới
1038 - 1.
Kiểu dữ liệu số
Số
nguyên
decimal[(p[,s])] 5-17 Số thập phân với độ chính xác (p) và tỷ lệ (s) cố định từ -1038 + 1 tới
1038 - 1.
numeric[(p[,s])] 5-17 Đồng nghĩa với decimal.
money 8 Giá trị tiền tệ với bốn vị trí thập phân từ -922.337.203.685.477,5808
tới 922.337.203.685.477,5807. Đồng nghĩa với decimal(19,4).
smallmoney 4 Giá trị tiền tệ với bốn vị trí thập phân từ -214.748,3648 tới
214.748,3647. Đồng nghĩa với decimal(10,4).
float[(n)] 4 hoặc
8
Số dấu phẩy động độ chính xác kép từ -1,79x10308 tới 1,79x10308 .
real 4 Số dấu phẩy động độ chính xác đơn, từ -3,4x1038 tới 3,4x1038.
Đồng nghĩa với float(24).
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 7
Số thập
phân
Số
thực
Kiểu dữ liệu thời gian
Kiểu dữ liệu ngày/giờ trong phiên bản trước SQL Server 2008
Kiểu dữ liệu ngày/giờ trong SQL Server 2008
Kiểu Byte Mô tả
datetime 8 Ngày và giờ từ 1/1/1753 tới 31/12/9999, với độ chính xác 3,33 mili
giây.
smalldatetime 4 Ngày và giờ từ 1/1/1900 tới 6/6/2079, với độ chính xác một phút.
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 8
Kiểu dữ liệu ngày/giờ trong phiên bản trước SQL Server 2008
Kiểu dữ liệu ngày/giờ trong SQL Server 2008
Kiểu Byte Mô tả
date 3 Chỉ có ngày (không chứa phần giờ) từ 1/1/0001 tới 31/12/9999.
time(n) 3-5 Chỉ có giờ (không chứa phần ngày) từ 00:00:00,0000000 tới
23:59:59,9999999, với độ chính xác 0,0000001 giây; n là số từ 0 tới 7
được sử dụng cho độ chính xác phân đoạn giây.
datetime2(n) 6-8 Ngày từ 1/1/0001 tới 31/12/9999, với giá trị thời gian từ
00:00:00,0000000 tới 23:59:59,9999999.
datetimeoffset(n) 8-10 Mở rộng của kiểu datetime2, thêm múi giờ (time zone) được biểu diễn
bởi giá trị từ -14 tới +14.
Các kiểu dữ liệu giá trị lớn
Kiểu Mô tả Kiểu dữ liệu sử dụng
trong phiên bản trước
SQL 2005 tương ứng
varchar(max) - Làm việc tương tự như kiểu varchar
- Nhưng có thể lưu trữ tới
2.147.483.648 byte dữ liệu.
text
nvarchar(max) - Làm việc tương tự như kiểu nvarchar
- Có thể lưu trữ tới 2.147.483.648 byte
dữ liệu.
ntext
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 9
nvarchar(max) - Làm việc tương tự như kiểu nvarchar
- Có thể lưu trữ tới 2.147.483.648 byte
dữ liệu.
ntext
varbinary(max) - Lưu trữ dữ liệu nhị phân độ dài biến
đổi tối đa tới 2.147.483.648 byte.
- Số lượng byte được sử dụng để lưu
trữ phụ thuộc vào độ dài thực sự của
dữ liệu.
image
Kiểu dữ liệu chuỗi:
Là kiểu dữ liệu thường được sử dụng nhất.
Kiểu char và nchar dùng để lưu trữ chuỗi có độ dài cố
định. Ví dụ: Mã sinh viên
Kiểu varchar, nvarchar dùng để lưu trữ chuỗi có độ dài
thay đổi.
Kiểu nchar, nvarchar dùng để lưu trữ kí tự Unicode. Hệ
thống hỗ trợ đa ngôn ngữ nên sử dụng kiểu này.
Tóm lược
Kiểu dữ liệu chuỗi:
Là kiểu dữ liệu thường được sử dụng nhất.
Kiểu char và nchar dùng để lưu trữ chuỗi có độ dài cố
định. Ví dụ: Mã sinh viên
Kiểu varchar, nvarchar dùng để lưu trữ chuỗi có độ dài
thay đổi.
Kiểu nchar, nvarchar dùng để lưu trữ kí tự Unicode. Hệ
thống hỗ trợ đa ngôn ngữ nên sử dụng kiểu này.
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 10
Kiểu dữ liệu số
Dùng lưu trữ các dữ liệu số, sử dụng trong tính toán
Trong một số trường hợp thường sử dụng kiểu chuỗi làm
kiểu dữ liệu thay thế khi lưu trữ dữ liệu số như: số điện
thoại, số chứng minh, mã ZipCode
Kiểu dữ liệu thời gian
Phiên bản SQL Server 2008 hỗ trợ cả những kiểu dữ liệu
thời gian của các phiên bản trước
Tóm lược
Kiểu dữ liệu số
Dùng lưu trữ các dữ liệu số, sử dụng trong tính toán
Trong một số trường hợp thường sử dụng kiểu chuỗi làm
kiểu dữ liệu thay thế khi lưu trữ dữ liệu số như: số điện
thoại, số chứng minh, mã ZipCode
Kiểu dữ liệu thời gian
Phiên bản SQL Server 2008 hỗ trợ cả những kiểu dữ liệu
thời gian của các phiên bản trước
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 11
Các kiểu dữ liệu giá trị lớn
Sử dụng để lưu ảnh cùng các dạng ký tự cũng như dữ liệu
nhị phân lớn.
Nên tránh sử dụng các kiểu dữ liệu text, ntext và image
(được sử dụng trước SQL Server 2005)
Tóm lược
Các kiểu dữ liệu giá trị lớn
Sử dụng để lưu ảnh cùng các dạng ký tự cũng như dữ liệu
nhị phân lớn.
Nên tránh sử dụng các kiểu dữ liệu text, ntext và image
(được sử dụng trước SQL Server 2005)
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 12
SQL Server cho phép sử dụng các từ đồng nghĩa với kiểu
dữ liệu chuẩn ANSI thay thế cho kiểu dữ liệu của SQL
Server.
Khi sử dụng từ đồng nghĩa, SQL Server tự động chuyển về
kiểu dữ liệu SQL Server tương ứng
Tuy nhiên không nên sử dụng từ đồng nghĩa. Trừ từ đồng
nghĩa Rowversion
Tham khảo phần Kiểu dữ liệu chuẩn ANSI và kiểu
tương ứng trong SQL Server
Tóm lược
SQL Server cho phép sử dụng các từ đồng nghĩa với kiểu
dữ liệu chuẩn ANSI thay thế cho kiểu dữ liệu của SQL
Server.
Khi sử dụng từ đồng nghĩa, SQL Server tự động chuyển về
kiểu dữ liệu SQL Server tương ứng
Tuy nhiên không nên sử dụng từ đồng nghĩa. Trừ từ đồng
nghĩa Rowversion
Tham khảo phần Kiểu dữ liệu chuẩn ANSI và kiểu
tương ứng trong SQL Server
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 13
Khám phá cách sử dụng các kiểu dữ liệu của các bảng
trong cơ sở dữ liệu mẫu AP.
Ví dụ về kiểu dữ liệu
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 14
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 15
Tạo CSDL
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 16
Hướng dẫn tạo bảng
Nhập tên các
cột, kiểu dữ liệu,
chấp nhận thuộc
tính NULL tại
đây
Click vào đây để thiết lập khóa
chính cho cột được chọn
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 17
Nhập tên các
cột, kiểu dữ liệu,
chấp nhận thuộc
tính NULL tại
đây
Thay đổi
thuộc tính
cho cột tại
đây
Chỉnh sửa bảng: Thay đổi
tên cột, thuộc tính cột rồi
chọn nút Save .
Xóa và chỉnh sửa bảng
Chỉnh sửa
bảng
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 18
Xóa bảng
Thanh công cụ làm việc với bảng.
Chỉ hiển thị khi ở chế độ Table Design
Các hướng dẫn làm việc với bảng khác
Nút Manage Indexes
and Keys:
Làm việc với Index và
khóa
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 19
Thiết
lập
khóa
chính
Nút
Relationships :
Làm việc với
khóa ngoại
Nút Manage
Check
Contrains:
Kiểm tra ràng
buộc cho cột
Hướng dẫn làm việc
với quan hệ khóa ngoại
Click vào button Relationships trên thanh công cụ
Danh
sách
khóa
ngoại
Click vào đây để
chọn bảng liên
kết tới
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 20
Xóa khóa
ngoại
được
chọn
Thêm
khóa
ngoại
mới
Danh
sách
khóa
ngoại
Chỉ định tên cho khóa
ngoại tại đây
Click vào nút Manage Check Constraints trên thanh
công cụ
Hướng dẫn làm việc
với ràng buộc kiểm tra
Nhập biểu thức
ràng buộc cho
cột tại đây
Đặt là No để
SQL Server
không kiểm tra
dữ liệu đang tồn
tại với điều kiện
ràng buộc
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 21
Xóa ràng buộc
được chọn trong
danh sách
Thêm một
ràng buộc
Danh sách các
ràng buộc của
bảng
Đặt là No để
SQL Server
không kiểm tra
dữ liệu đang tồn
tại với điều kiện
ràng buộc
Đặt là No. SQL
Server sẽ không
ép buộc thao tác
INSERT và
UPDATE
Demo tạo CSDL Quản lý nhân viên (Casestudy “Hướng
dẫn sử dụng Management Studio để thiết kế CSDL”)
Chọn kiểu dữ liệu phù hợp cho các cột
Tạo bảng & quan hệ giữa các bảng
Demo
Demo tạo CSDL Quản lý nhân viên (Casestudy “Hướng
dẫn sử dụng Management Studio để thiết kế CSDL”)
Chọn kiểu dữ liệu phù hợp cho các cột
Tạo bảng & quan hệ giữa các bảng
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 22
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 23
Nội dung đã học trong môn CSDL
Ngôn ngữ định nghĩa dữ liệu (DDL)
Ngôn ngữ thao tác dư liệu (DML)
Ngôn ngữ điều khiển dữ liệu (DCL)
T-SQL
Nội dung đã học trong môn CSDL
Ngôn ngữ định nghĩa dữ liệu (DDL)
Ngôn ngữ thao tác dư liệu (DML)
Ngôn ngữ điều khiển dữ liệu (DCL)
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 24
Các tính năng lập trình mới
Biến
Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN)
Chú thích
Định danh (Identifiers): Là các đối tượng CSDL như
Bảng
View, Stored Procedure… (Học trong các bài sau)
Hàm
Hàm thư viện (Học trong các bài sau)
Hàm người dùng định nghĩa (Học trong các bài sau)
Chú ý: T-SQL không phân biệt chữ hoa, chữ thường
T-SQL
Các tính năng lập trình mới
Biến
Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN)
Chú thích
Định danh (Identifiers): Là các đối tượng CSDL như
Bảng
View, Stored Procedure… (Học trong các bài sau)
Hàm
Hàm thư viện (Học trong các bài sau)
Hàm người dùng định nghĩa (Học trong các bài sau)
Chú ý: T-SQL không phân biệt chữ hoa, chữ thường
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 25
Câu lệnh Mô tả
CREATE DATABASE Tạo mới một CSDL
CREATE TABLE Tạo mới một bảng trong CSDL hiện tại
CREATE INDEX Tạo một index mới cho bảng được chỉ định
trước
Ngôn ngữ định nghĩa dữ liệu
Đã học Tạo một index mới cho bảng được chỉ định
trước
CREATE FUNCTION Tạo hàm người dùng định nghĩa
CREATE PROCEDURE Tạo một Stored Procedure (Thủ tục được lưu
trữ)
CREATE TRIGGER Tạo mới một trigger
CREATE VIEW Tạo mới một View
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 26
Sẽ học
trong
các
phần
sau
Câu lệnh Mô tả
ALTER TABLE Sửa thiết kế bảng
ALTER FUCTION Sửa hàm người dùng định nghĩa
Ngôn ngữ định nghĩa dữ liệu
Đã học
ALTER FUCTION Sửa hàm người dùng định nghĩa
ALTER TRIGGER Sửa trigger
ALTER VIEW Sửa View
ALTER PROCEDURE Sửa Stored Procedure
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 27
Sẽ học
trong
các
phần
sau
Câu lệnh Mô tả
DROP DATABASE Xóa một CSDL
DROP INDEX Xóa một index
Ngôn ngữ định nghĩa dữ liệu
Đã học
DROP FUNCTION Xóa một function
DROP PROCEDURE Xóa một Procedure
DROP TRIGGER Xóa một trigger
DROP VIEW Xóa một View
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 28
Sẽ học
trong
các
phần
sau
Câu lệnh Mô tả
SELECT Truy xuất dữ liệu từ một hoặc nhiều bảng
INSERT Thêm một hàng dữ liệu vào bảng
UPDATE Cập nhật dữ liệu
Ngôn ngữ thao tác dữ liệu
Giống các
câu lệnh
SQL đã
học trong
môn
CSDL
UPDATE Cập nhật dữ liệu
DELETE Xóa dữ liệu
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 29
Giống các
câu lệnh
SQL đã
học trong
môn
CSDL
Sinh viên ôn tập lại các câu lệnh
CREATE DATABASE
CREATE TABLE
CREATE INDEX
ALTER TABLE
SELECT
INSERT
UPDATE
DELETE
Ôn tập
Sinh viên ôn tập lại các câu lệnh
CREATE DATABASE
CREATE TABLE
CREATE INDEX
ALTER TABLE
SELECT
INSERT
UPDATE
DELETE
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 30
Cú pháp chú thích một dòng đơn
-- Viết chú thích một dòng đơn ở đây
Cú pháp chú thích nhiều dòng
/*
Chú thích nhiều dòng
*/
Chú thích
Cú pháp chú thích một dòng đơn
-- Viết chú thích một dòng đơn ở đây
Cú pháp chú thích nhiều dòng
/*
Chú thích nhiều dòng
*/
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 31
Biến
Biến vô hướng Biến bảng
Lưu trữ
Hai loại biến
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
Giá trị đơn (Giá trị
dữ liệu chuẩn)
Tập kết quả (Dữ liệu
bảng)
Lưu trữ
32
Khai báo
Cú pháp
DECLARE @<tên biến 1> <kiểu dữ liệu> [, @<tên
biến 2> <kiểu dữ liệu>]…
Gán giá trị
Cú pháp của câu lệnh SET
SET @<tên biến> = <biểu thức>
Sử dụng để gán giá trị cho một biến
Cú pháp câu lệnh SELECT
SELECT @<tên biến> = <biểu thức cột>
SELECT có thể dùng để gán giá trị cho 2 hoặc nhiều biến.
Truy xuất giá trị biến:
SELECT @<tên biến>
Biến vô hướng
Khai báo
Cú pháp
DECLARE @<tên biến 1> <kiểu dữ liệu> [, @<tên
biến 2> <kiểu dữ liệu>]…
Gán giá trị
Cú pháp của câu lệnh SET
SET @<tên biến> = <biểu thức>
Sử dụng để gán giá trị cho một biến
Cú pháp câu lệnh SELECT
SELECT @<tên biến> = <biểu thức cột>
SELECT có thể dùng để gán giá trị cho 2 hoặc nhiều biến.
Truy xuất giá trị biến:
SELECT @<tên biến>
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 33
Biến vô hướng
-- Khai báo biến
DECLARE @VendorIDVar int -- Giá trị ID của nhà cung cấp
@MaxInvoice money, -- Tổng số tiền hóa đơn thanh toán lớn nhất
@MinInvoice money, -- Tổng số tiền hóa đơn thanh toán nhỏ nhất
-- Gán giá trị cho biến @VendorIDVar
SET @VendorIDVar = 95
-- Gán giá trị cho biến @MaxInvoice bằng tổng số tiền hóa đơn lớn nhất tương ứng với
nhà cung cấp @VendorIDVar
SET @MaxInvoice = (SELECT MAX(InvoiceTotal) FROM Invoices WHERE
VendorID = @VendorIDVar)
SELECT @MaxInvoice -- Truy xuất giá trị biến
Ví dụ 1: Gán giá trị cho biến sử dụng câu lệnh SET
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
-- Khai báo biến
DECLARE @VendorIDVar int -- Giá trị ID của nhà cung cấp
@MaxInvoice money, -- Tổng số tiền hóa đơn thanh toán lớn nhất
@MinInvoice money, -- Tổng số tiền hóa đơn thanh toán nhỏ nhất
-- Gán giá trị cho biến @VendorIDVar
SET @VendorIDVar = 95
-- Gán giá trị cho biến @MaxInvoice bằng tổng số tiền hóa đơn lớn nhất tương ứng với
nhà cung cấp @VendorIDVar
SET @MaxInvoice = (SELECT MAX(InvoiceTotal) FROM Invoices WHERE
VendorID = @VendorIDVar)
SELECT @MaxInvoice -- Truy xuất giá trị biến
34
Ví dụ 1: Gán giá trị cho biến sử dụng câu lệnh SET
Biến vô hướng
-- Gán giá trị cho các biến được khai báo ở ví dụ 1 sử dụng câu lệnh SELECT
SELECT @MaxInvoice = MAX(InvoiceTotal),@MinInvoice = MIN(InvoiceTotal)
FROM Invoices
WHERE VendorID = @VendorIDVar
SELECT @MaxInvoice, @MinInvoice -- Truy xuất giá trị biến
Ví dụ 2: Gán giá trị cho biến sử dụng câu lệnh SET
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 35
-- Gán giá trị cho các biến được khai báo ở ví dụ 1 sử dụng câu lệnh SELECT
SELECT @MaxInvoice = MAX(InvoiceTotal),@MinInvoice = MIN(InvoiceTotal)
FROM Invoices
WHERE VendorID = @VendorIDVar
SELECT @MaxInvoice, @MinInvoice -- Truy xuất giá trị biến
Biến bảng
Cú pháp khai báo biến bảng
DECLARE @<tên bảng> TABLE
(<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]
[, <tên cột 2> <kiểu dữ liệu> [<Các thuộc tính cột>]]…
[, <Các thuộc tính bảng>])
Phần
định
nghĩa
cột
&các
thuộc
tính
bảng
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
Cú pháp khai báo biến bảng
DECLARE @<tên bảng> TABLE
(<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>]
[, <tên cột 2> <kiểu dữ liệu> [<Các thuộc tính cột>]]…
[, <Các thuộc tính bảng>])
Phần
định
nghĩa
cột
&các
thuộc
tính
bảng
36
Phần định nghĩa cột và các thuộc tính bảng.
Có cú pháp giống như câu lệnh định nghĩa một bảng mới
(CREATE TABLE)
Biến bảng được sử dụng giống như bảng chuẩn SQL.
Có thể tham chiếu đến biến bảng trong câu lệnh SELECT,
INSERT, UPDATE, DELETE như bảng chuẩn
Ngoại lệ: Không thể sử dụng câu lệnh SELECT INTO với
biến bảng.
Biến bảng
Phần định nghĩa cột và các thuộc tính bảng.
Có cú pháp giống như câu lệnh định nghĩa một bảng mới
(CREATE TABLE)
Biến bảng được sử dụng giống như bảng chuẩn SQL.
Có thể tham chiếu đến biến bảng trong câu lệnh SELECT,
INSERT, UPDATE, DELETE như bảng chuẩn
Ngoại lệ: Không thể sử dụng câu lệnh SELECT INTO với
biến bảng.
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 37
Demo
Sử dụng biến bảng
-- Khai báo biến bảng @BigVendors lưu dữ liệu VendorID & VendorName của các ---
-- nhà cung cấp
DECLARE @BigVendors TABLE
(VendorID int,
VendorName varchar(50))
-- Chèn dữ liệu vào biến bảng
INSERT @BigVendors
SELECT VendorID, VendorName
FROM Vendors
WHERE VendorID IN (SELECT VendorID FROM Invoices WHERE InvoiceTotal
> 5000)
SELECT * FROM @BigVendors -- Truy xuất dữ liệu từ biến bảng
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
-- Khai báo biến bảng @BigVendors lưu dữ liệu VendorID & VendorName của các ---
-- nhà cung cấp
DECLARE @BigVendors TABLE
(VendorID int,
VendorName varchar(50))
-- Chèn dữ liệu vào biến bảng
INSERT @BigVendors
SELECT VendorID, VendorName
FROM Vendors
WHERE VendorID IN (SELECT VendorID FROM Invoices WHERE InvoiceTotal
> 5000)
SELECT * FROM @BigVendors -- Truy xuất dữ liệu từ biến bảng
38
Cú pháp
IF <biểu thức điều kiện>
{<Câu lệnh>|BEGIN...END}
[ELSE
{<Câu lệnh>|BEGIN...END}]
Chú ý:
Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề IF
hoặc ELSE. Bạn cần bao các câu lệnh này trong khối
BEGIN…END
Các câu lệnh điều khiển -
IF…ELSE
Cú pháp
IF <biểu thức điều kiện>
{<Câu lệnh>|BEGIN...END}
[ELSE
{<Câu lệnh>|BEGIN...END}]
Chú ý:
Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề IF
hoặc ELSE. Bạn cần bao các câu lệnh này trong khối
BEGIN…END
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 39
Demo
Sử dụng câu lệnh IF…ELSE
DECLARE @vendorID int
SELECT @vendorID = ISNULL(VendorID,0)
FROM VENDORS
WHERE VendorName ='US Postal Service'
IF @vendorID = 0
PRINT 'Không tồn tại nhà cung cấp US Postal Service'
ELSE
PRINT 'US Postal Service có VendorID là ' + CAST(@vendorID AS
VARCHAR)
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
DECLARE @vendorID int
SELECT @vendorID = ISNULL(VendorID,0)
FROM VENDORS
WHERE VendorName ='US Postal Service'
IF @vendorID = 0
PRINT 'Không tồn tại nhà cung cấp US Postal Service'
ELSE
PRINT 'US Postal Service có VendorID là ' + CAST(@vendorID AS
VARCHAR)
40
Cú pháp
WHILE <biểu thức điều kiện>
{<câu lệnh>|BEGIN...END}
[BREAK]
[CONTINUE]
Chú ý:
Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề
WHILE. Bạn cần bao các câu lệnh này trong khối
BEGIN…END
Các câu lệnh điều khiển –
WHILE
Cú pháp
WHILE <biểu thức điều kiện>
{<câu lệnh>|BEGIN...END}
[BREAK]
[CONTINUE]
Chú ý:
Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề
WHILE. Bạn cần bao các câu lệnh này trong khối
BEGIN…END
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 41
Demo
sử dụng câu lệnh WHILE
DECLARE @a int ,
@Tổng int
SET @a = 1
SET @Tổng = 0
WHILE (@a <= 10)
BEGIN
SELECT @Tổng = @Tổng + @a
SET @a = @a + 1
END
SELECT @Tổng
Ví dụ: sử dụng vòng lặp WHILE để tính tổng các số từ 1
đến 10
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
DECLARE @a int ,
@Tổng int
SET @a = 1
SET @Tổng = 0
WHILE (@a <= 10)
BEGIN
SELECT @Tổng = @Tổng + @a
SET @a = @a + 1
END
SELECT @Tổng
42
Trả về giá trị dựa vào điều kiện được chỉ định.
Có 2 loại hàm CASE
1. Cú pháp hàm CASE đơn giản
CASE <biểu thức>
WHEN <biểu thức 1> THEN <biểu thức kết quả 1>
[WHEN <biểu thức 2> THEN <biểu thức kết quả 2>]...
[ELSE <biểu thức kết quả mệnh đề else>]
END
Ví dụ:
Hàm CASE
Trả về giá trị dựa vào điều kiện được chỉ định.
Có 2 loại hàm CASE
1. Cú pháp hàm CASE đơn giản
CASE <biểu thức>
WHEN <biểu thức 1> THEN <biểu thức kết quả 1>
[WHEN <biểu thức 2> THEN <biểu thức kết quả 2>]...
[ELSE <biểu thức kết quả mệnh đề else>]
END
Ví dụ:
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 43
SELECT InvoiceNumber, TermsID,
CASE TermsID
WHEN 1 THEN 'Net due 10 days'
WHEN 2 THEN 'Net due 20 days'
WHEN 3 THEN 'Net due 30 days'
WHEN 4 THEN 'Net due 60 days'
WHEN 5 THEN 'Net due 90 days'
END AS Terms
FROM Invoices
2. Cú pháp hàm tìm kiếm CASE
CASE
WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1>
[WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1>]...
[ELSE <biểu thức kết quả mệnh đề else]
END
Ví dụ:
Hàm CASE
SELECT InvoiceNumber, InvoiceTotal, InvoiceDate, InvoiceDueDate,
CASE
WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 30
THEN 'Over 30 days past due'
WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 0
THEN '1 to 30 days past due'
ELSE 'Current'
END AS Status
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
2. Cú pháp hàm tìm kiếm CASE
CASE
WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1>
[WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1>]...
[ELSE <biểu thức kết quả mệnh đề else]
END
Ví dụ:
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 44
SELECT InvoiceNumber, InvoiceTotal, InvoiceDate, InvoiceDueDate,
CASE
WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 30
THEN 'Over 30 days past due'
WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 0
THEN '1 to 30 days past due'
ELSE 'Current'
END AS Status
FROM Invoices
WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
Các kiểu dữ liệu
SQL hỗ trợ 26 kiểu dữ liệu cơ bản. Được chia thành 4
nhóm
Kiểu dữ liệu chuỗi
Kiểu dữ liệu số
Kiểu dữ liệu thời gian
Kiểu dữ liệu giá trị lớn
Tổng kết
Các kiểu dữ liệu
SQL hỗ trợ 26 kiểu dữ liệu cơ bản. Được chia thành 4
nhóm
Kiểu dữ liệu chuỗi
Kiểu dữ liệu số
Kiểu dữ liệu thời gian
Kiểu dữ liệu giá trị lớn
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 45
Hai cách để tạo CSDL quan hệ trên SQL Server
Sử dụng các câu lệnh định nghĩa dữ liệu (DDL)
Sử dụng công cụ Management Studio
T-SQL giống với ngôn ngữ SQL chuẩn đã học gồm có:
Ngôn ngữ định nghĩa dữ liệu (DDL)
Ngôn ngữ thao tác dữ liệu (DML)
Ngôn ngữ điều khiển dữ liệu (DCL)
Tổng kết
Hai cách để tạo CSDL quan hệ trên SQL Server
Sử dụng các câu lệnh định nghĩa dữ liệu (DDL)
Sử dụng công cụ Management Studio
T-SQL giống với ngôn ngữ SQL chuẩn đã học gồm có:
Ngôn ngữ định nghĩa dữ liệu (DDL)
Ngôn ngữ thao tác dữ liệu (DML)
Ngôn ngữ điều khiển dữ liệu (DCL)
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 46
T-SQL cung cấp các tiện ích lập trình
Biến
Biến vô hướng: Lưu trữ giá trị đơn (các kiểu dữ liệu chuẩn)
Biến bảng: Lưu trữ tập kết quả từ câu lệnh truy vấn
Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN)
Chú thích
Định danh (Identifiers): Là các đối tượng CSDL như
Bảng
View, Stored Procedure… (Học trong các bài sau)
Hàm
Hàm thư viện (Học trong các bài sau)
Hàm người dùng định nghĩa (Học trong các bài sau)
Tổng kết
T-SQL cung cấp các tiện ích lập trình
Biến
Biến vô hướng: Lưu trữ giá trị đơn (các kiểu dữ liệu chuẩn)
Biến bảng: Lưu trữ tập kết quả từ câu lệnh truy vấn
Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN)
Chú thích
Định danh (Identifiers): Là các đối tượng CSDL như
Bảng
View, Stored Procedure… (Học trong các bài sau)
Hàm
Hàm thư viện (Học trong các bài sau)
Hàm người dùng định nghĩa (Học trong các bài sau)
Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 47

More Related Content

Viewers also liked

Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverBài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverMasterCode.vn
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverMasterCode.vn
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverMasterCode.vn
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)MasterCode.vn
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTMasterCode.vn
 
Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...
Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...
Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...MasterCode.vn
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...MasterCode.vn
 
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTBài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTMasterCode.vn
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5MasterCode.vn
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTMasterCode.vn
 
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTBài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTMasterCode.vn
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTMasterCode.vn
 
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTBài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTMasterCode.vn
 
Bài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTBài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTMasterCode.vn
 
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTBài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTMasterCode.vn
 

Viewers also liked (20)

Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverBài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL server
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệu
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...
Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...
Bài 3 Làm việc với vùng chọn & công cụ tạo vùng chọn trong PHOTOSHOP - Giáo t...
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
BÀI 4 Nâng cao khả năng thiết kế web mobile với thành phần jquery mobile - Gi...
 
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPTBài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
Bài 6: Tạo hiệu ứng và validate Form - Giáo trình FPT
 
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
BÀI 4 Làm việc với các thành phần VIDEO, AUDIO, CANVAS của HTML5
 
Bài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPTBài 7 Xây dựng website - Giáo trình FPT
Bài 7 Xây dựng website - Giáo trình FPT
 
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPTBài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
Bài 13: Nâng cấp từ Windows Server 2003 lên Windows Server 2008 - Giáo trình FPT
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
 
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPTBài 5 Bố cục trang cơ bản - Giáo trình FPT
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
 
Bài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPTBài 4 Định vị trí box - Giáo trình FPT
Bài 4 Định vị trí box - Giáo trình FPT
 
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPTBài 10: Giới thiệu về Server Core - Giáo trình FPT
Bài 10: Giới thiệu về Server Core - Giáo trình FPT
 

More from MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...MasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

Bài 2: Tạo CSDL quan hệ & Ngôn ngữ truy vấn T -SQL - Giáo trình FPT

  • 1. Bài 2: Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL
  • 2. Tổng quan về hệ quản trị CSDL SQL Server Các công cụ SQL Server SQL Server Configuration Manager SQL Server Management Studio SQL Books Online Làm quen với công cụ SQL Management Studio Hệ thống bài cũ Tổng quan về hệ quản trị CSDL SQL Server Các công cụ SQL Server SQL Server Configuration Manager SQL Server Management Studio SQL Books Online Làm quen với công cụ SQL Management Studio Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 2
  • 3. Mục tiêu bài học 1. Kiểu dữ liệu 2. Tạo CSDL quan hệ Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 3 2. Tạo CSDL quan hệ 3. Làm quen với T-SQL
  • 4. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 4
  • 5. Tổng quan về kiểu dữ liệu SQL Server định nghĩa 26 kiểu dữ liệu, được chia làm bốn nhóm. Nhóm Mô tả Chuỗi Các chuỗi dữ liệu ký tự . Số Các số nguyên, số có dấu phẩy động, tiền tệ và các kiểu dữ liệu số khác. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 5 Số Các số nguyên, số có dấu phẩy động, tiền tệ và các kiểu dữ liệu số khác. Thời gian (ngày/giờ) Ngày, giờ, hoặc cả ngày và giờ. Kiểu khác Các giá trị chuỗi và nhị phân lớn, XML, dữ liệu hình học, dữ liệu địa lý, dữ liệu phân cấp.
  • 6. Kiểu dữ liệu chuỗi Kiểu Byte Mô tả char[(n)] n - Chuỗi độ dài cố định. - n là số ký tự, nằm giữa 1 và 8.000. Mặc định là 1. varchar[(n)] n -Chuỗi độ dài biến đổi. - Số lượng byte được sử dụng để lưu trữ chuỗi phụ thuộc vào độ dài thực của chuỗi. - n là số lượng ký tự lớn nhất giữa 1 và 8.000. Mặc định là 1. Dùng để lưu các ký tự Lưu ký tự thường Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 6 -Chuỗi độ dài biến đổi. - Số lượng byte được sử dụng để lưu trữ chuỗi phụ thuộc vào độ dài thực của chuỗi. - n là số lượng ký tự lớn nhất giữa 1 và 8.000. Mặc định là 1. nchar(n) 2n - Chuỗi độ dài cố định chứa dữ liệu ký tự Unicode - n là số lượng ký tự, nằm giữa 1 và 4.000. Mặc định là 1. nvarchar(n) 2n -Chuỗi độ dài biến đổi chứa dữ liệu ký tự Unicode - Số lượng byte được sử dụng để lưu trữ chuỗi phụ thuộc vào độ dài thực của chuỗi. Hai byte cần thiết để lưu trữ mỗi ký tự. -n là số lượng ký tự lớn nhất giữa 1 và 4.000. Mặc định là 1. Lưu ký tự UNICODE
  • 7. Kiểu Byte Mô tả bigint 8 Số nguyên lớn từ -9.223.372.036.854.775.808 tới 9.223.372.036.854.775.807. int 4 Số nguyên từ -2.147.483.648 tới 2.147.483.647. smallint 2 Số nguyên nhỏ từ -32.768 tới 32.767. tinyint 1 Số nguyên dương rất nhỏ, từ 0 tới 255. bit 1 Số nguyên với các giá trị 1 hoặc 0. decimal[(p[,s])] 5-17 Số thập phân với độ chính xác (p) và tỷ lệ (s) cố định từ -1038 + 1 tới 1038 - 1. Kiểu dữ liệu số Số nguyên decimal[(p[,s])] 5-17 Số thập phân với độ chính xác (p) và tỷ lệ (s) cố định từ -1038 + 1 tới 1038 - 1. numeric[(p[,s])] 5-17 Đồng nghĩa với decimal. money 8 Giá trị tiền tệ với bốn vị trí thập phân từ -922.337.203.685.477,5808 tới 922.337.203.685.477,5807. Đồng nghĩa với decimal(19,4). smallmoney 4 Giá trị tiền tệ với bốn vị trí thập phân từ -214.748,3648 tới 214.748,3647. Đồng nghĩa với decimal(10,4). float[(n)] 4 hoặc 8 Số dấu phẩy động độ chính xác kép từ -1,79x10308 tới 1,79x10308 . real 4 Số dấu phẩy động độ chính xác đơn, từ -3,4x1038 tới 3,4x1038. Đồng nghĩa với float(24). Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 7 Số thập phân Số thực
  • 8. Kiểu dữ liệu thời gian Kiểu dữ liệu ngày/giờ trong phiên bản trước SQL Server 2008 Kiểu dữ liệu ngày/giờ trong SQL Server 2008 Kiểu Byte Mô tả datetime 8 Ngày và giờ từ 1/1/1753 tới 31/12/9999, với độ chính xác 3,33 mili giây. smalldatetime 4 Ngày và giờ từ 1/1/1900 tới 6/6/2079, với độ chính xác một phút. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 8 Kiểu dữ liệu ngày/giờ trong phiên bản trước SQL Server 2008 Kiểu dữ liệu ngày/giờ trong SQL Server 2008 Kiểu Byte Mô tả date 3 Chỉ có ngày (không chứa phần giờ) từ 1/1/0001 tới 31/12/9999. time(n) 3-5 Chỉ có giờ (không chứa phần ngày) từ 00:00:00,0000000 tới 23:59:59,9999999, với độ chính xác 0,0000001 giây; n là số từ 0 tới 7 được sử dụng cho độ chính xác phân đoạn giây. datetime2(n) 6-8 Ngày từ 1/1/0001 tới 31/12/9999, với giá trị thời gian từ 00:00:00,0000000 tới 23:59:59,9999999. datetimeoffset(n) 8-10 Mở rộng của kiểu datetime2, thêm múi giờ (time zone) được biểu diễn bởi giá trị từ -14 tới +14.
  • 9. Các kiểu dữ liệu giá trị lớn Kiểu Mô tả Kiểu dữ liệu sử dụng trong phiên bản trước SQL 2005 tương ứng varchar(max) - Làm việc tương tự như kiểu varchar - Nhưng có thể lưu trữ tới 2.147.483.648 byte dữ liệu. text nvarchar(max) - Làm việc tương tự như kiểu nvarchar - Có thể lưu trữ tới 2.147.483.648 byte dữ liệu. ntext Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 9 nvarchar(max) - Làm việc tương tự như kiểu nvarchar - Có thể lưu trữ tới 2.147.483.648 byte dữ liệu. ntext varbinary(max) - Lưu trữ dữ liệu nhị phân độ dài biến đổi tối đa tới 2.147.483.648 byte. - Số lượng byte được sử dụng để lưu trữ phụ thuộc vào độ dài thực sự của dữ liệu. image
  • 10. Kiểu dữ liệu chuỗi: Là kiểu dữ liệu thường được sử dụng nhất. Kiểu char và nchar dùng để lưu trữ chuỗi có độ dài cố định. Ví dụ: Mã sinh viên Kiểu varchar, nvarchar dùng để lưu trữ chuỗi có độ dài thay đổi. Kiểu nchar, nvarchar dùng để lưu trữ kí tự Unicode. Hệ thống hỗ trợ đa ngôn ngữ nên sử dụng kiểu này. Tóm lược Kiểu dữ liệu chuỗi: Là kiểu dữ liệu thường được sử dụng nhất. Kiểu char và nchar dùng để lưu trữ chuỗi có độ dài cố định. Ví dụ: Mã sinh viên Kiểu varchar, nvarchar dùng để lưu trữ chuỗi có độ dài thay đổi. Kiểu nchar, nvarchar dùng để lưu trữ kí tự Unicode. Hệ thống hỗ trợ đa ngôn ngữ nên sử dụng kiểu này. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 10
  • 11. Kiểu dữ liệu số Dùng lưu trữ các dữ liệu số, sử dụng trong tính toán Trong một số trường hợp thường sử dụng kiểu chuỗi làm kiểu dữ liệu thay thế khi lưu trữ dữ liệu số như: số điện thoại, số chứng minh, mã ZipCode Kiểu dữ liệu thời gian Phiên bản SQL Server 2008 hỗ trợ cả những kiểu dữ liệu thời gian của các phiên bản trước Tóm lược Kiểu dữ liệu số Dùng lưu trữ các dữ liệu số, sử dụng trong tính toán Trong một số trường hợp thường sử dụng kiểu chuỗi làm kiểu dữ liệu thay thế khi lưu trữ dữ liệu số như: số điện thoại, số chứng minh, mã ZipCode Kiểu dữ liệu thời gian Phiên bản SQL Server 2008 hỗ trợ cả những kiểu dữ liệu thời gian của các phiên bản trước Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 11
  • 12. Các kiểu dữ liệu giá trị lớn Sử dụng để lưu ảnh cùng các dạng ký tự cũng như dữ liệu nhị phân lớn. Nên tránh sử dụng các kiểu dữ liệu text, ntext và image (được sử dụng trước SQL Server 2005) Tóm lược Các kiểu dữ liệu giá trị lớn Sử dụng để lưu ảnh cùng các dạng ký tự cũng như dữ liệu nhị phân lớn. Nên tránh sử dụng các kiểu dữ liệu text, ntext và image (được sử dụng trước SQL Server 2005) Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 12
  • 13. SQL Server cho phép sử dụng các từ đồng nghĩa với kiểu dữ liệu chuẩn ANSI thay thế cho kiểu dữ liệu của SQL Server. Khi sử dụng từ đồng nghĩa, SQL Server tự động chuyển về kiểu dữ liệu SQL Server tương ứng Tuy nhiên không nên sử dụng từ đồng nghĩa. Trừ từ đồng nghĩa Rowversion Tham khảo phần Kiểu dữ liệu chuẩn ANSI và kiểu tương ứng trong SQL Server Tóm lược SQL Server cho phép sử dụng các từ đồng nghĩa với kiểu dữ liệu chuẩn ANSI thay thế cho kiểu dữ liệu của SQL Server. Khi sử dụng từ đồng nghĩa, SQL Server tự động chuyển về kiểu dữ liệu SQL Server tương ứng Tuy nhiên không nên sử dụng từ đồng nghĩa. Trừ từ đồng nghĩa Rowversion Tham khảo phần Kiểu dữ liệu chuẩn ANSI và kiểu tương ứng trong SQL Server Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 13
  • 14. Khám phá cách sử dụng các kiểu dữ liệu của các bảng trong cơ sở dữ liệu mẫu AP. Ví dụ về kiểu dữ liệu Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 14
  • 15. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 15
  • 16. Tạo CSDL Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 16
  • 17. Hướng dẫn tạo bảng Nhập tên các cột, kiểu dữ liệu, chấp nhận thuộc tính NULL tại đây Click vào đây để thiết lập khóa chính cho cột được chọn Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 17 Nhập tên các cột, kiểu dữ liệu, chấp nhận thuộc tính NULL tại đây Thay đổi thuộc tính cho cột tại đây
  • 18. Chỉnh sửa bảng: Thay đổi tên cột, thuộc tính cột rồi chọn nút Save . Xóa và chỉnh sửa bảng Chỉnh sửa bảng Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 18 Xóa bảng
  • 19. Thanh công cụ làm việc với bảng. Chỉ hiển thị khi ở chế độ Table Design Các hướng dẫn làm việc với bảng khác Nút Manage Indexes and Keys: Làm việc với Index và khóa Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 19 Thiết lập khóa chính Nút Relationships : Làm việc với khóa ngoại Nút Manage Check Contrains: Kiểm tra ràng buộc cho cột
  • 20. Hướng dẫn làm việc với quan hệ khóa ngoại Click vào button Relationships trên thanh công cụ Danh sách khóa ngoại Click vào đây để chọn bảng liên kết tới Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 20 Xóa khóa ngoại được chọn Thêm khóa ngoại mới Danh sách khóa ngoại Chỉ định tên cho khóa ngoại tại đây
  • 21. Click vào nút Manage Check Constraints trên thanh công cụ Hướng dẫn làm việc với ràng buộc kiểm tra Nhập biểu thức ràng buộc cho cột tại đây Đặt là No để SQL Server không kiểm tra dữ liệu đang tồn tại với điều kiện ràng buộc Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 21 Xóa ràng buộc được chọn trong danh sách Thêm một ràng buộc Danh sách các ràng buộc của bảng Đặt là No để SQL Server không kiểm tra dữ liệu đang tồn tại với điều kiện ràng buộc Đặt là No. SQL Server sẽ không ép buộc thao tác INSERT và UPDATE
  • 22. Demo tạo CSDL Quản lý nhân viên (Casestudy “Hướng dẫn sử dụng Management Studio để thiết kế CSDL”) Chọn kiểu dữ liệu phù hợp cho các cột Tạo bảng & quan hệ giữa các bảng Demo Demo tạo CSDL Quản lý nhân viên (Casestudy “Hướng dẫn sử dụng Management Studio để thiết kế CSDL”) Chọn kiểu dữ liệu phù hợp cho các cột Tạo bảng & quan hệ giữa các bảng Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 22
  • 23. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 23
  • 24. Nội dung đã học trong môn CSDL Ngôn ngữ định nghĩa dữ liệu (DDL) Ngôn ngữ thao tác dư liệu (DML) Ngôn ngữ điều khiển dữ liệu (DCL) T-SQL Nội dung đã học trong môn CSDL Ngôn ngữ định nghĩa dữ liệu (DDL) Ngôn ngữ thao tác dư liệu (DML) Ngôn ngữ điều khiển dữ liệu (DCL) Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 24
  • 25. Các tính năng lập trình mới Biến Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN) Chú thích Định danh (Identifiers): Là các đối tượng CSDL như Bảng View, Stored Procedure… (Học trong các bài sau) Hàm Hàm thư viện (Học trong các bài sau) Hàm người dùng định nghĩa (Học trong các bài sau) Chú ý: T-SQL không phân biệt chữ hoa, chữ thường T-SQL Các tính năng lập trình mới Biến Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN) Chú thích Định danh (Identifiers): Là các đối tượng CSDL như Bảng View, Stored Procedure… (Học trong các bài sau) Hàm Hàm thư viện (Học trong các bài sau) Hàm người dùng định nghĩa (Học trong các bài sau) Chú ý: T-SQL không phân biệt chữ hoa, chữ thường Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 25
  • 26. Câu lệnh Mô tả CREATE DATABASE Tạo mới một CSDL CREATE TABLE Tạo mới một bảng trong CSDL hiện tại CREATE INDEX Tạo một index mới cho bảng được chỉ định trước Ngôn ngữ định nghĩa dữ liệu Đã học Tạo một index mới cho bảng được chỉ định trước CREATE FUNCTION Tạo hàm người dùng định nghĩa CREATE PROCEDURE Tạo một Stored Procedure (Thủ tục được lưu trữ) CREATE TRIGGER Tạo mới một trigger CREATE VIEW Tạo mới một View Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 26 Sẽ học trong các phần sau
  • 27. Câu lệnh Mô tả ALTER TABLE Sửa thiết kế bảng ALTER FUCTION Sửa hàm người dùng định nghĩa Ngôn ngữ định nghĩa dữ liệu Đã học ALTER FUCTION Sửa hàm người dùng định nghĩa ALTER TRIGGER Sửa trigger ALTER VIEW Sửa View ALTER PROCEDURE Sửa Stored Procedure Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 27 Sẽ học trong các phần sau
  • 28. Câu lệnh Mô tả DROP DATABASE Xóa một CSDL DROP INDEX Xóa một index Ngôn ngữ định nghĩa dữ liệu Đã học DROP FUNCTION Xóa một function DROP PROCEDURE Xóa một Procedure DROP TRIGGER Xóa một trigger DROP VIEW Xóa một View Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 28 Sẽ học trong các phần sau
  • 29. Câu lệnh Mô tả SELECT Truy xuất dữ liệu từ một hoặc nhiều bảng INSERT Thêm một hàng dữ liệu vào bảng UPDATE Cập nhật dữ liệu Ngôn ngữ thao tác dữ liệu Giống các câu lệnh SQL đã học trong môn CSDL UPDATE Cập nhật dữ liệu DELETE Xóa dữ liệu Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 29 Giống các câu lệnh SQL đã học trong môn CSDL
  • 30. Sinh viên ôn tập lại các câu lệnh CREATE DATABASE CREATE TABLE CREATE INDEX ALTER TABLE SELECT INSERT UPDATE DELETE Ôn tập Sinh viên ôn tập lại các câu lệnh CREATE DATABASE CREATE TABLE CREATE INDEX ALTER TABLE SELECT INSERT UPDATE DELETE Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 30
  • 31. Cú pháp chú thích một dòng đơn -- Viết chú thích một dòng đơn ở đây Cú pháp chú thích nhiều dòng /* Chú thích nhiều dòng */ Chú thích Cú pháp chú thích một dòng đơn -- Viết chú thích một dòng đơn ở đây Cú pháp chú thích nhiều dòng /* Chú thích nhiều dòng */ Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 31
  • 32. Biến Biến vô hướng Biến bảng Lưu trữ Hai loại biến Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL Giá trị đơn (Giá trị dữ liệu chuẩn) Tập kết quả (Dữ liệu bảng) Lưu trữ 32
  • 33. Khai báo Cú pháp DECLARE @<tên biến 1> <kiểu dữ liệu> [, @<tên biến 2> <kiểu dữ liệu>]… Gán giá trị Cú pháp của câu lệnh SET SET @<tên biến> = <biểu thức> Sử dụng để gán giá trị cho một biến Cú pháp câu lệnh SELECT SELECT @<tên biến> = <biểu thức cột> SELECT có thể dùng để gán giá trị cho 2 hoặc nhiều biến. Truy xuất giá trị biến: SELECT @<tên biến> Biến vô hướng Khai báo Cú pháp DECLARE @<tên biến 1> <kiểu dữ liệu> [, @<tên biến 2> <kiểu dữ liệu>]… Gán giá trị Cú pháp của câu lệnh SET SET @<tên biến> = <biểu thức> Sử dụng để gán giá trị cho một biến Cú pháp câu lệnh SELECT SELECT @<tên biến> = <biểu thức cột> SELECT có thể dùng để gán giá trị cho 2 hoặc nhiều biến. Truy xuất giá trị biến: SELECT @<tên biến> Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 33
  • 34. Biến vô hướng -- Khai báo biến DECLARE @VendorIDVar int -- Giá trị ID của nhà cung cấp @MaxInvoice money, -- Tổng số tiền hóa đơn thanh toán lớn nhất @MinInvoice money, -- Tổng số tiền hóa đơn thanh toán nhỏ nhất -- Gán giá trị cho biến @VendorIDVar SET @VendorIDVar = 95 -- Gán giá trị cho biến @MaxInvoice bằng tổng số tiền hóa đơn lớn nhất tương ứng với nhà cung cấp @VendorIDVar SET @MaxInvoice = (SELECT MAX(InvoiceTotal) FROM Invoices WHERE VendorID = @VendorIDVar) SELECT @MaxInvoice -- Truy xuất giá trị biến Ví dụ 1: Gán giá trị cho biến sử dụng câu lệnh SET Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL -- Khai báo biến DECLARE @VendorIDVar int -- Giá trị ID của nhà cung cấp @MaxInvoice money, -- Tổng số tiền hóa đơn thanh toán lớn nhất @MinInvoice money, -- Tổng số tiền hóa đơn thanh toán nhỏ nhất -- Gán giá trị cho biến @VendorIDVar SET @VendorIDVar = 95 -- Gán giá trị cho biến @MaxInvoice bằng tổng số tiền hóa đơn lớn nhất tương ứng với nhà cung cấp @VendorIDVar SET @MaxInvoice = (SELECT MAX(InvoiceTotal) FROM Invoices WHERE VendorID = @VendorIDVar) SELECT @MaxInvoice -- Truy xuất giá trị biến 34 Ví dụ 1: Gán giá trị cho biến sử dụng câu lệnh SET
  • 35. Biến vô hướng -- Gán giá trị cho các biến được khai báo ở ví dụ 1 sử dụng câu lệnh SELECT SELECT @MaxInvoice = MAX(InvoiceTotal),@MinInvoice = MIN(InvoiceTotal) FROM Invoices WHERE VendorID = @VendorIDVar SELECT @MaxInvoice, @MinInvoice -- Truy xuất giá trị biến Ví dụ 2: Gán giá trị cho biến sử dụng câu lệnh SET Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 35 -- Gán giá trị cho các biến được khai báo ở ví dụ 1 sử dụng câu lệnh SELECT SELECT @MaxInvoice = MAX(InvoiceTotal),@MinInvoice = MIN(InvoiceTotal) FROM Invoices WHERE VendorID = @VendorIDVar SELECT @MaxInvoice, @MinInvoice -- Truy xuất giá trị biến
  • 36. Biến bảng Cú pháp khai báo biến bảng DECLARE @<tên bảng> TABLE (<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>] [, <tên cột 2> <kiểu dữ liệu> [<Các thuộc tính cột>]]… [, <Các thuộc tính bảng>]) Phần định nghĩa cột &các thuộc tính bảng Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL Cú pháp khai báo biến bảng DECLARE @<tên bảng> TABLE (<tên cột 1> <kiểu dữ liệu> [<Các thuộc tính cột>] [, <tên cột 2> <kiểu dữ liệu> [<Các thuộc tính cột>]]… [, <Các thuộc tính bảng>]) Phần định nghĩa cột &các thuộc tính bảng 36
  • 37. Phần định nghĩa cột và các thuộc tính bảng. Có cú pháp giống như câu lệnh định nghĩa một bảng mới (CREATE TABLE) Biến bảng được sử dụng giống như bảng chuẩn SQL. Có thể tham chiếu đến biến bảng trong câu lệnh SELECT, INSERT, UPDATE, DELETE như bảng chuẩn Ngoại lệ: Không thể sử dụng câu lệnh SELECT INTO với biến bảng. Biến bảng Phần định nghĩa cột và các thuộc tính bảng. Có cú pháp giống như câu lệnh định nghĩa một bảng mới (CREATE TABLE) Biến bảng được sử dụng giống như bảng chuẩn SQL. Có thể tham chiếu đến biến bảng trong câu lệnh SELECT, INSERT, UPDATE, DELETE như bảng chuẩn Ngoại lệ: Không thể sử dụng câu lệnh SELECT INTO với biến bảng. Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 37
  • 38. Demo Sử dụng biến bảng -- Khai báo biến bảng @BigVendors lưu dữ liệu VendorID & VendorName của các --- -- nhà cung cấp DECLARE @BigVendors TABLE (VendorID int, VendorName varchar(50)) -- Chèn dữ liệu vào biến bảng INSERT @BigVendors SELECT VendorID, VendorName FROM Vendors WHERE VendorID IN (SELECT VendorID FROM Invoices WHERE InvoiceTotal > 5000) SELECT * FROM @BigVendors -- Truy xuất dữ liệu từ biến bảng Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL -- Khai báo biến bảng @BigVendors lưu dữ liệu VendorID & VendorName của các --- -- nhà cung cấp DECLARE @BigVendors TABLE (VendorID int, VendorName varchar(50)) -- Chèn dữ liệu vào biến bảng INSERT @BigVendors SELECT VendorID, VendorName FROM Vendors WHERE VendorID IN (SELECT VendorID FROM Invoices WHERE InvoiceTotal > 5000) SELECT * FROM @BigVendors -- Truy xuất dữ liệu từ biến bảng 38
  • 39. Cú pháp IF <biểu thức điều kiện> {<Câu lệnh>|BEGIN...END} [ELSE {<Câu lệnh>|BEGIN...END}] Chú ý: Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề IF hoặc ELSE. Bạn cần bao các câu lệnh này trong khối BEGIN…END Các câu lệnh điều khiển - IF…ELSE Cú pháp IF <biểu thức điều kiện> {<Câu lệnh>|BEGIN...END} [ELSE {<Câu lệnh>|BEGIN...END}] Chú ý: Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề IF hoặc ELSE. Bạn cần bao các câu lệnh này trong khối BEGIN…END Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 39
  • 40. Demo Sử dụng câu lệnh IF…ELSE DECLARE @vendorID int SELECT @vendorID = ISNULL(VendorID,0) FROM VENDORS WHERE VendorName ='US Postal Service' IF @vendorID = 0 PRINT 'Không tồn tại nhà cung cấp US Postal Service' ELSE PRINT 'US Postal Service có VendorID là ' + CAST(@vendorID AS VARCHAR) Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL DECLARE @vendorID int SELECT @vendorID = ISNULL(VendorID,0) FROM VENDORS WHERE VendorName ='US Postal Service' IF @vendorID = 0 PRINT 'Không tồn tại nhà cung cấp US Postal Service' ELSE PRINT 'US Postal Service có VendorID là ' + CAST(@vendorID AS VARCHAR) 40
  • 41. Cú pháp WHILE <biểu thức điều kiện> {<câu lệnh>|BEGIN...END} [BREAK] [CONTINUE] Chú ý: Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề WHILE. Bạn cần bao các câu lệnh này trong khối BEGIN…END Các câu lệnh điều khiển – WHILE Cú pháp WHILE <biểu thức điều kiện> {<câu lệnh>|BEGIN...END} [BREAK] [CONTINUE] Chú ý: Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề WHILE. Bạn cần bao các câu lệnh này trong khối BEGIN…END Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 41
  • 42. Demo sử dụng câu lệnh WHILE DECLARE @a int , @Tổng int SET @a = 1 SET @Tổng = 0 WHILE (@a <= 10) BEGIN SELECT @Tổng = @Tổng + @a SET @a = @a + 1 END SELECT @Tổng Ví dụ: sử dụng vòng lặp WHILE để tính tổng các số từ 1 đến 10 Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL DECLARE @a int , @Tổng int SET @a = 1 SET @Tổng = 0 WHILE (@a <= 10) BEGIN SELECT @Tổng = @Tổng + @a SET @a = @a + 1 END SELECT @Tổng 42
  • 43. Trả về giá trị dựa vào điều kiện được chỉ định. Có 2 loại hàm CASE 1. Cú pháp hàm CASE đơn giản CASE <biểu thức> WHEN <biểu thức 1> THEN <biểu thức kết quả 1> [WHEN <biểu thức 2> THEN <biểu thức kết quả 2>]... [ELSE <biểu thức kết quả mệnh đề else>] END Ví dụ: Hàm CASE Trả về giá trị dựa vào điều kiện được chỉ định. Có 2 loại hàm CASE 1. Cú pháp hàm CASE đơn giản CASE <biểu thức> WHEN <biểu thức 1> THEN <biểu thức kết quả 1> [WHEN <biểu thức 2> THEN <biểu thức kết quả 2>]... [ELSE <biểu thức kết quả mệnh đề else>] END Ví dụ: Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 43 SELECT InvoiceNumber, TermsID, CASE TermsID WHEN 1 THEN 'Net due 10 days' WHEN 2 THEN 'Net due 20 days' WHEN 3 THEN 'Net due 30 days' WHEN 4 THEN 'Net due 60 days' WHEN 5 THEN 'Net due 90 days' END AS Terms FROM Invoices
  • 44. 2. Cú pháp hàm tìm kiếm CASE CASE WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1> [WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1>]... [ELSE <biểu thức kết quả mệnh đề else] END Ví dụ: Hàm CASE SELECT InvoiceNumber, InvoiceTotal, InvoiceDate, InvoiceDueDate, CASE WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 30 THEN 'Over 30 days past due' WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 0 THEN '1 to 30 days past due' ELSE 'Current' END AS Status FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0 2. Cú pháp hàm tìm kiếm CASE CASE WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1> [WHEN <biểu thức điều kiện 1> THEN <biểu thức kết quả 1>]... [ELSE <biểu thức kết quả mệnh đề else] END Ví dụ: Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 44 SELECT InvoiceNumber, InvoiceTotal, InvoiceDate, InvoiceDueDate, CASE WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 30 THEN 'Over 30 days past due' WHEN DATEDIFF(day, InvoiceDueDate, GETDATE()) > 0 THEN '1 to 30 days past due' ELSE 'Current' END AS Status FROM Invoices WHERE InvoiceTotal - PaymentTotal - CreditTotal > 0
  • 45. Các kiểu dữ liệu SQL hỗ trợ 26 kiểu dữ liệu cơ bản. Được chia thành 4 nhóm Kiểu dữ liệu chuỗi Kiểu dữ liệu số Kiểu dữ liệu thời gian Kiểu dữ liệu giá trị lớn Tổng kết Các kiểu dữ liệu SQL hỗ trợ 26 kiểu dữ liệu cơ bản. Được chia thành 4 nhóm Kiểu dữ liệu chuỗi Kiểu dữ liệu số Kiểu dữ liệu thời gian Kiểu dữ liệu giá trị lớn Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 45
  • 46. Hai cách để tạo CSDL quan hệ trên SQL Server Sử dụng các câu lệnh định nghĩa dữ liệu (DDL) Sử dụng công cụ Management Studio T-SQL giống với ngôn ngữ SQL chuẩn đã học gồm có: Ngôn ngữ định nghĩa dữ liệu (DDL) Ngôn ngữ thao tác dữ liệu (DML) Ngôn ngữ điều khiển dữ liệu (DCL) Tổng kết Hai cách để tạo CSDL quan hệ trên SQL Server Sử dụng các câu lệnh định nghĩa dữ liệu (DDL) Sử dụng công cụ Management Studio T-SQL giống với ngôn ngữ SQL chuẩn đã học gồm có: Ngôn ngữ định nghĩa dữ liệu (DDL) Ngôn ngữ thao tác dữ liệu (DML) Ngôn ngữ điều khiển dữ liệu (DCL) Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 46
  • 47. T-SQL cung cấp các tiện ích lập trình Biến Biến vô hướng: Lưu trữ giá trị đơn (các kiểu dữ liệu chuẩn) Biến bảng: Lưu trữ tập kết quả từ câu lệnh truy vấn Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN) Chú thích Định danh (Identifiers): Là các đối tượng CSDL như Bảng View, Stored Procedure… (Học trong các bài sau) Hàm Hàm thư viện (Học trong các bài sau) Hàm người dùng định nghĩa (Học trong các bài sau) Tổng kết T-SQL cung cấp các tiện ích lập trình Biến Biến vô hướng: Lưu trữ giá trị đơn (các kiểu dữ liệu chuẩn) Biến bảng: Lưu trữ tập kết quả từ câu lệnh truy vấn Các cấu trúc điều khiển (IF…ELSE, WHILE, CASE…WHEN) Chú thích Định danh (Identifiers): Là các đối tượng CSDL như Bảng View, Stored Procedure… (Học trong các bài sau) Hàm Hàm thư viện (Học trong các bài sau) Hàm người dùng định nghĩa (Học trong các bài sau) Tạo CSDL quan hệ & Ngôn ngữ truy vấn T-SQL 47