Bài giảng môn Quản trị cơ sở dữ liệu
Vì sao cần có hệ QTCSDL? Trình bày và so sánh một số hệ
QT CSDL thông dụng?
• SQL Server có những phiên bản nào? So sánh tính năng của
từng phiên bản?
• Các đối tượng sử dụng trong SQL Server?
• Các thành phần chính trong T-SQL?
• Hoạt động của ngôn ngữ T-SQL?
• Index là gì? Vì sao cần dùng index trong quản trị CSDL?
Cách tạo Index?
• Phân đoạn bảng là gì? Vì sao cần dùng phân đoạn bảng
trong quản trị CSDL? Các phân đoạn bảng?
• Tự động hóa quản trị là gì? Vì sao cần tự động hóa quản trị?
• Các thành phần tham gia vào tự động hóa quản trị?
• Toàn vẹn dữ liệu là gì? Vì sao cần toàn vẹn dữ liệu?
24 trang |
Chia sẻ: huongthu9 | Lượt xem: 757 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Quản trị cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 1
Trường Đại học Thương mại
Khoa HTTT Kinh tế và THMĐT
Bộ môn Công nghệ thông tin
Bài giảng học phần:
Quản trị cơ sở dữ liệu
1Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1. Mục đích và yêu cầu
• Mục đích của học phần
– Cung cấp những kiến thức cơ bản về quản trị
CSDL và hệ quản trị CSDL
– Trang bị những hiểu biết cơ bản về quản trị,
Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 2
lập trình CSDL thông qua hệ quản trị SQL
Server
1. Mục đích và yêu cầu (t)
• Yêu cầu cần đạt được
– Nắm vững các kiến thức cơ bản về quản trị
cơ sở dữ liệu
– Có kiến thức về các hoạt động quản trị cơ sở
Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 3
dữ liệu bằng SQL Server
– Sử dụng và thực hiện được việc quản trị cơ
sở dữ liệu bằng SQL Server cho dữ liệu thực
tế
2. Cấu trúc học phần
• Học phần gồm 2 tín chỉ (30 tiết) phân phối như
sau:
– Nội dung lý thuyết và thảo luận 30 tiết (15 tuần)
Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 4
– Thời gian:
• 10 tuần lý thuyết,
• 2 tuần bài tập và kiểm tra
• 3 tuần thảo luận
3. Nội dung học phần
• Chương 1: Tổng quan về quản trị cơ sở dữ liệu
• Chương 2: Quản trị hoạt động trong SQL Server
• Chương 3: Đảm bảo an toàn, bảo mật, toàn vẹn
dữ liệu trong SQL Server
• Chương 4: Lập trình CSDL trong SQL Server
5Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Nội dung chương 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
• 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
6Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 2
1.1. Hoạt động quản trị CSDL
• 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
7Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.1. Hoạt động quản trị CSDL
Các kiểu dữ liệu phổ biến
8Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
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
9Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.1. Hoạt động quản trị CSDL
Các hệ quản trị CSDL phổ biến
10Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
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 ?
– 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 ?
– Vấn đề an toàn, phòng chống ?
– Khả năng phục hồi ?
11Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
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
• 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ế tổ hứ đ ị ki h d h ó h t độ ả• u c c, ơn v n oan c oạ 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
12Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 3
1.1. Hoạt động quản trị CSDL
• 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
• Điều chỉnh CSDL
• Bảo mật
• Phục hồi
•
13Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
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
14Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.2 Người quản trị CSDL
Một số nhiệm vụ của DBA
• Xây dựng CSDL
• Đảm bảo an toàn và bảo mật
• Quản lý vận hành
15Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.2 Người quản trị CSDL
Một số yêu cầu đối với DBA
• Có hiểu biết về HT CSDL và HTTT của tổ chức
• 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
16Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.3 Phần mềm quản trị CSDL
• Vì sao cần có phần mềm
QT CSDL?
– Dung lượng khổng lồ
– Độ phức tạp lớn
– Độ an toàn thấp
– Yêu cầu của người dùng
17Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.3 Phần mềm quản trị CSDL
Hệ 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
– 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
18Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 4
1.3 Phần mềm quản trị CSDL
Hệ quản trị CSDL
19Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.3 Phần mềm quản trị CSDL
Đặc điểm của DBMS
• 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•
• Hỗ trợ ít nhất một mô hình dữ liệu
• Đả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
20Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.3 Phần mềm quản trị CSDL
Hệ QT CSDL quan hệ - RDBMS
• Là hệ QT CSDL hỗ trợ cho mô hình dữ liệu quan
hệ
• Vai trò
21Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
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
D t b B– a a ase rowser
• Phần mềm hỗ trợ thiết kế
– Active Table Editor
22Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
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ả
23Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.4 Kiến trúc hệ quản trị CSDL
Kiến trúc tổng thể
24Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 5
1.4 Kiến trúc hệ quản trị CSDL
Hoạt động của hệ thống
25Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
1.4 Kiến trúc hệ quản trị CSDL
Thao tác trong hệ QT CSDL
• 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
26Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Câu hỏi chương 1
• Khái niệm CSDL? Quản trị CSDL? Hệ QT
CSDL? Kiến trúc hệ CSDL?
• Mục đích của hệ QTCSDL? Vai trò của QT
CSDL trong hệ thống?
ấ ề• Những v n đ gặp phải trong quá trình sử dụng
CSDL?
• Vì sao cần có phần mềm quản trị CSDL?
• Tìm hiểu và so sánh các đặc điểm của 5 phần
mềm quản trị CSDL phổ biến nhất hiện nay
(Oracle, SQL Server, MySQL, DB2, MSAccess)
27Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Chương 2:
Quản trị hoạt động trong SQL Server
• Hệ quản trị CSDL SQL Server
• Quản trị hiệu quả các đối tượng của SQL
Server
• Tự động hóa quản trị
28Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
Giới thiệu
– Là hệ QT CSDL hỗ trợ mô hình dữ liệu quan hệ do
Microsoft phát triển
– Hoạt động hỗ trợ mô hình Khách/Chủ (Client/Server)
29Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
Lịch sử
30Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 6
2.1 Hệ quản trị SQL Server
Đặc điểm các phiên bản 2016
31Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
Đặc điểm chung
• SQL Server
– Quản lý truy cập và phân quyền người dùng
– Quản lý tập trung
– Có hỗ trợ OLAP và OLTP
– Ứng dụng được cho TMĐT và Kho dữ liệu
– Sử dụng T_SQL
• Có DDL (Data Definition Language)
• Có DML (Data Manipulation Language)
• Có DCL (Database Control Language)
32Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
• Truy cập tới CSDL qua ht mạng
• Hỗ trợ mô hình Client/Server
• 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
• 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
• Hỗ trợ .Net 3.5
33Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
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, .
34Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
• Có thể thực hiện trao
đổi dữ liệu trên nhiều
mô hình mạng, nhiều
i thứ hièg ao c, n u
phương thức truyền
tin khác nhau
35Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
36Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 7
2.1 Hệ quản trị SQL Server
SQL Server 2008
37Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
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
Books Online Bộ tài liệu
38Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
SQL Server Configuration Management
• Công cụ trực quan hỗ trợ quản trị dịch vụ trên
Server
• 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ụ
39Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
SQL Server Management Studio
• 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
40Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Books Online
41Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Cơ chế lưu trữ CSDL
• Mỗi một Database lưu
thành 2 phần
– Tập tin gồm File.mdf
à á tậ ti hv c c p n p ụ
File.ndf
– Tập tin nhật ký File.ldf
42Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 8
2.1 Hệ quản trị SQL Server
SQL Server 2008
Các đối tượng - Objects
• 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)
43Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Các kiểu dữ liệu trong bảng
44Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Tạo bảng/Tạo truy vấn
45Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Ràng buộc và Quan hệ
46Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Sao chép CSDL
• Sao chép CSDL cho
phép copy và remove
CSDL từ một instance
ếnày đ n một instance
khác
47Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Gán (Attach)
48Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 9
2.1 Hệ quản trị SQL Server
SQL Server 2008
Tách (Detach)
49Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Nhập (Import)
50Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Xuất (Export)
51Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Ngôn ngữ truy vấn T_SQL
• 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
ớ ệ ề O ố ù– T i m nh đ RDER cu i c ng.
– 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).
52Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Ngôn ngữ định nghĩa dữ liệu
53Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Ngôn ngữ định nghĩa dữ liệu
54Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 10
Ví dụ sửa đổi cấu trúc bảng
55Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.1 Các câu lệnh cơ bản
Ngôn ngữ định nghĩa dữ liệu
XÓA CÁC ĐỐI TƯỢNG
56Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Ngôn ngữ thao tác dữ liệu
57Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Ngôn ngữ điều khiển dữ liệu
58Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Biến trong chương trình
• Biến
– 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 @@
59Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Các cấu trúc điều khiển
• 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
Th ờ hâ thà h 2 l i• ư ng p n n oạ
– Rẽ nhánh: IF, Case,
– Lặp: While, Repeat,
60Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 11
2.1 Hệ quản trị SQL Server
SQL Server 2008
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ố
– Thân của stored procedure: bao gồm các lệnh của
Transact-SQL dùng để thực thi procedure.
61Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Các loại thủ tục thường trú
62Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Tạo thủ tục bằng SSMS
63Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Trigger
• 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.
64Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
DML trigger
• Khái niệm:
– 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.
– 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.
65Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
DML trigger
• Mục đích
– 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
– Đả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
66Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 12
2.1 Hệ quản trị SQL Server
SQL Server 2008
DDL trigger
• DDL triggers là các trigger sẽ được tự động thực
thi khi xảy ra các sự kiện liên quan đến định
nghĩa dữ liệu trên phạm vi server hoặc
database.
• DDL là viết tắt của data definition language.
67Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.1 Hệ quản trị SQL Server
SQL Server 2008
Logon trigger
• Logon triggers là trigger được kích hoạt tương
ứng với sự kiện Logon.
• Sự kiện này được phát sinh khi user session
được thiết lập đối với một instance của SQL
Server.
68Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục - Index
• Sử dụng như chỉ mục hay mục lục của mỗi
quyển sách
• Tạo đường dẫn ngắn đến dữ liệu cần tìm
• Có cấu trúc dữ liệu dạng B-Tree
– Khoảng cách từ gốc đến mọi nút lá tương đương
nhau
– Thời gian tìm kiếm là với một B-Tree với n nút có
chiều cao không quá logᵢ(n+1)/2 (i là độ sâu)
69Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục - Index
• Index là công cụ rất
mạnh để tăng hiệu
năng của các câu
lệnh tìm kiếm
• Có hai loại:
– Clustered Index
– NonClustered Index
70Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục - Index
Clustered Index
• Cách dùng
– Sắp xếp bảng theo thứ tự của
khóa Index
– Toàn bộ bảng là 1 cây Index.
– Tất cả các nút lá chứa khóa
Index và đồng thời chứa tất cả
các trường dữ liệu còn lại
– Lưu ý:
• Mỗi bảng có tối đa một
Clustered Index, có tểh chứa
1 hoặc nhiều trường
• Các bảng có Primary Key thì
Clustered Index được tạo
kèm theo
71Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục - Index
Non-Clustered Index
• Mỗi nút lá chứa khóa Index
và con trỏ trỏ đến trang dữ
liệu chứa bản ghi tương ứng
• Nếu bảng có Clustered Index
thì con trỏ này chính là khóa
Clustered Index, ngược lại là
RowID
• Một bảng có thể có nhiều
Non Clustered Index. Có thể
chứa một hoặc nhiều trường
• Được lưu trữ tách rời khỏi
bảng
72Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 13
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục - Index
Clustered Index – Non Clustered Index
• Clustered Index :
– Tránh bookmark
lookup
– Nâng cao độ ổn định
h N Cl t d
• Non – Clustered
Index
– Có bookmark lookup
nên hiệu suất thấp
ềc o on us ere
Index
– Chỉ được phép tạo
một Clustered Index
– Cho phép tạo nhi u
Index trên bảng
– Lưu trữ độc lập với
bảng Tăng hiệu
suất xử lý song song
73Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục - Index
Tạo Index
74Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Dùng chỉ mục – Index
Lựa chọn cột
• Cột là ứng cử viên tốt cho Index khi
– Được sử dụng thường xuyên trong các điều kiện tìm
kiếm
– Được sử dụng trong điều kiện JOIN hai bảng
– Độ lựa chọn đủ cao
• Ưu tiên Clustered Index cho cột
– Tăng tuần tự
– Kích thước không quá lớn
– Được tìm kiếm với tần suất cao
– Thường được tìm kiếm theo dải giá trị
75Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Phân đoạn bảng
• Table Partitioning
– Kỹ thuật phân chia bảng thành từng đoạn nhằm quản
lý CSDL có dung lượng lớn hiệu quả hơn
– Đối với các ứng dụng truy cập từ bên ngoài, table vẫn
d hất h ấ t ú ật lý ẽ th đổiuy n n ưng c u r c v s ay
76Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Phân đoạn bảng
Lợi ích
• Tiện lợi về quản trị
– Backup/Restore
– Rebuild lại Index
– Hiệu quả với Switch – out và Switch – in
• Cải tiến hiệu năng
– Chỉ cần truy cập vào đoạn cần thiết
– Giảm tranh chấp I/O
77Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.2 Quản trị CSDL bằng SQL Server 2008
Phân đoạn bảng
• Partition Function
– Create partition function partition_function_name
(input_parameter_type) As Range [Left|Right] for
values ([boundary_value [,,])
• Partition Scheme
– Create partition scheme partition_scheme_name as
Partition partition_function_name [ALL|To
({file_group_names| [Primary]})
• Partition Table
– Thêm lệnh: On {partition_scheme_name
(partition_column_name)} sau câu lệnh Create Table
78Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 14
2.3 Tự động hóa quản trị
• Tự động hóa quản trị có vai trò quan trọng
trong hoạt động quản trị CSDL của DN
• Thực hiện bằng việc thiết lập những tác vụ
(Task) theo các lịch trình cụ thể
• SQL Server cho phép thiết lập tự động
hóa hoạt động bằng SQL Server Agent
79Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Quy trình thực hiện
• Khởi động SQL Server Agent
• Chọn Job
• Tạo Schedule
Lựa chọn Alert•
• Lựa chọn Operator
• Quản lý Error Logs
80Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Quy trình thực hiện
Khởi động SQL Server Agent
81Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Quy trình thực hiện
Chọn Job
• Job là một tập các Task mà SQL Server Agent sẽ thực
hiện một hay nhiều lần có kết quả thành công hay thất
bại
• Mỗi Job có nhiều bước (Step) mỗi bước tương ứng 1
hành động
• Có thể tạo bằng Tools hoặc T-SQL
• Thực thi Job bằng lập lịch (Schedule) Dựa vào các
Alert để tiếp tục thực thi Sử dụng hàm lưu trữ hệ
thống sp_start_job
• Job có thể thực thi trên PC hoặc WorkStation hoặc
Remote Control
82Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Quy trình thực hiện
Tạo schedule
83Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Quy trình thực hiện
Alert (Thông báo khi thực thi)
84Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 15
2.3 Tự động hóa quản trị
Quy trình thực hiện
Operator
• Định nghĩa các
kiểu thông báo khi
Agent thực hiện
xong một Task
• Thông báo có thể
gửi qua
85Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Quy trình thực hiện
Error Logs
86Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
2.3 Tự động hóa quản trị
Minh họa các bước thực hiện quy trình
87Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Chương 3:
Các hoạt động quản trị nâng cao
• Quản trị giao dịch
• Khóa
• Toàn vẹn dữ liệu
• Sao lưu và phục hồi CSDL
• Đồng bộ hóa CSDL
• Bảo mật CSDL
88Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.1. Quản trị giao dịch
Giao dịch và tính chất của giao dịch
• Transaction là một đơn vị tác vụ bao gồm một tập có thứ
tự các tác vụ con
– Các tác vụ con được sắp xếp theo một trình tự xác định
– Các tác vụ con hoàn thành thì Transaction hoàn thành
– Nếu Transaction hoàn thành thì các dữ liệu biến động được cập
nhật lên CSDL
– Nếu Transaction không hoàn thành có thể Roll Back hoặc
Cancel => dữ liệu không được cập nhật lên CSDL
– Một Transaction có 4 tính chất: Atomicty, Consistency, Isolation
and Durability (ACID)
89Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.1. Quản trị giao dịch
Giao dịch
90Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 16
3.1. Quản trị giao dịch
Tính chất của Transaction
91Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.1. Quản trị giao dịch
Kết thúc giao dịch
• Kết thúc giao dịch có 2 kiểu
– Xác nhận giao dịch kết thúc
• Commit [Transaction] [Transaction_name|
@Transaction_name_variable]
– Hủy bỏ và quay lại giao dịch
• Rollback [Transaction] [Transaction_name|
@Transaction_name| Savepoint_name|
@Savepoint_name]
92Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.1. Quản trị giao dịch
Phân loại giao dịch
• Có 3 loại Transaction
– Explicit Transaction: Phiên giao dịch rõ (tường minh)
• BEGIN [Transaction] [Transaction_name|
@Transaction_name_variable]
Implicit Transaction : Phiên giao dịch ẩn (không–
tường minh)
• SET Implicit_Transaction {On|Off}
– Autocommit Transaction: Mỗi câu lệnh tự cập nhật dữ
liệu khi nó kết thúc, không cần câu lệnh điều khiển
phiên giao dịch
93Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.1. Quản trị giao dịch
Vòng đời một giao dịch
94Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.1. Quản trị giao dịch
Các mức độ tách biệt của giao dịch
95Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.2. Khóa - Lock
• Vì sao cần Locks?
• Vai trò của các locks trong quản trị CSDL?
• Khi nào thì xảy ra vấn đề tranh chấp cần locks?
• Lock hướng đến giải quyết 4 vấn đề sau
• Dirty reads (đọc dữ liệu sai)
• Unrepeatable reads (đọc hai lần bản ghi)
• Phantoms (Đọc các bản ghi nháp, không có)
• Lost updates (cập nhật, mất dữ liệu)
96Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 17
3.2. Khóa - Lock
Phân loại Lock trong SQL Server
• Pessimistic Lock:
– Là chiến lược lock trước tài nguyên (rows) trước khi end users thay đổi
• Optimistic Lock
– Là chiến lược chỉ lock tại thời điểm user đang thay đổi dữ liệu.
• Shared Locks (S):
ế ề– Hạn ch quy n sửa của người dùng 2 khi người dùng 1 đang đọc hoặc
truy cập dữ liệu
• Exclusive Lock (X)
– Hạn chế quyền đọc và sửa của người dùng 2 khi người dùng 1 đang
cập nhật dữ liệu
• Update Lock (U)
– Kết hợp giữa share lock và exclusive lock.
97Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT 98Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.3. Sao lưu và phục hồi
• Sao lưu là gì?
– Khái niệm
– Phân loại
– Hoạt động
• Phục hồi là gì?
– Khái niệm
– Phân loại
– Hoạt động
• Vì sao cần sao lưu và phục hồi?
99Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.3. Sao lưu và phục hồi
Các trạng thái trong log
100Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.3. Sao lưu và phục hồi
Sao lưu
101Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.3. Sao lưu và phục hồi
Các loại backup
• Full Database Backup
– Sao lưu toàn bộ
• Differential Backup
– Chỉ sao lưu các thay đổi
• Transaction Log Backup
– Chỉ sao lưu các
Transaction có thay đổi
trong lần gần nhất
• File or File Group Backup
– Chỉ sao lưu File hoặc nhóm
file
102Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 18
3.3. Sao lưu và phục hồi
Phục hồi
103Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.3. Sao lưu và phục hồi
Các loại phục hồi
• Full Recovery Model
– Có thể phục hồi gần toàn
bộ về một thời điểm trong
quá khứ
• Bulk_Logged Recovery
Model
– Các hoạt động Log đầy đủ
và Log minimum
• Simple Recovery Model
– Chỉ phục hồi CSDL về thời
điểm sao lưu gần nhất
104Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.3. Sao lưu và phục hồi
Một số chú ý khi sao lưu và phục hồi
• Sao lưu
– Thường xuyên sao lưu để giảm rủi ro cho hệ thống
– Khi có bất kỳ thay đổi quan trọng nào trên CSDL nên
sao lưu
– Full Backup là giải pháp tối ưu nhưng tốn không gian
nhớ
• Phục hồi
– Cần theo dõi các bản phục hồi thật chính xác
– Lựa chọn các bản phục hồi theo các sự cố
– Chú ý lựa chọn các kiểu phục hồi phù hợp theo tổn
thất sự cố gây ra cho hệ thống
105Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
• Đồng bộ dữ liệu
– Đồng bộ (Replication) là kỹ thuật dùng để sao
chép và phân phối dữ liệu và các đối tượng
từ một CSDL này đến một CSDL khác và cho
hé ậ hật á th đổi t ê CSDL đảp p c p n c c ay r n m
bảo tính nhất quán của CSDL
• Có 3 kiểu chính:
– Snapshot replication
– Transactional replication
– Merge replication
106Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Snapshot Replication
Cơ chế:
‐ Các đối tượng CSDL
chuyển từ Publisher đến
Subscriber sẽ được ghi đè
lên nếu chúng đang tồn tại
trong CSDL của Subcriber
‐ Phù hợp nhất với CSDL
tĩnh, ít biến động
‐ Yêu cầu ràng buộc kết nối
giữa hai CSDL khi thực hiện
107Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Transactional Replication
Cơ chế:
‐Tạo bản sao cho mỗi task đã
được định nghĩa trong đối
tượng CSDL của Publisher
Phù hợp với CSDL nhiều‐
biến động do đồng bộ dữ liệu
nhanh, cập nhật được gần với
thời thực
‐ Yêu cầu ràng buộc kết nối
giữa hai CSDL khi thực hiện
108Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 19
3.4. Đồng bộ hóa CSDL
Merge Replication
Cơ chế:
‐Được dùng khi không có
bất kỳ ràng buộc kết nối
giữa Publisher và
Subscriber
‐ Tổng hợp dữ liệu thay
đổi giữa Publisher và
Subscriber trong lần kết
nối tiếp theo
‐ Có khả năng tự động xử
lý tranh chấp dữ liệu khi
tổng hợp
109Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Thành phần đồng bộ hóa
• Đối tượng đồng bộ dữ liệu
– Publisher
– Subscriber
– Distributor
• Dữ liệu đồng bộ hóa
– Article
– Publication
– Subscription
• Các dịch vụ
– SQL Server Agent
– Snapshot Agent
– Log Reader Agent
– Distributor Agent
– Merge Agent
110Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Các thành phần đồng bộ hóa
Cơ chế:
‐ 1 Reader
‐ 2 Writer
‐ 3 Reader
‐ 4 Writer
111Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Các mô hình đồng bộ hóa
• Một Publisher và một Subscriber
• Một Publisher và nhiều Subscriber
• Nhiều Publisher và một Subscriber
• Nhiều Publisher và nhiều Subscriber
112Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Các kiểu di chuyển dữ liệu
• Push Subscriber
– Publisher đẩy (push) những cập nhật đến Subscriber mà không
quan tâm Subscriber có cập nhật hay không
– Dùng khi ứng dụng yêu cầu gửi các cập nhật đến cho
Subscriber ngay khi có thay đổi ở Publisher
– Bảo mật cao, các Subscriber thấp
• Pull Subscriber
– Subscriber kéo những cập nhật tại Publisher về theo một
khoảng thời gian định kỳ
– Phù hợp cho các Subscriber có độc lập cập nhật
– Khả năng bảo mật thấp
– Cho phép số lượng Subscriber cao
113Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.4. Đồng bộ hóa CSDL
Cài đặt đồng bộ hóa
• Các bước
– Tạo 1 CSDL không chứa bảng
– Tạo một truy vấn đến dữ liệu
Tạo Publication–
– Cài đặt thông số cho Publication
– Tạo Subscriber
– Cài đặt thông số cho Subscriber
– Kiểm tra
114Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 20
3.5. Bảo mật CSDL
• Bảo mật CSDL là sử dụng các phương pháp và
kỹ thuật nhằm đảm bảo CSDL không bị xâm
phạm vào tính bí mật, toàn vẹn, sẵn sàng và xác
thực
• Trong SQL Server bảo mật liên quan đến:
– Người dùng
– Hệ điều hành
– Mạng
– Các ứng dụng
115Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
116Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
117Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
Quy trình bảo mật
• Tạo các tài khoản người dùng
– Sử dụng chức năng tạo tài khoản để thực hiện
• Phân quyền
Phân quyền dựa trên 2 chế độ:–
• Người đăng nhập (Login)
• Người khai thác (User)
• Mã hóa dữ liệu
– Lựa chọn chế độ mã hóa/ không mã hóa các cấu
trúc và câu lệnh T_SQL
118Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
Quy trình bảo mật
119Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
Các chế độ bảo mật trong SQL
• Chế độ Windows Authentication Mode
– Người dùng truy nhập vào SQL Server phải là người dùng của
Windows
– Sử dụng Acc và Pass của Windows để truy cập vào SQL Server
– Thường dùng cho User, các ứng dụng kết nối vào CSDL chạy
trên Desktop và LAN
• Chế độ Mixed Mode
– Là sự kết hợp của Windows Authentication và SQL Server
Authentication
– Cả người dùng Windows và SQL Server có thể truy cập vào
SQL Server
120Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 21
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
Mô hình xác thực
121Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Bảo mật trong SQL Server
Người dùng
– Login:
• Có quyền truy cập vào SQL Server, có thể là
Windows hoặc SQL Server
• Do Server quản lý trực tiếp
– User
• Có quyền truy nhập và khai thác CSDL
• Do CSDL quản lý trực tiếp, mỗi CSDL có 1 danh
sách User được quyền truy cập đến
122Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Mã hóa
• Mã hóa đường truyền
• Mã hóa dữ liệu
123Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Các cơ chế mã hóa trong SQL Server
124Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Mã hóa đường truyền
• Giao thức SSL - Secure Socket Layer
– Tự tìm hiểu thêm
• Giao thức SET – Secure Electronic Transaction
– Tự tìm hiểu thêm
• Giao thức WEP – Wireless Encryption Protocol
– Tự tìm hiểu thêm
125Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Mã hóa đường truyền
Giao thức SSL
126Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 22
3.5. Bảo mật CSDL
Mã hóa đường truyền
Giao thức SET
127Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Mã hóa đường truyền
Giao thức WEP
128Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Mã hóa dữ liệu
• 1. Hàm mã hóa ký tự
CREATE FUNCTION fuMaHoaString (@strInput nvarchar(200), @dt smallint=-1)
RETURNS nvarchar(200)
AS
BEGIN
Declare @str nvarchar(200) , Declare @lenStr tinyint , Declare @i tinyint , Declare @k smallint
Set @lenStr = Len(@strInput)
Set @str = ''
Set @i = 1
If (@dt = 0)
Set @dt = -1
Set @k = @dt / Abs(@dt)
While (@i <= @lenStr)
Begin
Set @str = @str + Char((Ascii(SubString(@strInput, @i, 1))+@k*20))
Set @k = -@k
Set @i = @i + 1
End
Return @str
END
129Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
3.5. Bảo mật CSDL
Mã hóa dữ liệu
• 2 Hàm giải mã của hàm mã hóa trên
CREATE FUNCTION fuGiaiMaKyTuDaMaHoa (@strInput nvarchar(200), @dt smallint=-1)
RETURNS nvarchar(200)
AS
BEGIN
Declare @str nvarchar(200) , Declare @lenStr tinyint , Declare @i tinyint , Declare @k smallint
Set @lenStr = Len(@strInput)
Set @str = ''
Set @i = 1
If (@dt = 0)
Set @dt = -1
Set @k = -@dt / Abs(@dt)
While (@i <= @lenStr)
Begin
Set @str = @str + Char((Ascii(SubString(@strInput, @i, 1))+@k*20))
Set @k = -@k
Set @i = @i + 1
End
Return @str
END
130Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Chương 4:
Lập trình CSDL trong SQL Server
• Xử lý dữ liệu với ADO.NET
• Kết nối CSDL trong chế độ Design
• Crytal Report
131Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.1. Xử lý dữ liệu với ADO.NET
Khái niệm
• ADO.NET là một tập các lớp nằm trong bộ thư
viện lớp cơ sở của .NET Framework, cho phép
các ứng dụng windows (C#, VB.NET) hay ứng
dụng web (như ASP.NET) thao tác dễ dàng với
các nguồn dữ liệu
• Đặc điểm
– Kiến trúc dữ liệu không kết nối (disconnected data
architecture),
– Tích hợp với XML,
– Tối ưu để kết nối với cơ sở dữ liệu (và các nguồn dữ
liệu khác).
132Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 23
4.1. Xử lý dữ liệu với ADO.NET
Vị trí
133Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.1. Xử lý dữ liệu với ADO.NET
Các thành phần
134Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.1. Xử lý dữ liệu với ADO.NET
Quy trình kết nối đến CSDL
• Tạo đối tượng Connection và xác định
chuỗi kết nối (Connection String)
• Tạo đối tượng Command và xác định câu
lệnh SQL
• Mở đối tượng Connection (Open)
• Thực hiện câu lệnh SQL và xử lý kết quả
(Execute)
• Đóng đối tượng Connection (Close)
135Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.2. Kết nối CSDL trong chế độ Design
• Cấu hình kết nối.
• Thiết lập hoặc ngắt kết nối đến nguồn dữ
liệu.
Xá đị h OLE DB id• c n prov er.
• Thực hiện truy vấn.
• Quản lý các phiên làm việc trên kết nối
136Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.2. Kết nối CSDL trong chế độ Design
• USE NORTHWIND
• GO
• drop proc myADOParaProc
• GO
• CREATE PROC myADOParaProc
• @categoryid int(4)
• AS
• SELECT * FROM products WHERE categoryid
= @categoryid
• cn.Open provStr
• Set cmd.ActiveConnection = cn
• cmd.CommandText = "myADOParaProc"
• cmd.CommandType = adCmdStoredProc
• cmd.CommandTimeout = 15
• Set prm = Cmd.CreateParameter("CategoryID",
adInteger, adParamInput, 4, 7)
• Cmd.Parameters.Append prm
• Set rs = cmd.Execute
• GO
• Dim cn As New ADODB.Connection
• Dim cmd As New ADODB.Command
• Dim rs As New ADODB.Recordset
• Dim prm As ADODB.Parameter
• Dim fld As ADODB.Field
• Dim provStr As String
• cn.Provider = "sqloledb“
• provStr =
"Server=MyServer;Database=northwind;Trusted
_Connection=yes"
• Set Flds = rs.Fields
• While (Not rs.EOF)
• For Each fld in Flds
• Debug.Print fld.Value
• Next
• Debug.Print ""
• rs.MoveNext
• Wend
• rs.Close
• cn.Close
137Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.3 Sử dụng Crystal Report Viewer
• Ví dụ tạo Crystal Report cho dữ liệu từ bảng
Employee
– Bước 1: Tạo bảng Employee
– Bước 2: Tạo khung nhìn VIEW cho hiển thị dữ liệu từ bảng
Employee
– Bước 3: Mở Visual Studio
– Bước 4: Vào Solution Explorer kích chuột phải vào CSDL
vừa tạo và chọn Add -> New Item
– Bước 5: Add New Item-> Crystal Report
– Bước 6: Chọn kiểu hiển thị, dữ liệu, kết nối, chọn khung
nhìn
– Bước 7: Chọn các trường sẽ hiển thị
– Bước 8: Chọn định dạng báo cáo
– Bước 9: Hiển thị trên Web hoặc trang cs
138Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Bộ môn CNTT ‐ Khoa HTTT Kinh tế và TMĐT 8/7/2017
Bài giảng HP: Quản trị Cơ sở dữ liệu 24
create table Employee
(
Emp_ID int identity(1,1) constraint PK_Emp primary key,
Emp_Name varchar(30),
Emp_Contact nchar(15),
4.3 Sử dụng Crystal Report Viewer
Ví dụ
Emp_Salary decimal(7,2)
)
insert into Employee values ('Rakesh','9924194054','15000.22');
insert into Employee values ('Amit','9824194555','17000');
insert into Employee values ('Ketan','9824198245','14000');
insert into Employee values ('Ketan','9994198245','12000');
insert into Employee values ('Chirag','9824398245','10000');
insert into Employee values ('Naren','9824398005','10000');
139Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.3 Sử dụng Crystal Report Viewer
Truy vấn kết quả
140Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
4.3 Sử dụng Crystal Report Viewer
Kết quả báo cáo
141Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Câu hỏi ôn tập
• Vì sao cần có hệ QTCSDL? Trình bày và so sánh một số hệ
QT CSDL thông dụng?
• SQL Server có những phiên bản nào? So sánh tính năng của
từng phiên bản?
• Các đối tượng sử dụng trong SQL Server?
• Các thành phần chính trong T-SQL?
• Hoạt động của ngôn ngữ T-SQL?
• Index là gì? Vì sao cần dùng index trong quản trị CSDL?
Cách tạo Index?
• Phân đoạn bảng là gì? Vì sao cần dùng phân đoạn bảng
trong quản trị CSDL? Các phân đoạn bảng?
• Tự động hóa quản trị là gì? Vì sao cần tự động hóa quản trị?
• Các thành phần tham gia vào tự động hóa quản trị?
• Toàn vẹn dữ liệu là gì? Vì sao cần toàn vẹn dữ liệu?
142Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Câu hỏi ôn tập
• Sao lưu là gì? Có các kiểu sao lưu nào? Vì sao cần sao lưu
dữ liệu?
• Phục hồi là gì? Vì sao thường dùng các bản sao lưu để phục
hồi khi dữ liệu bị hư hỏng?
• Đồng bộ hóa dữ liệu là gì? Vì sao cần đồng bộ hóa dữ liệu?
Cách đồng bộ hóa dữ liệu?
• Bảo mật CSDL là gì? Trong SQL server có các cơ chế bảo
mật CSDL nào?
• Vì sao cần phân quyền người dùng trong quản trị CSDL?
Trong SQL Server có các quyền người dùng nào?
• Mã hóa dữ liệu là gì? Các cơ chế mã hóa dữ liệu trong SQL
Server?
• Vì sao nên dùng ADO.NET để kết nối CSDL? Các kiểu kết nối
tới CSDL trong bộ Framework
143Bộ môn CNTT - Khoa HTTT Kinh tế và TMĐT
Các file đính kèm theo tài liệu này:
- bai_giang_mon_quan_tri_co_so_du_lieu.pdf