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

Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)

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 (4.62 MB, 126 trang )

ỉĩm \

ẵ uuu 0
Z' 7 960 •

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI



,

Chủ biên: TS. Nguyễn Thị Thu Thuỷ

GIÁO TRÌNH

co sổ Dữ LIÊU
(PHẦN 1)

NHÀ XUẤT BẢN THỐNG KÊ



TRƯỜNG ĐẠI HỌC THƯƠNG MẠI

Chủ biên: TS. Nguyễn Thị Thu Thuỷ

GIAO TRINH

cơ sớ Dữ LIÊU
(PHẨN1)


NHÀ XUẤT BẢN THỐNG KÊ

HÀ NỘI-2015



LỜI NĨI ĐÀU
Cơ sở dữ liệu có thể coi là nguồn tài nguyên vô cùng quý giả của
mỗi tổ chức trong xã hội vì nó chứa đựng nhiều thơng tin cần thiết và là
nền tảng khai thác cho các ứng dụng trợ giúp người dùng. Để có thể xây
dựng và thiết kế được cơ sở dữ liệu hiệu quả, chúng ta cần nắm vững
được các phương pháp và các lã thuật then chốt trong việc tổ chức dữ
liệu một cách logic cũng như cách thức cài đặt vật lý dữ liệu này. Để đạt
được điều đó, tập thể giảng viên của Bộ môn Tin học, Khoa Hệ thống
thông tin kỉnh tế biên soạn và trân trọng giới thiệu cuốn “Giảo trình
Cơ sở dữ liệu (phần 1) Đây là cuốn giáo trình về cơ sở dữ liệu cơ bản
trình bày các lã thuật tổ chức dữ liệu ở dạng mơ hình liên kết thực thể,
hay mơ hình quan hệ, chuẩn hóa mô hĩnh cơ sở dữ liệu quan hệ, cũng
như sử dụng các phép toán đại sổ quan hệ hoặc SQL để truy vẩn thông
tin từ cơ sở dữ liệu.

Giáo trĩnh Cơ sở dữ liệu (phần 1) được biên soạn làm giáo trình
cho sinh viên hệ đại học chuyên ngành quản trị hệ thống thôỵig tin thuộc
Khoa Hệ thống thông tin kinh tể của Trường Đại học Thương mại. Giáo
trình này đồng thời là tài liệu tham khảo cho các giảng viên trong quả
trình giảng dạy mơn học, hoặc làm tài liệu tham khảo cho các sinh viên
các chuyên ngành khác có liên quan đến cơ sở dữ liệu.
Nội dung giáo trình gồm 3 chương như sau:
Chương 1: Tổng quan về cơ sở dữ liệu. Chương này trình bày các
khái niệm cơ bản về cơ sở dữ liệu, hệ quản trị cơ sở dữ


liệu,...
Chương 2: Cơ sở dữ liệu quan hệ. Chương này đi sâu trĩnh bày về

cơ sở dữ liệu quan hệ, toàn vẹn dữ liệu, phụ thuộc hàm
và chuẩn hóa dữ liệu quan hệ, mơ hình thực thể liên
kết, chuyển đổi sang mơ hình quan hệ, cũng như quy
trình thiết kế cơ sở dữ liệu.

3


Chương 3: Ngôn ngữ khai thác cơ sở dữ liệu quan hệ. Chương
này trình bày các kiến thức về các phép tốn đại số
quan hệ và ngơn ngữ SQL.
Tập thể tác giả biên soạn đã bám sát với đề cương được soạn theo
chương trĩnh khung của Bộ Giảo dục và Đào tạo ban hành, đồng thời có
tham khảo và biên soạn lại để sao cho nó có tính cập nhật các kiến thức
theo chuyên ngành và đặc thù của khối trường kinh tế. Hơn thế nữa, giáo
trình cịn được biên soạn cho phù hợp với tình hình thực tiễn của xã hội.
Tham gia biên soạn giáo trình gồm các tác giả:

• TS. Nguyễn Thị Thu Thủy, chủ biên và biên soạn chương 1.
• Ths Ngơ Duy Thắng, Ths Nguyễn Hưng Long biên soạn chương 2.
• Ths Nghiêm Thị Lịch, Ths Cù Nguyên Gỉảp, Ths Đinh Thị Hà và
Ths Nguyễn Hằng Giang biên soạn chương 3.
• Ngồi ra, cịn có sự đỏng góp các ỷ kiến, nhận xét của các giảng

viên khác và tham gia phản biện trong bộ môn.


Trong quá trình biên soạn chúng tơi xỉn cảm ơn các đồng nghiệp
đã cơng bố các giáo trình, sách và tài liệu liên quan để chủng tôi cỏ thể
tham khảo cho giáo trình của mình. Mặc dù chúng tơi đã cổ gắng hồn
chinh giảo trình, tuy nhiên khơng thể tránh khỏi thiếu sót. Rất mong các
đồng nghiệp, sinh viên đỏng góp ỷ kiến để giảo trình ngày càng hồn
thiện hơn.
CÁC TÁC GIẢ

4


MỤC LỤC
Lời nói đầu

3

Chương 1: TỔNG QUAN VÈ cơ SỞ DỮ LIỆU

7

1.1. Các khái niệm cơ bản về CSDL

7

1.1.1. Khái niệm về CSDL và vai trò của cơ sờ dữ liệu
trong các hệ thống thơng tin

7

1.1.2. Đặc điểm và tính chất của CSDL


13

1.1.3. Khái niệm về hệ CSDL

17

1.2. Mơ hình dữ liệu

20

1.2.1. Khái niệm và ý nghĩa của mơ hình dữ liệu

20

1.2.2. Một số mơ hình thơng dụng

