Tải bản đầy đủ (.doc) (298 trang)

RDBMS Book Version1.0 Release 19-1-2008

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 (10.17 MB, 298 trang )

QUẢN TRỊ DỮ LIỆU VÀ HỆ QUẢN TRỊ CSDL QUAN HỆ
RDBMS
MỤC LỤC
Chương 1 Các khái niệm về hệ quản trị CSDL 1
Chương 2 Mô hình quan hệ thực thể và chuẩn hóa dữ liệu 28
Chương 3 Tổng quan về SQL Server 2005 54
Chương 4 Tổng quan về SQL Server 2005 (Thực hành) 79
Chương 5 Ngôn ngữ Transaction SQL 95
Chương 6 Ngôn ngữ Transaction SQL (Thực hành) 129
Chương 7 Tạo và quản lý CSDL 153
Chương 8 Tạo và quản lý CSDL (Thực hành) 175
Chương 9 Truy xuất dữ liệu từ CSDL 185
Chương 10 Truy xuất dữ liệu từ CSDL (Thực hành) 207
Chương 11 Tạo bảng và sử dụng các kiểu dữ liệu 218
Chương 12 Tạo bảng và sử dụng các kiểu dữ liệu (Thực hành) 245
Phụ lục A Cài đặt SQL Server 2005 258
Phụ lục B Các qui tắc của Codd 278
Phụ lục C Các thủ tục lưu trữ và các hàm dựng sẵn 281
Glossary Danh mục các thuật ngữ 284
Aptech Vietnam
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Diễn giải
CSDL CSDL
DBMS (DataBase Management System) Hệ quản trị CSDL
RDBMS (Relational DataBase
Management System)
Hệ quản trị CSDL quan hệ
XML (eXtensible Markup Language)
Ngôn ngữ đánh dấu mở rộng có thể
dùng để biểu diễn dữ liệu
ITT


RDBMS
Aptech Vietnam
CHƯƠNG 1
CÁC KHÁI NIỆM VỀ HỆ QUẢN TRỊ CSDL
Mục tiêu :
Kết thúc chương này, các bạn sẽ có thể:
 Giải thích khái niệm về dữ liệu và CSDL.
 Mô tả xu hướng để quản trị dữ liệu
 Định nghĩa một hệ thống quản trị CSDL và liệt kê những lợi ích
của chúng
 Phân biệt các mô hình CSDL
 Định nghĩa và giải thích về hệ quản trị CSDL quan hệ (RDBMS)
 Mô tả các thực thể và các bảng và liệt kê các thuộc tính của bảng
 Liệt kê sự khác nhau giữa Hệ quản trị CSDL và Hệ CSDL quan
hệ
1.1 Giới thiệu:
Các công ty thường phải quản lý một lượng lớn dữ liệu, những dữ liệu này được tạo
ra trong quá trình tác nghiệp hàng ngày. Một CSDL là một dạng tổ chức của những
dữ liệu đó. Nó có thể chứa một hay nhiều phần tử dữ liệu có liên quan với nhau
được gọi là bản ghi. Có thể xem CSDL như là một tập dữ liệu được sử dụng để trả
lời cho các câu hỏi khác nhau. Ví dụ: “Hãy cho biết địa chỉ và số điện thoại của năm
bưu điện gần nhất?” hay “Có cuốn sách nào trong thư viện nói về thực phẩm bổ
dưỡng không? Nếu có thì nó nằm ở giá sách nào? hay “Hãy cho tôi biết thông tin cá
nhân và biểu đồ bán hàng của năm người bán hàng tốt nhất trong quí, nhưng không
hiển thị địa chỉ chi tiết của họ”.
Trong chương này trình bày những khái niệm liên quan đến CSDL và Hệ quản trị
CSDL, làm rõ những mô hình CSDL khác nhau và giới thiệu khái niệm về Hệ quản
trị CSDL quan hệ.
1
RDBMS

1.2 Dữ liệu và CSDL
Dữ liệu có nghĩa là thông tin và nó là thành phần quan trọng trong bất kỳ lĩnh vực,
công việc nào. Trong những công việc thường nhật bao gồm cả việc sử dụng dữ
liệu đã có và tạo ra những dữ liệu mới. Khi những dữ liệu được tạo ra và được phân
tích thì chúng trở thành thông tin. Chúng có thể trở thành nhiều loại thông tin như
thông tin về xe hơi, thể thao, máy bay .v.v…Ví dụ một nhà báo thể thao (người hâm
mộ môn bóng đá) thu thập điểm của 10 trận đấu mà đội tuyển Đức tham dự ở cúp
bóng đá thế giới. Những điểm số này trở thành dữ liệu. Khi dữ liệu này được đem
so sánh với dữ liệu thu được trong 10 trận ở cúp bóng đá thế giới của đội tuyển
Brazil, nhà báo này có được thông tin đội tuyển bóng đá nào thi đấu hay hơn.
Thông tin giúp chúng ta tiên liệu và hoạch định được các sự kiện. Thông tin là sự
thấu hiểu của dữ liệu. Trong kinh doanh, từ thông tin có thể dự báo và hoạch định
trước sự xảy ra của một sự kiện giúp tiết kiệm thời gian và tiền bạc. Xét ví dụ, một
công ty sản xuất xe hơi hoạch định chi hàng năm cho những thành phần của xe mà
công ty không sản xuất được. Nếu chi phí cho những phần này trong 5 năm qua đã
có, công ty mẹ có thể tập hợp những thông tin về những phần đã nhập khẩu. Dựa
vào kết quả tìm được, một kế hoạch sản xuất sẽ được chuẩn bị. Do đó, thông tin là
nhân tố then chốt trong hoạch định chiến lược.
Một CSDL là một tập hợp dữ liệu. Có thể hiểu rằng CSDL là một cơ chế tổ chức có
khả năng lưu trữ thông tin. Người dùng có thể truy xuất được thông tin một cách
nhanh chóng và hiệu quả từ CSDL.
Một cuốn danh bạ điện thoại là một CSDL. Dữ liệu chứa trong những mục như tên,
địa chỉ và số điện thoại. Những dữ liệu này được liệt kê, sắp xếp và chỉ mục theo
thứ tự a,b,c..(alphabet). Nó cho phép người sử dụng tham chiếu đến nơi cư trú một
cách dễ dàng. Sau đó, dữ liệu này sẽ được lưu vào CSDL trên máy tính. Một người
di chuyển đến một thành phố hay một tiểu bang khác, những mục dữ liệu tương
ứng sẽ được thêm vào hay bỏ đi khỏi danh bạ. Tương tự, những mục thông tin đó
có thể được sửa đổi khi có người thay tên, đổi địa chỉ hay số điện thoại v.v…
Hình1.1 minh họa một CSDL đơn giản.
Hình 1. 1. CSDL

