Tải bản đầy đủ (.doc) (133 trang)

Giáo trình mô đun Hệ quản trị CSDL MS SQL Server (Nghề Công nghệ thông tin Trình độ trung cấp)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.46 MB, 133 trang )

UBND TỈNH BÀ RỊA – VŨNG TÀU
TRƯỜNG CAO ĐẲNG KỸ THUẬT CƠNG NGHỆ

GIÁO TRÌNH
MƠ ĐUN HỆ QUẢN TRỊ CSDL MS SQL SERVER
NGHỀ: CƠNG NGHỆ THƠNG TIN
TRÌNH ĐỘ: TRUNG CẤP
(Ban hành kèm theo Quyết định số: ……/QĐ-CĐKTCN, ngày … tháng … năm
20…… của Hiệu trưởng Trường Cao đẳng Kỹ thuật Công nghệ BR-VT)

BÀ RỊA – VŨNG TÀU


TUYÊN BỐ BẢN QUYỀN
Nhằm đáp ứng nhu cầu học tập và nghiên cứu cho giảng viên và sinh viên
nghề Công nghệ Thông tin trong trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa –
Vũng Tàu, chúng tôi đã thực hiện biên soạn tài liệu Hệ quản trị CSDL MS SQL
Server này.
Tài liệu được biên soạn thuộc loại giáo trình phục vụ giảng dạy và học tập,
lưu hành nội bộ trong Nhà trường nên các nguồn thơng tin có thể được phép
dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh
doanh thiếu lành mạnh sẽ bị nghiêm cấm.


LỜI GIỚI THIỆU
Giáo trình “Hệ quản trị CSDL MS SQL Server” được biên soạn dựa trên
khung chương trình đào tạo Trung cấp nghề Công nghệ Thông tin đã được
Trường Cao đẳng Kỹ thuật Công nghê Bà Rịa – Vũng Tàu phê duyệt.
Tác giả đã nghiên cứu một số tài liệu, công nghệ hiện đại kết hợp với kinh
nghiệm làm việc thực tế để viết nên giáo trình này. Nội dung được tác giả trình


bày cơ động, dễ hiểu kèm theo các bước hướng dẫn thực hành chi tiết theo
nguyên tắc quan tâm đến kết quả đầu ra, khả năng tự học và kỹ năng cần thiết để
HSSV sử dụng các phát biểu T-SQL: tạo CSDL, tạo user, truy vấn dữ liệu…
thực hiện thành thạo các thao tác quản trị tài khoản người dùng và tài khoản
nhóm đối với hệ thống MS SQL Server, đáp ứng nhu cầu thực tế của doanh
nghiệp.
Nội dung giáo trình được chia thành 11 bài, trong đó:
Bài 1: Tổng quan về mơ hình Client/Server
Bài 2: Hệ quản trị cơ sở dữ liệu Microsoft SQL Server
Bài 3: Ngôn ngữ định nghĩa và thao tác dữ liệu (T-SQL)
Bài 4: Thủ tục lưu trữ
Bài 5: Quản lý giao tác
Bài 6: Bảo mật trong SQL Server
Trong quá trình biên soạn, chắc chắn giáo trình cịn nhiều thiếu sót. Tác giả
rất mong nhận được ý kiến đóng góp của q thầy/cơ và các em học sinh, sinh
viên để tiếp tục hoàn thiện hơn.
Xin chân thành cảm ơn quý đồng nghiệp, bạn bè đã có những ý kiến đóng
góp trong q trình biên soạn giáo trình này.
Bà Rịa – Vũng Tàu, ngày …… tháng …… năm ………
Tham gia biên soạn
1. Nguyễn Phạm Ái Hương – Chủ biên

1


BM/QT08/P.ĐT/02/06
Ban hành lần: 3

MỤC LỤC
LỜI GIỚI THIỆU..................................................................................................1

MỤC LỤC.............................................................................................................3
BÀI 1: TỔNG QUAN VỀ MƠ HÌNH CLIENT/SERVER.................................11
1. Các kiến thức tổng quan về CSDL................................................................19
1.1. Mơ hình dữ liệu quan hệ...............................................................................19
1.2. Bảng..............................................................................................................19
1.3. Khóa của bảng..............................................................................................20
1.4. Mối quan hệ và khóa ngồi..........................................................................20
2. Các giai đoạn phát triển của một hệ quản trị CSDL........................................21
3. Giới thiệu về mơ hình Client Server và các hệ QTCSDL phục vụ cho mơ hình
Client Server..................................................................................................22
4. Các đặc trưng của mơ hình Client Server........................................................22
5. Tổng quan về cấu trúc Client /Server..............................................................23
6. Các mơ hình dữ liệu của hệ thống Client /Server............................................23
6.1. Mơ hình CSDL tập trung .............................................................................23
6.2.Mơ hình CSDL theo kiểu file - server...........................................................24
6.3. Mơ hình xử lý từng phần CSDL...................................................................24
6.4. Mơ hình CSDL Client Server.......................................................................25
CÂU HỎI, BÀI TẬP...........................................................................................26
BÀI 2: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MS SQLServer...............................27
1. Giới thiệu hệ QTCSDL MS SQL Server.........................................................27
1.1. SQL là ngôn ngữ CSDL quan hệ .................................................................27
1.2. Vai trò của SQL............................................................................................28
2. Cài đặt MS SQL Server.................................................................................29


2.1. Link download để cài đặt..............................................................................29
2.2. Các phiên bản của SQL................................................................................29
2.2.3. Các bước cài đặt........................................................................................30
3. Các công cụ của MS SQL Server....................................................................33
4. Làm việc với công cụ Enterprise Manager......................................................34