29

1.3. Kiến trúc cơ sờ dữ liệu

33

1.3.1. Mức khung nhìn

33

1.3.2. Mức khái niệm

35


1.3.3. Mức vật lý

36

1.4. Ngôn ngữ quàn trị cơ sở dữ liệu

36

1.4.1. Ngôn ngữ định nghĩa dữ liệu

37

1.4.2. Ngôn ngữ khai thác dữ liệu

37

Câu hỏi và bài tập chương 1

39

Chương 2: Cơ Sở Dữ LIỆU QUAN HỆ

41

2.1. Các khái niệm cơ bàn

41

2.1.1. Thực thể


41

2.1.2. Thuộc tính

43

2.1.3. Khóa

46

2.1.4. Liên kết (Mối quan hệ - relationships)

49

2.1.5. Miền giá trị (domain)

52

2.1.6. Quan hệ

53

2.1.7. Lược đồ quan hệ

55

2.1.8. Các tính chất của quan hệ

56


2.2. Tồn vẹn dữ liệu

58

2.2.1. Ràng buộc

58

2.2.2. Ràng buộc toàn vẹn

62

5


2.3. Phụ thuộc hàm

65

2.3.1. Hệ tiên đề cho phụ thuộc hàm

66

2.3.2. Tính tốn bao đóng

68

2.3.3. Phủ của tập các phụ thuộc hàm


73

2.3.4. Khoá của lược đồ quan hệ

80

2.4. Chuẩn hoá các lược đồ quan hệ

85

2.4.1. Các dạng chuẩn của lược đồ quan hệ

86

2.4.2. Phương pháp xác định dạng chuẩn cao nhất

93

2.5. Tách các lược đồ quan hệ

96

2.5.1. Phép tách lược đồ quan hệ

96

2.5.2. Phép tách - kết nổi bào toàn thơng tin

96


2.5.3. Thuật tốn kiểm tra phép tách - kết nối bào tồn thơng tin

98

2.6. Quy trình phân tích, thiết kế cơ sở dữ liệu quan hệ

2.6.1. Quá trình phân tích, thiết kế cơ sở dữ liệu

102

102

2.6.2. Thiết kế mơ hình thực thể liên kết

(Mơ hình ER (Entity Relationship Model))
2.6.3. Các qui tắc chuyển đỗi từ mơ hình ER sang mơ hình quan hệ

103
112

Câu hỏi và bài tập chương 2

116

Chương 3: NGÔN NGỮ KHAI THÁC CSDL QUAN HỆ

125

3.1. Các phép toán quan hệ


125

3.1.1. Các phép toán tập hợp

126

3.1.2. Các phép toán đặc biệt trên quan hệ

132

3.1.3. Các phép toán quan hệ bổ sung

140

3.2. Ngôn ngữ SQL

142

3.2.1. Tổng quan về ngôn ngữ SQL

143

3.2.2. Các kiểu dữ liệu

145

3.2.3. Các lệnh định nghĩa dữ liệu

147


3.2.4. Các lệnh cập nhật cơ sở dữ liệu

155

3.2.5. Lệnh truy vấn cơ sở dữ liệu

159

Câu hỏi và bài tập chương 3

176

Tài liệu tham khảo

179

6


Chương 1
TỔNG QUAN VỀ cơ SỞ DỮ LIỆU
1.1. Các khái niệm cơ bản về CSDL

7.7.7. Khải niệm về CSDL và vai trò của cơ sở dữ liệu trong các
hệ thống thơng tin
Cơ sở dữ liệu đóng vai trị quan trọng ttong việc xử lý các thơng tin
bằng máy tính, chúng được sử dụng rộng rãi trong tất cả các lĩnh vực
khác nhau của đời sống con người.

Bản chất của dữ liệu trong máy tính là các sự kiện có ý nghĩa trong

các lĩnh vực của đời sổng và xã hội mà có thể ghi lại được để xử lý. Vì
thế, cơ sở dữ liệu có thể được xem như một tập hợp có cấu trúc các dữ
liệu được lưu trữ ở máy tính cho mục đích nào đó của người sử dụng như
xử lý, tham chiếu, thống kê,...
Theo từ điển Cambridge1, cơ sở dữ liệu là một lượng lớn các thơng
tin được lưu trữ trong máy tính sao cho chúng có thể dễ dàng truy xuất và
thay đổi khi cần thiết. Còn theo Thomas & Carolyn (2005), cơ sở dữ liệu
là một tập họp các dữ liệu có liên quan với nhau một cách logic, chúng
được miêu tả, thiết kế sao cho chúng có thể kết xuất ra các thơng tin cần
thiết cho yêu cầu nào đó của doanh nghiệp.
Như vậy, ta có thể thấy, cơ sở dữ liệu là một tập họp các dữ liệu có
liên quan với nhau, được tổ chức, cài đặt và lưu trữ trên máy tính sao cho
có nhiều người có thể sử dụng theo u cầu của mình.
Ví dụ như chúng ta có thể mơ hình hóa các phịng trong một khách
sạn bằng việc lưu trữ các thơng tin về phịng, thơng tin về việc đặt và trả
phòng, ... sao cho việc lưu trữ các thông tin này sẽ dễ dàng hỗ trợ được

1 />
7


việc tìm và đặt phịng của các khách du lịch. Hay như việc tổ chức lưu
trữ các dữ liệu bao gồm các thông tin về sinh viên, điểm thi các môn học
(học phần),... phục vụ cho việc ưa cứu điểm thi, lưu trữ,... để làm mọi
công việc liên quan đến kết quả học tập của sinh viên. Đây chính là việc
tổ chức lưu trữ dữ liệu về sinh viên và các kết quả học tập để phục vụ