Aptech Vietnam
Database
Người dùng
Lưu thông tin
Truy xuất thông tin
2
Chương 1- Các khái niệm về RDBMS
Vậy, CSDL là một tập hợp dữ liệu được tổ chức sao cho nội dung của nó có thể dễ
dàng truy cập, quản lý và cập nhật.
1.3 Quản trị dữ liệu
Quản trị dữ liệu chỉ việc quản lý lượng lớn thông tin, bao gồm cả việc lưu trữ thông
tin và cơ chế thao tác thông tin trên các thông tin đó. Ngoài ra, hệ thống phải đảm
bảo tính an toàn thông tin được lưu trữ trong nhiều tình huống khác nhau, như
nhiều người truy cập v.v…
Có hai phương pháp quản trị dữ liệu khác nhau là hệ thống dựa trên tập tin và hệ
thống CSDL.
1.3.1 Hệ thống dựa trên tập tin
Lưu trữ một lượng lớn thông tin luôn luôn là mối quan tâm lớn. Trong những năm
trước, các hệ thống quản lý theo tập tin được sử dụng, các hệ thống này lưu trữ dữ
liệu trong những tập tin riêng biệt. Trong hệ thống này, một nhóm tập tin được lưu
trên một máy tính và được truy cập bằng các thao tác máy tính. Tập tin lưu trữ dữ
liệu được gọi là bảng bởi vì nó trông giống các bảng được lưu trữ trong các hồ sơ
truyền thống. Các dòng trong bảng được gọi là các bản ghi và các cột được gọi là
các trường.
Thông thường, trước khi hệ thống CSDL được phát triển, dữ liệu trong hệ thống
phần mềm được lưu trữ trên các tập tin.
Một ví dụ về hệ thống quản lý theo file mô tả trong bảng 1.1
Fist Name
(Tên)
Last Name

(Họ)
Address
(Địa chỉ)
Phone
(Số điện thoại)
Eric David 213-456-0987
Selena Sol 987-756-4321
Jordan Lim 222-3456-123
Bảng 1. 1. Hệ thống quản lý theo tập tin
Nhược điểm của hệ thống quản lý theo tập tin
Trong hệ thống quản lý theo file, những chương trình khác nhau trong cùng một ứng
dụng có tương tác với những file dữ liệu khác nhau. Nó khôn tồn tại bất kỳ một hệ
thống nào ép buộc theo một chuẩn nào đó trong việc lưu trữ và cấu trúc những file
dữ liệu.
ITT
3
RDBMS
 Dư thừa và mâu thuẫn dữ liệu
Khi dữ liệu được lưu trữ trong những file riêng biệt nhau nó sẽ phát sinh ra
dư thừa và mâu thuẫn dữ liệu. Ví dụ, một khách hàng có một tài khoản tiết
kiệm. Thông tin chi tiết của khách hàng có thể bị lặp lại khi những chương
trình cho hai chức năng lưu trữ thông tin liên quan đến khách hàng trên hai
file khác nhau. Điều này tạo ra sự dư thừa dữ liệu khách hàng. Trong khi đó,
cùng dữ liệu lưu trên hai file riêng biệt sẽ tạo ra sự mâu thuẫn nếu ta thay đổi
dữ liệu trên một file và file kia không được cập nhật tương ứng.
 Truy vấn bất ngờ
Trong một hệ thống quản lý theo file thì việc quản lý những truy vấn bất ngờ
rất khó khăn, khi đó nó yêu cầu thay đổi trong các chương trình đã tồn tại. Ví
dụ, nhân viên ngân hàng cần tạo ra một danh sách tất cả các khách hàng có
tài khoản từ $20000 trở lên. Nhân viên ngân hàng có hai tùy chọn: hoặc lấy

danh sách tất cả các khách hàng với các thông tin cần thiết sau đó chọn thủ
công hoặc thuê một lập trình viên thiết kế ứng dụng cần thiết. Rõ ràng cả hai
phương án trên điều không tốt. Giải sử chương trình đã được viết và trể một
vài ngày, lúc đó nhân viên ngân hàng yêu cầu chỉ cần những khách hàng đã
mở tài khoản cách đây một năm mà thôi. Như vậy, chương trình để tạo ra
danh sách đó vẫn chưa có, điều này rất khó khăn trong việc truy xuất dữ liệu.
 Cô lập dữ liệu
Dữ liệu được lưu trữ phân tán trên nhiều file khác nhau và các file này có thể
ở những dạng định dạng khác nhau. Mặc dù dữ liệu được sử dụng bởi các
chương trình khác nhau trong một ứng dụng có thể được liên kết với nhau
nhưng chúng vẫn được lưu trên những file riêng lẻ.
 Xử lý các truy cập đồng thời bất thường
Trong các hệ thống lớn, một file hay một bản ghi có thể được truy cập đồng
thời bởi nhiều người sử dụng. Hệ thống quản lý dựa theo file rất khó đáp ứng
được yêu cầu này.
 Vấn đề về bảo mật
Trong các ứng dụng tập trung dữ liệu thì bảo mật dữ liệu là mối quan tâm
chính. Những người dùng chỉ có thể truy cập những dữ liệu cần thiết chứ
không phải toàn bộ CSDL. Ví dụ, trong một hệ thống ngân hàng, hệ thống
tiền lương chỉ cần xem một phần về nhân viên ngân hàng mà thôi. Họ không
cần truy cập thông tin về tài khoản của khách hàng. Trong khi đó những
Aptech Vietnam
4
Chương 1- Các khái niệm về RDBMS
chương trình ứng dụng được thêm vào hệ thống trong những trường hợp
đặc biệt rất khó có thể đảm bảo được các qui tắc bảo mật đã có.
Trong một hệ thống quản lý dựa theo file, vấn đề bảo mật chỉ có thể kiểm
soát được bằng cách thêm các chương trình vào từng ứng dụng.
 Vấn đề về toàn vẹn
