Tải bản đầy đủ (.pdf) (155 trang)

Giáo trình Hệ quản trị cơ sở dữ liệu

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 (6.08 MB, 155 trang )

UỶ BAN NHÂN DÂN TỈNH HẢI PHÒNG
TRƯỜNG CĐCN HẢI PHÒNG

GIÁO TRÌNH

Tên mơn đun: Hệ quản trị cơ sở dữ liệu

Hải Phòng , năm 2019

1


Vị trí, tính chất của mơ đun:
- Vị trí: Là mơn đun kỹ thuật chun ngành. Mơn đun có thể được bố trí
học sau mơn cơ sở.
- Tính chất: Là mơ đun chun mơn nghề giúp sinh viên có kiến thức cơ
sở về hệ quản trị CSDL MS SQL server.
Mục tiêu mơ đun:
- Về kiến thức:
+ Trình bày được mơ hình dữ liệu Client/Server;
+ Trình bày được phương pháp xây dựng các đối tượng hỗ trợ xử lý dữ liệu.
- Về kỹ năng:
+ Cài đặt hệ QTCSDL SQL Server trên môi trường Windows;
+ Tạo lập CSDL, thiết lập quan hệ giữa các bảng ( xây dựng biểu đồ ER);
+ Thực hiện các thao tác xử lý dữ liệu ( bổ xung, xoá, hiệu chỉnh dữ liệu, tạo
và thực hiện Views);
+ Xây dựng các đối tượng hỗ trợ xử lý dữ liệu (thủ tục lưu trữ, Trigger,..).
- Về năng lực tự chủ và trách nhiệm:
+ Tự chủ và độc lập trong công việc xử lý các vấn đề liên quan;
+ Đảm bảo các hoạt động diễn ra trong an toàn lao động.
Nội dung mô đun:


Số TT

Tên Bài/mục

I.

Bài 1: Tổng quan về mơ hình Client / Server

II.

Bài 2: Hệ quản trị cơ sở dữ liệu Microsoft SQL Server

III.

Bài 3: SQL Server Management Studio

IV.

Bài 4: Quản lý bảo mật trong SQL Server

V.

Bài 5: Truy vấn dữ liệu trong MS SQL Server

VI.

Thực hành tổng hợp

2



MỤC LỤC

PHẦN 1: KIẾN THỨC TỔNG QUAN SQL SERVER .................................................. 6
BÀI 1: TỔNG QUAN VỀ MƠ HÌNH CLIENT/ SERVER ............................................ 6
1.1 Các kiến thức tổng quan về CSDL ......................................................................... 6
1.2 Các giai đoạn phát triển của một hệ quản trị CSDL. .............................................. 7
1.3 Giới thiệu về mơ hình Client/ Server...................................................................... 7
1.4 Các đặc trưng của mơ hình Client/server ............................................................. 12
1.5 Các tầng cấu trúc .................................................................................................. 13
1.6 Các mơ hình dữ liệu của hệ thống Client/Server .................................................. 14
BÀI 2: TỔNG QUAN VỀ HQTCSDL SQL SERVER ................................................. 18
2.1 Giới thiệu hệ quản trị CSDL MS SQL Server ...................................................... 18
2.2 Những đặc điểm mới của SQL server 2008 ......................................................... 19
2.3 Các thành phần của SQL Server .......................................................................... 21
2.4 Cài đặt SQL server 2008 ...................................................................................... 21
2.5 Các thành phần của một CSDL trong SQL Server .............................................. 22
BÀI 3: SQL SERVER MANAGEMENT STUDIO...................................................... 24
3.1 Kết nối sử dụng Server Management Studio ....................................................... 24
3.2 Khởi động chương trình ....................................................................................... 24
3.3 Các thao tác với CSDL ........................................................................................ 25
3.4 Làm việc với bảng dữ liệu của CSDL .................................................................. 33
3.5 Thiết lập quan hệ giữa các bảng ........................................................................... 36
BÀI 4: QUẢN LÝ BẢO MẬT TRONG SQL SERVER .............................................. 39
4.1 Giới thiệu bảo mật SQL Server ............................................................................ 39
4.2 Một số khái niệm cơ bản ...................................................................................... 39
4.3 Cấp phát và thu hồi quyền trong SQL bằng TSQL .............................................. 42
4.4 Cách tạo và quản lý người dùng trong SQL Server Management Studio............ 43
BÀI 5: TRUY VẤN DỮ LIỆU TRONG SQL SERVER .............................................. 47
5.1 Truy xuất dữ liệu bằng câu lệnh SELECT ........................................................... 47