cho các mục đích khác nhau cùa nhà trường.

Tập họp các dữ liệu nói ưên có thể được ghi lại bằng việc tạo ra các

bảng biểu, hay sử dụng các phần mềm của máy tính như MS Access,
Excel, hay MS SQL,... Tập các dữ liệu liên quan có ý nghĩa này cịn
được coi là một cơ sở dữ liệu.

Để dễ hình dung hơn chúng ta có thể xem xét một cơ sở dữ liệu của
trường đại học bao gồm các thông tin về sịnh viên, môn học và điểm
ưong môi trường đại học. Các bảng dữ liệu dưới đây sẽ thể hiện cấu trúc
của cơ sở dữ liệu và một số dữ liệu mẫu. Cơ sở dữ liệu sẽ được tổ chức ở
5 tệp riêng biệt mà mỗi tệp sẽ lưu trữ các dữ liệu có cùng kiểu. Ví dụ tệp
sinh viên sẽ lưu trữ dữ liệu là các thông tin về sinh viên, tệp môn học sẽ
lưu trữ thông tin về các học phần, cịn tệp điểm sẽ lưu trữ các thơng tin
về điểm của sinh viên tương ứng với các môn học,...

Đê định nghĩa cơ sở dữ liệu này, chúng ta cần phải chỉ ra cấu trúc
của các bản ghi cho mỗi tệp bằng cách chi tiết hóa các kiểu thơng tin
khác nhau để lưu trữ ưên một bản ghi. Ví dụ, ở bảng SINHVIEN bao
gồm các bản ghi sinh viên là tập các dữ liệu phàn ánh về đối tượng sinh
viên, và bao gồm: MaSV, HoTen, LOP, KHOA. Hay như ở bảng ghi các
môn học là bao gồm các thông tin về các học phần: MAMON,

TENMON, SOTC, BOMON, KHOA,... Ngoài ra, chúng ta còn phải chỉ
ra các kiểu dữ liệu cho mỗi bản ghi, ví dụ như Họ tên sinh viên (HoTen)
phải là một chuỗi các kí tự, Mã sinh viên (MaSV) phải là chuỗi kí tự bao
gồm số và chữ cái, điểm phải là kiểu số,...
Lưu ý đó là các bản ghi ở các tệp khác nhau có thể có mối quan hệ
lẫn nhau, ví dụ như dịng dữ liệu của tệp Sinh viên của sinh viên
“Nguyễn Chí Dũng” có liên quan đến bốn dịng dữ liệu ở bàng điểm để

8



chỉ ra điểm của sinh viên này. Hoặc mỗi bản ghi của tệp điều kiện tiên
quyết có mối quan hệ với các bản ghi của khóa học, cụ thể là: một giá trị
thể hiện khóa học và một giá trị thể hiện điều kiện để học khóa học đó.
Nếu bỏ trống cột MaDK để chỉ ra rằng mơn học đó khơng có điều kiện
học trước mơn nào cả, sinh viên có thể đăng kí học ngay từ năm thứ nhất.
SINHVIEN

HoTen

MASV

LOP

KHOA

Nguyễn Duy Trung Anh

2014S0081

1401INFO0111

HTTTKT

Nguyễn Chí Dũng

2012S0085

1401INF00621


HTTTKT

MONHOC

TenMon

MaMon

Tin học Đại cương

INFO0111

3

Tin học

HTTTKT

CTDL và GT

INFO1311

3

Tin học

HTTTKT

Tốn rời rạc


MATH1410

3

Tốn

HTTTKT

Cơ sở dữ liệu

INFO1611

2

Tin học

HTTTKT

BOMON Khoa

SoTC

BANGDIEM
MAHOCKY

DIEM

DKT1ENQUYET

MASV


MaMon

2014S0081

INFO0111

1401

B

MaMon

2014S0081

INFO1311

1402

A

INFO0111

2012S0085

MATH1410

1401

c


INFO1311

2012S0085

INFO1611

1402

A

MATH1410

2012S0085

INFO0111

1401

A

INFO1611

2012S0085

INFO1311

1402

B


MADK

INFOOH1

INFO0111

Vai trị của CSDL trong hệ thống thông tin
Trong một hệ thống thơng tin, CSDL đóng vai trị rất quan trọng.
Nó cịn được coi là “kho chứa dữ liệu” bao gồm các thông tin “thô” để hệ

9


thống sử dụng các công cụ khác nhau khai thác nó nhàm đưa ra các
thơng tin theo u cầu cho mục đích của người sừ dụng. Ví dụ, các hệ
thống thơng tin địa lý có thể lưu trữ và phân tích các bản đồ, các dữ liệu
về thời tiết và các ảnh vệ tinh thông qua các cơ sở dữ liệu đa phương
tiện. Bằng cách sử dụng các công cụ khai thác và phân tích hệ thống
thơng tin địa lý, thơng tin cho phép người sử dụng có các thơng tin quyết
định về thời tiết của vùng miền, cành báo về lũ lụt,... Hay các kỹ thuật
tìm kiếm trong cơ sở dữ liệu của hệ thống tìm kiếm website đang được
áp dụng cho World Wide Web có thể cung cấp việc tìm kiếm các thơng
tin cần thiết cho người sử dụng bằng cách duyệt qua Internet.

Việc tổ chức thiết kế và duy trì các thơng tin trong một hệ thống
được thực hiện bởi bộ phận công nghệ thông tin (CNTT) ữong một tổ
chức. Công việc này thường bao gồm: tổ chức lưu trữ trong các thiết bị
lưu trữ, cài đặt các phần mềm ứng dụng, và tổ chức các cơ sở dữ liệu.
Việc thiết kế một ứng dụng mới cho một cơ sở dữ liệu đã có hoặc một cơ

