Bài giảng SQL Server - Phạm Khánh Bảo

Thời lượng: 02 tiết lý thuyết

Kết thúc chương này, sinh viên có thể:

 Hiểu được mô hình Client/Server

 Hiểu được khái niệm CSDL và chức năng của hệ quản trị cơ sở dữ liệu

 Biết được các tiện ích và tiện ích trong SQL Server

 Biết được các thành phần trong SQL Server

 Làm quen với giao diện công cụ SQL Server Management Studio

1.1. MÔ HÌNH CLIENT/SERVER

Mô hình Client/Server (mô hình khách/chủ) là một hệ thống mạng máy tính

được kết nối với nhau, bao gồm các thành phần sau:

Hình 1.1. Mô hình Client/Server

- Server (máy chủ): Là máy tính có bộ xử lý với tốc độ cao, tài nguyên bộ

nhớ lớn để hoạt động được tốt bởi cùng lúc sẽ có nhiều người dùng mạng truy xuất

đến server thông qua các máy client. Trong một hệ thống mạng máy tính có thể có

nhiều server với các chức năng độc lập riêng biệt khác nhau.

- Client (máy khách): là các máy tính được phép truy xuất đến các tài nguyên

được chia sẻ trên mạng.

- Dây cáp mạng: là hệ thống dây kim loại hoặc quang học kết nối các máy

tính, máy in lại với nhau.3

- Dữ liệu chung: là các tập tin, thư mục mà người sử dụng trong hệ thống

mạng có thể truy xuất đến server từ máy client.

Trong mô hình client/server, việc tổ chức các xử lý phải đảm bảo các yêu cầu

(request) từ client phải được server hồi đáp (response) một cách nhanh chóng và

không làm tắc nghẽn hệ thống mạng máy tính.

Ưu điểm của việc phát triển ứng dụng trên mô hình Client/Server:

- Giảm chi phí

- Tốc độ nhanh

- Tính tương thích cao

1.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

1.2.1. Cơ sở dữ liệu

Trong thực tế cuộc sống, dữ liệu được mô tả dưới nhiều dạng khác nhau (ký

tự, ký số, hình ảnh, ký hiệu, âm thanh ). Mỗi cách mô tả như vậy được gắn với

một ngữ nghĩa nào đó.

Ví dụ, một đối tượng sinh viên thực tế có rất nhiều thông tin khác nhau liên

quan đến bản thân sinh viên đó như: tên, địa chỉ, ngày sinh, lớp, điểm số sở

thích, tác phong, quê quán, gia đình, quan hệ cộng đồng, cân nặng, chiều cao Tuy

nhiên, với mục đích quản lý (thông thường) của nhà trường thì không phải tất cả các

thông tin kia đều được lưu trữ. Tùy mục đích, nhà trường có thể cần lưu trữ:

– tên, địa chỉ, ngày sinh, lớp, điểm số.

– hoặc tên, địa chỉ, ngày sinh, lớp, điểm số, quê quán, họ tên cha mẹ,

– hoặc một tập hợp thông tin khác.

Để quản lý thông tin của sinh viên bằng cách tin học hóa, Nhà trường cần thiết

kế một cơ sở dữ liệu quản lý sinh viên.

Cơ sở dữ liệu (database), viết tắt là CSDL hoặc DB, là một tập hợp các dữ liệu

có quan hệ logic với nhau, có thể dễ dàng chia sẻ và được thiết kế nhằm đáp ứng

các nhu cầu sử dụng của một tổ chức, cá nhân nào đó.

Một cách định nghĩa khác dễ hiểu hơn, CSDL là một tập hợp có cấu trúc của

những dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công4

nhân viên, danh sách các đề án, niên giám điện thoại, kết quả học tập của sinh viên,

các mặt hàng trong siêu thị ). Một CSDL được thiết kế, xây dựng và lưu trữ với

một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay

người dùng.

pdf 112 trang yennguyen 7160
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng SQL Server - Phạm Khánh Bảo", để 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 SQL Server - Phạm Khánh Bảo