Trong bất kỳ ứng dụng nào, luôn luôn tồn tại những qui tắc đảm bảo toàn vẹn

dữ liệu. Những qui tắc này có thể tồn tại ở dạng các điều kiện hoặc các ràng
buộc trên những thành phần của bản ghi dữ liệu. Trong ứng dụng về ngân
hàng, có thể có một qui tắc về toàn vẹn có thể là “Mã khách hàng không
được trùng nhau và không được rỗng”. Có thể có nhiều qui tắc toàn vẹn trong
một ứng dụng. Trong hệ thống quản lý theo file tất cả các qui tắc này cần
phải được lập trình trong chương trình ứng dụng.
Duyệt qua tất cả các vấn đề cơ bản của bất kỳ ứng dụng tập trung dữ liệu nào, ta
thấy mỗi ứng dụng đều phải kiểm soát tất cả những vấn đề trên. Như vậy, người lập
trình ứng dụng không chỉ phải cài đặt những nghiệp vụ của ứng dụng mà còn phải
cài đặt cả những vấn đề cơ bản ở trên.
1.3.2 Các hệ thống CSDL
Các hệ thống CSDL được phát triển vào những năm cuối thập niên 60 của thế kỹ
trước để giải quyết những vấn đề cơ bản trong những ứng dụng có lượng dữ liệu
lớn và tập trung nhằm khắc phục một số nhược điểm của các hệ thống quản lý theo
file.
CSDL được sử dụng để lưu trữ dữ liệu có hệ thống và có tổ chức. CSDL sẽ giúp
quản lý dữ liệu một cách nhanh chóng và dễ dàng. Ví dụ, một công ty có thể quản lý
thông tin chi tiết của các nhân viên trong một CSDL. Tại bất kỳ thời điểm nào, cũng
có thể truy xuất dữ liệu từ CSDL, dữ liệu mới có thể được thêm vào CSDL và dữ
liệu có thể được tìm kiếm dựa vào một vài điều kiện trong CSDL.
Dữ liệu lưu trữ cũng có thể truy xuất được ngay cả khi lưu trên những file đơn giản.
Ví dụ, một trường đại học phải lưu giữ những thông tin về giáo viên, sinh viên, môn
học và các kỳ thi. Chi tiết các giáo viên có thể được lưu trong sổ nhân viên, chi tiết
các sinh viên có thể được lưu trong sổ sinh viên và tương tự. Tuy nhiên, dữ liệu
được lưu trữ theo dạng này không bền vững. Những bản ghi được lưu theo dạng
này có thể chỉ được giữ trong vài tháng hoặc vài năm. Những sổ hay file là rất kềnh
càng, chiếm nhiều không gian và không thể giữ trong nhiều năm.
Nếu dữ liệu trên được lưu giữ trong hệ thống CSDL thì chúng có thể được lưu giữ
lâu hơn.
Ưu điểm của các hệ thống CSDL

ITT
5
RDBMS
Thông tin hay dữ liệu có thể được lưu vĩnh cửu trong CSDL trên máy tính. Hệ thống
CSDL có nhiều ưu điểm bởi vì nó quản lý dữ liệu tập trung. Một vài lợi ích của việc
sử dụng hệ thống CSDL tập trung như sau:
 Giảm dư thừa dữ liệu
Trong một công ty, một số phòng ban thường lưu chung dữ liệu. Sử dụng
CSDL tập trung giúp các dữ liệu dùng chung được truy cập bởi nhiều phòng
ban khác nhau. Vì vậy, dữ liệu trùng hay dữ liệu dư thừa sẽ giảm.
 Giảm mâu thuẫn dữ liệu
Khi dữ liệu được lưu trùng qua nhiều phòng ban thì bất kỳ sự thay đổi nào
của dữ liệu cũng phải thay đổi trên tất cả các phòng ban. Nếu có phòng ban
không được thay đổi sẽ dẫn đến mâu thuẫn dữ liệu.
Khi sử dụng CSDL tập trung, nó có thể cho phép người dùng cập nhật dữ
liệu riêng biệt. Giả sử rằng, Mr. Larry Finner là nhân viên của một công ty và
được đề bạt lên quản lý thì chỉ cần thay đổi một nơi trên CSDL mà thôi. Kết
quả sự mâu thuẫn dữ liệu sẽ giảm.
 Dữ liệu được lưu trữ có thể được chia sẻ
Một CSDL tập trung có thể được đặt trên một Server và có thể được chia sẻ
cho nhiều người sử dụng. Bằng cách này tất cả những người dùng có thể
truy xuất hoặc cập nhật thông tin bất cứ lúc nào.
 Các chuẩn có thể được thiết lập và duy trì
Một trung tâm điều khiển đảm bảo các chuẩn trong việc đặc tả dữ liệu có thể
được thiết lập và duy trì. Ví dụ, tên một người có thể được thể hiện như “Mr
Larry Linner”. Tên này có thể được chia nhỏ thành các thành phần dưới đây:
 Định danh (Mr)
 Tên (Larry)
 Họ (Finner)
Nó đảm bảo rằng tất cả các tên được lưu trong CSDL sẽ có cùng định dạng

như trên nếu như chuẩn này được thiết lập.
 Toàn vẹn dữ liệu được duy trì
Toàn vẹn dữ liệu đảm bảo tính chính xác của dữ liệu trong CSDL. Ví dụ, khi
một nhân viên nghỉ việc, phòng kế toán cập nhật CSDL và phòng nhân sự
Aptech Vietnam
6
Chương 1- Các khái niệm về RDBMS
không cập nhật các bản ghi. Dẫn đến dữ liệu trong các bản ghi của công ty
sẽ không đúng.
Điều khiển tập trung của CSDL sẽ giúp tránh được các lỗi trên. Nó đảm bảo
rằng nếu một bản ghi bị xóa trên bảng này thì những bản ghi liên kết tương
ứng trên các bảng khác cũng bị xóa theo.
 Bảo mật dữ liệu có thể được cài đặt