sở dữ liệu hoàn toàn mới được bắt đầu bằng pha đặc tà u càu và phân
tích u cầu. Sau đó, các yêu cầu sẽ được chuyển một cách chi tiết sang
pha thiết kế khái niệm thể hiện trên một số cơng cụ thiết kế sao cho nó dễ
dàng chuyển qua việc thể hiện trên cơ sở dữ liệu (thường là dựa trên mơ
hình quan hệ thực thể - sẽ được đề cập ở các chương sau). Sau đó, việc
thiết kế sẽ được dịch sang mơ hình logic mà nó dễ dàng cài đặt ở một hệ
quản trị cơ sở dữ liệu. Giai đoạn cuối cùng sẽ là thiết kế vật lý và lúc này
việc thiết kế cơ sở dữ liệu là sự thể hiện của dữ liệu thực, và phản ánh
các trạng thái khác nhau của thế giới thực. Cụ thể các bước xây dựng
' CSDL được tiến hành như sau:

Bước 1: Xác định các yêu cầu. Thông thường tại bước này cần tạo
ra một bản tài liệu chỉ ra các đặc tả yêu cầu của hệ thống thông tin.
Bước 2: Xác định mồ hình với các kiểu dữ liệu và quan hệ tương ứng.
Bước 3: Xác định các ràng buộc cho dữ liệu để đảm bảo tính tồn
vẹn của hệ thống.

Bước 4: Xác định việc cài đặt ở mức vật lý đối với các quan hệ.

10


Bước 5: Định nghĩa các giao diện người dùng tương ứng với từng
nhiệm vụ cụ thể của hệ thống thông tin.
Bước 6: Cài đặt CSDL cho hệ thống.

Ở bước 1, các đặc tả yêu càu về mặt dữ liệu của các chức năng
trong hệ thống cần phải được xác định rõ để làm tiền đề cho các bước

sau. Người thiết kế nên xây dựng một bảng mô tả các chức năng của hệ

thống với việc sử dụng các yêu cầu về dữ liệu tương ứng. Ví dụ như chức
năng tìm kiếm điểm của sinh viên sẽ đòi hỏi việc truy cập vào các dữ liệu
về môn học và điểm cùa mơn học đó một cách tương ứng (đối với đối
tượng tìm kiếm sinh viên).
Ví dụ: Các u cầu chức năng cùa cơ sở dữ liệu quản lý dự án

• Nhập liệu
Dữ liệu của hệ thống sẽ được nhập trực tiếp từ các mẫu biểu của dự
án; các dữ liệu có thể sửa đổi, xóa bỏ, thay thế các mẫu biểu; hoặc có thể
in ấn trực tiếp từ mẫu biểu.
• Lưu trữ

Các thông tin về các sản phẩm kinh doanh của cơng ty sẽ được lưu
trữ lại; có thể bao gồm: Thông tin khách hàng; thông tin liên quan đến
kinh doanh và triển khai phần mềm.
• Tìm kiếm

Các thơng tin được tìm thơng qua mã dự án hoặc tên dự án.
• Thống kê bảo cảo
Thống kê số lượng khách hàng đặt hàng trong một khoảng thời

gian; thống kê những họp đồng đã hoàn thành trong một khoảng thời
gian; báo cáo về tình hình doanh thu và tiến độ triển khai hợp đồng.

Ở bước 2, các mơ hình thực thể liên kết được tạo ra cho các thực
thể quàn lý. Tại đó, các mối ràng buộc logic giữa các thực thể cũng được

11



chỉ ra. Trong bước này, việc chuyển đổi từ mô hình thực thể liên kết sang

mơ hình quan hệ cũng được tiến hành với sự chuẩn hóa về mặt dữ liệu.

Chi tiết hóa của bước này được thể hiện ở chương 2 của giáo trình này.

Việc xác định các ràng buộc cho các dữ liệu được thiết lập ở bước 3
của quá trình. Việc xác định các ràng buộc này nhằm mục đích tránh sự
“nhập nhằng” hoặc “khơng chuẩn” khi người sử dụng nhập dữ liệu cho
hệ thống. Ví dụ như, việc quy định ràng buộc cho khoảng thời gian là 12
tháng là tối đa và 1 tháng là tối thiểu cho mỗi hợp đồng dự án cho phép
người sử dụng chỉ được nhập dữ liệu đối với cột này trong khoảng từ
(1-12).

Ở bước 4, xác định việc cài đặt ở mức vật lý đối với các quan hệ,
các yêu cầu về mặt cấu trúc vật lý cho CSDL sẽ được xác định. Thông
thường các quy định về kiểu, độ rộng trường, cách thức định dạng,... sẽ
được thể hiện ở bước này.

Ví dụ: Bảng dưới đây mơ tả việc cài đặt vật lý của bảng dữ liệu
HOPDONG.
STT Tên trường

Kiểu

Độ rộng

Ràng buộc

Môtả


1

MaHD

nvarchar

50

Primary key

Mã hợp đồng

2

TenHD

nvarchar

50

Not null

Tên hợp đồng

3

NgayLap

date


4

MaKH

nvarchar

50

Foreign key

Mã khách hàng

5

MaNV

nvarchar

50

Foreign key

Mã nhân viên

Ngày lập

Việc định nghĩa các mẫu biểu nhập dữ liệu sẽ được chỉ ra ở bước 5.
Các quy định về số lượng các mẫu biểu, cách bố trí các phàn tử và quy
cách trình bày mẫu biểu cũng được thể hiện ở bước này.

