Bài giảng Quản trị cơ sở dữ liệu - Chương 1: Tổng quan về quản trị cơ sở dữ liệu

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

pdf 24 trang yennguyen 3540
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 - Chương 1: Tổng quan về quản trị cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Quản trị cơ sở dữ liệu - Chương 1: Tổng quan về quản trị cơ sở dữ liệu

Bài giảng Quản trị cơ sở dữ liệu - Chương 1: Tổng quan về quản trị cơ sở dữ liệu
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 ... 
• 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

File đính kèm:

  • pdfbai_giang_quan_tri_co_so_du_lieu_chuong_1_tong_quan_ve_quan.pdf