4.1. Tạo CSDL.....................................................................................................27
4.2. Tạo bảng.......................................................................................................35
4.3. Tạo mối quan hệ giữa các bảng....................................................................37
4.4. Nhập dữ liệu cho bảng..................................................................................37
5. Các dịch vụ của SQL.......................................................................................38
5.1. Khởi động dịch vụ trong MS SQL Server....................................................38
5.2. Khởi động dịch vụ trong MS SQL Server....................................................40
CÂU HỎI, BÀI TẬP...........................................................................................40
BÀI 3: NGÔN NGỮ ĐỊNH NGHĨA VÀ THAO TÁC DỮ LIỆU......................43
1. Tạo cơ sở dữ liệu.............................................................................................43
2. Tạo bảng .........................................................................................................43
2.1 Kiểu dữ liệu ..................................................................................................44
2.2. Kiểu dữ liệu NULL.......................................................................................46
3. Sửa bảng..........................................................................................................47
4. Toàn vẹn dữ liệu .............................................................................................49
4.1. Ràng buộc PRIMARY KEY ........................................................................50
4.2. Ràng buộc UNIQUE....................................................................................52
4.3. Ràng buộc FOREIGN KEY.........................................................................53
5. Thêm dữ liệu....................................................................................................56
5.1. Bổ sung từng dòng dữ liệu với lệnh insert...................................................56
5.2. Bổ sung nhiều dòng dữ liệu từ bảng khác....................................................57
3


6. Xóa...................................................................................................................58
6.1. Xóa dữ liệu trong 1 bảng..............................................................................58
6.2. Xóa dữ liệu khi điều kiện liên quan đến nhiều bảng....................................58
6.3. Sử dụng truy vấn con trong câu lệnh Delete................................................59
6.4. Xóa tồn bộ dữ liệu trong bảng....................................................................59
7. Cập nhật (Update)...........................................................................................59

7.1. Sử dụng cấu trúc CASE trong câu lệnh UPDATE ......................................60
7.2. Điều kiện cập nhật dữ liệu liên quan đến nhiều bảng..................................61
7.3. Câu lệnh UPDATE với truy vấn con............................................................61
8. Chọn lọc (SELECT)........................................................................................62
8.1. Mệnh đề FROM ...........................................................................................63
8.2. Danh sách chọn trong câu lệnh SELECT.....................................................64
8.3. Chỉ định điều kiện trong truy vấn dữ liệu....................................................70
8.4. Tạo mới bảng dữ liệu từ kết quả của câu lệnh SELECT..............................74
8.5. Sắp xếp kết quả truy vấn...............................................................................74
8.6. Phép hợp ......................................................................................................76
8.7. Phép nối........................................................................................................78
CÂU HỎI, BÀI TẬP...........................................................................................87
BÀI 4: THỦ TỤC LƯU TRỮ.............................................................................93
1. Khái niệm về thủ tục lưu trữ............................................................................93
2. Tạo thủ tục lưu trữ:..........................................................................................94
3. Lời gọi thủ tục.................................................................................................96
4. Sử dụng biến trong thủ tục...............................................................................97
5. Giá trị trả về của tham số trong thủ tục lưu trữ...............................................98
6. Sửa đổi thủ tục.................................................................................................99
7. Xóa thủ tục....................................................................................................100
4


CÂU HỎI, BÀI TẬP.........................................................................................101
BÀI 5: QUẢN LÝ GIAO TÁC ........................................................................102
1. Định nghĩa TRIGGER...................................................................................102
2. Sử dụng mệnh đề IF UPDATE trong TRIGGER...........................................104
3. ROLLBACK TRANSACTION ....................................................................106
4. Sử dụng TRIGGER trong trường hợp câu lệnh INSERT , UPDATE, DELETE
có tác động đến nhiều dòng dữ liệu.............................................................108

4.1. Sử dụng truy vấn con..................................................................................108
4.2. Sử dụng biến con trỏ...................................................................................111
CÂU HỎI, BÀI TẬP.........................................................................................113
BÀI 6: BẢO MẬT TRONG SQL SERVER......................................................115
1. Cơ chế an tồn dữ liệu...................................................................................115
2. Khung nhìn (VIEW) như cơ chế bảo vệ dữ liệu............................................117
2.1. Tạo VIEW trong SQL.................................................................................117
2.2. Xóa VIEW trong SQL................................................................................118
3. Tạo và quản lý người dùng (USER)..............................................................118
4. Tạo ROLES và sử dụng các loại ROLES .....................................................120
4.1. Bảo mật cấp Database Engine....................................................................121
4.2. Bảo mật chi tiết cấp Database....................................................................123
5. Tạo USER : cấp quyền, thu quyền trên SERVER, DB và OBJECT.............124
5.1. Cấp quyền...................................................................................................124
5.2 Thu quyền....................................................................................................129
CÂU HỎI, BÀI TẬP.........................................................................................133
TÀI LIỆU THAM KHẢO.................................................................................134

5


CHƯƠNG TRÌNH MƠ ĐUN
(Ban hành kèm theo Quyết định số

/QĐ–CĐKTCN ngày tháng năm của Hiệu
trưởng Trường Cao đẳng Kỹ thuật Công nghệ Bà Rịa – Vũng Tàu)