Ví dụ về giao diện của mẫu biểu nhập các hợp đồng cho bảng dữ

liệu HOPDONG.

12


QUẢN LÝ HỢP ĐỒNG

THOÁT

Ở bước 6, việc cài đặt cụ thể CSDL đối với một hệ quản tộ CSDL
được chỉ ra. Một số hệ quản trị thơng thường có thể dùng là: MS
ACCESS; My SQL; MS SQL server; Oracle,...

1.1.2. Đặc điểm và tỉnh chất của CSDL

Việc sử dụng cụm từ cơ sở dữ liệu của định nghĩa ở ưên mang ý
nghĩa tổng quát. Tuy nhiên, ứên thực tế cụm từ cơ sở dữ liệu thường được
hiểu theo nghĩa chặt hơn. Nghĩa là chúng cịn phải có một số tính chất sau:
• Một cơ sở dữ liệu thường biểu thị một phần nào đó của thế giới

thực. Ví dụ như hoạt động kinh doanh của một công ty, các giao dịch của
một ngân hàng, các hoạt động tác nghiệp của công ty vận chuyển,... Tất
cả những thay đổi của các hoạt động nói trên ưong thế giới thực phải
được phản ánh một cách trung thực vào cơ sở dữ liệu mà nó đang lưu trữ,
và những thơng tin này sẽ tạo thành một không gian cơ sở dữ liệu hoặc là
một “thế giới nhỏ” (Xem hình 1.1).

13



Npxri SŨ Ihmýrià Lập

Hình 1.1: Khơng gian CSDL
• Tập hợp dữ liệu trong cơ sở dữ liệu phải có sự liên kết với nhau

một cách logic và mang một ý nghĩa nào đó để phục vụ cho một mục
đích nhất định. Nghĩa là, một cơ sở dữ liệu không phải là một tập hợp dữ
liệu tuỳ tiện.
• Một cơ sở dữ liệu được thiết kế và được sử dụng cho một mục

đích nhất định của một hay nhiều người dùng và nó được sử dụng kèm
theo một số ứng dụng nào đó phục vụ cho mối quan tâm của người sử
dụng. Nói cách khác, một cơ sở dữ liệu có nguồn cung cấp dữ liệu được
lấy từ thế giới thực. Nó được sử dụng để tương tác với các sự kiện của
thế giới thực thông qua người dùng là đối tượng mà quan tâm đến các nội
dung của nó.

• Một cơ sở dữ liệu có thể có cỡ tuỳ ý và có độ phức tạp thay đổi.

Có những cơ sở dữ liệu chỉ gồm vài trăm bản ghi (ví dụ như cơ sở dữ

liệu phục vụ việc quản lý nhân sự ở một trường), và có những cơ sở dữ

14


liệu có dung lượng rất lớn (như các cơ sở dữ liệu phục vụ cho việc tính
cước điện thoại, quản lý điện tiêu dùng). Các cơ sở dữ liệu phải được tổ


chức quản lý sao cho những người sử dụng có thể tìm kiếm dữ liệu, cập
nhật dữ liệu và lấy dữ liệu ra khi cần thiết.

Một trong những đặc điểm của việc thiết kế cơ sở dữ liệu khác biệt
với việc tổ chức dữ liệu riêng lẻ của lập trình truyền thống là việc tổ chức
dữ liệu thành một cơ sở dữ liệu thống nhất để cho nhiều người dùng có
thể sử dụng với nhiều mục đích khác nhau. Ví dụ, ở lập trình truyền
thống, một người dùng (nhân viên phịng đào tạo) có thể có tệp điểm và
thơng tin của sinh viên, các ứng dụng có tác dụng in bảng điểm sinh viên
và nhập điểm mới khi cần. Tuy nhiên, người dùng ở phịng kế tốn thì lại
có các thơng tin về sinh viên và học phí cần đóng của người sinh viên đó.
Chính vì khơng có sự kết nối giữa hai tệp dữ liệu nói trên, nên dẫn đến
việc chứng nhận sinh viên đã đóng học phí hay chưa để có đủ điều kiện
dự thi là hồn tồn phải làm thủ cơng và tốn thời gian tra cứu. Đồng thời,
mặc dù cà hai cùng quan tâm đến dữ liệu sinh viên nhưng chúng lại ở các
tệp hoàn toàn khác nhau, điều này dẫn đến việc dư thừa trong việc lưu
trữ dữ liệu, tốn thời gian cập nhật dữ liệu ở các tệp dữ liệu khác nhau.
Khác hẳn với việc xử lý tệp dữ liệu truyền thống, việc lưu trữ dữ
liệu trong một cơ sở dữ liệu thống nhất cho phép chúng ta định nghĩa về
dữ liệu một lần nhưng cho nhiều người dùng truy cập và sử dụng nó theo
từng ứng dụng mà họ cần. Nói một cách khác, trong cơ sở dữ liệu, tên
hoặc nhãn của dữ liệu được định nghĩa một lần và chúng sẽ được sử dụng
lặp nhiều lần thông qua các truy vấn và ứng dụng. Một cách chi tiết
chúng sẽ được thể hiện qua các đặc điểm chính sau:

a. Cơ sở dữ liệu phải tự mô tả được bản chất của hệ thống cơ sở
dữ liệu.

b. Có sự độc lập với chương trình và dữ liệu cũng như sự trừu

tượng hóa về mặt dữ liệu.
c. Hỗ trợ các quan điểm (hướng nhìn) khác nhau về mặt dữ liệu.

d. Chia sẻ dữ liệu với nhiều người dùng.

15


Mô tả bản chất của hệ thống cơ sở dữ liệu