Trong hệ thống CSDL tập trung, quyền sửa đổi trên CSDL không cung cấp cho
tất cả mọi người. Quyền chỉ được cung cấp cho một người có đầy đủ quyền trên
CSDL. Người này được gọi là người quản trị CSDL hay DBA. DBA có thể thiết
lập bảo mật bằng cách đặt các giới hạn trên dữ liệu. Dựa vào các quyền được
gán, người dùng có thể thêm, sửa hay truy vấn dữ liệu.
1.4 Hệ quản trị CSDL (DBMS)
Một hệ quản trị CSDL có thể được định nghĩa như một tập các bản ghi có liên quan
với nhau và tập hợp các chương trình cho phép cập nhật và thao tác trên các bản
ghi đó. Hệ quản trị CSDL cho phép người dùng nhập, lưu trữ và quản lý dữ liệu.
Vấn đề chính đối với các hệ quản trị CSDL trước đây là dữ liệu được lưu trong các
file phẳng. Vì vậy, thông tin về các đối tượng khác nhau được duy trì trong các file
vật lý riêng biệt. Do vậy, các mối quan hệ giữa các đối tượng nếu có cũng được duy
trì trên các file vật lý riêng biệt. Mỗi gói sẽ chứa rất nhiều file và cần nhiều chức
năng để tích hợp chúng thành một hệ thống.
Giải pháp cho những vấn đề trên đã có trong hệ quản trị CSDL tập trung. Trong hệ
quản trị CSDL tập trung, CSDL được lưu trữ tập trung tại một nơi. Mọi người có thể
truy cập đến CSDL tập trung từ máy tính của họ. Ví dụ, một hệ quản trị CSDL tập

trung lớn sẽ chứa tất cả dữ liệu liên quan đến các nhân viên. Phòng kế toán và
phòng nhân sự sẽ sử dụng các chương trình phù hợp để truy cập các dữ liệu cần
thiết. Những chương trình này hay ứng dụng sẽ được chạy trên một máy tính bất
kỳ.
CSDL là tập hợp các dữ liệu có liên quan với nhau và hệ quản trị CSDL là một tập
hợp các chương trình được sử dụng để thêm vào hoặc sửa đổi dữ liệu đó. Vì vậy,
hệ quản trị CSDL là một phần mềm cho phép định nghĩa, xây dựng và bảo trì CSDL.
Hệ quản trị CSDL cung cấp một môi trường thuận tiện và hiệu quả để khi có một
lượng lớn dữ liệu và giao dịch được xử lý. Các loại hệ quản trị CSDL khác nhau
được sử dụng từ hệ thống nhỏ chạy trên máy tính cá nhân cho đến các hệ thống
lớn chạy trên các máy chủ lớn. Ví dụ một số ứng dụng CSDL như:
o Hệ thống thư viện điện tử
o Máy rút tiền tự động
ITT
7
RDBMS
o Hệ thống đặt vé máy bay
o Hệ thống tồn kho được máy tính hóa
Đứng ở góc nhìn kỹ thuật, hệ quản trị CSDL có nhiều khía cạnh khác nhau. Các hệ
quản trị CSDL khác nhau hỗ trợ các ngôn ngữ truy vấn khác nhau, mặc dù có một
ngôn ngữ truy vấn chuẩn được gọi là ngôn ngữ vấn tin có cấu trúc (SQL). Những
ngôn ngữ tốt nhất để quản lý các hệ thống CSDL hiện nay được gọi là ngôn ngữ thế
hệ thứ tư (4GLs).
Thông tin từ CSDL có thể được thể hiện ở nhiều định dạng khác nhau. Hầu hết các
CSDL bao gồm các chương trình báo cáo cho phép người dùng lấy dữ liệu ra ở
dạng một báo cáo. Nhiều hệ quản trị CSDL bao gồm cả các thành phần đồ họa cho
phép người dùng lấy thông tin ở dạng đồ họa và biểu đồ.
Không cần phải sử dụng hệ quản trị CSDL phổ biến để thiết lập một CSDL. Người
dùng có thể tự viết các chương trình để tạo ra và quản lý CSDL của họ, nó sẽ hiệu
quả nếu họ tạo ra phần mềm quản lý CSDL theo mục đích riêng. CSDL và phần

mềm gộp lại được gọi là hệ quản trị CSDL. Người dùng đầu cuối truy cập hệ thống
CSDL thông qua các chương trình ứng dụng và vấn tin. Phần mềm hệ quản trị
CSDL cho phép người dùng xử lý các chương trình và truy vấn theo yêu cầu của
họ. Phần mềm truy cập dữ liệu từ CSDL. Hình 1.2 mô tả một hệ thống CSDL.
Aptech Vietnam
8
Chương 1- Các khái niệm về RDBMS
Hình 1. 2. Môi trường hệ thống CSDL đơn giản
1.4.1 Lợi ích của hệ quản trị CSDL
Về cơ bản hệ quản trị CSDL chịu trách nhiệm xử lý dữ liệu và chuyển đổi chúng
thành thông tin. Với mục đích này, CSDL sẽ được xử lý, chúng bao gồm cả việc truy
vấn CSDL, truy xuất các dữ liệu cụ thể, cập nhật dữ liệu và tạo ra các báo cáo. Các
báo cáo là nguồn gốc của thông tin, chúng là các dữ liệu đã được xử lý. Ngoài ra,
hệ quản trị CSDL còn chịu trách nhiệm về bảo mật và toàn vẹn dữ liệu. Lợi ích của
hệ quản trị CSDL có thể được mô tả như sau:
 Lưu trữ dữ liệu
Các chương trình thực hiện việc lưu trữ dữ liệu vật lý được kiểm soát bởi hệ
quản trị CSDL, chúng tạo ra một cấu trúc dữ liệu phức tạp và xử lý được gọi
là quản trị dữ liệu.
ITT
NGƯỜI DÙNG/LẬP TRÌNH VIÊN
HỆ QUẢN TRỊ
CSDL
CHƯƠNG TRÌNH ỨNG DỤNG/TRUY VẤN
PHẦN MỀM
DBMS
Phần mềm để xử lý truy
vấn/các chương trình
Phần mềm để truy cập dữ
liệu

