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  
– Thông thường một hệ QT CSDL có thể hỗ trợ  
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  
– Hoạt động hỗ trợ mô hình Khách/Chủ  
(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  
công việc của constraint nếu thấy thật cần  
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 đủ
pdf 43 trang yennguyen 21640 Free
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:

  • pdfbai_giang_quan_tri_co_so_du_lieu_ban_dep.pdf