Những đặc điểm cơ bản nhất của cơ sở dữ liệu khơng chỉ phản ánh
về mặt dữ liệu, mà cịn định nghĩa hoặc mơ tả hồn chỉnh cấu trúc và các
ràng buộc lẫn nhau của các dữ liệu trong hệ thống. Định nghĩa này sẽ
được lưu trữ trong danh mục của hệ quản trị cơ sở dữ liệu (cấu trúc của
tệp, kiểu và định dạng của từng phần tử dữ liệu, các ràng buộc của dữ

liệu) và các thông tin này được gọi là không gian dữ liệu - hệ cơ sở dữ
liệu (Hình 1.2). Danh mục sẽ được sử dụng bởi hệ quàn trị CSDL và
người dùng khi họ cần đến cấu trúc của CSDL. Với lập trình truyền
thống, mỗi ngơn ngữ lập trình sẽ có một cách định nghĩa cấu trúc tệp

(file) dữ liệu riêng, còn đối với hệ quản trị cơ sở dữ liệu thì nó hồn tồn
có thể truy cập vào các cơ sở dữ liệu khác nhau (ngân hàng, trường
học,...) nhờ việc trích xuất thơng tin định nghĩa từ danh mục và dùng các
định nghĩa này trong các ứng dụng của nó.
Hình 1.2 là ví dụ chi ra một số dữ liệu nhập cho danh mục, các định

nghĩa này được đặc tả bởi người thiết kế và lưu ở danh mục. Khi có yêu
cầu truy cập ví dụ như tên của Sinh viên, hệ quản trị CSDL sẽ tìm trong
danh mục để xác định cấu trúc, số vị trí, định dạng, kiểu,... của bản ghi


sinh viên.
¡HệCSDL
I
I
II
I
I
I
I
I

!

Người sử dụng/Lập trình viên

-

Chương trình ưng dụng/Truy vân

I
iI
i
II
iI
i

iỊ

Hình 1.2: Hệ cơ sỡ dữ liệu và mơi trường của nó


16


1.1.3. Khải niệm về hệ CSDL

Để dẫn đến khái niệm hệ CSDL, trước hết chúng ta cần làm sáng tỏ
khái niệm về việc tổ chức khai thác có hiệu quả các dữ liệu trong cơ sở

dữ liệu. Một nhóm chương trình trong máy tính có chức năng tạo ra, duy
trì và khai thác một cơ sở dữ liệu được gọi là hệ quản trị CSDL.
Như vậy, hệ quản trị CSDL là một phần mềm mà cho phép người
dùng định nghĩa, tạo, duy trì hoạt động và điều khiển việc truy cập vào
CSDL. Phần mềm này có thể tương tác với các chương trình ứng dụng

của người dùng và CSDL thơng qua các chức năng sau:
• Nó cho phép người dùng định nghĩa CSDL thông qua ngôn ngữ
định nghĩa dữ liệu (DLL - Data Definition Language). Tại đây, người
dùng có thể đặc tả kiểu dữ liệu, cấu trúc và các ràng buộc của các dữ liệu

đang được lưu trữ trong CSDL.
• Nó cho phép người dùng xử lý dữ liệu với các thao tác chèn cập
nhật, xóa,... thơng qua ngơn ngữ khai thác dữ liệu (DML - Data
Manipulation Language). Ngôn ngữ chuẩn để khai thác CSDL quan hệ
còn được biết đến với tên gọi là SQL (Structured Query Language).
• Nó cung cấp các quyền truy cập vào CSDL như: Hệ thống bảo
mật để định danh khi truy cập vào CSDL; hệ tồn vẹn để duy trì việc lưu
trữ dữ liệu; hay hệ thống điều khiển việc chia sẻ tài nguyên trong CSDL;
nhật kí việc người dùng truy cập;...


Hệ cơ sở dữ liệu được thiết kế để quản lý một khối lượng lớn thông
tin của một tổ chức bằng cách tổ chức các dữ liệu đầu vào thành cơ sở dữ
liệu; và tạo ra một môi trường giúp cho người sử dụng có thể dễ dàng
quản lý và khai thác các thơng tin trong cơ sở dữ liệu.

Như vậy, có thể nói rằng, hệ cơ sở dữ liệu bao gồm hệ quản trị
CSDL và cơ sở dữ liệu được cài đặt trong hệ quản trị này (xem mơ tả ở
Hình 1.2). Người dùng tương tác với CSDL thơng qua một số chương
trình ứng dụng băng cách sử dụng ngôn ngữ SQL để tạo ra các thông tin
theo yêu cầu.

17


Lịch sử của hệ quăn trị CSDL
Trước năm 1960, các dữ liệu được lưu trữ dưới dạng tệp (Hình
1.3). Một trong các hệ thống quàn lý dữ liệu ở dạng tệp (Tập tin) ữong hệ
thống khá nổi tiếng đó là dự án bay lên mặt trăng của tàu vũ trụ Apollo.

Hình 1.3: Ví dụ về các tệp lưu trữ dữ liệu

Vào giữa năm 1960, IBM kết hợp với NAA (North American
Aviation - Hàng không Bắc Mỹ) để phát triển GUAM (Generalized
Update Access Method) thành IMS (Information Management System).
Đây có thể coi là phiên bản thương mại đầu tiên của hệ quản trị CSDL.

Vào năm 1970, E. F. Codd (làm việc tại phịng nghiên cứu của
IBM) sinh ra mơ hình để có thể lưu trữ dữ liệu với dạng bảng quan hệ với
các bản ghi (hệ quản trị cơ sở dữ liệu quan hệ). Trong bảng quan hệ này,
các bản ghi có mối liên kết với nhau thơng qua khóa (xem bảng dưới).


Key

Login
Dungnc