5.2 Khung nhìn (View) .............................................................................................. 80
5.3 Bẫy lỗi (Trigger) .................................................................................................. 82
PHẦN 2: PHẦN THỰC HÀNH.................................................................................... 91
3


BÀI 1: CÀI ĐẶT MS SQL SERVER ........................................................................... 91
BÀI 2: TẠO LẬP VÀ QUẢN LÝ CƠ SỞ DỮ LIỆU ................................................. 100
BÀI 3: THIẾT LẬP BẢO MẬT, PHÂN QUYỀN ..................................................... 110
BÀI 4: TRUY VẤN DỮ LIỆU ................................................................................... 111
BÀI 5: LÀM VIỆC VỚI VIEW VÀ TRIGGER ......................................................... 125
PHẦN 3: CÂU HỎI TRẮC NGHIỆM........................................................................ 129

4


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 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
‘‘Quản trị CSDL với SQL Server” là môn học bắt buộc trong các trường
nghề. Tuỳ thuộc vào đối tượng người học và cấp bậc học mà trang bị cho học sinh,
sinh viên những kiến thức cơ bản nhất.
Để thống nhất chương trình và nội dung giảng dạy trong các nhà trường
chúng tôi biên soạn cuốn giáo trình: Quản trị CSDL với SQL Server. Giáo trình
được biên soạn phù hợp với các nghề trong các trường đào tạo nghề phục vụ theo
yêu cầu của thực tế xã hội hiện nay.
Tài liệu tham khảo để biên soạn gồm:

- Giáo trình SQL Server 2008 hướng dẫn học qua ví dụ, Nhà xuất bản Khoa
học kỹ thuật năm 2010.
- Giáo trình SQL, Nhà xuất bản Đại học Huế năm 2004.
- Quản trị CSDL SQL Server 2008, Nhà xuất bản lao động xã hội năm 2010.
- Giáo trình thực hành công nghệ thông tin 2, Nhà xuất bản Khoa học kỹ
thuật năm 2014.
Kết hợp với kiến thức mới có liên quan mơn học và những vấn đề thực tế
thường gặp trong sản xuất, đời sống để giáo trình có tính thực tế cao, giúp cho
người học dễ hiểu, dễ dàng lĩnh hội được kiến thức môn học.
Trong quá trình biên soạn giáo trình kinh nghiệm cịn hạn chế, chúng tơi
rất mong nhận được ý kiến đóng góp của bạn đọc để lần hiệu đính sau được hồn
chỉnh hơn.
Tổ bộ mơn Ứng dụng máy tính

5


PHẦN 1: KIẾN THỨC TỔNG QUAN SQL SERVER
BÀI 1: TỔNG QUAN VỀ MƠ HÌNH CLIENT/ SERVER
Mục tiêu:
- Tiếp cận với mơ hình cơ sở dữ liệu Client / Server
- Các đặc trưng của mơ hình Client / Server
- Phân tích được các tầng cấu trúc của mơ hình Client/Server.
- Phân biệt được các mơ hình CSDL
1.1 Các kiến thức tổng quan về CSDL

Một hệ CSDL (DB system) bao gồm một CSDL (Database) và một hệ quản
trị CSDL (DBMS)
CSDL (CSDL) là một tập hợp dữ liệu được tổ chức và lưu trữ theo một cấu
trúc chặt chẽ nhằm phục vụ nhiều đối tượng sử dụng với nhiều mục đích khác

nhau.
Hệ quản trị CSDL (Database Management System - DBMS) là một công cụ
phần mềm tổng quát nhằm hỗ trợ việc lưu trữ, truy xuất và quản trị CSDL. Nó
cung cấp cho người dùng và ứng dụng một môi trường thuận tiện và sử dụng hiệu
quả tài nguyên dữ liệu. Nói cách khác, Hệ quản trị CSDL là phần mềm chuyên
dụng để giải quyết tốt các tình huống mà CSDL đặt ra như: bảo mật, cạnh tranh
trong truy xuất.

6