CSDL CSDL
9
RDBMS
 Định nghĩa dữ liệu
Hệ quản trị CSDL cung cấp những chức năng định nghĩa cấu trúc của dữ liệu
cho các ứng dụng. Chúng bao gồm định nghĩa và sửa đổi cấu trúc các bản
ghi, kiểu và kích thước của các trường và những điều kiện, ràng buộc khác
nhau để thỏa mãn dữ liệu trên các trường.
 Thao tác trên dữ liệu
Khi cấu trúc dữ liệu đã được định nghĩa, dữ liệu được chèn, sửa đổi hay xóa.
Các chức năng thực hiện các thao tác này là một phần của hệ quản trị CSDL.
Các chức năng này có thể kiểm soát việc hoạch định hoặc không hoạch định
nhu cầu thao tác dữ liệu. Các truy vấn được hoạch định là một phần của ứng
dụng. Các truy vấn không hoạch định là các truy vấn đặc biệt, nó được thực
hiện dựa theo yêu cầu.
 Bảo mật và toàn vẹn dữ liệu
Bảo mật dữ liệu là một vấn đề vô cùng quan trọng khi có nhiều người truy
cập dữ liệu. Nó đảm bảo cho dữ liệu được truy cập đúng người dùng. Các
qui tắc bảo mật chỉ định việc truy cập CSDL, thành phần dữ liệu nào người
dùng có quyền truy cập, thao tác dữ liệu nào người dùng có quyền thực hiện.
Dữ liệu trong CSDL có thể chứa lỗi, để tránh các lỗi hệ quản trị CSDL sẽ thực
hiện việc kiểm tra. Ví dụ, mã số nhân viên khi được thêm vào phải không
được rỗng hay số điện thoại phải chỉ chứa các số.
Vì vậy, hệ quản trị CSDL chứa những chức năng kiểm soát bảo mật và toàn
vẹn dữ liệu trong ứng dụng. Các công việc trên có thể dễ dàng được kiểm
soát bởi ứng dụng và người lập trình ứng dụng không cần viết mã cho những
chức năng này.
 Truy cập đồng thời và phục hồi dữ liệu
Phục hồi dữ liệu sau khi hệ thống bị lỗi và truy cập đồng thời bởi nhiều người
sử dụng cũng được hệ quản trị CSDL kiểm soát.

 Hiệu năng
Tối ưu hóa quá trình thực hiện các câu truy vấn là một trong những chức
năng quan trọng của hệ quản trị CSDL. Vì vậy, hệ quản trị CSDL chứa một
tập hợp các chương trình ở dạng tối ưu hóa các câu truy vấn, các chương
trình này đánh giá các phương án khác nhau để thực hiện các câu truy vấn
và chọn ra phương án tốt nhất.
 Điều khiển đa truy cập
Aptech Vietnam
10
Chương 1- Các khái niệm về RDBMS
Tại một thời điểm có thể có nhiều người truy cập cùng một dữ liệu. Hệ quản
trị CSDL theo dõi việc chia sẻ dữ liệu cho nhiều người dùng và duy trì toàn
vẹn dữ liệu.
 Ngôn ngữ truy xuất CSDL và giao diện lập trình ứng dụng (API)
Ngôn ngữ vấn tin của hệ quản trị CSDL thực hiện việc truy xuất dữ liệu. SQL
là ngôn ngữ vấn tin được sử dụng rộng rãi nhất. Ngôn ngữ vấn tin là ngôn
ngữ phi thủ tục, nó cho phép người dùng đưa ra những yêu cầu mà không
cần biết phải làm nó như thế nào. Một vài ngôn ngữ thủ tục như C, Visual
Basic, Pascal.v.v.. cho phép người lập trình truy cập CSDL.
1.5 Các mô hình CSDL
Các CSDL có thể khác nhau dựa vào các chức năng và mô hình dữ liệu. Một mô
hình dữ liệu mô tả kho chứa dữ liệu và xử lý việc lưu trữ và truy xuất dữ liệu từ kho
đó. Người phân tích và thiết kế các mô hình dữ liệu phải dựa vào quá trình phát
triển của các CSDL. Mỗi mô hình được phát triển dựa vào các mô hình trước đó.
Các mô hình CSDL được mô tả một cách ngắn gọn trong phần dưới đây.
1.5.1 Mô hình dữ liệu file phẳng
Trong mô hình này CSDL chứa chỉ một bảng hay một file. Mô hình này được sử
dụng cho những CSDL đơn giản. Ví dụ để lưu trữ mã số, tên, môn học, điểm số của
một nhóm sinh viên. Mô hình này không thể quản lý lượng lớn dữ liệu. Nó có thể tạo
ra sự dư thừa khi dữ liệu được mô tả nhiều lần. Bảng 1.2 mô tả cấu trúc của một

CSDL file phẳng.
Roll No FName LName Subject Marks
45 Jones Bill Maths 84
45 Jones Bill Science 75
50 Mary Mathew Science 80
Bảng 2.1 Cấu trúc của mô hình dữ liệu file phẳng
1.5.2 Mô hình phân cấp (Hierarchical)
Trong mô hình phân cấp, các bản ghi liên kết với nhau thông qua các cấp bậc giống
như cấu trúc cây. Trong mô hình này, các quan hệ được gọi là quan hệ cha – con.
ITT
11
RDBMS
Một bản ghi cha có thể có một vài bản ghi con nhưng một bản ghi con chỉ có một và
chỉ một bản ghi cha. Để tìm dữ liệu được lưu trữ theo mô hình này, người dùng cần
phải biết cấu trúc của cây. Ví dụ của mô hình dữ liệu phân cấp là hệ quản trị thư
mục của Windows mà chúng ta có thể nhìn thấy thông qua Windows Explorer và hệ
quản trị thông tin của IBM.
Hình 1.3 mô tả một sơ đồ đơn giản cho một sơ đồ có phân cấp.
Hình 1. 3. Sơ đồ phân cấp
Qua sơ đồ trên, Phòng được xem là phần cha trong quan hệ. Các Dự án và Nhân
viên được xem như là phần con. Một đường dẫn bắt đầu từ phần tử bên trái đầu
tiên sẽ định nghĩa được cây. Thứ tự của các phần tử chỉ ra theo cấu trúc phân cấp
được gọi là đường dẫn phân cấp. Từ hình vẽ chúng ta thấy rõ mỗi phòng có thể có
nhiều nhân viên và dự án.
 Ưu điểm của mô hình phân cấp
