bài giảng hệ quản trị cơ sở dữ liệu - Pdf 14

BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC HÀNG HẢI
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 : HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MÃ HỌC PHẦN : 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 - 2009
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 5
1.2. Các thành phần cơ bản trong Microsoft SQL Server 18
1.3. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL) 24
Chương 2. Tạo và quản lý cơ sở dữ liệu 26
2.1. Các tệp tin cơ sở dữ liệu (Database files) 26
2.2. Tạo cơ sở dữ liệu (Database) 26
2.3. Quản lý cơ sở dữ liệu 30
2.4. Xóa cơ sở dữ liệu 32
Chương 3. Tạo và quản lý các bảng 35
3.1. Tạo bảng (Tables) 35
3.2. Định nghĩa các cột (Columns) 36
3.3. Định nghĩa các ràng buộc (Constrains) 37
3.4. Sửa bảng (ALTER TABLE) 38
3.5. Xóa bảng (DROP TABLE) 39
3.6. Thêm bản ghi mới (INSERT) 39
3.7. Cập nhật bản ghi (UPDATE) 41

9.3. Sử dụng các Trigger lồng nhau (Nested Triggers) 71
9.4. Sử dụng các Trigger đệ quy (Recursive Triggers) 74
Một số đề thi mẫu 76
2
Tên học phần: Hệ quản trị Cơ sở dữ liệu Loại học phần: 4
Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT.
Mã học phần: 17402 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
90 45 30 0 x 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:
TÊN CHƯƠNG MỤC
PHÂN PHỐI SỐ TIẾT
TS LT BT TH KT
Chương 1. Giới thiệu 5 3 2
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 10 6 4
2.1. Các tệp tin cơ sở dữ liệu (Database files)
2.2. Tạo cơ sở dữ liệu (Database)

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 5 3 2
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ú 5 3 2
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 5 3 2
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 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.

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 Tên Sinh viên Lớp
HHA01 Lê Hoàng Long KTB48ĐH1
HHA02 Trần Bình Minh KTB48ĐH1
5
Về phương diện toán học, một bảng dữ liệu gồm có n cột: A
1
, A
2
, A
3
…, A
n
có thể coi là một tập
con R của tích Đề các dom(A
1
) x dom(A
2
)…x dom(A
n
):
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 {A
1
, A
2
,…, A

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

10
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
11
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

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,
13
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:
14
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.

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.
17
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.
18
Bước 4:
Cửa sổ User Information xuất hiện yêu cầu ta nhập các thông tin cơ bản về người dùng và công ty

Hộp thoại Services Account xuất hiện yêu cầu ta thiết lập một số thông số ban đầu liên quan tới
tài khoản người dùng dùng để đăng nhập vào SQL Server. Có hai tùy chọn cơ bản:
• Use the same account for each service. Auto start SQL Server Service: Dùng chung một
account cho tất cả các dịch vụ của SQL Server. Dịch vụ SQL Server Service sẽ tự động
được khởi động nếu cần thiết.
• Customize the setting for each service: Thay vì dùng chung, mỗi dịch vụ sẽ có tùy chọn
riêng. Lựa chọn này có tính bảo mật cao nhưng khá phiền phức.
Trong trường hợp của ta, chọn mục Use the same account for each service. Auto start SQL
Server Service.
Ở phần Service Setting có hai tùy chọn:
• Use the Local System account: Sử dụng tài khoản hệ thống trên máy tính hiện hành làm tài
khoản đăng nhập vào SQL Server.
• User a Domain User Account: Sử dụng tài khoản Domain User để đăng nhập vào SQL
Server nếu máy tính hiện hành đang làm việc trong môi trường Domain của Windows
Server 2000/2003.
Trong trường hợp của ta, chọn mục Use the Local System account. Nhấn Next để tiếp tục
Bước 9:
Hộp thoại Authentication Mode xuất hiện cho phép chúng ta thiết lập chế độ xác thực người
dùng của SQL Server. Có hai lựa chọn:
• Windows Authentication Mode: Xác thực dựa trên account của Windows. Chỉ những
người dùng có account đăng nhập của hệ điều hành Windows (những account Windows này
phải được đăng ký trước với SQL Server) thì mới có thể đăng nhập vào hệ thống SQL
Server.
22
• Mixed Mode: Chế độ xác thực hỗn hợp. Chế độ này cho phép cả những người dùng có
account của Windows và những người dùng có account riêng của SQL Server đều có thể
đăng nhập hệ thống. Trong trường hợp này, tài khoản sa - tài khoản quản trị hệ thống mặc
định của SQL Server trở nên có hiệu lực, SQL Server gợi ý người dùng nên nhập password
cho account này để đảm bảo tính bảo mật cho hệ thống.
Trong trường hợp của ta, chọn chế độ Mixed Mode, account của sa để trống sau đó nhấn Next để

không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào. Chính vì vậy, SQL là ngôn ngữ
dễ tiếp cận và dễ sử dụng.
Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau:
1 • SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông qua các
trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu và nhận
kết quả trả về từ cơ sở dữ liệu
2 • SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu lệnh
SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao
tiếp với cơ sở dữ liệu
3 • SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở dữ
liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển
truy cập cơ sở dữ liệu,
4 • SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệ thống cơ
sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa các trình ứng
dụng phía máy khách với máy chủ cơ sở dữ liệu.
5 • SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy chủ
Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương
tác với dữ liệu trong các cơ sở dữ liệu.
6 • SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu phân
tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gởi và
nhận các yêu cầu truy xuất dữ liệu với nhau.
Bài tập
Câu 1: Trình bày khái niệm về cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ có những điểm khác
biệt gì so với hệ thống xử lý file truyền thống?
24
Câu 2: Trình bày khái niệm về hệ quản trị cơ sở dữ liệu quan hệ.
Câu 3: Trình bày về mô hình Client/Server và kiến trúc phân tầng.
Câu 4: Nêu các thành phần cơ bản của hệ quản trị CSDL SQL Server.
Câu 3: Trình bày những đặc điểm cơ bản của ngôn ngữ vấn tin SQL.
25


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status