Bài giảng Cơ sở dữ liệu - Chương 7: Ngôn ngữ T-SQL - Đỗ Thị Mai Hường

SDLIU  
GIÁ O VIÊN: Đỗ ThMai Hường  
BMÔ N: Cá c Hthng thô ng tin  
á
KHOA: Cô ng nghthô ng tin  
Email: dohuong@gmail.com  
Lý thuyết CSDL  
1
Chương 7 Ngô n ngT-SQL  
1. Gii thiu T-SQL  
2. Stored Procedure  
3. Function  
4. Trigger  
Lý thuyết CSDL  
2
Mc đí ch  
• Nm vng cá c khá i nim lô (batch) và xlý theo lô  
• Viết cá c câ u lnh SQL thhin logic ca ng dng  
Định nghĩa và gá n giá trcho cá c biến  
• Nm vng và dùng được cá c lnh điều khin cu trúc lp trì nh  
• Nm cá ch dùng biến con trỏ  
• Viết được cá c thtc bn đá p ng yêu cu qt csdl  
• Viết được và Sdng được hàm SQL trong truy vn  
• To được cá c trigger bn  
Lý thuyết CSDL  
3
Gii Thiu Transact SQL (T-SQL)  
• Transact-SQL là ngôn ngSQL mrng da trên SQL chun ca ISO (International  
Organization for Standardization) và ANSI (American National Standards Institute) được  
sdng trong SQL Server T-SQL được chia làm 3 nhóm:  
Data Definition Language (DDL):lnh dùng để qun lý các thuc tính ca mt database  
như định nghĩa các hàng hoc ct ca mt table, hay vtrí data file ca mt  
database...thường có dng  
Create object_Name  
Alter object_Name  
Drop object_Name  
Trong đó object_Name có thlà mt table, view, stored procedure, indexes...  
Ví d:  
Lnh Create sau sto ra mt table tên Importers vi 3 ct  
CompanyID,CompanyName,Contact  
USE Northwind  
• CREATE TABLE Importers(  
CompanyID int NOT NULL,  
CompanyName varchar(40) NOT NULL,  
Contact varchar(40) NOT NULL  
)
Lý thuyết CSDL  
4
Gii Thiu Transact SQL (T-SQL)  
• Data Control Language (DCL):  
Ðây là nhng lnh qun lý các quyn truy cp lên tng object (table, view, stored  
procedure...). Thường có dng sau: Grant, Revoke, Deny  
Ví d:  
Lnh sau scho phép user trong Public Role được quyn Select đối vi table Customer  
trong database Northwind (Role là mt khái nim ging như Windows Group sẽ được  
bàn ktrong phn Security)  
USE Northwind  
GRANT SELECT  
ON Customers  
TO PUBLIC  
Lnh sau stchi quyn Select đối vi table Customer trong database Northwind ca  
các user trong Public Role  
USE Northwind  
DENY SELECT  
ON Customers  
TO PUBLIC  
Lnh sau sxóa btác dng ca các quyn được cho phép hay tchi trước đó  
USE Northwind  
REVOKE SELECT  
ON Customers  
TO PUBLIC  
Lý thuyết CSDL  
5
Gii Thiu Transact SQL (T-SQL)  
• Data Manipulation Language (DML):  
Ðâ y là nhng lnh phbiến dùng để xlý data như Select,  
Update, Insert, Delete  
Lý thuyết CSDL  
6
Gii Thiu Transact SQL (T-SQL)  
• Vd: USE qlysv  
DECLARE @stt INT  
CREATE TABLE sv  
(stt  
INT,  
masv  
NVARCHAR(10)  
NOT NULL  
CONSTRAINT pk_sinhvien PRIMARY KEY,  
NVARCHAR(50) NOT NULL ,  
hoten  
ngaysinh  
gioitinh  
noisinh  
malop  
SMALLDATETIME NULL ,  
NULL ,  
NVARCHAR(100) NULL ,  
BIT  
NVARCHAR(10)  
NULL  
)
SELECT @stt = @@IDENTITY  
INSERT INTO sv  
VALUES(@stt,’SV01CDT2K8’, 'Trn Thu Thu', '11/10/1987',0,'T i bì nh','CDT001K008')  
SELECT * FROM SV  
Lý thuyết CSDL  
7
Gii thiu vxlý theo lô (SQL  
Batch Processing)  
Các lnh SQL riêng  
rẽ  
Được nhóm li thành  
lô (batch)  
Lô (Batch)  
Được biên  
dch thành  
mt kế  
hoch thc  
thi  
Lý thuyết CSDL  
8
Định nghĩa  
Quá trì nh trong đó mt tp lnh được xlý  
cùng lúc được gi là  
Lý thuyết CSDL  
9
Ví dvmt lô (batch)  
Use QlSach  
Select * from tacgia  
Update tacgia  
set phone= ‘098890 4566‘  
where tentg = ‘Trung'  
Go  
Lnh báo hiu kết  
thúc lô  
Lý thuyết CSDL  
10  
Mc đích: Hay dùng phâ n tách nhóm để  
thc hin đc lp  
• VD: Xé t kch bn  
CREATE DaTaBASE qlbanhang  
USE qlbanhang  
CREATE TABLE ktra  
(
A INT,  
B INT  
)
SELECT * FROM ktra  
• --Sbbá o li  
Lý thuyết CSDL  
11  
Cn sa li  
• CREATE DaTaBASE qlbanhang  
GO  
USE qlbanhang  
CREATE TABLE ktra  
(
A INT,  
B INT  
)
GO  
SELECT * FROM ktra  
GO  
Lý thuyết CSDL  
12  
Chú thí ch trong mt lô xlý  
• Cá c chui ký ttrong mã lnh chương trì nh (cò n được gi là chú thí ch)  
khô ng được xlý bi trì nh biên dch.  
• Dùng để gii thí ch cho mã lnh hay vô hiu hó a tm thi cá c thành phn  
câ u lnh T-SQL đang xlý  
• Giúp vic bo trì mã lnh ddàng hơn.  
• Chú thí ch thường được sdng để ghi li tên chương trì nh, tên tá c givà  
ngày thá ng thc hin thay đổi mã lnh.  
• Chú thí ch có thể được dùng để mô tcá c phé p tí nh toá n phc tp hay gii  
thí ch về phương phá p lp trì nh.  
Lý thuyết CSDL  
13  
Cá c hì nh thc chú thí ch  
SQL Server htrhai hì nh thc chú thí ch:  
1) --(hai ghch ngang)  
Ví d:  
USE Qlsach  
GO  
-- Đây là chú thích.  
2) /* ... */ (cp du ghch chéo và du sao)  
Ví d:  
SELECT * FROM nhanvien /*Đây là chú thích*/  
Lý thuyết CSDL  
14  
Chú thí ch nhiu dò ng  
• Chú thí ch nhiu dò ng /* */ khô ng thể vượt quá mt lô . Mt chú thí ch  
hoàn chnh phi nm trong mt lô xlý.  
• Ví d, trong cô ng cQuery Analyzer, lnh GO bá o hiu kết thúc lô . Khi  
gp lnh GO trên dò ng lnh nó sgi tt ccá c mã lnh sau tkhó a  
GO cui cùng lên má y chSQL trong mt lô xlý.  
• Nếu lnh GO xut hin trên mt dò ng gia /* và */ thì Query Analyzer  
sgi đi mt đoạn chú thí ch có cá c ký tự đá nh du sai trong mi lô và  
sgâ y ra li cú p p.  
Lý thuyết CSDL  
15  
Chú ý:  
Đối vi cá c lnh CREATE như là: CREATE DEFAULT,  
CREATE PROCEDURE, CREATE RULE, CREATE  
TRIGGER, CREATE VIEW khô ng được phé p kết hp vi  
cá c lnh khá c trong cùng mt lô .  
Lý thuyết CSDL  
16  
Biến cc bộ  
Lý thuyết CSDL  
17  
Khai bá o bien  
DECLARE @Tên_biến Kiu_d_liu [, ...]  
• Kiu dliu text, ntext hoc image khô ng được chp nhn khi khai  
bao bien  
• Ví d: Để khai bá o cá c biến lưu trgiá trtng số lượng đặt hàng,  
htên nhà cung cp, ngày xut hàng. Sdng lnh DECLARE  
như sau:  
DECLARE @Tongsldat INT, @Hotenncc CHAR(50)  
DECLARE @Ngayxh DATETIME  
Lý thuyết CSDL  
18  
Gá n giá trcho biến  
Tkhó a SET hay SELECT được dùng để gá n giá trcho biến.  
Cú phá p:  
Hoc là:  
SET @<tên biến cc b> = <giá tr>  
SELECT @<Tên biến cc b> = <giá tr>  
Chú ý: Phm vi hot động ca biến chnm trong mt thtc  
hoc mt lô có cha lnh khai bá o biến đó  
Lý thuyết CSDL  
19  
Ví du:  
Để gá n giá trlà ngày 25/03/2002 vào biến ngày xut hàng ta sử  
dng lnh SET như sau:  
• DECLARE @Ngayxh DATETIME  
SET @Ngayxh='2002-03-25'  
Chú ý:Đối vi kiu dliu dng ngày trong Microsoft SQL  
Server thường sdng theo định dng yyyy-mm-dd để gá n  
giá trvào biến hoc vào trong sdliu.  
Lý thuyết CSDL  
20  
Tải về để xem bản đầy đủ
pdf 114 trang yennguyen 08/04/2022 3600
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 7: Ngôn ngữ T-SQL - Đỗ Thị Mai Hường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_7_ngon_ngu_t_sql_do_thi_mai_h.pdf