Aptech Vietnam
PHÒNG
Tên phòng Số phòng Tên sếp Ngày bắt đầu quản lý
DỰ ÁN
TÊN SỐ ĐỊA ĐIỂM

NHÂN VIÊN
TÊN
SỐ ĐỊA CHỈNGÀY SINH
a. PHÒNG NGHIÊN CỨU QUẢN TRỊ
Smith Max Jonh Grace JamesEliteNHÂN VIÊN
b. PHÒNG NGHIÊN CỨU QUẢN TRỊ
Product A Grace ComputerrizationDỰ ÁN Product B New benifits
Frank
12
Chương 1- Các khái niệm về RDBMS
Ưu điểm của mô hình phân cấp như sau:
- Dữ liệu được lưu giữ trên CSDL, vì vậy dữ liệu được chia sẻ một cách dễ
dàng và được bảo mật bởi hệ quản trị CSDL.
- Độc lập dữ liệu được hệ quản trị CSDL giúp giảm được chi phí bảo trì
chương trình.
Mô hình này rất hiệu quả khi CSDL chứa một lượng lớn dữ liệu. Ví dụ, một hệ thống
tài khoản khách hàng của ngân hàng rất phù hợp với mô hình phân cấp, bởi vì mỗi
tài khoản khách hàng là chủ thể cho các giao dịch.
1.5.3 Mô hình mạng
Mô hình này tương tự như mô hình phân cấp. Mô hình phân cấp thực ra là tập con
của mô hình mạng. Tuy nhiên, thay vì sử dụng cây phân cấp nút cha đơn, mô hình
mạng sử dụng lý thuyết tập để tạo ra một cây phân cấp mà trong đó mỗi nút con có
thể có nhiều hơn một nút cha.
Trong mô hình mạng, dữ liệu được lưu trên các tập thay vì định dạng theo cây phân
cấp. Điều này giải quyết được vấn đề dư thừa dữ liệu. Lý thuyết của mô hình mạng
không sử dụng cây phân cấp đơn nút cha. Nó cho phép một con có nhiều hơn một
cha. Vì vậy, các bản ghi vật lý liên kết với nhau thông qua một danh sách liên kết.
Mô hình mạng kết hợp với mô hình phân cấp là mô hình dữ liệu cơ sở để cài đặt
nhiều hệ thống CSDL thương mại. Ngôn ngữ và cấu trúc của mô hình mạng được
định nghĩa bởi hội thảo về ngôn ngữ các hệ thống dữ liệu (CODASYL).

Đối với mọi CSDL, tên CSDL, kiểu bản ghi và các thành phần tạo nên bản ghi đều
được lưu trữ. Những thành phần này được gọi là sơ đồ mạng. Một phần của CSDL
được nhìn thấy bởi các chương trình ứng dụng, các chương trình này lấy các thông
tin cần thiết từ dữ liệu được lưu trong CSDL được gọi là sơ đồ con. Nó cho phép
các chương trình ứng dụng truy cập những ứng dụng cần thiết từ CSDL.
ITT
Salesrep Customer
Product Invoice Payment
Invline
13
RDBMS
Hình 1. 4. Mô hình mạng
Mô hình mạng được mô tả ở trên là một dãy các quan hệ một nhiều.
1. Một người bán hàng có thể viết nhiều hóa đơn nhưng mỗi hóa đơn thì được
viết bởi một người bán hàng duy nhất (Salesrep).
2. Một khách hàng có thể trả cho nhiều nhu cầu khác nhau. Một khách hàng có
thể có nhiều hóa đơn những mỗi hóa đơn chỉ được viết cho một khách hàng
duy nhất.
3. Mỗi hóa đơn có thể chứa nhiều dòng mua hàng, nhưng mỗi dòng mua hàng
chỉ được tìm thấy trong một hóa đơn duy nhất (Invline).
4. Một sản phẩm có thể xuất hiện trên nhiều dòng khác nhau trên hóa đơn
những mỗi dòng hóa đơn chỉ chứa một sản phẩm.
Những thành phần của ngôn ngữ được sử dụng trong mô hình mạng là:
1. Ngôn ngữ định nghĩa dữ liệu (DDL) được sử dụng để tạo, xóa CSDL và các
đối tượng CSDL. Nó cho phép người quản trị CSDL định nghĩa các thành
phần của sơ đồ dữ liệu.
2. Một sơ đồ con của DDL cho phép người quản trị CSDL định nghĩa các thành
phần dữ liệu.
3. Ngôn ngữ thao tác dữ liệu (DML) được sử dụng để thêm, sửa, xoá thông tin
trên CSDL. Những người dùng CSDL sử dụng các câu lệnh để thao tác trên

CSDL.
4. Ngôn ngữ điều khiển dữ liệu (DCL) được sử dụng để quản trị các quyền trên
CSDL và đối tượng CSDL.
 Ưu điểm của mô hình mạng
Một số ưu điểm của mô hình mạng như sau:
- Các quan hệ dễ dàng được thiết lập trên mô hình mạng hơn so với mô
hình phân cấp.
- Mô hình này đảm bảo sự toàn vẹn dữ liệu.
- Mô hình này đạt được sự độc lập dữ liệu cần thiết.
 Nhược điểm của mô hình mạng
