Giáo trình Hệ quản trị cơ sở dữ liệu - Trường Đại học Hàng Hải

TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM  
KHOA CÔNG NGHỆ THÔNG TIN  
BỘ MÔN HỆ THỐNG THÔNG TIN  
-----***-----  
BÀI GIẢNG  
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU  
TÊN HỌC PHẦN  
MÃ HỌC PHẦN  
: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU  
: 17402  
TRÌNH ĐỘ ĐÀO TẠO  
: ĐẠI HỌC CHÍNH QUY  
DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN  
HẢI PHÒNG - 2011  
2
MỤC LỤC  
Chƣơng 1. Giới thiệu  
5
1.1. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server  
1.2. Các thành phần cơ bản trong Microsoft SQL Server  
1.3. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL)  
Chƣơng 2. Tạo và quản lý cơ sở dữ liệu  
2.1. Các tệp tin cơ sở dữ liệu (Database files)  
2.2. Tạo cơ sở dữ liệu (Database)  
2.3. Quản lý cơ sở dữ liệu  
5
18  
24  
26  
26  
26  
30  
32  
35  
35  
36  
37  
38  
39  
39  
41  
42  
44  
44  
51  
51  
51  
51  
54  
54  
54  
58  
58  
60  
60  
60  
61  
2.4. Xóa cơ sở dữ liệu  
Chƣơng 3. Tạo và quản lý các bảng  
3.1. Tạo bảng (Tables)  
3.2. Định nghĩa các cột (Columns)  
3.3. Định nghĩa các ràng buộc (Constrains)  
3.4. Sửa bảng (ALTER TABLE)  
3.5. Xóa bảng (DROP TABLE)  
3.6. Thêm bản ghi mới (INSERT)  
3.7. Cập nhật bản ghi (UPDATE)  
3.8. Xóa bản ghi (DELETE)  
Chƣơng 4. Truy vấn dữ liệu  
4.1. Truy vấn cơ bản  
4.2. Truy vấn từ nhiều bảng  
4.2.1. Inner Joins  
4.2.2. Outer Joins  
4.3. Truy vấn lồng nhau (Subqueries)  
Chƣơng 5. Tạo và quản lý các chỉ mục  
5.1. Các kiểu chỉ mục (Indexes)  
5.2. Tạo các chỉ mục  
5.3. Quản lý các chỉ mục  
5.4. Xóa các chỉ mục  
Chƣơng 6. Tạo và quản lý khung nhìn  
6.1. Định nghĩa  
6.2. Tạo các khung nhìn (Views)  
6.3. Quản lý các khung nhìn  
3
6.4. Xóa các khung nhìn  
61  
62  
62  
64  
64  
65  
65  
68  
68  
68  
69  
70  
70  
70  
71  
74  
76  
Chƣơng 7. Tạo và quản lý các thủ tục thƣờng trú  
7.1. Tạo các thủ tục thường trú (Stored procedures)  
7.2. Thực thi các thủ tục thường trú  
7.3. Xem và sửa các thủ tục thường trú  
7.4. Tham số vào và ra (Parameters)  
7.5. Các thủ tục thường trú của hệ thống  
Chƣơng 8. Tạo và quản lý hàm ngƣời dùng định nghĩa  
8.1. Các kiểu hàm người dùng định nghĩa (User-defined functions)  
8.2. Tạo hàm người dùng định nghĩa  
8.3. Quản lý hàm người dùng định nghĩa  
Chƣơng 9. Tạo và quản lý các Trigger  
9.1. Tạo các Trigger thao tác dữ liệu (DML Triggers)  
9.2. Tạo các Trigger định nghĩa dữ liệu (DDL Triggers)  
9.3. Sử dụng các Trigger lồng nhau (Nested Triggers)  
9.4. Sử dụng các Trigger đệ quy (Recursive Triggers)  
Một số đề thi mẫu  
4
Tên học phần: Hệ quản trị Cơ sở dữ liệu  
Bộ môn phụ trách giảng dạy: Hệ thống Thông tin  
Mã học phần: 17402  
Loại học phần: 4  
Khoa phụ trách: CNTT.  
Tổng số TC: 4  
Tổng số tiết  
Lý thuyết  
Thực hành/ Xemina  
Tự học  
Bài tập lớn Đồ án môn học  
có không  
90  
45  
30  
0
Học phần học trƣớc: Không yêu cầu.  
Học phần tiên quyết: Không yêu cầu.  
Học phần song song: Không yêu cầu.  
Mục tiêu của học phần:  
Cung cấp cho sinh viên những kiến thức cơ bản về hệ quản trị cơ sở dữ liệu; Các chức năng  
và công cụ cần thiết để quản trị cơ sở dữ liệu cho người phát triển hệ thống.  
Nội dung chủ yếu:  
Giới thiệu về hệ quản trị cơ sở dữ liệu; Tạo và quản lý cơ sở dữ liệu; Tạo và quản lý các  
bảng; Truy vấn dữ liệu; Tạo và quản lý các chỉ mục; Tạo và quản lý các khung nhìn; Tạo và quản lý  
các thủ tục thường trú; Tạo và quản lý các hàm người dùng định nghĩa; Tạo và quản lý các Trigger.  
Nội dung chi tiết:  
PHÂN PHỐI SỐ TIẾT  
TÊN CHƢƠNG MỤC  
Chƣơng 1. Giới thiệu  
TS  
LT  
BT  
TH KT  
2
5
3
1.1. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (2005)  
1.2. Các thành phần cơ bản trong Microsoft SQL Server (2005)  
1.3. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL)  
Chƣơng 2. Tạo và quản lý cơ sở dữ liệu  
2.1. Các tệp tin cơ sở dữ liệu (Database files)  
2.2. Tạo cơ sở dữ liệu (Database)  
10  
15  
6
9
4
6
2.3. Quản lý cơ sở dữ liệu  
2.4. Xóa cơ sở dữ liệu  
Chƣơng 3. Tạo và quản lý các bảng  
3.1. Tạo bảng (Tables)  
3.2. Định nghĩa các cột (Columns)  
3.3. Định nghĩa các ràng buộc (Constrains)  
3.4. Sửa bảng (ALTER TABLE)  
3.5. Xóa bảng (DROP TABLE)  
3.6. Thêm bản ghi mới (INSERT)  
5
PHÂN PHỐI SỐ TIẾT  
TÊN CHƢƠNG MỤC  
3.7. Cập nhật bản ghi (UPDATE)  
TS  
LT BT TH KT  
3.8. Xóa bản ghi (DELETE)  
Chƣơng 4. Truy vấn dữ liệu  
4.1. Truy vấn cơ bản  
20  
12  
8
4.1.1. Mệnh đề SELECT  
4.1.2. Mệnh đề FROM  
4.1.3. Mệnh đề WHERE  
4.1.4. Mệnh đề GROUP BY và HAVING  
4.1.5. Mệnh đề ORDER BY  
4.1.6. Kết hợp kết quả từ nhiều truy vấn khác nhau  
4.2. Truy vấn từ nhiều bảng  
4.2.1. Inner Joins  
4.2.2. Outer Joins  
4.3. Truy vấn lồng nhau (Subqueries)  
Chƣơng 5. Tạo và quản lý các chỉ mục  
5.1. Các kiểu chỉ mục (Indexes)  
5.2. Tạo các chỉ mục  
5
5
5
3
3
3
2
2
2
5.3. Quản lý các chỉ mục  
5.4. Xóa các chỉ mục  
Chƣơng 6. Tạo và quản lý khung nhìn  
6.1. Định nghĩa  
6.2. Tạo các khung nhìn (Views)  
6.3. Quản lý các khung nhìn  
6.4. Xóa các khung nhìn  
Chƣơng 7. Tạo và quản lý các thủ tục thƣờng trú  
7.1. Tạo các thủ tục thường trú (Stored procedures)  
7.2. Thực thi các thủ tục thường trú  
7.3. Xem và sửa các thủ tục thường trú  
7.4. Tham số vào và ra (Parameters)  
7.5. Các thủ tục thường trú của hệ thống  
Chƣơng 8. Tạo và quản lý hàm ngƣời dùng định nghĩa  
8.1. Các kiểu hàm người dùng định nghĩa (User-defined  
functions)  
5
3
2
6
PHÂN PHỐI SỐ TIẾT  
TÊN CHƢƠNG MỤC  
8.2. Tạo hàm người dùng định nghĩa  
TS  
LT BT TH KT  
8.3. Quản lý hàm người dùng định nghĩa  
Chƣơng 9. Tạo và quản lý các Trigger  
5
3
2
9.1. Tạo các Trigger thao tác dữ liệu (DML Triggers)  
9.2. Tạo các Trigger định nghĩa dữ liệu (DDL Triggers)  
9.3. Sử dụng các Trigger lồng nhau (Nested Triggers)  
9.4. Sử dụng các Trigger đệ quy (Recursive Triggers)  
Nhiệm vụ của sinh viên:  
Tham dự các buổi học lý thuyết và thực hành, làm các bài tập được giao, làm các bài thi  
giữa học phần và bài thi kết thúc học phần theo đúng quy định.  
Tài liệu học tập:  
1. Dương Quang Thiện, SQL Server 2000: Lập trình T - SQL, NXB Văn hóa Sài Gòn, 2007.  
2. Ray Rankins, Paul Bertucci, Chris Gallelli, Alex T.Silverstein, Microsoft SQL Server 2005  
Unleashed, Sams Publishing, 2007.  
3. Brian Knightet al, Professional SQL Server 2005 Administration, Wrox Press, 2007.  
4. Paul Turley & Dan Wood, Beginning Transact-SQL with SQL Server 2000 and 2005, Wrox  
Press, 2006.  
Hình thức và tiêu chuẩn đánh giá sinh viên:  
Hình thức thi: thi viết hoặc vấn đáp.  
Tiêu chuẩn đánh giá sinh viên: căn cứ vào sự tham gia học tập của sinh viên trong các buổi  
học lý thuyết và thực hành, kết quả làm các bài tập được giao, kết quả của các bài thi giữa  
học phần và bài thi kết thúc học phần.  
Thang điểm: Thang điểm chữ A, B, C, D, F.  
Điểm đánh giá học phần: Z = 0,4X + 0,6Y.  
Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Hệ thống Thông tin,  
Khoa Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên.  
Ngày phê duyệt:  
Trƣởng Bộ môn  
/
/
7
Chƣơng 1. Giới thiệu  
1.1. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server  
1.1.1.Khái niệm về CSDL và CSDL quan hệ  
A. Khái niệm về cơ sở dữ liệu (Database)  
Cơ sở dữ liệu là một tập hợp có tổ chức các dữ liệu có liên quan luận lý với nhau. Nói cách khác  
đó là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thông tin thứ cấp,  
ví dụ như: đĩa từ, băng từ, bộ nhớ flash,… nhằm mục đích thỏa mãn yêu cầu tổ chức dữ liệu để  
giúp cho việc khai thác dữ liệu được nhanh chóng và chính xác. Cơ sở dữ liệu phải được thiết kế  
sao cho có thể cho phép nhiều người dùng và nhiều ứng dụng khác nhau cùng khai thác.  
Hình 1: Sơ đồ tổng quát về một hệ cơ sở dữ liệu  
B. Khái niệm về cơ sở dữ liệu quan hệ  
Cơ sở dữ liệu quan hệ là cơ sở dữ liệu được tổ chức dựa trên mô hình của đại số quan hệ  
(Relational Model). Trong đó, dữ liệu được tổ chức thành các bảng dữ liệu (tables). Mỗi bảng dữ  
liệu gồm có các cột (column) hay còn gọi là các trường (field) và các dòng (row) hay còn gọi là các  
bản ghi (record). Ví dụ:  
Mã Sinh viên  
HHA01  
HHA02  
Tên Sinh viên  
Lê Hoàng Long  
Trần Bình Minh  
Lớp  
KTB48ĐH1  
KTB48ĐH1  
8
Về phương diện toán học, một bảng dữ liệu gồm có n cột: A1, A2, A3…, An có thể coi là một  
tập con R của tích Đề các dom(A1) x dom(A2)…x dom(An):  
R
dom(A1) x dom(A2)…x dom(An)  
Người ta gọi đó là quan hệ R xác định trên tập thuộc tính {A1, A2,…, An}. Trong đó dom(Ai) là ký  
hiệu miền giá trị (domain) của cột Ai.  
Giữa các cột trong bảng có những mối quan hệ ràng buộc phụ thuộc lẫn nhau gọi là các phụ  
thuộc hàm. Ví dụ: Trong bảng sinh viên có phụ thuộc hàm:  
Mã Sinh Viên → Tên Sinh Viên, Lớp  
Trong một bảng dữ liệu, có thể có một cột (hoặc một số tối thiểu các cột) mà giá trị trên mỗi  
dòng của nó là duy nhất. Ta gọi đó là khóa (Key). Khi biết giá trị của trường khóa ta có thể suy ra  
các trường còn lại. Ví dụ: Trong bảng Sinh Viên thì Mã Sinh Viên là khóa. Khi biết Mã Sinh Viên ta  
có thể tra cứu ra các thuộc tính như Tên Sinh Viên và Lớp.  
Giữa hai bảng trong cơ sở dữ liệu cũng tồn tại các mối quan hệ ràng buộc lẫn nhau (bắt nguồn  
từ mô hình ER):  
Quan hệ 1 – 1: Một bản ghi thuộc bảng này tương ứng với một và chỉ một bản ghi ở bảng kia và  
ngược lại. Trong trường hợp này người ta thường nhập 2 bảng vào làm một.  
Quan hệ 1 – n: Một bản ghi thuộc bảng này tương ứng với n bản ghi ở bảng kia (n ≥ 0) nhưng  
ngược lại một bản ghi ở bảng kia chỉ tương ứng với không quá 1 bản ghi ở bảng này. Bảng ở phía  
ứng với ứng số nhiều n gọi là bảng con (child) còn bảng ở phía ứng với ứng số 1 gọi là bảng cha  
(parents). Bảng cha phải có một trường khóa gọi là khóa chính (PK - Primary Key) còn bảng con  
phải có một trường tham chiếu đến khóa chính của bảng cha gọi là khóa ngoại (FK - Foreign Key).  
Hình 2: Quan hệ 1- 1  
9
Hình 3: Quan hệ 1 - n  
Quan hệ n – n: Quan hệ n – n không được biểu diễn tường minh trong CSDL. Người ta thường  
tách quan hệ n – n về thành các quan hệ 1 – n dựa trên mô hình thực thể liên kết (ER).  
1.1.2. Khái niệm về hệ quản trị Cơ sở dữ liệu  
A. Hệ quản trị CSDL là gì?  
Hệ quản trị cơ sở dữ liệu là một tập hợp chương trình giúp cho người sử dụng tạo ra, duy trì và  
khai thác một cơ sở dữ liệu. Đó là một hệ thống phần mềm phổ dụng, cung cấp môi trƣờng và  
công cụ giúp cho việc định nghĩa, xây dựng và thao tác cơ sở dữ liệu cho các ứng dụng khác nhau  
một cách dễ dàng.  
Định nghĩa một cơ sở dữ liệu là đặc tả các kiểu dữ liệu, các cấu trúc, các ràng buộc cho các dữ  
liệu sẽ được lưu trữ.  
Xây dựng cơ sở dữ liệu là lưu trữ dữ liệu lên các phương tiện lưu trữ được hệ quản trị cơ sở dữ  
liệu kiểm soát.  
Thao tác trên một cơ sở dữ liêu là quá trình truy vấn cơ sở dữ liệu để lấy ra các dữ liệu cụ thể,  
cập nhật cơ sở dữ liệu, tạo ra các báo cáo từ dữ liệu.  
10  
Hình 4: Mô hình Hệ quản trị cơ sở dữ liệu  
Mỗi hệ quản trị cơ sở dữ liệu có một ngôn ngữ định nghĩa dữ liệu riêng (DDL - Data  
Definition Languague). Đây là ngôn ngữ dùng để định nghĩa, khai báo cấu trúc của của cơ sở dữ  
liêu. Những người thiết kế và quản trị cơ sở dữ liệu thực hiện các công việc khai báo cấu trúc cơ sở  
dữ liệu. Các chương trình khai báo cấu trúc CSDL được viết bằng ngôn ngữ DDL mà hệ quản trị  
CSDL cho phép.  
Các chương trình ứng dụng được viết bằng các ngôn ngữ lập trình C++/C#/Java/Delphi… kết  
hợp với các ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) thông qua các thư  
viện hoặc đối tượng kết nối CSDL được ngôn ngữ lập trình hỗ trợ: ODBC, RDO, ADO,…  
Các hệ quản trị cơ sở dữ liệu quan hệ ngày nay phổ biến sử dụng các ngôn ngữ DDL và DML  
dựa trên ngôn ngữ SQL.  
Đối với hệ quản trị cơ sở dữ liệu SQL Server thì ngôn ngữ dùng để tương tác với cơ sở dữ liệu  
là T – SQL. Đây là một phiên bản của ngôn ngữ SQL. Ngôn ngữ T – SQL trên SQL Server bao gồm  
nhiều câu lệnh khác nhau, có thể chia thành 2 nhóm:  
o Nhóm ngôn ngữ định nghĩa dữ liệu DDL: với các lệnh cho phép tạo, thay đổi cấu trúc và xóa  
các đối tượng CSDL: database, table, view,…  
o Nhóm  
ngôn  
ngữ  
thao  
tác  
dữ  
liệu  
DML:  
với  
các  
lệnh  
như  
SELECT/INSERT/UPDATE/DELETE cho phép lấy về dữ liệu cụ thể, thay đổi giá trị của dữ  
liệu.  
11  
Hình 5: Tương tác với hệ quản trị Cơ sở dữ liệu  
B. Hoạt động của hệ quản trị cơ sở dữ liệu  
Hình 6: Hoạt động của hệ quản trị cơ sở dữ liệu  
Các yêu cầu của chương trình ứng dụng được chuyển tới hệ quản trị CSDL (theo con đường số 1).  
Tại đây hệ quản trị CSDL sẽ tham khảo các từ điển dữ liệu (Meta DataBase) để tìm kiếm các ánh  
xạ cấu trúc ngoài với cấu trúc quan niệm và cấu trúc vật lý (các ngõ a, b và c). Tại đây hệ quản trị  
12  
CSDL có thể sẽ tham khảo tới vùng đệm của nó để xác định xem câu trả lời đã có sẵn ở đó chưa,  
nếu có thì trả lại cho chương trình ứng dụng thông qua con đường số 8b; ngược lại sẽ yêu cầu hệ  
điều hành truy xuất thông tin theo con đường số 2. Tới đây hệ điều hành sẽ gửi yêu cầu truy xuất  
thông tin trong CSDL thông qua hệ thống xuất nhập của HĐH (các con đường số 3 và 5). Nếu việc  
truy xuất không thành công nó sẽ trả lại yêu cầu về cho hệ quản trị CSDL (có thể thông qua các mã  
lỗi) qua con đường số 6; nếu thành công thì dữ liệu sẽ được chuyển vào vùng đệm của hệ quản trị  
CSDL. Qua xử lý, hệ quản trị CSDL sẽ chuyển dữ liệu vào vùng đệm của chương trình ứng dụng đề  
nó xử lý (qua con đường 8a) và cho ra kết quả trả lời của chương trình ứng dụng qua con đường số  
10.  
1.1.3. Giới thiệu về SQL Server và mô hình Client/Server  
1.1.3.1. Khái niệm về mô hình Client/Server  
Hình 7: Mô hình Client/Server  
Mô hình client/server hay còn gọi là mô hình khách/chủ là một mô hình nổi tiếng trong mạng máy  
tính, được áp dụng rất rộng rãi. Ý tưởng của mô hình này là máy trạm (hay còn gọi là máy khách)  
gửi yêu cầu (request) cho máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả  
kết quả về cho máy khách.  
Client/Server là mô hình mang tính tổng quát. Trên thực tế thì một server có thể được nối tới nhiều  
server khác nhằm làm việc hiệu quả và nhanh hơn. Khi nhận được 1 yêu cầu từ client, server này có  
thể gửi tiếp yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó không  
thể xử lý yêu cầu này được. Máy server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp. Ví  
dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy client yêu cầu lấy  
thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do server định  
13  
ra, nếu yêu cầu được chấp nhận thì máy server sẽ trả về thông tin mà client yêu cầu. Có rất nhiều  
các dịch vụ server trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ client  
sau đó xử lý và trả kết quả cho client yêu cầu. Thông thường chương trình server và client được thi  
hành trên hai máy khác nhau. Cho dù lúc nào server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ  
client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa client và server lại bắt đầu  
ở phía client, khi mà client gửi tín hiệu yêu cầu tới server. Các chương trình server thường đều thi  
hành ở mức ứng dụng (tầng ứng dụng của mạng). Sự thuận lợi của phương pháp này là nó có thể  
làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là  
giao thức TCP/IP. Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp  
nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì. Với các chuẩn này thì  
các chương trình server cho một dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian  
(timesharing system) với nhiều chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một  
máy tính các nhân bình thường. Có thể có nhiều chương trình server cùng làm một dịch vụ, chúng  
có thể nằm trên nhiều máy tính hoặc một máy tính. Với mô hình trên chúng ta nhận thấy rằng mô  
hình client/server chỉ mang đặc điểm của phần mềm không liên quan gì đến phần cứng mặc dù trên  
thực tế yêu cầu cho một máy server là cao hơn nhiều so với máy client. Lý do là bởi vì máy server  
phải quản lý rất nhiều các yêu cầu từ các clients khác nhau trên mạng. Ưu và nhược điểm chính Có  
thể nói rằng với mô hình client/server thì mọi thứ dường như đều nằm trên bàn của người sử dụng,  
nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin, ...)  
với nhiều dịch vụ đa dạng mà mô hình cũ không thể làm được. Mô hình client/server cung cấp một  
nền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ  
chuyên gia, hệ thông tin địa lý (GIS) ... Một trong những vấn đề nảy sinh trong mô hình này đó là  
tính an toàn và bảo mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác  
nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ.  
1.1.3.2. SQL Server và mô hình Client/Server  
14  
Hình 8a: SQL Server và mô hình Client/Server  
Hình 8b: Dùng các công cụ của SQL Server để truy xuất từ máy khách  
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ hoạt động trên môi trường mạng theo mô hình  
khách/chủ. Phía máy chủ chạy các dịch vụ cần thiết mà quan trọng nhất là dịch vụ cơ sở dữ liệu  
SQL Server Service. Máy chủ lắng nghe các yêu cầu kết nối đến từ các máy khách và đáp ứng các  
yêu cầu này. Các ứng dụng phía máy khách kết nối vào các dịch vụ cơ sở dữ liệu có thể là những  
phần mềm quản lý được viết bởi các ngôn ngữ lập trình có sử dụng các thư viện đối tượng truy xuất  
CSDL như ADO, ADO.Net, RDO, ODBC, JDBC,... hoặc có thể là chính các công cụ của SQL  
Server như: Service Manager, Enterprise Manager hay Query Analyzer.  
Trong môi trường SQL Server, các yêu cầu từ phía máy khách sẽ nằm dưới dạng các lệnh T-SQL.  
SQL Server sẽ xử lý các lệnh này rồi trả về một resultset cho ứng dụng client với những thông tin  
được yêu cầu hoặc chỉ xác nhận là công việc được hoàn thành mỹ mãn. Nhiều ứng dụng client hoặc  
người sử dụng có thể song hành đưa ra cùng lúc những yêu cầu và SQL Server có thể xử lý chúng  
song song. Một ứng dụng client có thể cung cấp một "cấp độ thoải mái" khác nhau cho người sử  
dụng. Các công cụ đơn giản nhất (nhưng không dễ dùng) cho phép người sử dụng đưa vào một yêu  
cầu dưới dạng lệnh T-SQL rồi nhận được những resultset dưới dạng văn bản hoặc table. Còn các  
công cụ tinh vi hơn sẽ cho ra những biểu mẫu, báo cáo, biểu đồ,... cũng như các đối tượng màn hình  
thân thiện hơn.  
Cũng như đã trình bày ở trên, để thiết lập kết nối vật lý với một server CSDL và chuyển những yêu  
cầu cũng như nhận về kết quả (resultset), các ứng dụng phía client có thể sử dụng nhiều đối tượng  
hoặc các thư viện truy xuất cơ sở dữ liệu khác nhau.(data access objects hoặc data access API).  
Những đối tượng truy xuất cơ sở dữ liệu thông dụng hiện nay bao gồm:  
o ADO (ActiveX Database Object)  
o RDO (Remote Database Object)  
o DB - Library  
o ODBC (Open Database Connectivity)  
15  
o OLE DB (Object Linking and Embbeding Database)  
o DAO (Data Access Object)  
Các nhà phát triển ứng dụng dùng các đối tượng kể trên hoặc các hàm API để truy cập các đối  
tượng cơ sở dữ liệu và dữ liệu được lưu trữ trong các đối tượng này để triển khai những ứng dụng  
trong các ngôn ngữ lập trình chẳng hạn VB, C/C++, Java, VB.Net, C#,...  
1.1.3.4. Mô hình Client/Server cục bộ  
Nếu trình ứng dụng truy xuất CSDL và hệ quản trị CSDL SQL Server được cài đặt trên cùng một  
máy tính vật lý thì ta có mô hình Client/Server cục bộ. Lúc này, vai trò của SQL Server không khác  
với các hệ quản trị CSDL truyền thống như Foxpro hay MS Access. SQL Server che dấu sự khác  
biệt giữa kết nối cục bộ và kết nối qua mạng. Người dùng không nhận thấy sự khác biệt ngoài việc  
tốc độ truyền thông trên mạng chậm hơn tốc độ truyền thông cục bộ.  
Hình 9: Mô hình Client/Server cục bộ  
1.1.3.5. SQL Server và mô hình cơ sở dữ liệu phân tán  
Cơ sở dữ liệu phân tán là tập hợp các dữ liệu thuộc về cùng một hệ thống, có liên quan logic với  
nhau và được trải ra trên hệ thống mạng. Hệ quản trị cơ sở dữ liệu phân tán là tập các phần mềm  
quản trị một cơ sở dữ liệu phân tán, làm cho việc phân tán trở nên trong suốt với người dùng. Khái  
niệm trong suốt ở đây được hiểu là chủ đích che dấu sự phân tán đối với người sử dụng, làm cho  
người sử dụng sử dụng cơ sở dữ liệu phân tán như là cơ sở dữ liệu tập trung.  
SQL Server là hệ quản trị cơ sở dữ liệu hỗ trợ cơ sở dữ liệu phân tán. Nó cho phép tạo ra các view  
từ các bảng dữ liệu trên các Server khác nhau được kết nối (linked server), thực thi các truy vấn hay  
chuyển tác phân tán trải dài trên nhiều Server,...  
16  
Hình 10: Mô hình cơ sở dữ liệu phân tán  
1.1.3.6. Kiến trúc đa tầng  
Hình 11: Mô hình phân lớp hệ thống  
SQL Server là hệ quản trị cơ sở dữ liệu hoạt động trên môi trường mạng theo mô hình client/server,  
cho nên khi nên khi phát triển các ứng dụng cơ sở dữ liệu người ta có thể sử dụng các kiến trúc  
phân lớp (phân chia hệ thống thành các components hay layer), các lớp có thể được thực thi một  
phần ở server, một phần ở client (kiến trúc nhị tầng) và có thể trên một số trạm trung gian nữa nếu  
cần thiết (kiến trúc tam tầng).  
A. Kiến trúc nhị tầng Fat Client  
Đây là kiểu kiến trúc client/server phổ biến. Phía client của một hệ thống như thế sẽ bao gồm các  
lớp:  
17  
o User interface: lớp giao diện người sử dụng.  
o Presentation service: lớp dịch vụ trình bày.  
o Business services: lớp thi công các quy tắc nghiệp vụ của hệ thống.  
o Data services: lớp truy cập và xử lý dữ liệu.  
Hình 12: Kiến trúc nhị tầng Fat Client  
Trong khi đó, Data Storage (lớp lưu trữ và quản lý dữ liệu), thường là hệ thống cơ sở dữ liệu  
(database system), sẽ được đặt tại server. Vì Business services và Data services được thực thi hoàn  
toàn ở phía client, còn phía server chỉ thực thi các chức năng lưu trữ và quản trị dữ liệu nên sức  
nặng của hệ thống dồn về phía client. Người ta gọi kiến trúc phân tâng như vậy là Fat Client (Client  
"béo": chức năng xử lý dồn về phía client) (xem hình 12).  
B. Kiến trúc nhị tầng Fat Server  
Ngoài kiểu thực thi hệ thống như trên, người ta có thể cho thực thi toàn bộ Data Services và một  
phần Business services ở phía server, ví dụ dưới dạng các thủ tục thường trú (stored procedure).  
Loại kiến trúc như thế thường được gọi là Fat Server. Kiến trúc này giúp san sẻ một phần sức nặng  
xử lý từ client lên server để giảm tải cho client, tận dụng hiệu năng xử lý phía server.  
18  
Hình 13: Kiến trúc nhị tầng Fat Server  
C. Kiến trúc tam tầng  
Để cải tiến xa hơn hệ thống, ta có thể sử dụng kiến trúc tam tầng, theo đấy các lớp Data services,  
Business services và Presentation services sẽ nằm trên những tầng khác nhau một cách chặt chẽ.  
Người ta bổ sung thêm một tầng trung gian (middleware component), Business services sẽ được  
thực thi trên tầng trung gian này. Biện pháp này giúp giảm tải cho cả server và client, tăng hiệu  
năng xử lý của hệ thống. Trong mô hình thực tế, tầng trung gian có thể bao gồm một số các máy  
tính chuyên dụng để chạy các dịch vụ Business Services (xem hình 14)  
Hình 14: Kiến trúc tam tầng  
19  
1.2. Các thành phần cơ bản trong Microsoft SQL Server  
1.2.1. Cài đặt và cấu hình SQL Server  
Bƣớc 1:  
Khi cửa sổ cài đặt xuất hiện ta thấy có các mục để lựa chọn:  
Install Database Server tức là cài đặt các thành phần cơ bản và quan trọng nhất của hệ quản  
trị CSDL SQL Server bao gồm các dịch vụ chạy trên server, các công cụ quản lý như  
Services Manager, Enterprise Manager, Query Analyzer,...  
Install Analysis Services là cài đặt các dịch vụ phân tích phục vụ cho khai phá dữ liệu (data  
mining).  
Install English Query là cài đặt công cụ cho phép thực thi các truy vấn bằng cách sử dụng  
ngôn ngữ tự nhiên (tiếng Anh) thay vì sử dụng ngôn ngữ SQL.  
Ta chọn Install Database Server để cài đặt các thành phần của hệ quản trị. Các lựa chọn cài đặt  
Install Analysis Services và Install English Query trước mắt chưa cần quan tâm đến, khi nào cần  
dùng đến chúng ta sẽ cài đặt bổ sung.  
Bƣớc 2:  
Cửa sổ Computer Name xuất hiện. Tại đây cho phép ta điền vào tên máy tính mà ta muốn cài đặt  
SQL Server. Nếu ta chọn cài đặt trên Local Computer thì tên máy tính hiện hành sẽ tự động được  
điền vào. Nếu ta chọn Remote Computer tức là cài đặt SQL Server lên máy tính khác (có kết nối  
mạng với máy tính hiện hành) thì ta phải chỉ rõ tên máy đó.  
Trong trường hợp của ta, chọn Local Computer và nhấn Next để cài lên máy tính hiện hành.  
20  
Bƣớc 3:  
Cửa sổ Installation Selection xuất hiện cho phép ta lựa chọn chế độ cài đặt:  
Create a new instance of SQL Server, or install Client Tools: Chọn mục này nếu ta muốn  
cài mới hoàn toàn một phiên bản (hay còn gọi là "thể hiện" - instance) của SQL Server hoặc  
muốn cài đặt các công cụ phía Client cho phép truy xuất, quản lý Server.  
Upgrade, remove or add components to an existing instance of SQL Server: Chọn mục  
này nếu ta muốn nâng cấp, thêm bớt một số components của một phiên bản SQL Server đã  
được cài đặt trước đó trên máy tính.  
Advanced options: Một số tùy chọn cài đặt nâng cao, với các tùy chọn cài đặt ở mức hết  
sức chi tiết dành cho những người dùng có kinh nghiệm.  
Trong trường hợp của ta, chọn mục đầu tiên: Create a new instance of SQL Server, or install  
Client Tools và nhấn Next để sang bước tiếp theo.  
Tải về để xem bản đầy đủ
pdf 83 trang Thùy Anh 20820 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ quản trị cơ sở dữ liệu - Trường Đại học Hàng Hải", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_quan_tri_co_so_du_lieu_truong_dai_hoc_hang_hai.pdf