Tên mô đun: Hệ quản trị CSDL MS SQL Server
Mã mô đun: MD15
Thời gian thực hiện mô đun: 90 giờ; (Lý thuyết: 27 giờ; Thực hành, thí nghiệm,

thảo luận, bài tập: 55giờ; Kiểm tra: 8 giờ)
Vị trí, tính chất của mơ đun:
- Vị trí: được giảng dạy sau khi học xong các module Cơ sở dữ liệu, Quản trị Cơ sở
dữ liệu Access, Quản trị mạng
- Tính chất: Là mơ đun chun ngành của nghề cơng nghệ thơng tin, trình bày các
kiến trúc của hệ quản trị cơ sở dữ liệu MS SQL Server, cách làm việc và tương tác
giữa các thành phần kiến trúc trong hệ thống. Kết nối hệ thống mạng để sử dụng hệ
thống cơ sở dữ liệu.
Mục tiêu mô đun:
- Về kiến thức:
+ Trình bày mơ hình cơ sở dữ liệu Client/Server
+ Nêu các đặc trưng của mơ hình Client/Server
+ Trình bày cú pháp và cơng dụng của các phát biểu T-SQL: tạo CSDL, tạo
user
+ Thực hiện các ràng buộc dữ liệu: Check, primary
+ Trình bày cú pháp ngơn ngữ lập trình SQL để định nghĩa được các hàm
+ Phân tích trigger, các nguyên lý quản lý giao tác cho CSDL
+ Biết chọn giải pháp cơ chế an toàn dữ liệu
- Về kỹ năng:
+ Kết nối hệ thống mạng để sử dụng hệ thống cơ sở dữ liệu.

6


+ Thực hiện thành thạo các thao tác quản trị tài khoản người dùng và tài
khoản nhóm đối với hệ thống MS SQL Server.
+ Thiết lập cấu hình và giải quyết các vấn đề thường xảy ra trên mạng khi sử
dụng truy cập cơ sở dữ liệu.
+ Bảo vệ tài nguyên dữ liệu trên các hệ thống MS SQL Server.
+ Sao lưu và phục hồi đồng thời lập được lịch sao lưu tự động trong

HQTCSDL SQL Server
- Về năng lực tự chủ và trách nhiệm:
+ Có tinh thần trách nhiệm, ý thức tổ chức kỷ luật, tác phong công nghiệp, tinh
thần hợp tác trong cơng việc
+ Có ý chủ động, độc lập trong công việc, tự học cập nhật kiến thức, nâng cao
trình độ chun mơn.
+ Có khả năng tổ chức và điều hành một nhóm, đánh giá được các thành viên
trong nhóm.
+ Rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập và hoạt động nhóm.
+ Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phịng máy.
Nội dung mơ đun:
Số
TT
1

7

Tên các bài trong mơ đun
Bài 1: Tổng quan về mơ hình

Thời gian (giờ)
Thực hành, thí
Tổng Lý
Kiểm
nghiệm, thảo
số thuyết
tra
luận, bài tập
4
1

3
0

Client/Server
1. Các kiến thức tổng quan về cơ sở 0.4

0.2

0.2

0

dữ liệu
2. Các giai đoạn phát triển của một

0.3

0.1

0.2

0

hệ quản trị cơ sở dữ liệu
3. Các đặc trưng của mơ hình

0.8

0.2


0.6

0

Client/server
4. Tổng quan về cấu trúc

1.2

0.2

1.0

0


2

Client/Server
5. Các mơ hình dữ liệu của hệ thống 1.3
Client/Server
Bài 2: Hệ quản trị cơ sở dữ liệu
10
Microsoft SQL Server
1. Giới thiệu hệ quản trị cơ sở dữ
liệu MS SQL Server
2. Cài đặt MS SQL Server
3. Các công cụ của MS SQL Server
4. Làm việc với công cụ Enterprise


3

4

Manager
5. Các dịch vụ của SQL
Bài 3: Ngôn ngữ định nghĩa và thao
tác dữ liệu (T-SQL)
1. Create Database
2. Create Table
3. Alter Table
4. Toàn vẹn dữ liệu
5. Insert
6. Delete
7. Update
8. Select
Kiểm tra
Bài 4: Thủ tục lưu trữ
1. Khái niệm về thủ tục lưu trữ
2. Tạo thủ lư trữ
3. Lời gọi thủ tục
4. Sử dụng biến trong thủ tục
5. Giá trị trả về của tham số trong
thủ tục lưu trữ
6. Sửa đổi thủ tục
7. Xóa thủ tục
Kiểm tra

8


0.3

1.0

0

4

6

0

0.7

0.2

0.5

0

1.0
1.3
4.0

0.5
0.3
2.0

0.5
1

2

0
0
0

3
24

1.0
9

2
13

0
2

1.5
2.5
2
3.5
3.0
1.5
3
5
2

0.5
1.5

1.0
1.5
1
0.5
1.0
2
0

1
1
1
2
2
1
2
3
0

0
0
0
0
0
0
0
0
2

19
1.5

4.5
1.5

6
0.5
1.5
0.5

11
1
3
1

2
0
0
0

3
3

1.0
1.0

2
2

0
0


2.5
1
2

1.0
0.5
0

1.5
0.5
0

0
0
2


5

Bài 5: Quản lý giao tác
1. Định nghĩa Trigger
2. Sử dụng mệnh đề IF UPDATE

16
1.5
3.5

6
0.5
1.5


7
1
2.0

3
0
0

3.5

1.5

2.0

0

2.5

2.0

0

2

0

0

3


Bài 6: Bảo mật trong SQL Server
1. Cơ chế an tồn dữ liệu
2. Khung nhìn (view) như các cơ
chế bảo vệ dữ liệu
3. Tạo và quản lý User
4. Tạo roles và sử dụng các loại
roles trên server, DB và Object
5. Tạo User: cấp quyền, thu quyền
trên server, DB và Object
Kiểm tra

17
1.5
2.5

4
0.5
0.5

10
1
2

3
0
0