Tanh
Kitty
J Login
1 Dungnc

Ho
Nguyen Chi
Nguyen Duy Trung
Amber

Address


18

Ten
Dung
Anh
Smith


Cũng vào cuối năm này, dự án hệ thống R của phòng nghiên cứu
IBM’s San José Research Laboratory đã cung cấp cách thể hiện cấu trúc
dữ liệu và các chức năng điều hành thông qua việc phát triển ngôn ngữ

truy vấn có cấu trúc (SQL). Từ đó SQL ưở thành ngôn ngữ chuẩn cho hệ
thống quản trị CSDL.
Vào những năm 1980, các sản phẩm thương mại của CSDL quan
hệ ra đời (được coi là thế hệ thứ hai của hệ quản trị CSDL), và điển hình
là DB2 và SQL/DS của IBM và Oracle. Từ đó trở về sau, hàng trăm hệ
thống CSDL quan hệ đã được thiết kế cho cả hai mơi trường MainFrame
và PC và có thể cho phép nhiều người dùng. Ví dụ như Office Access và
Visual FoxPro của Microsoft, and JDataStore của Borland và R:Base của
R:Base Technologies.

Hệ quản trị CSDL hướng đối tượng (Object-Oriented DBMS OODBMS) và hệ quản trị CSDL đối tượng quan hệ - Object- Relational
DBMS (ORDBMS) (thế hệ thứ ba của hệ quản trị CSDL) được ra đời
vào những năm 1990 với mong muốn là co gắng thể hiện mơ hình dữ liệu
mà có thể phản ánh được rõ ràng thế giới thực hơn và đáp ứng được các
yêu cầu phức tạp của hệ thống ứng dụng CSDL.
ưu và nhược điểm của hệ quản trị CSDL
ưu điểm:

• Điều khiển được sự dư thừa của dữ liệu: Khắc phục được các
nhược điểm của hệ thống lưu trữ tệp truyền thống là rất tốn bộ nhớ để
lưu trữ các thông tin giống nhau trên nhiều tệp, hệ quản trị CSDL giảm
sự dư thừa bằng cách là tích hợp các tệp lại sao cho các dữ liệu sao chép
khơng cần phải lưu trữ ở chỗ khác.
• Đồng nhất dữ liệu: Sự dư thừa của dữ liệu, độ rủi ro về sự không
đồng nhất đã được giảm đáng kể. Bởi vì nếu một phần tử dữ liệu được
lưu trữ chỉ một lần trong CSDL thì khi có sự cập nhật, thay đổi nó sẽ chỉ
phải thực hiện ngay trong CSDL và vì thế nó ln thích hợp cho mọi
người dùng mà không cần quan tâm đến sự kiểm soát về sự đồng nhất.

19



Nếu phần tử dữ liệu này được lưu trữ tại nhiều vị trí (file - based system hệ thống lưu trữ dưới dạng tệp truyền thống) thì hệ thống sè luôn phải
cảnh giác và đảm bảo sự cập nhật giá trị và sao chép của phần tử dữ liệu
này luôn phù hợp cho người dùng.

• Cho biết nhiều thơng tin từ một lượng dữ liệu: Với việc tích
hợp các phép toán trên dữ liệu hệ thống sẽ cung cấp nhiều thơng tin hơn
với một lượng dữ liệu ban đầu. Ví dụ như từ dữ liệu hàng hóa với số
lượng bán, đơn giá bán hệ thống có thể tính tốn thành tiền, và làm các
thao tác thống kê doanh thu,...
• Chia sẻ dữ liệu: Cho phép nhiều người dùng truy cập cùng một
lúc vào CSDL và có thể thiết lập quyền truy cập.
• Tăng mối tưong tác với người dùng. Ví dụ hệ thống cho thuê
nhà cho phép người dùng đặt các câu hỏi cho dữ liệu như: tìm kiếm các
nhà có giá cho th dưới 1 triệu đồng/1 tháng,...
• Củng cố sự bảo mật của dữ liệu và áp các chuẩn cho dữ liệu,...
Nhược điểm

• Phức tạp: Để có hệ thống quàn trị CSDL tốt thì bản thân nhà phát
triển, người dùng,... cũng phải tuân thủ các yêu cầu từ thiết kế, quy cách
nhập dữ liệu,... của hệ thống.
• Tăng giá thành cho phần cứng và chi phí cho việc xây dựng hệ
quản trị.

• Nếu gây lỗi thì rất tốn kém thông qua việc phản ánh các thông tin
sai lệch được lấy ra từ hệ thống dữ liệu.
1.2. Mơ hình dữ liệu

1.2.1. Khái niệm và ỷ nghĩa của mơ hình dữ liệu

Mơ hình dữ liệu là một thể hiện của các đối tượng và sự kiện cùng
với các mối quan hệ của nó trong thế giới thực. Nó thể hiện cho sự trừu
tượng hóa của một tổ chức hay một hệ thống và tập trung vào việc mô

20


hình hóa các khía cạnh thiết yếu, vốn có của hệ thống. Nỏ bỏ qua các yếu
tố phụ (không mang nhiều ý nghĩa cho hệ thống) của một hệ thống tổ
chức. Một mơ hình dữ liệu sẽ thể hiện bản thân hệ thống nào đó đồng
thời cung cấp các khái niệm cơ bản và các chú giải sao cho người thiết
kế và người dùng cuối không mơ hồ khi giao tiếp với các dữ liệu của
hệ thống.
Mơ hình dữ liệu có thể được thể hiện dưới dạng mơ hình phăng
(Flat model). Nghĩa là, mơ hình được thể hiện như một bảng hai chiều
mà trong đó các cột thể hiện các đặc tính của dữ liệu, và mỗi một dịng
thể hiện một đối tượng cần lưu trữ với một bộ các giá trị tương ứng với
các cột. Ví dụ, cơ sở dữ liệu về bảo mật hệ thống gồm có hai cột User
Name và Password, trong đó mỗi dịng sẽ thể hiện một password cụ thể
cùa từng cá nhân người dùng thông qua tên (User Name) để truy cập vào
hệ thống. Kiểu định dạng bảng vừa mô tả là tiền thân của việc thể hiện