1.2 Các giai đoạn phát triển của một hệ quản trị CSDL.
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.
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.
1.3 Giới thiệu về mơ hình Client/ Server
Mơ hình client-server 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 và là mơ hình của mọi trang web hiện có. Ý tưởng của mơ hình
này là máy con (đóng vài trị là máy khách) gửi một u cầu (request) để 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.
Một mơ hình ngược lại là mơ hình master-slaver, trong đó máy chủ (đóng vai trị
ơng chủ) sẽ gửi dữ liệu đến máy con (đóng vai trị nơ lệ) bất kể máy con có cần
hay không.
7


Mơ hình Web client/server :
Thuật ngữ server được dùng cho những chương trình thi hành như một dịch vụ
trên tồn mạng. Các chương trình server này chấp nhận tất cả các yêu cầu hợp lệ
đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về máy yêu
cầu. Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có chương
trình server và chờ đợi câu trả lời từ server. Chương trình server và client nói
chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông
liên tác IPC (Interprocess Communication).
Để một chương trình server và một chương trình client có thể giao tiếp được với
nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao
thức. Nếu một chương trình client nào đó muốn u cầu lấy thơng tin từ server thì
nó phải tuân theo giao thức mà server đó đưa ra. Bản thân chúng ta khi cần xây
dựng một mơ hình client/server cụ thể thì ta cũng có thể tự tạo ra một giao thức
riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ứng dụng của mạng.
Với sự phát triển mạng như hiện này thì có rất nhiều giao thức chuẩn trên mạng
ra đời nhằm đáp ứng nhu cầu phát triển này.
Các giao thức chuẩn (ở tầng mạng và vận chuyển) được sử dụng rộng rãi nhất
hiện nay như: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hoặc
giao thức LAN-to-LAN NetBIOS. Một máy tính chứa chương trình server được
coi là một máy chủ hay máy phục vụ (server) và máy chứa chương trình client

được coi là máy tớ (client). Mơ hình mạng trên đó có các máy chủ và máy tớ giao
tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mơ hình client/server.
Thực tế thì mơ hình client/server là sự mở rộng tự nhiên và tiện lợi cho việc
truyền thông liên tiến trình trên các máy tính cá nhân. Mơ hình này cho phép xây
dựng các chương trình client/server một cách dễ dàng và sử dụng chúng để liên
tác với nhau để đạt hiệu quả hơn.
Mơ hình client/server như sau: Client/Server là mơ hình tổng qt nhấ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
8


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ý 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
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 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 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 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
9


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
tồ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ộ.
Client Trong mơ hình client/server, người ta cịn định nghĩa cụ thể cho một máy
client là một máy trạm mà chỉ được sử dụng bởi 1 người dùng với để muốn thể
hiện tính độc lập cho nó. Máy client có thể sử dụng các hệ điều hành bình thường
như Win9x, DOS, OS/2... Bản thân mỗi một client cũng đã được tích hợp nhiều
chức năng trên hệ điều hành mà nó chạy, nhưng khi được nối vào một mạng LAN,
WAN theo mơ hình client/server thì nó cịn có thể sử dụng thêm các chức năng
do hệ điều hành mạng (NOS) cung cấp với nhiều dịch vụ khác nhau (cụ thể là các
dịch vụ do các server trên mạng này cung cấp), ví dụ như nó có thể u cầu lấy

dữ liệu từ một server hay gửi dữ liệu lên server đó...
Thực tế trong các ứng dụng của mơ hình client/server, các chức năng hoạt động
chính là sự kết hợp giữa client và server với sự chia sẻ tài nguyên, dữ liệu trên cả
2 máy Vai trị của client Trong mơ hình client/server, client được coi như là người
sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp và server
được coi như là người cung cấp dịch vụ để trả lời các yêu cầu của các clients.
Điều quan trọng là phải hiểu được vai trò hoạt động của nó trong một mơ hình cụ
thể, một máy client trong mơ hình này lại có thể là server trong một mơ hình khác.
Ví dụ cụ thể như một máy trạm làm việc như một client bình thường trong mạng
LAN nhưng đồng thời nó có thể đóng vai trị như một máy in chủ (printer server)
cung cấp dịch vụ in ấn từ xa cho nhiều người khác (clients) sử dụng. Client được
hiểu như là bề nổi của các dịch vụ trên mạng, nếu có thơng tin vào hoặc ra thì
chúng sẽ được hiển thị trên máy client.
10