Bài giảng SQL Server - Phạm Khánh Bảo
TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA CÔNG NGHỆ THÔNG TIN 
PHẠM KHÁNH BẢO 
BÀI GIẢNG 
SQL SERVER 
Quảng Ngãi, tháng 12 năm 2016 
TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG 
KHOA CÔNG NGHỆ THÔNG TIN 
PHẠM KHÁNH BẢO 
BÀI GIẢNG 
SQL SERVER 
Dành cho sinh viên bậc đại học 
ngành Công nghệ thông tin và Sư phạm tin 
----TÀI LIỆU LƯU HÀNH NỘI BỘ---
1 
LỜI NÓI ĐẦU 
SQL Server là học phần cơ sở ngành giúp sinh viên có được một kiến thức 
toàn diện trong việc hiểu và sử dụng hệ quản trị cơ sở dữ liệu SQL Server. Từ năm 
học 2015-2016, môn học này là học phần tích hợp theo chương trình hợp tác đào 
tạo giữa trường ĐH Phạm Văn Đồng và công ty phần mềm FPT Software. 
Bài giảng được thiết kế dành cho sinh viên đại học các ngành Công nghệ 
thông tin và Sư phạm tin học. Nội dung được xây dựng theo đúng chương trình chi 
tiết của học phần SQL Server, được áp dụng từ năm học 2016-2017. 
Để thuận tiện cho việc giảng dạy và học tập, đầu mỗi chương sẽ mô tả thời 
lượng giảng dạy và mục tiêu tối thiểu mà sinh viên cần đạt được. Đối với các 
chương có phần thực hành, bài tập thực hành sẽ được trình bày cụ thể sau mỗi 
chương. Để thuận tiện cho việc thực hành của sinh viên, các bài thực hành sẽ tập 
trung vào một cơ sở dữ liệu duy nhất. Do đó, để học tập tốt học phần này, sinh viên 
cần phải thực hiện tất cả các bài tập thực hành ở chương trước trước khi tiếp tục học 
lý thuyết trong chương mới. 
Hy vọng bài giảng này sẽ là tài liệu bổ ích dành cho sinh viên ngành Công 
nghệ thông tin và Sư phạm tin học của trường Đại học Phạm Văn Đồng. 
2 
Chương 1: TỔNG QUAN VỀ SQL SERVER 
Thời lượng: 02 tiết lý thuyết 
Kết thúc chương này, sinh viên có thể: 
 Hiểu được mô hình Client/Server 
 Hiểu được khái niệm CSDL và chức năng của hệ quản trị cơ sở dữ liệu 
 Biết được các tiện ích và tiện ích trong SQL Server 
 Biết được các thành phần trong SQL Server 
 Làm quen với giao diện công cụ SQL Server Management Studio 