trong mơ hình cơ sở dữ liệu quan hệ.
Ví dụ về mơ hìph phăng của cơ sở dữ liệu bảo mật hệ thống
User Name

Password

Record 1


UserOl

12345US

Record 2

User02

123456789

Mơ hình dữ liệu cịn được thể hiện ở mơ hình nhiều chiều
(Dimensional Model). Đây có thể coi là một trường họp đặc biệt mở rộng
của mơ hình quan hệ để thể hiện khơng gian dữ liệu phục vụ cho việc
phân tích và xử lý online mà ở đó thơng tin dễ dàng được thống kê hoặc
truy vấn (OLAP-OnLine Analytical Processing) . Trong mơ hình nhiều
chiều, cấu trúc dữ liệu thường bao gồm một bảng lớn của dữ kiện mà đã
được mô tả thông qua các chiều và độ đo tương ứng. Mỗi một chiều sẽ
mô tả một loại thông tin cần lấy từ dữ kiện (ví dụ như những người tham
gia vào sự kiện, thời gian và địa điểm tổ chức sự kiện, và loại hình sự
kiện xảy ra,...). Chiều của bảng cịn được sử dụng để rút ra các nhóm dữ

21


kiện có liên quan đến nhau. Thơng thường các chiều là rời rạc và thường
được phân nhánh. Ví dụ, chiều “vị trí” sẽ là thể hiện của “tịa nhà”,
“tỉnh/thành phố”, hay “tên nước”. Độ đo của bảng là một số mà miêu tà
dữ kiện, ví dụ như “doanh thu”. Chú ý là độ đo phải có ý nghĩa tích họp
được với các chiều. Ví dụ, doanh thu từ các “vị trí” phải thực sự có ý
nghĩa trong bảng. Thơng thường trong bảng hỏi OLAP, các chiều và các


nhóm sẽ được chọn sao cho khi tích họp lại chúng sẽ trở thành bảng
thống kê dữ liệu.
Cấu trúc của mơ hình nhiều chiều thường được sử dụng đó là cấu
trúc hình sao (star-schema) mà ở đó bảng chuẩn hóa cao nhất là bàng
chứa các dữ kiện, các bản xung quanh sẽ là các bảng tương ứng với mỗi
chiều. Ngồi ra, cịn có một cách thể hiện cấu trúc khác nữa đó là cấu
trúc bơng tuyết (snowflake) mà ở đó các bảng thể hiện một cấu trúc đa
cấp phân bậc.
Tóm lại, mục đích của việc thể hiện thành mơ hình nhiều chiều để
diễn giải dữ liệu theo nhiều khía cạnh khác nhau tùy thuộc vào cách nhìn
khác nhau (tương ứng với số chiều) cùa người sử dụng để rút ra các
thông tin cần thiết cho mình.

Ví dụ về khối OLAP có thể xem ở Hình 1.4. Ở đó mỗi mặt của hình
lập phương sẽ thể hiện một chiều như “Products”,’’Cities”, hay “Time”.

Hình 1.4: Khối OLAP thể hiện các chiều của Products,
Cities và Time

22


Mot vi du nua la viec thd hien cac du- lipu tren khbi OLAP cua co
so du lieu thu tuc hanh chinh mot cua cip quan. 0 day khdi “mgt cua”
dugc tao lap vdi cac chieu (5 chidu) can thong ke du lieu la: “Can bp”
(thd hien cac can bo giai quyet); “Phong ban” (the hipn cac phong ban
lien quan ddn thu tuc); “Linh vuc” (the hipn linh vyc ma phong ban dang
quan ly); “Thu tuc” (Thu tuc ma ngubi dan yeu cau); va “Yeu ciu” (Yeu
cau can giai quydt cua ngubi dan) (xem Hinh 1.5)

Solution Explorer

Ăa I

_______
MotCuaS^mplel.3

.
(=]ã

Data Sources
L... ô5ằ MOTCUA.ds

EJ-

Data Source Views
I— £
* 3 MOTCUA.dsv

ES ■
|
E3-

1...

Cubes
liital MOTCUA.cube

gSr Dimensions
j....

DM Can Bo.dim
j.... tz" DM Phong Ban.dim
... tz" ND Linh Vuc.dim
I.... tz” NDThuTcc.dim
1—.. \y' ND Yeu Cau.dim

....

Mining Structures



....

Roles
Assemblies
Miscellaneous

Hinh 1.5: Vi du khai bao khoi OLAP cua co1 sb dir lipu
thu tyc hanh chinh mpt cua

Trong khuon kho gido trinh nay, vipc mb ta chi tidt vd mb hinh
nhidu chidu se khong dupe dd cap ddn mil chu ydu xoay quanh mb hinh
phang (flat model).

Mot mb hinh co sb du lieu la mgt kieu cua mb hinh du lipu m& b
do da xac dinh dune cdu true vd m£t logic cua co sb du lipu va each thuc
ma du lieu se dugc luu tru, to chuc vi xur ly trong hp thong. Mgt vi dp rd
thiy nhit cua viec mb hinh hda du lipu trong mb hinh quan hp db la vipc
to chuc dd lipu thanh cac bAng quan hp (bbng hai chieu).


23


×