2.0
4.5


0.5
1.5

1.5
3

0
0

3.5

1.0

2.5

0

3

0

0

3

Cộng

90


30

50

10

trong Trigger
3. ROLLBACK TRANSACTION

4. Sử dụng Trigger trong trường hợp4.5
câu lệnh Insert, Update, và Delete
có tác động đến nhiều dòng dữ
liệu
Kiểm tra
6

2. Nội dung chi tiết
Bài 1: Tổng quan về mơ hình Client/Server
04giờ
Mục tiêu:
- Hiểu rõ mơ hình cơ sở dữ liệu Client/Server
- Nắm vững các đặc trưng của mơ hình Client/Server
- Nghiêm túc, tự giác trong học tập
Nội dung:
1. Các kiến thức tổng quan về cơ sở dữ liệu
2. Các giai đoạn phát triển của một hệ quản trị cơ sở dữ liệu.
9

Thời gian:



3. Giới thiệu về mơ hình Client server và các hệ quản trị cơ sở dữ liệu phục vụ
cho mô hình Client/Server
4. Các đặc trưng của mơ hình Client/server
5. Tổng quan về cấu trúc Client/Server
6. Các mơ hình dữ liệu của hệ thống Client/Server
Bài 2: Hệ quản trị cơ sở dữ liệu Microsoft SQL Server

Thời gian: 10 giờ

Mục tiêu:
- Trình bày lịch sử phát triển của hệ quản trị cơ sở dữ liệu MS SQL Server
- Cài đặt được phần mềm hệ quản trị cơ sở dữ liệu MS SQL Server
- Sử dụng được các công cụ hổ trợ của hệ quản trị cơ sở dữ liệu MS SQL
Server
- Cấu hình được hệ thống quản trị cơ sở dữ liệu trên Server nội bộ.
- Nghiêm túc, tự giác trong học tập
- Đảm bảo an toàn cho nguời và thiết bị
Nội dung:
1. Giới thiệu hệ quản trị cơ sở dữ liệu MS SQL Server
2. Cài đặt MS SQL Server
3. Các công cụ của MS SQL Server
4. Làm việc với công cụ Enterprise Manager
4.1.Tạo CSDL
4.2.Tạo bảng
4.3.Tạo mối quan hệ giữa các bảng
4.4.Nhập dữ liệu cho bảng
5. Các dịch vụ của SQL

10



Bài 3: Ngôn ngữ định nghĩa và thao tác dữ liệu (T-SQL)

Thời gian:

24 giờ
Mục tiêu:
⁻ Trình bày cú pháp và công dụng của các phát biểu.
⁻ Thực hiện được việc truy vấn dữ liệu trên câu lệnh T-SQL đúng yêu cầu.
⁻ Tạo được các loại khóa: Khóa chính, khóa phụ, khóa ngồi;
⁻ Các ràng buộc dữ liệu: Check, primary,..
⁻ Thực hiện các thao tác an tồn với máy tính.
⁻ Nghiêm túc, tự giác trong học tập
⁻ Đảm bảo an toàn cho nguời và thiết bị
Nội dung:
1. Tạo cơ sở dữ liệu (Create Database)
2. Tạo bảng (Create Table)
3. Sửa bảng (Alter Table)
4. Toàn vẹn dữ liệu (Contrains)
5. Thêm dữ liệu (Insert)
6. Xóa (Delete)
7. Cập nhật (Update)
8. Chọn lọc (Select)
Bài 4: Thủ tục lưu trữ

Thời gian: 19giờ

Mục tiêu:
- Sử dụng được ngôn ngữ lập trình SQL để định nghĩa được các hàm

- Cài đặt thủ tục nội tại
- Bẫy lỗi, cách dùng con trỏ trong xử lý dữ liệu
- Thực hiện các thao tác an tồn với máy tính
Nội dung:
1. Khái niệm về thủ tục lưu trữ
11


2. Tạo thủ lư trữ
3. Lời gọi thủ tục
4. Sử dụng biến trong thủ tục
5. Giá trị trả về của tham số trong thủ tục lưu trữ
6. Sửa đổi thủ tục
7. Xóa thủ tục
Bài 5: Quản lý giao tác

Thời gian: 19giờ

Mục tiêu:
⁻ Hiểu được thế nào là trigger
⁻ Hiểu các nguyên lý quản lý giao tác
⁻ Quản lý truy xuất cạnh tranh, phục hồi sau sự cố
⁻ Thực hiện các thao tác an tồn với máy tính
Nội dung:
1. Định nghĩa Trigger
2. Sử dụng mệnh đề IF UPDATE trong Trigger
3. ROLLBACK TRANSACTION
4. Sử dụng Trigger trong trường hợp câu lệnh Insert, Update, và Delete có tác động
đến nhiều dịng dữ liệu.
Bài 6: Bảo mật trong SQL Server


Thời gian: 17giờ

Mục tiêu:
⁻ Sử dụng được các lệnh tạo user.
⁻ Sử dụng được các lệnh cấp phát, thu hồi và từ chối quyền đối với người sử
dụng.
⁻ Thực hiện các thao tác an toàn với máy tính
Nội dung:
1. Cơ chế an tồn dữ liệu
2. Khung nhìn (view) như các cơ chế bảo vệ dữ liệu
3. Tạo và quản lý User
12


