1
TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin 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.
QTM--14-QTCSDLNC
2
LỜI GIỚI THIỆU
Ngôn ngữ hỏi có cấu trúc (SQL) và các hệ quản trị cơ sở dữ liệu quan hệ một
trong những nền tảng kỹ thuật quan trọng trong công nghiệp y tính. Cho đến nay,
thể nói rằng SQL đã được xem ngôn ngchuẩn trong sở dữ liệu. Các hệ quản
trị sở dữ liệu quan hệ thương mại hiện như Oracle, SQL Server, Informix,
DB2,... đều chọn SQL làm ngôn ngữ cho sản phẩm của mình
So với chuẩn SQL do ANSI/ISO đề xuất, bản thân các hệ quản trị sở dữ liệu
quan hệ thương mại lại thể một số thay đổi nào đó; Điều này đôi khi dẫn đến sự
khác biệt, mặc không đáng kể, giữa SQL chuẩn SQL được sử dụng trong các h
quản trị sở dữ liệu cụ thể. Trong giáo trình này, chúng tôi chọn hệ quản trị cơ sở dữ
liệu SQL Server của hãng Microsoft để sử dụng cho các dụ minh hoạ cũng như lời
giải của các bài tập.
Cần Thơ, ngày … tháng … năm 2017
Tham gia biên soạn
Chủ biên: Nguyễn Hoàng Vũ
3
MỤC LỤC
TUYÊN BỐ BẢN QUYỀN .................................................................................. 1
LỜI GIỚI THIỆU .................................................................................................. 2
MỤC LỤC ............................................................................................................. 3
GIÁO TRÌNH MÔN HỌC/MÔ ĐUN .................................................................. 7
YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔN HỌC/MÔ ĐUN ................. 9
BÀI 1 : GIỚI THIỆU LỊCH SỬ PHÁT TRIỂN .............................................. 10
1. Lịch sử phát triển của SQL Server .................................................................. 10
1.1 Giới thiệu ....................................................................................................... 10
1.1.1 SQL là ngôn ngữ cơ sở dữ liệu quan hệ ..................................................... 10
1.1.2 Vai trò của SQL .......................................................................................... 11
1.2. Sự quan trọng và cần thiết của chúng trong lập trình ứng dụng .................. 12
2. Các kiểu dữ liệu trong SQL SERVER ............................................................ 14
BÀI 2 CÁC THÀNH PHẦN CƠ BẢN CỦA SQL SERVER ........................ 17
1. Khái niệm cơ bản về mô hình quan hệ ............................................................ 17
1.1 Mô hình dữ liệu quan hệ ............................................................................... 17
1.2 Bảng (Table) .................................................................................................. 18
1.3 Khoá của bảng ............................................................................................... 18
1.4 Mối quan hệ và khoá ngoài ........................................................................... 18
1.5 Câu lệnh SQL ................................................................................................ 19
1.6 Qui tắc sử dụng tên trong SQL ..................................................................... 20
2. Cấu trúc và vai trò của các CSDL: Master, Model, msdl, Tempdb, pubs,
Northwind ............................................................................................................ 21
2.1 Master ........................................................................................................ 22
2.2 Model ........................................................................................................ 22
2.3 Msdb .......................................................................................................... 22
2.4 Tempdb...................................................................................................... 22
2.5 Pubs ........................................................................................................... 22
2.6 Northwind ................................................................................................. 22
2.7. Tập tin chuyển tác log .............................................................................. 23
Bài tập ................................................................................................................. 23
BÀI 3: GIỚI THIỆU MỘT SỐ CÔNG CỤ TRONG SQL SERVER ................ 24
1. Sử dụng công cụ Enterprise manager để tạo ra các CSDL ............................. 24
1.1. SQL enterprise manager ........................................................................... 24
1.2. SQL server services manager ................................................................... 24
1.2.1 Các dịch vụ của SQL Server .................................................................. 24
1.2.2. Khởi động, tạm ngưng, dừng các dịch vụ của SQL Server ................... 25
1.3.1 Trình Enterprise Manager ..................................................................... 25
2. Cách dùng công cụ Query Analyzer để tạo ra các CSDL ............................... 46
2.1 Giới thiệu. .................................................................................................. 46
2.2. Khởi động Query Analyzer ...................................................................... 47
2.3. Thành phần chính của Query Analyzer ................................................... 47
3. Thiết lập mt số cấu hình về Client network utility........................................ 47
4
3.1 Giới thiệu về mô hình Client/Server và các hệ quản trị CSDL phục vụ cho
mô hình Client/Server. .................................................................................... 47
3.2. Các đặc trưng của mô hình Client/server ................................................. 48
3.3. Các thành phần quan trọng trong SQL Server ......................................... 48
3.3.1 Relational Database Engine - Cái lõi của SQL Server ........................... 48
3.3.2 Replication - Cơ chế tạo bản sao ............................................................ 48
3.3.3 Data Transformation Service (DTS) ...................................................... 49
3.3.4 Analysis Service ..................................................................................... 49
3.3.5. English Query - Một dịch vụ truy vấn................................................... 49
3.3.6. Meta Data Service ................................................................................. 49
3.3.7. SQL Server Books Online ..................................................................... 49
BÀI 4: PHÁT BIỂU CƠ BẢN T-SQL ................................................................ 51
1. Cú pháp các câu lệnh T-SQL như: Select, Insert, Delete, Update cú pháp .... 51
1.1 SELECT ........................................................................................................ 51
1.1.1 Mệnh đề FROM ...................................................................................... 52
1.1.2 Danh sách chọn trong câu lệnh SELECT .............................................. 52
1.1.3 Chỉ định điều kiện truy vấn dữ liệu ........................................................ 53
1.1.4 Tạo mới bảng dữ liệu từ kết quả của câu lệnh SELECT ........................ 55
1.1.5 Sắp xếp kết quả truy vấn......................................................................... 55
1.1.6 Thống kê dữ liệu với GROUP BY ........................................................... 56
1.1.7 Thống kê dữ liệu với COMPUTE ........................................................... 58
1.2 INSERT ......................................................................................................... 59
1.3 DELETE ........................................................................................................ 59
1.4 UPDATE ....................................................................................................... 60
1.5 Các ví dụ minh họa ........................................................................................ 61
1.6 Bài tập áp dụng .............................................................................................. 69
2. Các ví dụ minh họa, bài tập áp dụng ............................................................... 75
BÀI 5 TẠO VÀ SỬA ĐỔI BẢNG DỮ LIỆU ................................................. 83
1. Tạo CSDL và bảng dữ liệu bảng lệnh Create Database .................................. 83
1.1 Tạo CSDL ...................................................................................................... 83
1.2 Tạo bảng dữ liệu ............................................................................................ 84
2. Sử dụng được các ràng buộc: CHECK ............................................................ 87
2.1. Ràng buộc PRIMARY KEY .................................................................... 88
2.2 Ràng buộc UNIQUE ................................................................................. 89
2.4 Ràng buộc FOREIGN KEY ...................................................................... 90
3 Xóa dữ liệu trong bảng ..................................................................................... 92
3.1 Xoá bảng ........................................................................................................ 92
3.2. Sửa đổi định nghĩa bảng ............................................................................... 93
Bài tập .................................................................................................................. 94
BÀI 6: KHÓA VÀ RÀNG BUỘC DỮ LIỆU ................................................... 100
1. Khái niệm cơ bản về ràng buộc ..................................................................... 100
2 Ràng buộc dữ liệu nhập vào ........................................................................... 100
3. Ràng buộc miền ............................................................................................. 102
4. Ràng buộc trọn vẹn ........................................................................................ 103
5
5. Giá trị mặc định và qui luật ........................................................................... 104
Bài tập ............................................................................................................... 104
I 7 CHUẨN HÓA QUAN H .................................................................. 106
1 Khái niệm về chuẩn hoá ................................................................................. 106
1.1. Sự dư thừa dữ liệu .................................................................................. 106
1.2. Các dạng thường cập nhật dữ liệu .......................................................... 106
2. Các bước chuẩn hóa ...................................................................................... 107
2.1 Dạng chuẩn thứ nhất (1NF)..................................................................... 107
2.2 Dạng chuẩn thứ 2 (2NF) ......................................................................... 107
2.3 Dạng chuẩn thứ 3 (3NF) ......................................................................... 108
2.4. Dạng chuẩn Boyce-Codd (BCNF) ......................................................... 109
2.5. Dạng chuẩn thứ 4 (4NF) ........................................................................ 109
2.6. Dạng chuẩn thứ 5 (5NF) ........................................................................ 110
3. Các loại quan hệ ............................................................................................ 110
3.1 Phụ thuộc hàm ......................................................................................... 110
3.2 Phụ thuộc đa trị ....................................................................................... 111
3.3 Phụ thuộc chiếu-nối................................................................................. 112
BÀI 8: BẢNG ẢO - VIEW ............................................................................... 113
1. Khái niệm về View ........................................................................................ 113
2 Cách dùng view để lọc dữ liệu ....................................................................... 114
2.1 Cách dùng view ........................................................................................... 114
2.2 Tạo khung nhìn - Khung nhìn như bộ lọc ................................................... 115
3. Cách cập nhật dữ liệu vào view .................................................................... 116
3.1 cập nhật dữ liệu vào view ............................................................................ 116
3.2. Sửa đổi khung nhìn .................................................................................... 118
3.3. Xoá khung nhìn .......................................................................................... 119
4. Các hàm quan trọng trong t-sql ..................................................................... 119
4.1 Các hàm làm việc với kiểu dữ liệu s ......................................................... 119
4.2 Các hàm làm việc với kiểu dữ liệu chuỗi .................................................... 120
4.3 Các hàm làm việc với kiểu dữ liệu Ngày tháng/ Thời gian ........................ 122
4.4 Hàm CAST và CONVERTER .................................................................... 123
5. Thủ tục lưu trữ, hàm và trigger ..................................................................... 124
5.1 Thủ tục lưu trữ (Stored procedure) ............................................................. 124
5.2. Hàm do người dùng định nghĩa (User Defined Function-UDF) ................ 128
5.3 Trigger ......................................................................................................... 131
5.4. DDL TRIGGER ......................................................................................... 136
5.5. Enable/ Disable TRIGGER ........................................................................ 137
Bài tập ............................................................................................................... 137
Bài 9: THIẾT KẾ CƠ SỞ DỮ LIỆU ................................................................ 139
1. Khái niệm về mô hình quan hệ ..................................................................... 139
1.1 Giới thiệu ..................................................................................................... 139
1.2. Nguyên tắc hoạt động của transaction log trong SQL Server.................... 139
1.3. Tạo một user database ................................................................................ 140
1.4. Những điểm cần lưu ý khi thiết kế mt database ....................................... 142