Server Server còn được định nghĩa như là một máy tính nhiều người sử dụng
(multiuser computer). Vì một server phải quản lý nhiều yêu cầu từ các client trên
mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với
các tính năng hoạt động độc lập song song với nhau như hệ điều hành UNIX,
WINDOWS... Server cung cấp và điều khiển các tiến trình truy cập vào tài nguyên
của hệ thống. Các ứng dụng chạy trên server phải được tách rời nhau để một lỗi
của ứng dụng này không làm hỏng ứng dụng khác.
Tính đa nhiệm đảm bảo một tiến trình khơng sử dụng tồn bộ tài ngun hệ thống.
Vai trị của server. Như chúng ta đã bàn ở trên, server như là một nhà cung cấp
dịch vụ cho các clients yêu cầu tới khi cần, các dịch vụ như cơ sở dữ liệu, in ấn,
truyền file, hệ thống... Các ứng dụng server cung cấp các dịch vụ mang tính chức
năng để hỗ trợ cho các hoạt động trên các máy clients có hiệu quả hơn. Sự hỗ trợ
của các dịch vụ này có thể là tồn bộ hoặc chỉ một phần thơng qua IPC.
Để đảm bảo tính an tồn trên mạng cho nên server này cịn có vai trị như là một

nhà quản lý toàn bộ quyền truy cập dữ liệu của các máy clients, nói cách khác đó
là vai trị quản trị mạng. Có rất nhiều cách thức hiện nay nhằm quản trị có hiệu
quả, một trong những cách đang được sử dụng đó là dùng tên Login và mật khẩu
Các cấu hình cơ sở dữ liệu Client/Server
Nhìn chung mọi ứng dụng cơ sở dữ liệu đều bao gồm các phần:
- Thành phần xử lý ứng dụng (Application processing components)
- Thành phần phần mềm cơ sở dữ liệu (Database software componets)
- Bản thân cơ sở dữ liệu (The database itself)
Các mô hình về xử lý cơ sở dữ liệu khác nhau là bởi các trường hợp của 3
loại thành phần nói trên định vị ở đâu. Hiện 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 của hệ thống máy tính Client/Server.
- Mơ hình cơ sở dữ liệu tập trung (Centralized database model)
- Mô hình cơ sở dữ liệu theo kiểu file - server (File - server database model)
- Mơ hình xử lý từng phần cơ sở dữ liệu (Database extract processing model)
- Mô hình cơ sở dữ liệu Client/Server (Client/Server database model)
11


- Mơ hình cơ sở dữ liệu phân tán (Distributed database model)
1.4 Các đặc trưng của mơ hình Client/server
Mơ hình Client/ Server, mà cụ thể trong module này chúng ta sẽ tìm hiểu về mơ
hình của hệ quản trị cơ sở dữ liệu SQL. 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 bao gồm:
- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa cá cơ sở dữ liệu,
các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các
thành phần dữ liệu.
- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực
hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các
CSDL.
- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát

các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho
CSDL.
- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong
CSDL nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao
tác cập nhật cũng như các lỗi của hệ thống.
Như vậy, SQL là một ngơn ngữ hồn thiện được sử dụng trong các hệ thống
cơ sở dữ liệu và là một thành phàn không thể thiếu trong các hệ quản trị cơ
sở dữ liệu. Mặc dù SQL khơng phải một ngơn ngữ lập trình như C, Java…
song các câu lệnh mà SQL cung cấp có thể nhúng vào trong các ngơn ngữ lập
trình nhằm xây dựng các ứng dụng tương tác với CSDL.
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).

12


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.
1.5 Các tầng cấu trúc
Theo kiến trúc ANSI-PARC, một CSDL có 3 mức biểu diễn:
a. Mơ hình dữ liệu mức thấp (Mức vật lý hay mức trong)

Đưa ra các khái niệm mô tả chi tiết về cách thức dữ liệu được lưu trữ trong
máy tính nên cịn được gọi là mức lưu trữ CSDL.

Tại mức này, vấn đề cần giải quyết là, dữ liệu gì và được lưu trữ như thế nào, lưu
ở đâu (đĩa từ, băng từ, track, sector)? Cần các chỉ mục gì? Việc truy xuất là tuần
tự (Sequential AcceSQL Server) hay ngẫu nhiên (Random AcceSQL Server) đối
với từng loại dữ liệu.
Những người hiểu và làm việc với CSDL tại mức này là người quản trị CSDL
(Administrator), những người sử dụng (NSD) chun mơn.
Ví dụ : Mơ hình quan hệ, mơ hình mạng, mơ hình phân cấp.
b.Mơ hình dữ liệu mức cao (Mức quan niệm)