4. Tạo roles và sử dụng các loại roles trên server, DB và Object
5. Tạo User: cấp quyền, thu quyền trên server, DB và Object
IV. Điều kiện thực hiện mô đun
1. Phịng học chun mơn hóa/nhà xưởng: máy tính được kết nối mạng, 1hv/máy.
Máy tính được cài đặt MS SQL Server 2012, RAM tối thiểu 4GB, ổ cứng còn trống
tối thiểu 525 MB
2. Trang thiết bị máy móc: máy chiếu, bảng viết
3. Học liệu, dụng cụ, nguyên vật liệu:
4. Các điều kiện khác:
V. Nội dung và phương pháp đánh giá
1. Nội dung:
- Kiến thức:
+ Đánh giá thông qua bài kiểm tra viết đạt được các yêu cầu sau:
+ Định nghĩa Database, table và ràn buộc dữ liệu
+ Mô tả được các kiểu dữ liệu trong SQL Server.

+ Trình bày được cú pháp các câu lệnh Select, Insert, Update, Delete.
+ Sao lưu, phục hồi dữ liệu database
+ Export /inport dữ liệu từ SQL sang ứng dụng khác
+ Thêm user , gán quyền và thu hồi quyền
- Kỹ năng:
+ Đánh giá thông qua bài kiểm tra thực hành kỹ năng thao tác, quản trị cơ sở
dữ liệu bằng công cụ Enterprise Manager
+ Phân biệt được các kiểu dữ liệu khi thiết kế bảng.
+ Phân biệt được mơ hình quản trị cơ sở dữ liệu Client/Server với các mơ
hình quản trị cơ sở dữ liệu khác.
+ Cài đặt được cơ sở dữ liệu SQL Server trên máy đơn và máy mạng.
+ Đăng nhập được vào SQL Server.
13


+ Tạo được cơ sở dữ liệu và các thành phần của cơ sở dữ liệu Client/Server
- Năng lực tự chủ và trách nhiệm:
+ Có tinh thần trách nhiệm, ý thức tổ chức kỷ luật, tác phong công nghiệp,
tinh thần hợp tác trong cơng việc
+ Có ý chủ động, độc lập trong công việc, tự học cập nhật kiến thức, nâng cao
trình độ chun mơn.
+ Có khả năng tổ chức và điều hành một nhóm, đánh giá được các thành viên
trong nhóm.
+ Rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập và hoạt động nhóm.
+ Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy.
2. Phương pháp:
- Đánh giá về kiến thức: tự luận và vẫn đáp.
- Đánh giá về kỹ năng: Quan sát thao tác thực hành trên máy tính và thơng qua
chất lượng sản phẩm.
- Đánh giá về năng lực tự chủ và trách nhiệm: Thông qua kết quả đánh giá kiến

thức, kỹ năng và thái độ
VI. Hướng dẫn thực hiện mơ đun
1. Phạm vi áp dụng mơ đun: Chương trình mơ đun này được sử dụng để giảng dạy
cho trình độ trung cấp, cao đẳng
2. Hướng dẫn về phương pháp giảng dạy, học tập mô đun:
- Đối với giáo viên, giảng viên:
+ Chuẩn bị các điều kiện cần thiết trước mỗi bài
+ Chiếu sản phẩm sẽ đạt được trước mỗi bài để nâng cao ý thức học tập
của học sinh.
+ Thao tác mẫu và hướng dẫn chi tiết để hoàn thiện kỹ năng cho học
sinh
+ Có thể chia nhóm học sinh để thực hiện bài tập
- Đối với người học:
14


 Làm bài tập thực hành trên máy tính.
 Trao đổi với nhau, thực hiện các bài thực hành theo nhóm.
3. Những trọng tâm cần chú ý:
⁻ Hiểu rõ các đặc trưng của mơ hình Client/Server
⁻ Trình bày cú pháp và công dụng của các phát biểu T-SQL: tạo CSDL, tạo
user
⁻ Sử dụng các ràng buộc dữ liệu: Check, primary
⁻ Trình bày cú pháp ngơn ngữ lập trình SQL để định nghĩa được các hàm
⁻ Thực hiện nguyên lý quản lý giao tác, cơ chế an toàn dữ liệu
⁻ Thiết lập cấu hình và giải quyết các vấn đề thường xảy ra trên mạng khi sử
dụng truy cập cơ sở dữ liệu.
⁻ Sao lưu và phục hồi đồng thời lập được lịch sao lưu tự động trong
HQTCSDL SQL Server
⁻ Giới thiệu các lỗi thường gặp và cách khắc phục.

⁻ Đảm bảo các biện pháp an tồn cho máy tính, vệ sinh công nghiệp.
4. Tài liệu tham khảo:
[1] Database Management System, simply easy learning, 2015 (free book)
/>[2] Beginning Microsoft SQL Server 2012 Programming, Paul Atkinson, Robert
Vieira, All Rights Reserved A Division of John Wiley & Sons, Inc, 2012.
[3]. Bài tập và bài giải tham khảo SQL Server 7.0/ Nguyễn Gia Tuấn Anh, Trương
Châu Long. NXB Thanh niên, 2003.

15


BÀI 1:TỔNG QUAN VỀ MƠ HÌNH CLIENT/SERVER
Mã bài: 15.1
Giới thiệu:
SQL là một hệ quản trị CSDL nhiều người dùng kiểu Client/Server. Đây là
hệ thống cơ bản dùng lưu trữ dữ liệu cho hầu hết các ứng dụng lớn hiện nay. Mơ
hình Client/Server trên SQL được sử dụng để điều khiển tất cả các chức năng mà
một hệ quản trị CSDL cung cấp cho người dùng các khả năng: định nghĩa dữ liệu,
truy xuất và thao tác dữ liệu, điều khiển truy cập, đảm bảo toàn vẹn dữ liệu.
Mục tiêu:
- Hiểu rõ mơ hình cơ sở dữ liệu Client/Server
- Nắm vững các đặc trưng của mơ hình Client/Server
- Nghiêm túc, tự giác trong học tập
Nội dung chính:
1. Các kiến thức tổng quan về cơ sở dữ liệu
1.1. Mơ hình dữ liệu quan hệ
Mơ hình dữ liệu quan hệ được Codd đề xuất năm 1970 và đến nay trở
thành mơ hình được sử dụng phổ biến trong các hệ quản trị cơ sở dữ liệu thương
mại. Nói một cách đơn giản, một cơ sở dữ liệu quan hệ là một cơ sở dữ liệu
trong đó tất cả dữ liệu được tổ chức trong các bảng có mối quan hệ với nhau.