1.1. MÔ HÌNH CLIENT/SERVER 
Mô hình Client/Server (mô hình khách/chủ) là một hệ thống mạng máy tính 
được kết nối với nhau, bao gồm các thành phần sau: 
Hình 1.1. Mô hình Client/Server 
- Server (máy chủ): Là máy tính có bộ xử lý với tốc độ cao, tài nguyên bộ 
nhớ lớn để hoạt động được tốt bởi cùng lúc sẽ có nhiều người dùng mạng truy xuất 
đến server thông qua các máy client. Trong một hệ thống mạng máy tính có thể có 
nhiều server với các chức năng độc lập riêng biệt khác nhau. 
- Client (máy khách): là các máy tính được phép truy xuất đến các tài nguyên 
được chia sẻ trên mạng. 
- Dây cáp mạng: là hệ thống dây kim loại hoặc quang học kết nối các máy 
tính, máy in lại với nhau. 
3 
- Dữ liệu chung: là các tập tin, thư mục mà người sử dụng trong hệ thống 
mạng có thể truy xuất đến server từ máy client. 
Trong mô hình client/server, việc tổ chức các xử lý phải đảm bảo các yêu cầu 
(request) từ client phải được server hồi đáp (response) một cách nhanh chóng và 
không làm tắc nghẽn hệ thống mạng máy tính. 
Ưu điểm của việc phát triển ứng dụng trên mô hình Client/Server: 
- Giảm chi phí 
- Tốc độ nhanh 
- Tính tương thích cao 
1.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 
1.2.1. Cơ sở dữ liệu 
Trong thực tế cuộc sống, dữ liệu được mô tả dưới nhiều dạng khác nhau (ký 
tự, ký số, hình ảnh, ký hiệu, âm thanh). Mỗi cách mô tả như vậy được gắn với 
một ngữ nghĩa nào đó. 
Ví dụ, một đối tượng sinh viên thực tế có rất nhiều thông tin khác nhau liên 
quan đến bản thân sinh viên đó như: tên, địa chỉ, ngày sinh, lớp, điểm số  sở 
thích, tác phong, quê quán, gia đình, quan hệ cộng đồng, cân nặng, chiều cao Tuy 
nhiên, với mục đích quản lý (thông thường) của nhà trường thì không phải tất cả các 
thông tin kia đều được lưu trữ. Tùy mục đích, nhà trường có thể cần lưu trữ: 
– tên, địa chỉ, ngày sinh, lớp, điểm số. 
– hoặc tên, địa chỉ, ngày sinh, lớp, điểm số, quê quán, họ tên cha mẹ, 
– hoặc một tập hợp thông tin khác. 
Để quản lý thông tin của sinh viên bằng cách tin học hóa, Nhà trường cần thiết 
kế một cơ sở dữ liệu quản lý sinh viên. 
Cơ sở dữ liệu (database), viết tắt là CSDL hoặc DB, là một tập hợp các dữ liệu 
có quan hệ logic với nhau, có thể dễ dàng chia sẻ và được thiết kế nhằm đáp ứng 
các nhu cầu sử dụng của một tổ chức, cá nhân nào đó. 
Một cách định nghĩa khác dễ hiểu hơn, CSDL là một tập hợp có cấu trúc của 
những dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công 
4 
nhân viên, danh sách các đề án, niên giám điện thoại, kết quả học tập của sinh viên, 
các mặt hàng trong siêu thị). Một CSDL được thiết kế, xây dựng và lưu trữ với 
một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay 
người dùng. 
1.2.2. Hệ quản trị cơ sở dữ liệu 
Hệ quản trị cơ sở dữ liệu (Database Management System – DBMS) là một 
phần mềm hay hệ thống được thiết kế để quản trị cơ sở dữ liệu. Các hệ quản trị 
CSDL thực hiện các chức năng lưu trữ, sửa chữa, xóa, tìm kiếm thông tin trong một 
CSDL. Có rất nhiều loại hệ quản trị CSDL khác nhau, từ phần mềm chạy trên máy 
tính cá nhân đến các hệ thống lớn chạy trên các siêu máy tính. 
Đa số các hệ quản trị CSDL đều sử dụng ngôn ngữ có cấu trúc SQL 
(Structured Query Language). Các hệ quản trị CSDL phổ biến được nhiều người 
biết đến là MySQL, Oracle, SQL Server, DB2 
Ưu điểm của hệ quản trị CSDL: 
- Đảm bảo tính nhất quán và toàn vẹn dữ liệu 
- Hạn chế dữ liệu dư thừa 
- Có khả năng chia sẻ dữ liệu rất lớn 
Nhược điểm của hệ quản trị CSDL: 
- Hệ quản trị CSDL tốt thì khá phức tạp và tốn nhiều bộ nhớ 
1.3. HỆ QUẢN TRỊ CSDL MICROSOFT SQL SERVER 
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ của hãng phần 
mềm Microsoft, hoạt động theo mô hình Client/Server, cho phép nhiều người truy 
xuất đến dữ liệu cùng lúc, quản lý việc truy nhập hợp lệ và các quyền hạn của từng 
người dùng trên CSDL. 
SQL Server có 7 phiên bản: 
- Enterprise: Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt 
trên hệ thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ 
giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services) 
5 
- Standard: Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn 
nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp 
(advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU 
và 2 GB RAM. 
- Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các 
phiên bản windows kể cả Windows 98. 
- Developer: Có đầy đủ các tính năng của phiên bản Enterprise nhưng được 
chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc.... 
Ðây là phiên bản mà các bạn muốn học SQL Server cần có. Chúng ta sẽ dùng 
edition này trong suốt khóa học. Phiên bản này có thể cài trên Windows 2000 
Professional hay Win NT Workstation. 
- Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và không 
có user interface (giao diện). Thích hợp cho việc triển khai ứng dụng ở máy client. 
Kích thước database bị giới hạn khoảng 2 GB. 
- Win CE: Dùng cho các ứng dụng chạy trên Windows CE 
- Trial: Có các tính năng của phiên bản Enterprise, download free, nhưng giới 
hạn thời gian sử dụng. 
1.4. CÁC THÀNH PHẦN TRONG SQL SERVER 
SQL Server được cấu thành bởi nhiều thành phần khác nhau, các thành phần 
có mối quan hệ trong một hệ thống, phối hợp với nhau để tạo thành một giải pháp 
hoàn chỉnh, nâng cao hiệu quả quản trị, phân tích, lưu trữ dữ liệu. 
- SQL Server Database: Là cỗ máy CSDL bao gồm Database Engine, lõi 
dịch vụ cho việc lưu trữ, xử lý và bảo mật dữ liệu, sao lưu và đồng bộ, tìm kiếm 
toàn văn (Full-text Search) và các công cụ cho việc quản trị dữ liệu quan hệ và 
XML. 
- Relational Database Engine: Đây là một engine có khả năng chứa dữ liệu 
dưới nhiều quy mô khác nhau, theo dạng bảng, hỗ trợ nhiều phương thức kết nối 
thông dụng của Microsoft như ADO, OLE DB, ODBC. 
6 
- Replication: Là công cụ dùng nhân bản dữ liệu, người dùng có thể tạo một 
Server khác với bộ dữ liệu giống bộ dữ liệu trên Server chính. Công cụ tạo cơ chế 
tự đồng bộ dữ liệu giữa Server chính và Server nhân bản. Mục đích của việc tạo 
Server nhân bản là giảm tải cho Server chính, nâng cao hiệu quả phục vụ với số 
lượng người, phiên giao dịch lớn. 
- Data Transformation Service (DTS): Là công cụ giúp bạn chuyển dữ liệu 
giữa các Server quản trị CSDL khác nhau, DTS có thể chuyển dữ liệu từ SQL 
Server sang Oracle, Access, DB, trước khi chuyển dữ liệu DTS định dạng kiểu dữ 
liệu để chuyển sang hệ quản trị CSDL khác. 
- Analysis service: Là công cụ giúp khai thác phân tích dữ liệu, hay khai phá 
dữ liệu theo phương thức đa chiều. Từ một tập dữ liệu sẵn có bạn có thể khai phá 
rồi từ đó đưa ra những nhận định, phân tích, đánh giá và dự đoán theo lĩnh vực nào 
đố, mỗi chiều trong ngữ cảnh này được coi là một tiêu chí xem xét của dữ liệu. 
- English query: Đây là công cụ tra cứu dữ liệu bằng tiếng Anh, cú pháp có 
thể sử dụng theo văn phạm tiếng Anh thông thường. 
- SQL Server tools: Là bộ công cụ cung cấp giao diện cho người quản trị như 
Enterprise manager, Query Analyzer ,SQL Server sau khi cài đặt SQL Server 
group gồm những thành phần cơ bản trong group như sau: 
1.5. CÁC TIỆN ÍCH TRONG SQL SERVER 
- Tiện ích Books Online: cho phép người dùng tra cứu trực tuyến tất cả các 
thông tin liên quan đến Microsoft SQL Server một cách đầy đủ với các tính năng 
tìm kiếm dễ dàng và một giao diện dễ sử dụng. 
- Tiện ích SQL Native Client Configuration: cho phép người sử dụng thay 
đổi, tạo mới các giao thức kết nối mạng mặc định của máy client khi thực hiện kết 
nối vào SQL Server tại các máy chủ. 
- Tiện ích SQL Server Management Studio: giúp người sử dụng quản trị 
một hoặc nhiều Server khác nhau. Với giao diện đồ họa thân thiện, tiện ích này giúp 
người sử dụng tạo CSDL và các thành phần khác bên trong SQL Server một cách dễ 
dàng. 
7 
- Tiện ích Import and Export Data: cho phép nhập (import), xuất (export) 
và chuyển đổi dữ liệu qua lại giữa SQL Server và những loại cơ sở dữ liệu khác như 
Access, Visual Foxpro, Excel 
- Tiện ích Performance Monitor: thể hiện biểu đồ hoạt động của các tài 
nguyên trên máy chủ. 
- Tiện ích Profiler: thể hiện các biến cố đã xảy ra khi SQL Server đang thực 
hiện một xử lý nào đó trên máy chủ. Các biến cố này được ghi lại trong một tập tin 
lưu vết (trace file) để sau này sử dụng lại cho việc phân tích nhằm phát hiện ra 
những vấn đề khi thực hiện các câu lệnh truy vấn trong xử lý đó. 
- Tiện ích Query Editor: giúp người sử dụng soạn thảo các câu lệnh SQL. 
Các câu lệnh này sẽ được truy vấn trực tiếp trên CSDL SQL Server và nhận được 
kết quả ngay sau khi thực hiện truy vấn đó. 
- Tiện ích SQL Server Network Configuration: dùng để quản lý các thư 
viện giao thức kết nối mạng của các máy server dùng để lắng nghe các yêu cầu từ 
máy client. 
- Tiện ích SQL Server Services: dùng để quản lý các dịch vụ liên quan đến 
SQL Server. Có thể thực hiện việc khởi động (start), tạm dừng (pause), và dừng 
(stop) các dịch vụ đó. Các dịch vụ (service) này được xem như là các ứng dụng 
chạy ngầm định bên dưới hệ thống trong môi trường Windows. 
1.6. SỬ DỤNG TIỆN ÍCH SQL SERVER MANAGEMENT STUDIO 
SQL Server Management Studio là một công cụ trực quan để quản lý SQL 
Server. Với SQL Server Management Studio, người sử dụng có thể thực hiện các 
tương tác với database trên giao diện người dùng hoặc bằng câu lệnh. SQL Server 
Management Studio được thiết kế với giao diện thân thiện và dễ sử dụng. 
SQL Server có thể được cài đặt riêng sau khi cài đặt SQL Server bằng cách 
download file cài đặt SQLManagementStudio_x64_ENU.exe hoặc 
SQLManagementStudio_x86_ENU.exe để tiến hành cài đặt. 
8 
Hình 1.2. Các file cài đặt SQL Server Management Studio 
Ngoài ra, người sử dụng có thể cài đặt chung công cụ này trong khi cài SQL 
Server bằng cách download file cài đặt SQLEXPRWT_x64_ENU.exe hoặc 
SQLEXPRWT_x86_ENU.exe. 
 Hình 1.3. Các file cài đặt SQL Server và SQL Server Management Studio 
9 
Sau khi mở SQL Server Management Studio, việc đầu tiên là tiến hành kết nối 
đến Server bằng cách chọn Server type, Server name và chế độ chứng thực 
(Authentication) phù hợp. Sau đó nhấn nút Connect. 
Hình 1.4. Giao diện đăng nhập SQL Server 
Lưu ý: 
SQL Server có hai kiểu chứng thực người dùng (authentication): 
- Windows authentication mode: Việc kiểm tra người dùng của SQL Server 
sẽ phụ thuộc vào kiểm tra người dùng của Windows. Khi người dùng có quyền 
đăng nhập vào Windows, người đó sẽ có quyền đăng nhập vào SQL Server. Kiểu 
kiểm tra người dùng này thường được sử dụng khi ứng dụng khai thác dữ liệu và 
SQL Server được cài chung trên một máy tính. 
- SQL Server authentication mode: Việc kiểm tra người dùng của SQL 
Server sẽ không phụ thuộc vào việc kiểm tra người dùng của Windows. Khi người 
dùng có quyền đăng nhập vào Windows, người dùng đó chưa chắc có quyền đăng 
nhập vào SQL Server. Để đăng nhập vào SQL Server, người dùng này phải có một 
bộ username và password do SQL Server quản lý. Kiểu kiểm tra người dùng này 
thường được sử dụng khi ứng dụng khai thác dữ liệu và SQL Server không được cài 
trên cùng một máy. 
Sau khi kết nối thành công, giao diện công cụ SQL Management Studio như 
sau: 
10 
Hình 1.5. Giao diện SQL Server Management Studio 
Cửa sổ Object Explorer là cửa sổ chính để người dùng tương tác với các cơ sở 
dữ liệu theo hình thức giao diện trực quan. Việc thực hiện các thao tác trên cửa sổ 
này sẽ được trình bày cụ thể ở các chương sau. 
Để tương tác với các cơ sở dữ liệu thông qua câu lệnh SQL, có thể click vào 
biểu tượng New Query trên thanh công cụ, sau đó thực hiện các bước sau: 
Hình 1.6. Truy vấn dữ liệu bằng câu lệnh SQL 
11 
- Chọn CSDL cần thao tác 
- Soạn thảo câu lệnh SQL tại khung soạn thảo 
- Chọn (bôi đen) câu lệnh cần thực thi 
- Click vào nút Excute trên thanh công cụ 
- Kết quả sẽ được hiển thị bên dưới khung soạn thảo 
BÀI TẬP KẾT THÚC CHƯƠNG 
LÝ THUYẾT 
1. Anh/chị hiểu như thế nào về mô hình Client/Server? Cho một ví dụ về mô 
hình Client/Server mà anh/chị biết. 
2. Hệ quản trị cơ sở dữ liệu là gì? Chức năng của nó. Nêu một số hệ quản trị 
cơ sở dữ liệu đang được sử dụng hiện nay? 
3. Đối với hệ thống dữ liệu như thế nào thì nên dùng hệ quản trị CSDL SQL 
Server? 
12 
Chương 2: CÁC THAO TÁC VỚI CƠ SỞ DỮ LIỆU 
Thời lượng: 02 tiết lý thuyết + 02 tiết thực hành 
Kết thúc chương này, sinh viên có thể: 
 Hiểu một cách khái quát về khái niệm Cơ sở dữ liệu. 
 Biết được các CSDL hệ thống trong SQL Server và chức năng của chúng. 
 Biết được cách thức lưu trữ CSDL trong SQL Server 
 Thực hiện được một số thao tác liên quan đến CSDL (tạo mới, attach, 
detach, xóa) trong SQL Server bằng hai cách. 
2.1. CƠ SỞ DỮ LIỆU TRONG SQL SERVER 
2.1.1. Tổng quan 
Một cơ sở dữ liệu của Microsoft SQL Server là một tập hợp các đối tượng: 
table, view, stored procedure cho phép người sử dụng lưu trữ và khai thác các 
thông tin dữ liệu được tổ chức và lưu trữ bên trong đó. 
Có hai loại cơ sở dữ liệu: CSDL hệ thống và CSDL do người dùng tự định 
nghĩa. 
Một CSDL của Microsoft SQL Server chỉ do một người dùng tạo ra, tuy 
nhiên, nhiều n ... tored Procedure? 
2. Hai bảng INSERTED là DELETED là gì? Chức năng của hai bảng nói trên. 
3. Khi nào nên sử dụng từ khóa FOR, AFTER, INSTEAD OF? 
4. Trình bày chức năng của câu lệnh ROLLBACK TRANSACTION. 
THỰC HÀNH 
Sử dụng cơ sở dữ liệu QL_DEAN đã thực hiện ở các chương trước, thực hiện 
các yêu cầu sau: 
1. Tạo trigger trên bảng NHANVIEN cho thao tác UPDATE. Khi có thao tác 
cập nhật dữ liệu xảy ra trên cột TenNV, thông báo cho người dùng “Không được 
phép cập nhật” và hủy thao tác. 
2. Thêm cột TongGio vào trong bảng NHANVIEN. Viết trigger cho các thao 
tác INSERT, UPDATE, DELETE trên bảng PHANCONG. Khi có mẩu tin được 
thêm vào, cập nhật hay xóa thì TongGio được tính lại tương ứng cho nhân viên 
được phân công. 
103 
Lưu ý: 
- Ban đầu, TongGio = 0 
- TongGio là tổng thời gian phân công tham gia vào các dự án cho các nhân 
viên. 
3. Tạo các trigger để kiểm tra ràng buộc liên thuộc tính giữa NgSinh và 
NgayBatDau trên bảng NHANVIEN. 
Trong đó: YEAR(NgayBatDau) - YEAR(NgSinh) >= 18 
4. Tạo trigger để kiểm tra ràng buộc trên bảng THANNHAN sao cho số lượng 
thân nhân của một nhân viên không quá 05 người. 
5. Tạo trigger cho thao xóa trên bảng DEAN để đảm bảo nguyên tắc: Mã đề án 
sẽ không thể được xóa khi còn mẩu tin chứa mã đề án đó trên bảng PHANCONG. 
6. Tạo trigger trên bảng PHONGBAN cho thao tác UPDATE. Khi có thao tác 
cập nhật dữ liệu xảy ra trên cột MaPhong, tất cả dữ liệu trên các bảng có liên quan 
cũng phải thay đổi theo. 
104 
TÀI LIỆU THAM KHẢO 
[1] Trần Xuân Hải, Nguyễn Tiến Dũng, Giáo trình SQL Server 2005, NXB ĐH 
Quốc gia TP Hồ Chí Minh, 2009 
[2] Giáo trình SQL Server 2008, Trung tâm tin học Nhất Nghệ, TP. Hồ Chí Minh 
[3] Mike Hotek, Microsoft SQL Server 2008 Step by Step, Microsoft Press, 2008 
[4] Hà Văn Lâm, Bài giảng Hệ quản trị CSDL SQL Server, Trường ĐH Phạm Văn 
Đồng, 2013 
105 
MỤC LỤC 
LỜI NÓI ĐẦU ............................................................................................................ 1 
Chương 1: TỔNG QUAN VỀ SQL SERVER ............................................................ 2 
1.1. MÔ HÌNH CLIENT/SERVER ......................................................................... 2 
1.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU .............................. 3 
1.2.1. Cơ sở dữ liệu ............................................................................................. 3 
1.2.2. Hệ quản trị cơ sở dữ liệu ........................................................................... 4 
1.3. HỆ QUẢN TRỊ CSDL MICROSOFT SQL SERVER .................................... 4 
1.4. CÁC THÀNH PHẦN TRONG SQL SERVER ............................................... 5 
1.5. CÁC TIỆN ÍCH TRONG SQL SERVER ........................................................ 6 
1.6. SỬ DỤNG TIỆN ÍCH SQL SERVER MANAGEMENT STUDIO ............... 7 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 11 
Chương 2: CÁC THAO TÁC VỚI CƠ SỞ DỮ LIỆU ............................................. 12 
2.1. CƠ SỞ DỮ LIỆU TRONG SQL SERVER ................................................... 12 
2.1.1. Tổng quan ................................................................................................ 12 
2.1.2. Các CSDL hệ thống ................................................................................ 12 
2.1.3. CSDL do người dùng tự định nghĩa ........................................................ 13 
2.2. TẠO CƠ SỞ DỮ LIỆU .................................................................................. 15 
2.2.1. Các thuộc tính của một cơ sở dữ liệu trong Microsoft SQL Server ....... 15 
2.2.2. Tạo CSDL trong SQL Server .................................................................. 16 
2.3. GẮN (ATTACH) CƠ SỞ DỮ LIỆU VÀO SQL SERVER ........................... 18 
2.4. XÓA CƠ SỞ DỮ LIỆU ................................................................................. 20 
2.5. GỠ (DETACH) CƠ SỞ DỮ LIỆU KHỎI SQL SERVER ............................ 21 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 22 
106 
Chương 3: TẠO VÀ QUẢN LÝ TABLE (BẢNG) .................................................. 24 
3.1. KHÁI NIỆM TABLE (BẢNG) ...................................................................... 24 
3.1.1. Cấu trúc Table ......................................................................................... 24 
3.1.2. Khóa chính, khóa ngoại .......................................................................... 24 
3.2. CÁC KIỂU DỮ LIỆU TRONG SQL SERVER ............................................ 25 
3.2.1. Kiểu dữ liệu số chính xác (Exact Numerics) .......................................... 25 
3.2.2. Kiểu dữ liệu số xấp xỉ (Approximate Numerics) .................................... 26 
3.2.3. Kiểu dữ liệu ngày giờ (Date and Time) .................................................. 26 
3.2.4. Kiểu dữ liệu chuỗi ký tự .......................................................................... 26 
3.3. TẠO TABLE .................................................................................................. 27 
3.4. CHỈNH SỬA CẤU TRÚC TABLE ............................................................... 31 
3.5. XÓA TABLE ................................................................................................. 32 
3.6. TẠO RÀNG BUỘC DỮ LIỆU TRONG TABLE ......................................... 33 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 35 
Chương 4: BIỂU ĐỒ CƠ SỞ DỮ LIỆU (DATABASE DIAGRAM) ..................... 39 
4.1. KHÁI NIỆM BIỂU ĐỒ CƠ SỞ DỮ LIỆU .................................................... 39 
4.2. TẠO BIỂU ĐỒ CƠ SỞ DỮ LIỆU ................................................................. 39 
4.3. QUẢN LÝ CÁC ĐỐI TƯỢNG TRONG BIỂU ĐỒ ..................................... 42 
4.3.1. Sửa đổi cấu trúc bảng hiện có ................................................................. 42 
4.3.2. Tạo mới, hủy bỏ bảng trong CSDL ......................................................... 43 
4.3.3. Chèn, xóa bảng trong mô hình CSDL ..................................................... 43 
4.3.4. Thay đổi cách trình bày ........................................................................... 43 
4.3.5. In mô hình quan hệ dữ liệu ..................................................................... 44 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 44 
107 
Chương 5: NGÔN NGỮ TRUY VẤN DỮ LIỆU T-SQL ........................................ 45 
5.1. KHÁI NIỆM CƠ BẢN VỀ T-SQL ................................................................ 45 
5.2. CÁC CÂU LỆNH ĐỊNH NGHĨA DỮ LIỆU ................................................ 46 
5.2.1. Câu lệnh tạo bảng .................................................................................... 46 
5.2.2. Câu lệnh thay đổi cấu trúc bảng .............................................................. 46 
5.2.3. Câu lệnh xóa bảng ................................................................................... 46 
5.3. CÁC CÂU LỆNH THAO TÁC VỚI DỮ LIỆU ............................................ 46 
5.3.1. Câu lệnh nhập dữ liệu vào bảng .............................................................. 46 
5.3.2. Câu lệnh xóa dữ liệu ra khỏi bảng .......................................................... 47 
5.3.3. Câu lệnh chỉnh sửa dữ liệu trong bảng.................................................... 48 
5.4. CÂU LỆNH TRUY VẤN DỮ LIỆU ............................................................. 48 
5.4.1. Cú pháp chung......................................................................................... 49 
5.4.2. Truy vấn thông tin từ nhiều bảng ............................................................ 54 
5.4.3. Gom nhóm dữ liệu .................................................................................. 55 
5.4.4. Câu lệnh truy vấn lồng nhau ................................................................... 56 
5.5. CÁC TOÁN TỬ TRONG T-SQL .................................................................. 57 
5.5.1. Toán tử số học ......................................................................................... 57 
5.5.2. Toán tử logic ........................................................................................... 57 
5.5.3. Toán tử so sánh ....................................................................................... 57 
5.5.4. Toán tử tập hợp ....................................................................................... 58 
5.6. CÁC HÀM THƯỜNG DÙNG TRONG T-SQL ........................................... 58 
5.6.1. Các hàm tính toán theo nhóm ................................................................. 58 
5.6.2. Các hàm chuyển đổi kiểu dữ liệu ............................................................ 59 
5.6.3. Các hàm ngày giờ .................................................................................... 60 
108 
5.6.4. Các hàm toán học .................................................................................... 61 
5.6.4. Các hàm xử lý chuỗi ............................................................................... 62 
5.7. BIẾN TRONG NGÔN NGỮ T-SQL ............................................................. 63 
5.7.1. Biến cục bộ và biến hệ thống .................................................................. 63 
5.7.2. Làm việc với biến cục bộ ........................................................................ 64 
5.8. CÁC CẤU TRÚC ĐIỀU KHIỂN VÀ CÂU LỆNH TRONG T-SQL ........... 64 
5.8.1. Cấu trúc rẽ nhánh IFELSE... ............................................................... 64 
5.8.2. Cấu trúc lặp WHILE ............................................................................... 66 
5.8.3. Câu lệnh GOTO ...................................................................................... 66 
5.8.4. Câu lệnh RETURN ................................................................................. 67 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 67 
Chương 6: VIEW (KHUNG NHÌN) ......................................................................... 72 
6.1. TỔNG QUAN VỀ VIEW .............................................................................. 72 
6.1.1. Khái niệm View ...................................................................................... 72 
6.1.2. Lợi ích của việc sử dụng View................................................................ 72 
6.2. TẠO VIEW .................................................................................................... 72 
6.3. XEM VÀ CẬP NHẬT DỮ LIỆU THÔNG QUA VIEW .............................. 76 
6.4. THAY ĐỔI ĐỊNH NGHĨA VÀ HỦY BỎ VIEW ......................................... 77 
6.4.1. Thay đổi định nghĩa View ....................................................................... 77 
6.4.2. Hủy bỏ View ........................................................................................... 78 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 78 
Chương 7: STORED PROCEDURE (THỦ TỤC LƯU TRỮ) ................................. 81 
7.1. TỔNG QUAN VỀ STORED PROCEDURE ................................................ 81 
7.1.1. Khái niệm Stored Procedured ................................................................. 81 
109 
7.1.2. Các Stored Procedured hệ thống ............................................................. 82 
7.1.3. Lợi ích của việc sử dụng Stored Procedure ............................................ 82 
7.2. TẠO VÀ THỰC THI STORED PROCEDURE............................................ 83 
7.2.1. Tạo Stored Procedure .............................................................................. 83 
7.2.2. Thực thi Stored Procedure ...................................................................... 84 
7.2.3. Tham số trong Stored Procedure ............................................................. 84 
7.3. THAY ĐỔI NỘI DUNG VÀ HỦY STORED PROCEDURE ...................... 87 
7.3.1. Thay đổi nội dung Stored Procedure ....................................................... 87 
7.3.2. Hủy Stored Procedure ............................................................................. 87 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 87 
Chương 8: FUNCTION (HÀM) ............................................................................... 89 
8.1. TỔNG QUAN VỀ FUNCTION .................................................................... 89 
8.2. TẠO VÀ GỌI THỰC HIỆN FUNCTION ..................................................... 90 
8.2.1. Scalar Function........................................................................................ 90 
8.2.2. Inline Table Function .............................................................................. 91 
8.2.3. Multistatement Table Function ............................................................... 92 
8.3. THAY ĐỔI NỘI DUNG VÀ XÓA FUNCTION .......................................... 93 
8.3.1. Thay đổi nội dung Function .................................................................... 93 
8.3.2. Xóa Function ........................................................................................... 93 
BÀI TẬP KẾT THÚC CHƯƠNG ........................................................................ 94 
Chương 9: TRIGGER ............................................................................................... 96 
9.1. TỔNG QUAN VỀ TRIGGER ....................................................................... 96 
9.1.1. Khái niệm Trigger ................................................................................... 96 
9.1.2. Các trường hợp nên dùng Trigger ........................................................... 96 
110 
9.1.3. Cơ chế hoạt động của Trigger ................................................................. 96 
9.2. TẠO TRIGGER ............................................................................................. 97 
9.2.1. Cú pháp ................................................................................................... 97 
9.2.2. Các lệnh, biến hệ thống và các hàm thường sử dụng trong trigger ........ 98 
9.3. THAY ĐỔI NỘI DUNG VÀ XÓA TRIGGER ........................................... 100 
9.3.1. Thay đổi nội dung Trigger .................................................................... 100 
9.3.2. Làm cho Trigger mất hiệu lực/có hiệu lực ............................................ 101 
9.3.3. Xóa Trigger ........................................................................................... 102 
BÀI TẬP KẾT THÚC CHƯƠNG ...................................................................... 102 
TÀI LIỆU THAM KHẢO ....................................................................................... 104 

File đính kèm:

  • pdfbai_giang_sql_server_pham_khanh_bao.pdf