Cung cấp các khái niệm gần gũi với người dùng. Mơ hình tự nhiên và giàu
ngữ nghĩa.
Tại mức này sẽ giải quyết cho câu hỏi CSDL cần phải lưu giữ bao nhiêu loại dữ
liệu? Đó là những dữ liệu gì? Mối quan hệ giữa các loại dữ liệu này như thế nào?
Từ thế giới thực các chuyên viên tin học qua quá trình khảo sát và phân tích, cùng
với những người sẽ đảm nhận vai trị quản trị CSDL, sẽ xác định được những loại
thông tin gì được cho là cần thiết phải đưa vào CSDL, đồng thời mô tả rõ mối liên
13


hệ giữa các thơng tin này. Có thể nói cách khác, CSDL mức quan niệm là một sự
biểu diễn trừu tượng CSDL mức vật lý; hoặc ngược lại, CSDL vật lý là sự cài đặt
cụ thể của CSDL mức quan niệm.
Ví dụ : Mơ hình thực thể kết hợp (ERD), mơ hình đối tượng.
c. Mơ hình dữ liệu mức thực hiện

Đưa ra các khái niệm người dùng có thể hiểu được nhưng không nằm quá
xa với dữ liệu được tổ chức thực sự trên máy. Đây là mức của người sử dụng và
các chương trình ứng dụng. Mỗi người sử dụng hay mỗi chương trình ứng dụng
có thể được "nhìn" (View) CSDL theo một góc độ khác nhau. Có thể "nhìn" thấy
tồn bộ hay chỉ một phần hoặc chỉ là các thơng tin tổng hợp từ CSDL hiện có.

Người sử dụng hay chương trình ứng dụng có thể hồn tồn không được biết về
cấu trúc tổ chức lưu trữ thông tin trong CSDL, thậm chí ngay cả tên gọi của các
loại dữ liệu hay tên gọi của các thuộc tính. Họ chỉ có thể làm việc trên một phần
CSDL theo cách "nhìn" do người quản trị hay chương trình ứng dụng quy định,
gọi là khung
nhìn (View).
1.6 Các mơ hình dữ liệu của hệ thống Client/Server
a.

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 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
14


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.
b.


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.
c.

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
15



dữ liệu và chuyển dữ liệu giữa hai hệ thống. Tuy nhiên, phần mềm 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.
d.

Mơ hinh 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 front-end
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
16


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 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.
e.

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.

17


BÀI 2: TỔNG QUAN VỀ HQTCSDL SQL SERVER
Mục tiêu:
- Trình bày lịch sử phát triển của hệ quản trị CSDL MS SQL Server
- Cài đặt được phần mềm hệ quản trị CSDL MS SQL Server
- Sử dụng được các công cụ hỗ trợ của hệ quản trị CSDL MS SQL Server
Giới thiệu:
Dữ liệu ngày càng đóng vai trị quan trọng trong thế giới ngày nay. Dùng
SQL server 2008 để giảm sự phức tạp của cơ sở hạ tầng. Đồng thời vẫn đảm bảo
cung cấp một nền tảng dữ liệu có khả năng bảo mật, mở rộng và quản lý cho doanh
nghiệp.
2.1 Giới thiệu hệ quản trị CSDL MS SQL Server

SQL viết tắt của Structured Query Language (ngôn ngữ truy vấn có
cấu trúc), là cơng cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc
lưu trữ trong các CSDL. SQL là một hệ thống ngôn ngữ bao gồm tập các
câu lệnh sử dụng để tương tác với CSDL quan hệ.
Ngơn ngữ truy vấn có cấu trúc và các hệ quản trị CSDL quan hệ là một
trong những nền tảng kỹ thuật quan trọng trong công nghiệp máy tính.
Hiện nay SQL được xem là ngơn ngữ chuẩn trong CSDL. Các hệ quản
trị CSDL quan hệ thương mại hiện có như Oracle, SQL Server,
Informix, DB2,... đều chọn SQL làm ngơn ngữ cho sản phẩm của mình.
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: SQL cung cấp khả năng định nghĩa các CSDL,

các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các
thành phần dữ liệu.
18


• Truy xuất và thao tác dữ liệu: Người dùng có thể dễ dàng thực hiện

các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các
CSDL.
• Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm

soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an tồn cho
CSDL
• Đảm bảo tồn vẹn dữ liệu: SQL định nghĩa các ràng buộc tồn vẹn


trong CSDL nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các
thao tác cập nhật cũng như các lỗi của hệ thống.
SQL Server sử dụng ngơn ngữ lập trình và truy vấn CSDL TransactSQL (T-SQL), một phiên bản của Structured Query Language. Ngơn ngữ
lập trình và truy vấn T-SQL cho phép truy xuất dữ liệu, cập nhật và quản
lý hệ thống CSDL quan hệ. Mỗi máy chủ chỉ có một hệ quản trị CSDL
SQL Server.
2.2 Những đặc điểm mới của SQL server 2008
 Nền tảng cho các nhiệm vụ then chốt - SQL Server 2008 cho phép các
ứng dụng phức tạp có thể chạy trên một nền tảng an tồn, tin cậy và có khả năng
mở rộng. Bên cạnh đó còn giảm được sự phức tạp trong việc quản lý cơ sở hạ tầng
dữ liệu. SQL Server 2008 bảo đảm những thơng tin có giá trị trong các ứng dụng
đang tồn tại và nâng cao khả năng sẵn có của dữ liệu. SQL Server 2008 có cơ chế
quản lý cách tân dựa trên có chế cho phép các chính sách có thể được định nghĩa
quản trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ.
 Sự phát triển động - SQL Server 2008 cùng với .NET Framework đã giảm
được sự phức tạp trong việc phát triển các ứng dụng mới. ADO.NET Entity
Framework có thể nâng cao năng suất bằng cách làm việc với các thực thể dữ liệu
logic. Thay vì lập trình trực tiếp với các bảng và cột như trước đây. Các mở rộng
của ngôn ngữ truy vấn mới trong .NET Framework giúp các chuyên gia phát triển
truy vấn dữ liệu bằng việc mở rộng Visual C#® và Visual Basic® .NET. Việc này
để hỗ trợ cú pháp truy vấn giống SQL vốn đã có. Hỗ trợ cho các hệ thống kết nối,
cho phép chuyên gia phát triển xây dựng các ứng dụng. Các ứng dụng này cho
19


phép người dùng mang dữ liệu cùng với nó vào các thiết bị và sau đó đồng bộ dữ
liệu của chúng với máy chủ trung tâm.
 Dữ liệu quan hệ mở rộng - SQL Server 2008 cho phép làm việc với bất
kỳ kiểu dữ liệu nào, từ các kiểu dữ liệu truyền thống đến dữ liệu không gian địa

lý mới.
 Thơng tin trong tồn bộ doanh nghiệp - SQL Server 2008 cung cấp một
cơ sở hạ tầng có thể mở rộng, cho phép quản lý các báo cáo, phân tích với bất kỳ
kích thước và sự phức tạp nào. Nó còn cho phép người dùng dễ dàng hơn trong
việc truy cập thơng tin thơng qua sự tích hợp sâu hơn với Microsoft Office. Điều
này cho phép CNTT đưa được thông tin của doanh nghiệp rộng khắp trong tổ
chức…

Hình 1.1 Tồn cảnh nền dữ liệu của Microsoft

20


2.3 Các thành phần của 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
hồn chính, nâng cao hiệu quả quản trị, phân tích, lưu trữ dữ liệu.
SQL Server 2008 bao gồm một server cơ sở dữ liệu có nhiệm vụ cung cáp idchj
vụ quản lý cơ sở dữ liệu SQL Server, và các công cụ client cung cấp gia diện để
thao tác với cơ sở dữ liệu. Trong các công cụ client, Management Studio là công
cụ làm việc với server cơ sở dữ liệu chính.
SQL Server Management Studio: Là cơng cụ đồ họa chính được nhà phát triển
sử dụng để thao tác với cơ sở dữ liệu SQL Server 2008. Công cụ này dung để
làm việc trực tiếp với các đối tượng cơ sở dữ liệu, và để phát triển cũng như kiểm
thử câu lệnh SQL.
SQL Server Configuration Manager: Là cơng cụ đồ họa, có thể dung để khởi
động và dừng server cơ sở dữ liệu
Books Online: Bộ tài liệu cho SQL Server 2008
2.4 Cài đặt SQL server 2008
Tùy theo mơi trường của máy tính của bạn mà thực hành cài đặt phiên bản nào,

bảng sau là tham số với SQL Server 2008


Hệ điều hành tối thiểu: Windows 7
Phần cứng:


o

Máy tính chip Pentium III 600 MHz trở lên (Cấu hình đề nghị: Chip 1
GHz hoặc cao hơn.)

o



Tối thiểu 1GB RAM (Cấu hình đề nghị: 2G RAM.)
Bộ cài đặt:

21


Để cài đặt SQL Server 2008 Express R2 SQL Server, máy tính phải có Windows
Installer 3.1 trở lên, download về tại địa chỉ:
/>Microsoft .Net Framework 2.0
Hệ điều hành 32bit: />Hệ điều hành 64bit: />File cài đặt SQL Server 2008 Express R2 SQL Server
2.5 Các thành phần của một CSDL trong SQL Server
- Tables:
Table là đối tượng chính của CSDL dùng lưu trữ dữ liệu cần quản lý. Mỗi table
có một hay nhiều field. Mỗi field ứng với một loại dữ liệu cần lưu trữ.

Table cịn có các thành phần liên quan như:
a. Constraint - Ràng buộc
b. Triggers - Bẫy lỗi
c. Indexs - Chỉ mục
- Diagram - Sơ đồ quan hệ
Thể hiện mối quan hệ dữ liệu giữa các table
- Views - Khung nhìn hay table ảo
Là đối tượng dùng hiển thị dữ liệu được rút trích, tính tốn từ các table theo nhu
cầu của người dùng
- Stored Procedure - Thủ tục
Chứa các lệnh T-SQL dùng thực hiện một số tác vụ nào đó. Stored Proc có thể
nhận và truyền tham số. Stored Proc được biên dịch trước, do đó thời gian thực
hiện nhanh khi được gọi. Có nhiều Stored Proc hệ thống được định nghĩa với
tiền tố "sp_"có nhiệm vụ thu thập thông tin từ các table hệ thống và rất có ích
cho việc quản trị
- User Defined Function
Hàm do người dùng định nghĩa
22


- Users
Chứa danh sách User sử dụng CSDL. Người quản trị hệ thống cao nhất có User
Name là dbo, tên đăng nhập (Login Name) hệ thống mặc định là sa. Tài khoản
sa luôn tồn tại và không thể bỏ đi. Để thay đổi mật khẩu của sa, cách nhanh nhất
là:
Mở trình Query Analyzer
Thực hiện thủ tục hệ thống: EXEC SP_PASSWORD NULL <New Pass>
- Roles
Các quy định vai trò và chức năng của User trong hệ thống SQL Server
- Rules

Các quy tắc ràng buộc dữ liệu được lưu trữ trên table
- Default
Các khai báo giá trị mặc định
- User Defined Data Type
Kiểu dữ liệu do người dùng tự định nghĩa
- Full Text Catalogs
Tập phân loại dữ liệu Text

23


BÀI 3: SQL SERVER MANAGEMENT STUDIO
3.1 Kết nối sử dụng Server Management Studio
Server Type: Như ví dụ của cuốn sách này, cho phép kiểu server là Database
Engine. Các tùy chọn khác là kiểu dữ liệu khác nhau của server nó sẽ hiển thị kết
nối.
Server Name: Hộp combo thứ 2 chứa 1 danh sách của SQL Server cài đặt tùy
chọn, sẽ thấy tên của máy tính được cài đặt trên local. Nếu bạn mở hộp Server
name bạn có thể tìm kiếm nhiều server local hoặc network connection bằng cách
chọn <Browse for more...>.
Authentication: Combobox cuối cùng xác định các loại hình kết nối bạn muốn
sử dụng.Trong giáo trình này kết nối đến SQL Server sử dụng Windowns
Authentication. Nếu bạn cài đặt SQL Server với chế độ hỗn hợp(mix mode), thì
bạn có thể thay đổi chọn lựa SQL Server authentication, thì nó sẽ mở hai hộp thoại
và cho lựa chọn.

Hình 2.1 Kết nối vào SQL server
3.2 Khởi động chương trình
Mở SQL Server Management Studio ta làm như sau: Vào start -> chọn program > chọn Microsoft SQL Server 2008 -> chọn SQL Server Management Studio
24



Sau khi nhấn nút Connect sẽ xuất hiện màn hình sau:

Hình 2.2 SQL Server Management Studio
3.3 Các thao tác với CSDL
- Tạo cơ sở dữ liệu (database)
Chọn database -> Click phải -> Chọn New Database…

25


×