Mỗi một bảng bao gồm các dòng và các cột: mỗi một dòng được gọi là một bản
ghi (bộ) và mỗi một cột là một trường (thuộc tính).
1.2. Bảng (Table)

Như đã nói ở trên, trong cơ sở dữ liệu quan hệ, bảng là đối tượng được sử
dụng để tổ chức và lưu trữ dữ liệu. Một cơ sở dữ liệu bao gồm nhiều bảng và
mỗi bảng được xác định duy nhất bởi tên bảng. Một bảng bao gồm một tập các
dòng và các cột: mỗi một dòng trong bảng biểu diễn cho một thực thể.
Tên của bảng: được sử dụng để xác định duy nhất mỗi bảng trong cơ sở
dữ liệu.
Cấu trúc của bảng: Tập các cột trong bảng. Mỗi một cột trong bảng được
16


xác định bởi một tên cột và phải có một kiểu dữ liệu nào đó. Kiểu dữ liệu của
mỗi cột qui định giá trị dữ liệu có thể được chấp nhận trên cột đó.
Dữ liệu của bảng: Tập các dịng (bản ghi) hiện có trong bảng.
1.3. Khố của bảng
Trong một cơ sở dữ liệu được thiết kế tốt, mỗi một bảng phải có một hoặc
một tập các cột mà giá trị dữ liệu của nó xác định duy nhất một dòng trong một
tập các dòng của bảng. Tập một hoặc nhiều cột có tính chất này được gọi là
khố của bảng. Việc chọn khố của bảng có vai trị quan trọng trong việc thiết
kế và cài đặt các cơ sở dữ liệu quan hệ. Các dòng dữ liệu trong một bảng phải
có giá trị khác nhau trên khố.
Một bảng có thể có nhiều tập các cột khác nhau có tính chất của khố (tức
là giá trị của nó xác định duy nhất một dòng dữ liệu trong bảng). Trong trường
hợp này, khoá được chọn cho bảng được gọi là khoá chính (primary key) và
những khố cịn lại được gọi là khoá phụ hay là khoá dự tuyển (candidate
key/unique key).
1.4. Mối quan hệ và khố ngồi

Các bảng trong một cơ sở dữ liệu khơng tồn tại độc lập mà có mối quan hệ
mật thiết với nhau về mặt dữ liệu. Mối quan hệ này được thể hiện thông qua
ràng buộc giá trị dữ liệu xuất hiện ở bảng này phải có xuất hiện trước trong
một bảng khác. Mối quan hệ giữa các bảng trong cơ sở dữ liệu nhằm đàm bảo
được tính đúng đắn và hợp lệ của dữ liệu trong cơ sở dữ liệu. Trong hình 1.1,
hai bảng LOP và KHOA có mối quan hệ với nhau. Mối quan hệ này đòi hỏi giá
trị cột MAKHOA của một dòng (tức là một lớp) trong bảng LOP phải được xác
định từ cột MAKHOA của bảng KHOA.

17


Hình 1.1: Mối quan hệ giữa hai bảng LOP và KHOA
Mối quan hệ giữa các bảng trong một cơ sở dữ liệu thể hiện đúng mối quan
hệ giữa các thực thể trong thế giới thực. Trong hình 1.3, mối quan hệ giữa hai bảng
LOP và KHOA không cho phép một lớp nào đó tồn tại mà lại thuộc vào một khoa
khơng có thật. Khái niệm khố ngồi (Foreign Key) trong cơ sở dữ liệu quan hệ
được sử dụng để biểu diễn mối quan hệ giữa các bảng dữ liệu. Một hay một tập các
cột trong một bảng mà giá trị của nó được xác định từ khóa chính của một bảng
khác được gọi là khố ngồi. Trong hình 1.1, cột MAKHOA của bảng LOP được
gọi là khố ngồi của bảng này, khố ngồi này tham chiếu đến khố chính của
bảng KHOA là cột MAKHOA.
2. Các giai đoạn phát triển của một hệ quản trị cơ sở dữ liệu.
Những năm 1975-1976, IBM lần đầu tiên đưa ra hệ quản trị CSDL kiểu quan
hệ mang tên SYSTEM-R với ngôn ngữ giao tiếp CSDL là SEQUEL (Structured
English QUEry Language), đó một ngơn ngữ con để thao tác với CSDL.
Năm 1976 ngôn ngữ SEQUEL được cải tiến thành SEQUEL2. Khoảng năm
1978-1979 SEQUEL2 được cải tiến và đổi tên thành Ngơn ngữ truy vấn có cấu trúc
(Structured Query Language - SQL) và cuối năm 1979 được cải tiến thành
SYSTEM-R.

Năm 1986 Viện Tiêu Chuẩn Quốc Gia Mỹ (American National Standards
Institute - ANSI) đã công nhận và chuẩn hóa ngơn ngữ SQL, và sau đó Tổ chức
Tiêu chuẩn Thế giới (International Standards Organization - ISO) cũng đã cơng
nhận ngơn ngữ này. Đó là chuẩn SQL-86.
18