Một số nhược điểm của mô hình mạng như sau:
- Khó thiết kế CSDL theo mô hình này.
Aptech Vietnam
14
Chương 1- Các khái niệm về RDBMS
- Người lập trình phải nắm rõ cấu trúc bên trong CSDL để truy cập CSDL.
- Mô hình này cung cấp môi trường truy cập dữ liệu nên để di chuyển từ A
đến E theo thứ tự A-B-C-D-E, người sử dụng phải di chuyển qua B,C và
D để đến E.
Mô hình này rất khó cài đặt và bảo trì.
1.5.3 Mô hình quan hệ
Cũng như thông tin, CSDL ngày càng lớn và càng phức tạp, do vậy ứng dụng, thiết
kế, quản trị và sử dụng CSDL ngày trở nên quá phức tạp. Sự thiếu linh hoạt của các
câu truy vấn đã làm mất nhiều thời gian của người lập trình để tạo ra các báo cáo
dù đó là các báo cáo đơn giản nhất. Đây là các tiền đề để phát triển mô hình CSDL
quan hệ.
Thuật ngữ “quan hệ “ được dẫn xuất từ lý thuyết tập hợp của toán học. Trong mô
hình quan hệ, không giống mô hình mạng và mô hình phân cấp, nó không có các
liên kết vật lý. Tất cả dữ liệu được chứa trong các bảng, các bảng chứa các dòng và
các cột. Dữ liệu trên hai bảng được quan hệ với nhau thông qua các cột thay cho

liên kết vật lý. Những phép toán được cung cấp để thực hiện trên các dòng của
bảng dữ liệu. Các hệ quản trị CSDL quan hệ phổ biến như Oracle, Sybase, DB2,
Ingres, Informix, MS-SQL Server v.v..
Mô hình này mô tả CSDL là một tập hợp các quan hệ. Trong thuật ngữ mô hình, một
dòng được gọi là Tuple, một cột được gọi là thuộc tính và bảng được gọi là quan hệ.
Danh sách các giá trị có thể có của một trường được gọi là miền. Có thể có một vài
thuộc tính có chung miền. Số thuộc tính của một quan hệ được gọi là bậc của quan
hệ. Số tuple xác định số phần tử trong quan hệ.
Để hiểu về mô hình quan hệ hãy xem xét bảng 1.3 và 1.4 dưới đây:
Mã sinh viên Tên sinh viên
1 Sam
2 John
3 Jenny
4 Lisa
5 Penny
6 Peter
7 Joe
ITT
15
RDBMS
Bảng 1.3: Bảng sinh viên
Mã sinh viên Điểm số
1 34
2 87
3 45
4 90
5 36
6 65
7 89
Bảng 1.4: Bảng điểm

Bảng sinh viên hiển thị mã sinh viên và tên sinh viên, bảng điểm hiển thị mã sinh
viên và điểm của các sinh viên. Bây giờ chúng ta sẽ thực hiện hai bước cần thiết để
lấy ra những sinh viên có số điểm trên 50. Bước đầu tiên xác định mã sinh viên của
những sinh viên có số điểm trên 50 từ bảng điểm. Tiếp theo lấy tên của những sinh
viên từ bảng sinh viên có mã số sinh viên khớp với nhau. Kết quả được hiển thị như
hình 1.5
Mã sinh viên Tên sinh viên Điểm
2 John 87
4 Lisa 90
6 Peter 65
7 Joe 89
Bảng 1.5: Hiển thị tên sinh viên và điểm
Sở dĩ có được các thông tin trên bởi vì có hai yếu tố: thứ nhất, có một cột chung
trên cả hai bảng – Mã sinh viên. Thứ hai, dựa vào cột chung này các bản ghi trên
hai bảng được khớp với nhau và chúng ta có được thông tin yêu cầu.
Aptech Vietnam
16
Chương 1- Các khái niệm về RDBMS
Trong mô hình quan hệ, dữ liệu được lưu trên các bảng. Bảng trong CSDL có tên
không được trùng nhau trong một CSDL. Mỗi bảng được định nghĩa bởi các dòng
và các cột.
 Ưu điểm của mô hình quan hệ
Mô hình CSDL quan hệ cho phép lập trình viên tập trung vào góc nhìn logic hơn là
tập trung vào góc nhìn vật lý. Một trong những nguyên nhân là cho CSDL quan hệ
phổ biến là nó hỗ trợ linh hoạt các truy vấn. Hầu hết các CSDL quan hệ sử dụng
ngôn ngữ truy vấn có cấu trúc (SQL). Hệ quản trị CSDL quan hệ sử dụng SQL để
chuyển những truy vấn của người dùng thành các mã kỹ thuật để lấy dữ liệu theo
yêu cầu. Mô hình quan hệ rất dễ sử dụng, ngay cả những người chưa được đào tạo
cũng có thể dễ dàng tạo ra các báo cáo và các câu truy vấn, không quá khó để thiết
kế một CSDL hợp lý.

 Nhược điểm của mô hình quan hệ
Mặc dù mô hình này ẩn đi tất cả những phức tạp của hệ thống, nó hầu như vẫn
thực thi chậm hơn so với các mô hình CSDL khác.
So sánh tất cả các mô hình, mô hình quan hệ phổ biến nhất và được sử dụng rộng
rãi hiện nay.
1.6 Hệ quản Trị CSDL
Mô hình quan hệ là một nỗ lực nhằm đơn giản cấu trúc CSDL. Nó biểu diễn tất cả
dữ liệu trong CSDL theo dạng bảng bao gồm các hàng và các cột. Hệ Quản trị
CSDL Quan hệ (RDBMS) là hệ quản trị CSDL mà tất cả dữ liệu được nhìn thấy bởi
người dùng được tổ chức hoàn toàn bằng các bảng dữ liệu và tất cả các thao tác
CSDL làm việc trên các bảng.
Một CSDL Quan hệ là một CSDL được chia thành các đơn vị logic gọi là bảng
(table), và các bảng có quan hệ với nhau. Một CSDL quan hệ cho phép dữ liệu
được chia thành những đơn vị logic nhỏ hơn và dễ quản lý, cho phép duy trì dễ
dàng hơn và cung cấp khả năng thực thi CSDL tối ưu hơn tùy theo mức độ tổ chức.
Hình 1.5 biểu diễn hai bảng có quan hệ với nhau thông qua khóa chung (Giá trị dữ
liệu) trong CSDL Quan hệ.
ITT
17
RDBMS
Hình 1.5: Mối quan hệ giữa các bảng trong CSDL
Hơn nữa, các bảng có quan hệ với nhau trong một CSDL quan hệ, cho phép dữ liệu
thích hợp được truy xuất trong một truy vấn đơn (mặc dù, dữ liệu mong muốn có thể
tồn tại trên nhiều hơn một bảng). Bằng cách sử dụng các khóa hoặc các trường
chung giữa các bảng trong CSDL Quan hệ, dữ liệu từ nhiều bảng có thể được liên
kết để tạo thành một tập kết quả lớn hơn.
Do đó, CSDL Quan hệ là một CSDL được cấu trúc dựa trên mô hình quan hệ. Các
đặc tính cơ bản của mô hình quan hệ là:
 Trong mô hình quan hệ, dữ liệu được lưu trong các quan hệ (relation). Để hiểu
