Bài giảng Quản trị cơ sở dữ liệu (Bản đẹp)
4/12/2019
NỘI DUNG HỌC PHẦN
BÀI GIẢNG
QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Phần 1: Tổng quan về quản trị CSDL
• Phần 2: Hệ quản trị CSDL SQL Server
• Phần 3: Các hoạt động quản trị CSDL
trong hệ thống thông tin
Bộ môn CNTT – Khoa HTTT Kinh tế&TMĐT
NỘI DUNG BÀI 1
• TỔNG QUAN VỀ QUẢN TRỊ CSDL
– Hoạt động quản trị cơ sở dữ liệu
– Người quản trị cơ sở dữ liệu
BÀI 01
– Phần mềm quản trị cơ sở dữ liệu
– Kiến trúc hệ quản trị cơ sở dữ liệu
TỔNG QUAN VỀ QUẢN TRỊ CSDL
1.1. Hoạt động quản trị CSDL
1.1. Hoạt động quản trị CSDL
Các kiểu dữ liệu phổ biến
• Khái niệm CSDL:
– Là một tập hợp dữ liệu có cấu trúc được lưu
trên các thiết bị lưu trữ như băng từ, đĩa từ
nhằm thỏa mãn nhu cầu khai thác đồng thời
của nhiều người sử dụng, nhiều chương
trình ứng dụng tại cùng thời điểm
– CSDL là một bộ sưu tập các dữ liệu tác
nghiệp được lưu trữ lại và được các hệ ứng
dụng của một đơn vị, tổ chức nào đó sử
dụng
1
4/12/2019
1.1. Hoạt động quản trị CSDL
• Ưu điểm của CSDL
– Giảm sự trùng lặp thông tin -> đảm bảo tính
nhất quán và toàn vẹn dữ liệu
– Dữ liệu có thể truy xuất theo nhiều cách khác
nhau mà không mất mát thông tin
– Có khả năng chia sẻ thông tin
1.1. Hoạt động quản trị CSDL
1.1. Hoạt động quản trị CSDL
• Một số vấn đề đặt ra khi sử dụng CSDL
– Làm thế nào để đảm bảo được tính chủ quyền của
dữ liệu -> Cần có biện pháp an toàn dữ liệu, có các
ràng buộc nhằm toàn vẹn ngữ nghĩa, đảm bảo toàn
vẹn dữ liệu
– Vấn đề bảo mật và quyền của người sử dụng trong
môi trường mạng
– Giải quyết tranh chấp dữ liệu khi nhiều người dùng
cùng sử dụng dữ liệu -> quản trị giao dịch tốt
– Vấn đề an toàn, phòng chống khả năng phục hồi ?
1.1. Hoạt động quản trị CSDL
1.1. Hoạt động quản trị CSDL
• Vai trò của quản trị CSDL trong HTTT
– Có vai trò quan trọng do
• Mục đích của QTCSDL
– Đảm bảo CSDL luôn luôn toàn vẹn, bí mật và sẵn
sàng cho người dử dụng trong hệ thống
– Các công việc cần thực hiện
• Theo dõi định kỳ, xử lý sự cố
• Sao lưu
• Dữ liệu là một loại tài sản đặc biệt của các tổ
chức, đơn vị kinh doanh
• Nếu tổ chức, đơn vị kinh doanh có hoạt động quản
trị CSDL tốt thì năng suất HTTT sẽ hiệu quả và
giảm thiểu rủi ro cho hệ thống
• Điều chỉnh CSDL
• Bảo mật
• Phục hồi
• …
2
4/12/2019
Một số nhiệm vụ của DBA Oracle
1.2 Người quản trị CSDL
• Khái niệm
– DBA (DataBase Administrator): Là người có
trách nhiệm điều khiển tập trung đối với dữ
liệu cũng như các chương trình, người truy
cập đến dữ liệu
– DBA là người có trách nhiệm cài đặt, vận
hành, duy trì, kiểm soát, sao lưu và xử lý sự
cố cho CSDL của hệ thống
1.2 Người quản trị CSDL
Một số nhiệm vụ của DBA
1.2 Người quản trị CSDL
Một số nhiệm vụ của DBA
• Xây dựng CSDL:
• Quản lý vận hành
– Thiết kế các lược đồ vật lý và lược đồ khái niệm
– Tinh chỉnh CSDL
– Đảm bảo tính sẵn sàng
– Xử lý các truy vấn và giao dịch
– Cải thiện hệ thống xử lý
– Tối ưu tổ chức lưu trữ
– Thiết kế các ràng buộc và toàn vẹn dữ liệu
• Đảm bảo an toàn và bảo mật
– Xác định các nguy cơ
– Lựa chọn hệ QTCSDL
– Cài đặt, nâng cấp khi cần thiết
– Lựa chọn, cài đặt các biện pháp phòng chống và
khắc phục sự cố
– Đảm bảo xác thực và toàn vẹn
1.2 Người quản trị CSDL
Một số yêu cầu đối với DBA
1.3 Phần mềm quản trị CSDL
• Lý do ra đời
• Có hiểu biết về HT CSDL và HTTT của tổ chức
– Kích thước và độ phức tạp của CSDL ngày càng
lớn
– Dung lượng lưu trữ, thời gian truy xuất càng ngày
càng đòi hỏi nhiều hơn
– Các nguy cơ mất an toàn đối với dữ liệu ngày
càng tăng nhanh
• Có kiến thức về CSDL, CNTT, HT mạng máy
tính
• Có kỹ năng giao tiếp, hiểu và phân tích được
yêu cầu của khách hàng và người quản lý
• Nhanh nhạy nắm bắt các công nghệ mới trong
quản trị CSDL và các biện pháp an ninh cho HT
CSDL
– Trình độ và khả năng sử dụng CSDL của người
dùng rất khác nhau
=> Cần có phần mềm hỗ trợ người dùng trong tổ
chức, truy cập, truy xuất, …
3
4/12/2019
1.3 Phần mềm quản trị CSDL
Hệ quản trị CSDL
1.3 Phần mềm quản trị CSDL
• Khái niệm
– Là một phần mềm cho phép tạo lập , lưu trữ
và truy xuất thông tin từ một CSDL
•
•
•
•
Dung lượng khổng lồ
Độ phức tạp lớn
cho nhiều mô hình dữ liệu khác nhau
Độ an toàn thấp
Yêu cầu của người dùng
1.3 Phần mềm quản trị CSDL
Đặc điểm của DBMS
Hệ QT CSDL trong HTTT
• Quản trị giao dịch
• Điều khiển truy cập
• Toàn vẹn dữ liệu
• Phục hồi dữ liệu
1.3 Phần mềm quản trị CSDL
Đặc điểm của DBMS
1.3 Phần mềm quản trị CSDL
Hệ QT CSDL quan hệ - RDBMS
• Hỗ trợ ít nhất một mô hình dữ liệu:
– Hỗ trợ mô hình dữ liệu phân cấp: IMS (IBM)
• Là hệ QT CSDL hỗ trợ cho mô hình dữ liệu
quan hệ
– Hỗ trợ mô hình dữ liệu quan hệ: System_R (IBM),
DB2, Bbase, Oracle, SQL Server, My SQL, …
• Vai trò
– Hỗ trợ mô hình dữ liệu hướng đối tượng: Orien,
Itasca, ODMG, O2, …
• Đảm bảo tính độc lập dữ liệu về mặt vật lý và
logic
• Hỗ trợ các ngôn ngữ cấp cao nhất định
– My SQL (asp, php), SQL Server (.net, …)…
4
4/12/2019
1.3 Phần mềm quản trị CSDL
Phần mềm hỗ trợ
• Phần mềm cung cấp giao diện đồ họa:
– Workbench, Navicat (GUI)
• Phần mềm hỗ trợ duyệt
– Database Browser
• Phần mềm hỗ trợ thiết kế
– Active Table Editor
1.4 Kiến trúc hệ quản trị CSDL
Kiến trúc tổng thể
1.4 Kiến trúc hệ quản trị CSDL
• Khái niệm
– Gồm các thành phần cấu thành hệ QT CSDL,
cho phép người dùng có thể tác nghiệp dễ
dàng và hiệu quả
1.4 Kiến trúc hệ quản trị CSDL
Các thành phần
1.4 Kiến trúc hệ quản trị CSDL
Hoạt động của hệ thống
•
•
•
Thiết bị lưu trữ
– Lưu trữ các lược đồ, các ràng buộc, các truy vấn, …
Chỉ dẫn (Index):
– Một cầu trúc cho phép tìm kiếm nhanh
Bộ quản lý lưu trữ:
– Cho phép lấy ra dữ liệu, thay đổi dữ liệu khi có yêu cầu ở
mức cao hơn
•
•
Bộ xử lý câu truy vấn
– Điều khiển việc xử lý câu truy vấn và yêu cầu đối với bộ
quản lý lưu trữ
Quản trị giao dịch
– Đảm bảo tính toàn vẹn của dữ liệu khi hệ thống hoạt động
5
4/12/2019
1.4 Kiến trúc hệ quản trị CSDL
Thao tác trong hệ QT CSDL
Ví dụ
• Tạo mới, thay đổi, chỉnh sửa lược đồ
• Cập nhật dữ liệu gồm:
– Thêm mới, chỉnh sửa, lưu, xóa
• Truy vấn dữ liệu
– Thông qua một giao diện truy vấn chung
– Thông qua các chương trình ứng dụng
Tổng kết
• Khái niệm CSDL? Quản trị CSDL? Hệ QT
CSDL? Kiến trúc hệ CSDL?
BÀI 02
• Mục đích của hệ QTCSDL? Vai trò của QT
CSDL trong hệ thống?
HỆ QUẢN TRỊ CSDL SQL SERVER
• Những vấn đề gặp phải trong quá trình sử
dụng CSDL?
2.1 TỔNG QUAN VỀ SQL SERVER
NỘI DUNG BÀI 2
• Vài nét về SQL Server
• HỆ QUẢN TRỊ CSDL SQL SERVER
– Tổng quan về SQL Server
– Là hệ QT CSDL hỗ trợ mô hình dữ liệu quan
hệ do Microsoft phát triển
– Mô hình hoạt động của SQL Server trong HT
mạng
(Client/Server)
– Một số công cụ của SQL Server 2008
6
4/12/2019
2.1 TỔNG QUAN VỀ SQL SERVER
Lịch sử
2.1 TỔNG QUAN VỀ SQL SERVER
OLTP: OnLine Transaction Processing
OLAP: OnLine Analytical Processing
2.1 TỔNG QUAN VỀ SQL SERVER
Lịch sử
2.1 TỔNG QUAN VỀ SQL SERVER
Giới thiệu
• Vai trò của RDBMS
– Duy trì các quan hệ chứa dữ liệu trong CSDL
– Bảo đảm dữ liệu được lưu trữ đúng và hợp lệ
– Có khả năng phục hồi dữ liệu
2.1 TỔNG QUAN VỀ SQL SERVER
Giới thiệu
2.1 TỔNG QUAN VỀ SQL SERVER
Giới thiệu SQL Server 2008
• SQL Server
•
Truy cập tới CSDL qua ht mạng
Hỗ trợ mô hình Client/Server
– Quản lý truy cập và phân quyền người dùng
– Quản lý tập trung
•
•
•
•
•
•
•
•
Kho dữ liệu (Data WareHouse)
Tương thích với chuẩn ANSI/ISO SQL-92
Hỗ trợ tìm kiếm full-text
– Có hỗ trợ OLAP và OLTP
– Ứng dụng được cho TMĐT và Kho dữ liệu
Hỗ trợ tìm kiếm trực tuyến (Books Online)
Hỗ trợ nhiều kiểu dữ liệu mới: XML, pictures, video, …
Hỗ trợ File Stream
– Sử dụng T_SQL
• Có DDL (Data Definition Language)
• Có DML (Data Manipulation Language)
• Có DCL (Database Control Language)
Hỗ trợ .Net 3.5
7
4/12/2019
2.2. Mô hình hoạt động
Mô hình Client/Server
2.1 TỔNG QUAN VỀ SQL SERVER
Giới thiệu SQL Server 2008
Client:
Đóng vai trò
busines logic và
biểu diễn dữ
liệu
Server:
Thực hiện các
tiến trình để
quản lý CSDL,
bảo mật, thực
hiện truy vấn,
….
2.2. Mô hình hoạt động
Mô hình SQL trên mạng
2.2. Mô hình hoạt động
Mô hình Desktop
• Có thể thực hiện trao
đổi dữ liệu trên nhiều
mô hình mạng, nhiều
giao thức, nhièu
phương thức truyền
tin khác nhau
2.2. Mô hình hoạt động
Mô hình kết nối ứng dụng
2.3 Một số công cụ của SQL Server 2008
Công cụ
Nội dung
SQL Server Configuration
Management
Khởi động và dừng Server dữ liệu
SQL Server Management
Studio
Thao tác với CSDL
Bộ tài liệu
Books Online
8
4/12/2019
2.3 Một số công cụ của SQL Server 2008
SQL Server Configuration Management
2.3 Một số công cụ của SQL Server 2008
SQL Server Configuration Management
• Công cụ trực quan hỗ trợ quản trị dịch vụ
trên Server
• Các tác vụ thường gặp
• Hỗ trợ thiết lập nhiều máy tính liên kết với
nhau để trao đổi dữ liệu
• Hỗ trợ thiết lập các Instance trên máy đơn
• Hỗ trợ một số tác vụ
2.3 Một số công cụ của SQL Server 2008
SQL Server Configuration Management
2.3 Một số công cụ của SQL Server 2008
SQL Server Management Studio
• Cấu hình kết nối mạng
• Công cụ chính để quản lý, thiết kế và xây
dựng CSDL
• Kết hợp Enterprise Manager và Query
Analyzer của SQL Server 2000
• Giao diện trực quan, dễ dùng, dễ điều
khiển
2.3 Một số công cụ của SQL Server 2008
SQL Server Management Studio
Tạo CSDL mới
2.3 Một số công cụ của SQL Server 2008
SQL Server Management Studio
Tạo truy vấn mới
9
4/12/2019
2.3 Một số công cụ của SQL Server 2008
SQL Server Management Studio
Tạo truy vấn mới
2.3 Một số công cụ của SQL Server 2008
SQL Server Management Studio
Tạo truy vấn mới
2.3 Một số công cụ của SQL Server 2008
Books Online
Tổng kết
• Khái niệm SQL Server ? Lịch sử phát
triển? Những đặc trưng và cải tiến của
phiên bản mới nhất
• Các công cụ trong SQL Server 2008? So
sánh SQL server và Oracle, DB2, My
SQL, …
• Cài đặt SQL Server 2008, thiết lập CSDL
theo bài tập giáo viên cho
NỘI DUNG BÀI 3
• THAO TÁC VỚI CSDL TRONG SQL
SERVER
BÀI 03
– Cấu trúc CSDL SQL Server
– Tạo CSDL và thao tác với bảng
– Sao chép, gán/tách, nhập/xuất CSDL
THAO TÁC VỚI CSDL TRONG
SQL SERVER
10
4/12/2019
3.1 Cấu trúc CSDL trong SQL Server
Cơ chế lưu trữ
3.1 Cấu trúc CSDL trong SQL Server
System Database
•
Master: Lưu toàn bộ thông tin HT của
SQL Server: TT đăng nhập, cấu hình
HT, …
• Mỗi một Database lưu
thành 2 phần
•
Model: Mô hình dùng chung cho tất
cả các CSDL xây dựng trong một
Instance
– Tập tin gồm File.mdf
và các tập tin phụ
File.ndf
•
•
Msdb: Do SQL Server Agent quản lý
để điều khiển hoạt động của CSDL
– Tập tin nhật ký File.ldf
Tempdb: CSDL dùng chung cho moi
người dùng sử dụng trong một
Instance gồm bảng, query,
procedured, …
3.1 Cấu trúc CSDL trong SQL Server
Objects
3.1 Cấu trúc CSDL trong SQL Server
• SQL Server quản lý trực tiếp các CSDL. Mỗi
CSDL sẽ quản lý các cấu trúc vật lý của nó. Do
đó:
– Các bảng dữ liệu (Tables)
– Các chỉ mục (Index)
– Các khung nhìn (Views)
– Các thủ tục lưu trú (Store Procedures)
– Các bẫy lỗi (Triggers)
– Client phải kết nối đến Server để khai thác CSDL
– Các Client chỉ khai thác được các CSDL có tên trong
danh sách mà Server quản lý
– Không mở CSDL trực tiếp được
– Client chỉ thực hiện được các quyền cho phép
3.2 Tạo CSDL và thao tác với bảng
Các kiểu dữ liệu
3.2 Tạo CSDL và thao tác với bảng
Tạo mới CSDL
• Tạo CSDL
11
4/12/2019
3.2 Tạo CSDL và thao tác với bảng
Tạo bảng/Tạo truy vấn
3.2 Tạo CSDL và thao tác với bảng
Ràng buộc và Quan hệ
3.2 Tạo CSDL và thao tác với bảng
Ràng buộc và Quan hệ
3.2 Tạo CSDL và thao tác với bảng
Thiết kế ràng buộc
• Ràng buộc
– Ràng buộc cho cột (trường): Not null,
references, …
– Ràng buộc cho bảng: Not null, Check,
Unique, Primary Key, Foreign Key,
3.3 Thao tác với CSDL
Gán (Attach)
3.3 Thao tác với CSDL
Sao chép
• Sao chép CSDL cho
phép copy và remove
CSDL từ một instance
này đến một instance
khác
12
4/12/2019
3.3 Thao tác với CSDL
Tách (Detach)
3.3 Thao tác với CSDL
Nhập (Import)
3.3 Thao tác với CSDL
Xuất (Export)
Tổng kết
• Cài đặt SQL Server 2008
• Các thao tác với CSDL, với bảng, các
ràng buộc
• Các thao tác quản trị CSDL, sao chép,
gán, tách, nhập, xuất, …
• Học lại các câu lệnh truy vấn tạo bảng, tạo
các quan hệ giữa các bảng và các nội
dung truy vấn khác
NỘI DUNG BÀI 4
• NGÔN NGỮ TRUY VẤN T_SQL
– Các câu lệnh cơ bản
BÀI 04
– Các kiểu biến
– Các cấu trúc điều khiển
NGÔN NGỮ TRUY VẤN T_SQL TRONG
SQL SERVER
13
4/12/2019
NGÔN NGỮ TRUY VẤN T_SQL
Thứ tự thực hiện
•
Thứ tự thực hiện trong câu truy vấn T-SQL như sau:
–
–
Mệnh đề FROM sẽ được thực hiện đầu tiên
Sau đó lần lượt là các phép toán giữa các bảng (table) như JOIN,
APPLY, PIVOT, UNPIVOT…
–
–
–
Tiếp theo là mệnh đề WHERE
Tới mệnh đề ORDER cuối cùng.
Mô hình
mô tả
thứ tự
thực hiện
các câu
lệnh
Tại mỗi bước thực hiện xong thì kết quả trả về là một bảng ảo (virtual
table).
trong
T_SQL
4.1 Các câu lệnh cơ bản
Ngôn ngữ định nghĩa dữ liệu
Ví dụ tạo bảng
TẠO CÁC ĐỐI TƯỢNG
4.1 Các câu lệnh cơ bản
Ngôn ngữ định nghĩa dữ liệu
Ví dụ sửa đổi cấu trúc bảng
SỬA ĐỔI CẤU TRÚC CÁC ĐỐI TƯỢNG
14
4/12/2019
4.1 Các câu lệnh cơ bản
Ngôn ngữ định nghĩa dữ liệu
Ví dụ xóa
XÓA CÁC ĐỐI TƯỢNG
4.1 Các câu lệnh cơ bản
Ngôn ngữ thao tác dữ liệu
Ví dụ
CÁC CÂU LỆNH CƠ BẢN THAO TÁC VỚI DỮ LIỆU
4.2 Các kiểu biến trong T_SQL
Biến
4.1 Các câu lệnh cơ bản
Ngôn ngữ điều khiển dữ liệu
• Biến
CÁC CÂU ĐiỀU KHIỂN DỮ LIỆU
– Biến là một đối tượng để lưu trữ một giá trị dữ
liệu. Có thể dùng câu lệnh T_SQL để truyền
dữ liệu thông qua các tên biến
– Biến thường có 2 loại
• Biến cục bộ: Khai báo và dùng tạm thời khi thực
hiện câu lệnh T_SQL. Bắt đầu bằng @
• Biến toàn cục: Khai báo trước và do hệ thống
quản lý. Bắt đầu bằng @@
15
4/12/2019
4.2 Các kiểu biến trong T_SQL
Biến vô hướng
4.2 Các kiểu biến trong T_SQL
Biến vô hướng
• Biến vô hướng
– Dùng lưu trữ các giá trị dữ liệu chuẩn mà
SQL hỗ trợ. Các giá trị đơn có thể khai báo
trước khi sử dụng
– Khai báo và sử dụng
• DECLARE @[Tên biến] [Kiểu dữ liệu]
DECLARE @OrderId int;
SET @OrderId = 10000;
SELECT * FROM Orders
WHERE OrderID > @OrderId;
4.2 Các kiểu biến trong T_SQL
Biến bảng
4.3 Các cấu trúc điều khiển
•
Biến bảng
• Các cấu trúc điều khiển được sử dụng khi
việc xử lý dữ liệu có nhiều điều kiện ràng
buộc cần thõa mãn
– Một bảng được xem như một biến, sẽ truyền cả nội dung bảng khi
thực hiện câu lệnh T_SQL
– Khai báo và sử dụng
•
DECLARE @<tableVariableName> TABLE (<column1 definition> [,
...])
• Thường phân thành 2 loại
– Rẽ nhánh: IF, Case, …
– Lặp: While, Repeat, …
CREATE PROCEDURE spTableVariableTest AS
DECLARE @myTable TABLE (col1 INT, col2 varchar(20))
INSERT INTO @myTable (col1, col2) VALUES (10, 'Monday')
INSERT INTO @myTable (col1, col2) VALUES (22, 'Tuesday')
SELECT *
FROM @myTable
GO
4.3 Các cấu trúc điều khiển
IF … ELSE
4.3 Các cấu trúc điều khiển
IF … ELSE Lồng nhau
16
4/12/2019
4.3 Các cấu trúc điều khiển
Cấu trúc While
4.3 Các cấu trúc điều khiển
Cấu trúc Case 1
4.3 Các cấu trúc điều khiển
Cấu trúc Case 2
Tổng kết
• Các câu lệnh trong SQL
• Các kiểu biến
• Các cấu trúc điều khiển
NỘI DUNG BÀI 5
STORED PROCEDURE VÀ TRIGGER
TRONG SQL SERVER
– Stored procedure
BÀI 05
STORED PROCEDURE VÀ TRIGGER
TRONG SQL SERVER
– Trigger
17
4/12/2019
5.1 Stored Procedure
5.1 Stored Procedure
Ưu điểm
Thủ tục thường trú
•
Một Stored procedure bao gồm những thành phần chính sau:
–
–
–
Tên của stored procedure
Các tham số
• Cho phép lập trình theo Module
• Cho phép điều chỉnh chương trình cho phù hợp
• Cho phép thực thi nhanh và hiệu quả
• Giảm thiểu sự lưu thông trên mạng
• Bảo mật và tùy chỉnh dễ dàng hơn
Thân của stored procedure: bao gồm các lệnh của Transact-SQL dùng
để thực thi procedure.
•
•
•
Stored Procedure là hàm cho phép truyền tham số vào và trả về giá
trị.
Bao gồm 1 tập các lệnh T-SQL để xử lý 1 chức năng nào đó trong
cơ sở dữ liệu
Được tạo bằng lệnh Create Procedure, và có thể thay đổi bằng
lệnh Alter Procedure, và có thể xóa bằng lệnh Drop Procedure trong
lập lệnh của T_SQL.
5.1 Stored Procedure
Phân loại
5.1 Stored Procedure
Phân loại
5.1 Stored Procedure
Tạo thủ tục
5.1 Stored Procedure
Tạo thủ tục bằng SSMS
• Tạo bằng câu lệnh
• Tạo bằng SSMS
18
4/12/2019
5.1 Stored Procedure
Các dạng tham số
5.1 Stored Procedure
Tạo thủ tục bằng câu lệnh
• Stored Procedure là 1 hàm được lưu trữ
sẵng trong cơ sở dữ liệu. Hàm này có thể
có 2 loại tham số chính
– Tham số đầu vào : Đây là loại tham số mặc định, cho
phép truyền các giá trị vào trong stored procedure để
hỗ trợ xử lý.
– Tham số đầu ra: dùng để nhận kết quả trả về từ stored
procedure. Sử dụng từ khóa OUTPUT (hoặc viết tắt là
OUT) để xác định tham số
5.1 Stored Procedure
Các dạng tham số vào
5.1 Stored Procedure
Các dạng tham số ra
5.1 Stored Procedure
Thực thi thủ tục
5.2 Trigger
Khái niệm
• Trigger là một thủ tục đặc biệt mà việc thực thi
của nó tự động khi có sự kiện xảy ra
• Không thể gọi trực tiếp Trigger và không nhận
tham số
• Phân loại
– DML triggers,
– DDL triggers,
– Logon triggers.
19
4/12/2019
5.2 Trigger
DML trigger
5.2 Trigger
DML trigger
• Khái niệm:
• Mục đích
– DML triggers là các triggers sẽ được tự động thực thi
khi các có sự kiện thao tác dữ liệu xảy tương ứng liên
quan thao tác dữ liệu trên table hoặc view mà nó gắn
kết.
– Dùng để kiểm soát việc thay đổi của dữ liệu
– Luôn gắn với một Table cụ thể trong CSDL
– Hoạt động khi có sự cập nhật (Insert, Update, Delete)
dữ liệu trong Table
– DML là viết tắt của data manipulation language.
Các sự kiện DML bao gồm các lệnh INSERT,
UPDATE, hoặc DELETE thao tác trên các đối tượng
table hoặc view.
– Đảm bảo toàn vẹn dữ liệu
– Phát hiện, ngăn chặn hoặc hủy bỏ những thao tác
thay đổi dữ liệu trái phép trong CSDL
– Tạo và kiểm tra các ràng buộc giữa các bảng trong
CSDL
5.2 Trigger
5.2 Trigger
Bảng logic trong DML trigger
Tạo DML trigger
• Có hai loại DML trigger: AFTER
triggers và INSTEAD OF triggers
•
SQL Server định nghĩa hai bảng logic INSERTED và
DELETED để sử dụng trong các Trigger
– Cấu trúc 2 bảng giống cấu trúc của bảng mà Trigger tác động
– Dữ liệu tùy thuộc ràng buộc và điều kiện kích hoạt Trigger
– Có thể ứng dụng DML trigger thay thế cho
thiết.
– Lệnh Delete thực hiện thì các dòng bị xóa đươc sao chép vào
DELETED (INSERTED rỗng)
– Lệnh Insert thực hiện thì dòng mới được đưa vào INSERTED
(DELETED rỗng)
– Một câu lệnh DML có thể sẽ tác động đến
nhiều dòng trên table, tuy nhiên, chỉ có duy
nhất một kích hoạt trigger xảy ra.
– Lệnh Update thực hiện thì các dòng xóa sẽ vào DELETED còn
dòng chèn mới sẽ vào INSERTED
5.2 Trigger
5.2 Trigger
Tạo DML trigger
Tạo DML trigger
•
Tạo và thực thi AFTER triggers
•
•
Hoạt động của INSTEAD OF triggers
– Có 3 dạng INSERT trigger, UPDATE Trigger và DELETE Trigger
–
Bước 1: Câu lệnh UPDATE, INSERT, hoặc
DELETE được thực thi
–
Hoạt động của INSERT trigger
Bước 1: Câu lệnh insert được thực thi
•
•
•
– Bước 2: Câu lệnh được thực thi không xảy ra
Bước 2: Câu lệnh insert được ghi sổ
– Bước 3: Các câu lệnh của INSTEAD OF
trigger được thực thi
Bước 3: Các câu lệnh của After insert được thực thi
– Hoạt động của UPDATE trigger
•
•
•
Bước 1: Câu lệnh update được thực thi
Dựa trên cách thức hoạt động của INSTEAD OF có thể
thấy thực chất các câu lệnh insert, update , delete tác
động trên table có gắn instead of trigger sẽ chỉ mang
tính phát sinh sự kiện kích hoạt cho các lệnh bên trong
trigger có thể thực thi.
Bước 2: Câu lệnh update được ghi sổ
Bước 3: Các câu lệnh của After update được thực thi
– Hoạt động của DELETE trigger
•
•
•
Bước 1: Câu lệnh delete được thực thi
Bước 2: Câu lệnh delete được ghi sổ
Bước 3: Các câu lệnh của After delete được thực thi
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Quản trị cơ sở dữ liệu (Bản đẹp)", để 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:
bai_giang_quan_tri_co_so_du_lieu_ban_dep.pdf