Tới nay SQL đã qua 3 lần chuẩn hóa lại (1989, 1992, 1996) để mở rộng các
phép toán và tăng cường khả năng bảo mật và tính tồn vẹn dữ liệu.
Ngôn ngữ CSDL được cài đặt khác nhau đối tùy theo các hệ quản trị CSDL
khác nhau, tuy nhiên đều phải theo một chuẩn (Standard) nhất định. Hiện nay, đa
phần các ngôn ngữ truy vấn CSDL dựa trên chuẩn SQL-92.
3. Giới thiệu về mơ hình Client server và các hệ quản trị cơ sở dữ liệu phục vụ
cho mơ hình Client/Server
SQL là một hệ quản trị CSDL nhiều người dùng kiểu Client/Server. Đây là hệ
thống cơ bản dùng lưu trữ dữ liệu cho hầu hết các ứng dụng lớn hiện nay. Mơ hình
Client/Server trên SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ
quản trị CSDL cung cấp cho người dùng các khả năng:


Định nghĩa dữ liệu



Truy xuất và thao tác dữ liệu



Điều khiển truy cập




Đảm bảo toàn vẹn dữ liệu

4. Các đặc trưng của mơ hình Client/server
Một ứng dụng kiểu Client/Server bao gồm 2 phần: Một phần chạy trên
Server (máy chủ) và phần khác chạy trên các Workstations (máy trạm).

Hình 1.2: Mơ hình Client/Server trên SQL Server
Phần Server: (Máy chủ) chứa các CSDL, cung cấp các chức năng phục vụ
cho việc tổ chức và quản lý CSDL, cho phép nhiều người sử dụng cùng truy cập
dữ liệu. Điều này không chỉ tiết kiệm mà cịn thể hiện tính nhất qn về mặt dữ
liệu. Tất cả dữ liệu đều được truy xuất thông qua server, khơng được truy xuất
trực tiếp. Do đó, có độ bảo mật cao, tính năng chịu lỗi, chạy đồng thời, sao lưu dự
phòng…
19


Phần Client (Máy khách): Là các phần mềm chạy trên máy trạm cho phép
người sử dụng giao tiếp CSDL trên Server.
Hệ thống máy tính Client/Server có 5 mơ hình kiến trúc dựa trên cấu hình phân
tán về truy nhập dữ liệu, gồm:
- Mơ hình CSDL tập trung (Centralized database model)
- Mơ hình CSDL theo kiểu file - server (File - server database model)
- Mơ hình xử lý từng phần CSDL (Database extract proceSQL Servering model)
- Mơ hình CSDL Client/Server (Client/Server database model)
- Mơ hình CSDL phân tán (Distributed database model)
5. Tổng quan về cấu trúc Client/Server
Một CSDL phải đảm bảo được tính độc lập giữa dữ liệu và chương trình
ứng dụng. Vì vậy, trong mơ hình CSDL Client/Server, hệ thống Server lưu trữ

CSDL ở trên máy A, thì hệ thống Client chạy các chương trình ứng dụng phải ở
trên máy khác.
Trong mơ hình này, các thành phần xử lý ứng dụng trên hệ thống Client đưa
ra yêu cầu cho phần mềm CSDL trên máy Client, phần mềm này sẽ kết nối với
phần mềm CSDL chạy trên Server. Phần mềm CSDL trên Server sẽ truy nhập vào
CSDL và gửi trả kết quả cho máy Client.
6. Các mơ hình dữ liệu của hệ thống Client/Server
6.1. Mơ hình CSDL tập trung (Centralized database model)
Trong mơ hình này, các thành phần xử lý ứng dụng, phần mềm CSDL và bản
thân CSDL đều ở trên một bộ xử lý.
Ví dụ: Người dùng máy tính cá nhân có thể chạy các chương trình ứng dụng
có sử dụng phần mềm CSDL Oracle để truy nhập tới CSDL nằm trên đĩa cứng của
máy tính cá nhân đó. Từ khi các thành phần ứng dụng, phần mềm CSDL và bản
thân CSDL cùng nằm trên một máy tính thì ứng dụng đã thích hợp với mơ hình
tập trung.
Hầu hết cơng việc xử lý luồng thơng tin chính được thực hiện bởi nhiều tổ
chức mà vẫn phù hợp với mơ hình tập trung. Ví dụ một bộ xử lý mainframe chạy
20


phần mềm CSDL IMS hoặc DB2 của IBM có thể cung cấp cho các trạm làm việc
ở các vị trí phân tán sự truy nhập nhanh chóng tới CSDL trung tâm. Tuy nhiên
trong rất nhiều hệ thống như vậy, cả 3 thành phần của ứng dụng CSDL đều thực
hiện trên cùng một máy mainframe do vậy cấu hình này cũng thích hợp với mơ
hình tập trung.
6.2. Mơ hình CSDL theo kiểu file - server (File - server databasemodel)
Trong mơ hình CSDL theo kiểu file - server các thành phần ứng dụng và
phần mềm CSDL ở trên một hệ thống máy tính và các file vật lý tạo nên CSDL
nằm trên hệ thống máy tính khác. Một cấu hình như vậy thường được dùng trong
mơi trường cục bộ, trong đó một hoặc nhiều hệ thống máy tính đóng vai trị của