được các quan hệ, xét ví dụ sau đây:

Bảng Capitals (Thủ đô) trong bảng 1.6 hiển thị danh sách các nước và thủ đô, và
bảng Currency (Tiền tệ) trong bảng 1.7 hiển thị danh sách các nước và tiền tệ
hiện đang lưu hành ở nước đó.
Bảng 1.6: Capitals (Thủ đô)
Aptech Vietnam
Quan hệ
Bảng 1
Key
Dữ liệu..
Bảng 2
Key
Dữ liệu..
18
Chương 1- Các khái niệm về RDBMS
Bảng 1.7: Currency (Tiền tệ)
Cả hai bảng có một cột chung đó là cột Country. Giờ, nếu người dùng muốn hiển thị
thông tin về loại tiền đang được sử dụng tại Rome, đầu tiên tìm tên của nước có thủ
đô là Rome. Thông tin này có thể được trích xuất từ bảng 1.6. Kế tiếp, tìm nước đó
trong bảng 1.7 để tìm ra loại tiền đang lưu hành.
Người dùng có thể lấy được thông tin về loại tiền nhờ quan hệ được thiết lập giữa
hai bảng thông qua cột chung gọi là ‘Country’
1.6.2 Các thuật ngữ liên quan đến Hệ quản trị CCSDL quan hệ
(RDBMS)
Các thuật ngữ này chủ yếu được sử dụng trong hệ quản trị CSDL quan hệ. Giờ
chúng trở nên phổ biến, có lẽ phần lớn nhờ mô hình dữ liệu đơn giản:
 Dữ liệu (data) được trình bày như tập hợp các quan hệ
 Mỗi quan hệ được biểu diễn bằng một bảng
 Cột là các thuộc tính
 Các hàng (bộ “tuple”) biểu diễn các thực thể.
 Mọi bảng có tập các thuộc tính gọi là “Key” (Khóa) (Nói chính xác, gọi là

“superkey” – siêu khóa) định danh duy nhất mỗi thực thể.
Ví dụ, một công ty có thể có một bảng Employee(nhân viên) mỗi hàng mô tả cho
một nhân viên. Các thuộc tính nào đang được quan tâm? Điều này, tất nhiên phụ
thuộc vào ứng dụng và việc sử dụng dữ liệu được chỉ ra vào lúc thiết kế CSDL.
Bây giờ, xét tập các bảng trong bảng 1.8, bảng 1.9, bảng 1.10 và bảng 1.11. Các
bảng này minh họa các thuộc tính và các bộ dưới dạng các hàng và cột. Các thuật
ngữ khác nhau liên quan đến các bảng được mô tả trong bảng 1.12.
ITT
19
RDBMS
Bảng 1.8: Customer (Khách hàng)
Bảng 1.9: Items (Mục hàng)
Bảng 1.10: Order_Details (Chi tiết đơn hàng)
Bảng 1.11: Order_August (Đơn hàng trong tháng 8)
Thuật ngữ Nghĩa Ví dụ từ các bảng trên
Quan hệ Một bảng Order_August, Order_Details,
Aptech Vietnam
20
Chương 1- Các khái niệm về RDBMS
(Relation) Customer và Items
Bộ (Tuple)
Một hàng hoặc một bản ghi
trong một quan hệ
Một hàng trong quan hệ
Customer là một bộ Customer
Thuộc tính
Một trường hoặc một cột trong
một quan hệ
Ord_Date, Item_No, Cust_Name
và …

Thành viên của
một quan hệ
Số bộ trong một quan hệ
Thành viên của quan hệ
Order_Details là 7
Bậc của quan
hệ
Số thuộc tính trong một quan
hệ
Bậc của quan hệ Customer là 3
Miền thuộc tính
Tập tất cả các giá trị có thể
được thiết lập cho thuộc tính
Miền giá trị của Qty trong
Order_Details là tập tất cả các
giá trị có thể mô tả số lượng của
một mặt hàng được đặt.
Khóa chính
Một thuộc tính hoặc sự kết hợp
các thuộc tính định rõ mỗi bộ
trong một quan hệ
Khóa chính của quan hệ
Customer là Cust_No
Khóa ngoại
Một thuộc tính hoặc kết hợp
của các thuộc tính trong một
quan hệ R1 chỉ rõ mối quan hệ
của R1 với quan hệ khác R2
Các thuộc tính khóa ngoại
trong R1 phải chứa các giá trị

phù hợp với các giá trị của các
thuộc tính trong R2
Cust_No trong quan hệ
Order_August là khóa ngoại tạo
tham chiếu từ Order_August với
Customer. Điều này cần chỉ ra
một quan hệ giữa đơn hàng
trong Order_August và
Customer (Khách hàng)
Bảng 1.12: Các thuật ngữ liên quan tới các bảng được cho ở trên
1.6.2 Người dùng của Hệ quản trị CSDL:
Mục đích chính của hệ thống CSDL là cung cấp môi trường truy xuất thông tin và
lưu trữ thông tin.
Với CSDL cá nhân có kích thước nhỏ, một người thường định nghĩa các cấu trúc và
thao tác CSDL. Tuy nhiên, nhiều người tham gia vào thiết kế, sử dụng và duy trì một
CSDL lớn với hàng trăm người dùng.
 Quản trị viên CSDL (DBA)
ITT
21

×