server, lưu trữ các file dữ liệu cho hệ thống máy tính khác thâm nhập tới. Trong
mơi trường file - server, phần mềm mạng được thi hành và làm cho các phần mềm
ứng dụng cũng như phần mềm CSDL chạy trên hệ thống của người dùng cuối coi
các file hoặc CSDL trên file server thực sự như là trên máy tính của người chính
họ.
Mơ hình file server rất giống với mơ hình tập trung. Các file CSDL nằm trên
máy khác với các thành phần ứng dụng và phần mềm CSDL; tuy nhiên các thành
phần ứng dụng và phần mềm CSDL có thể có cùng thiết kế để vận hành một mơi
trường tập trung.
6.3. Mơ hình xử lý từng phần CSDL (Database extract proceSQL Servering
model)
Một CSDL ở xa có thể được truy nhập bởi phần mềm CSDL, được gọi là xử
lý dữ liệu từng phần. Với mơ hình này, người sử dụng có thể tại một máy tính cá
nhân kết nối với hệ thống máy tính ở xa nơi có dữ liệu mong muốn. Người sử
dụng có thể tác động trực tiếp đến phần mềm chạy trên máy ở xa và tạo yêu cầu
để lấy dữ liệu từ CSDL đó. Người sử dụng cũng có thể chuyển dữ liệu từ máy tính
ở xa về chính máy tính của mình và vào đĩa cứng và có thể thực hiện việc sao
chép bằng phần mềm CSDL trên máy cá nhân.
Với cách tiếp cận này, người sử dụng phải biết chắc chắn là dữ liệu nằm ở
đâu và làm như thế nào để truy nhập và lấy dữ liệu từ một máy tính ở xa. Phần
mềm ứng dụng đi kèm cần phải có trên cả hai hệ thống máy tính để kiểm sốt sự
truy nhập dữ liệu và chuyển dữ liệu giữa hai hệ thống. Tuy nhiên, phần mềm
21


CSDL chạy trên hai máy không cần biết rằng việc xử lý CSDL từ xa đang diễn ra
vì người sử dụng tác động tới chúng một cách độc lập.
6.4. Mô hình CSDL Client/Server (Client/Server database model)
Mơ hình CSDL Client/Server gần giống như mơ hình file - server, tuy nhiên
mơ hình Client/Server có rất nhiều thuận lợi hơn mơ hình file - server.

Xét ví dụ sau đây: Một người dùng cuối muốn tạo ra một vấn tin để lấy dữ
liệu tổng số, yêu cầu đòi hỏi lấy dữ liệu từ 1000 bản ghi.
Với cách tiếp cận File-Server nội dung của tất cả 1000 bản ghi phải đưa lên
mạng, vì phần mềm CSDL chạy trên máy của người sử dụng phải truy nhập từng
bản ghi để thoả mãn yêu cầu của người sử dụng.
Với cách tiếp cận CSDL Client/Server, chỉ có lời vấn tin khởi động ban đầu
và kết quả cuối cùng cần đưa lên mạng. Phần mềm CSDL chạy trên máy lưu giữ
CSDL sẽ truy nhập các bản ghi cần thiết, xử lý chúng và gọi các thủ tục cần thiết
để đưa ra kết quả cuối cùng.
 Front-end software
Trong mơ hình CSDL Client/Server, thường nói đến các phần mềm frontend software và back-end software. Front-end software được chạy trên một máy
tính cá nhân hoặc một workstation và đáp ứng các yêu cầu đơn lẻ riêng biệt, phần
mềm này đóng vai trị của Client trong ứng dụng CSDL Client/Server và thực hiện
các chức năng hướng tới nhu cầu của người dùng cuối cùng, phần mềm Front-end
software thường được chia thành các loại sau:
- End user database software: Được thực hiện bởi người sử dụng cuối trên
chính hệ thống của họ để truy nhập các CSDL cục bộ nhỏ cũng như kết nối với
các CSDL lớn hơn trên CSDL Server.
- Simple query and reporting software: Được thiết kế để cung cấp các công cụ
dễ dùng hơn trong việc lấy dữ liệu từ CSDL và tạo các báo cáo đơn giản từ dữ liệu
đã có.
- Data analysis software: Cung cấp các hàm về tìm kiếm, khơi phục, chúng có
thể cung cấp các phân tích phức tạp cho người dùng.
- Application development tools: Cung cấp các khả năng về ngôn ngữ mà các
22


nhân viên hệ thống thông tin chuyên nghiệp sử dụng để xây dựng các ứng dụng
CSDL.
- Database administration Tools: Các công cụ này cho phép người quản trị

CSDL sử dụng máy tính cá nhân hoặc trạm làm việc để thực hiện việc quản trị
CSDL như định nghĩa các CSDL, thực hiện lưu trữ hay phục hồi.
 Back-end software
Phần mềm này bao gồm phần mềm CSDL Client/Server và phần mềm mạng
chạy trên máy đóng vai trị là Server CSDL.
6.5. Mơ hình CSDL phân tán (Distributed database model)
Cả hai mơ hình File - Server và Client/Server đều giả định là dữ liệu nằm
trên một bộ xử lý và chương trình ứng dụng truy nhập dữ liệu nằm trên một bộ xử
lý khác, cịn mơ hình CSDL phân tán lại giả định bản thân CSDL có ở trên nhiều
máy khác nhau.
CÂU HỎI, BÀI TẬP
Câu 1: Phân biệt các khái niệm CSDL, hệ quản trị CSDL, hệ CSDL, SQL, T-SQL
Câu 2: Cho ví dụ về một số hệ quản trị CSDL theo mơ hình Client/Server ?
Câu 3: Hãy trình bày các đặt trưng của mơ hình Client/Server?
Câu 4: Hãy so sánh mơ hình dữ liệu tập trung và mơ hình dữ liệu phân tán ?
Câu 5: Cho ví dụ về mơ hình dữ liệu tập trung và mơ hình dữ liệu phân tán hiện
nay?

23


×