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

Giáo trình Cơ sở dữ liệu - Nghề: Lập trình máy tính - CĐ Kỹ Thuật Công Nghệ Bà Rịa-Vũng Tà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 (1.69 MB, 117 trang )

ỦY BAN NHÂN DÂN TỈNH BR – VT
TRƢỜNG CAO ĐẲNG NGHỀ

GIÁO TRÌNH
MÔ ĐUN: CƠ SỞ DỮ LIỆU
NGHỀ : DÙNG CHUNG CHO CÁC NGHỀ: LẬP TRÌNH MÁY
TÍNH, QUẢN TRỊ MẠNG MÁY TÍNH, CÔNG NGHỆ THÔNG TIN
(DÙNG CHO TRÌNH ĐỘ CAO ĐẲNG)
Ban hành kèm theo Quyết định số:

/QĐ-CĐN…

ngày…….tháng….năm ......... …………........... của Hiệu trưởng trường Cao đẳng
nghề tỉnh BR - VT

Bà Rịa – Vũng Tàu, năm 2015
0


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.

1


LỜI GIỚI THIỆU
Ngày nay, cơ sở dữ liệu đã có nhiều ứng dụng trong mọi hoạt động của xã


hội. Muốn thiết kế và sử dụng cơ sở dữ liệu chúng ta phải nắm duợc các kỹ thuật
cơ bản của cơ sở dữ liệu. Giáo trình này nhằm trình bày các kỹ thuật cơ sở của
co sở dữ liệu truyền thống, dó là mô hình liên kết thực thể, mô hình co sở dữ
liệu quan hệ. Giáo trình cung trình bày cách thiết kế một co sở dữ liệu quan hệ,
cách sử dụng các phép toán dại số quan hệ dể tạo, cập nhật và truy vấn co sở dữ
liệu và khái niệm phụ thuộc hàm ứng dụng trong lí thuyết thiết kế và chuẩn hóa
cơ sở dữ liệu quan hệ.
Giáo trình “Cơ sở dữ liệu” đƣợc biên soạn nhằm cung cấp cho ngƣời học
những kiến thức cơ bản về thiết kế các cơ sở dữ liệu quan hệ.
Giáo trình đƣợc biên soạn dựa trên một số tài liệu tham khảo cập nhật, có
giá trị và với mục tiêu cung cấp các kiến thức cơ bản về Cơ sở dữ liệu cho ngƣời
học, vì vậy nội dung trình bày vẫn chƣa đƣợc đầy đủ và không tránh khỏi thiếu
sót. Tác giả rất mong nhận đƣợc các ý kiến đóng góp, bổ sung để giáo trình ngày
càng hoàn thiện hơn.
Tôi chân thành cảm ơn các đồng nghiệp trong khoa Công nghệ thông tin –
Kế toán đã có những ý kiến đóng góp giá trị cho nội dung giáo trình và các tác
giả đã biên soạn, chia sẻ các tài liệu bổ ích.
Bà Rịa – Vũng Tàu, ngày 31 tháng 8 năm 2015
Tham gia biên soạn
Trần Lệ Thủy

2


MỤC LỤC
LỜI GIỚI THIỆU .................................................................................................. 2
BÀI 1: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU ..................................................... 9
1. Một số khái niệm ......................................................................................... 10
1.1. Cơ sở dữ liệu ......................................................................................... 10
1.1.2. Khái niệm Cơ sở dữ liệu .................................................................... 11

1.1.3. Tính chất ............................................................................................ 11
1.1.4. Ƣu điểm của cơ sở dữ liệu ................................................................. 12
1.1.5. Những vấn đề Cơ sở dữ liệu cần giải quyết ...................................... 12
1.1.6. Đối tƣợng sử dụng Cơ sở dữ liệu ...................................................... 13
1.2. Hệ quản trị cơ sở dữ liệu .......................................................................... 13
2. Các mô hình dữ liệu..................................................................................... 16
2.1. Mô hình dữ liệu mạng ........................................................................... 16
2.2. Mô hình phân cấp ................................................................................. 18
2.3. Mô hình quan hệ ................................................................................... 19
2.4. Mô hình thực thể liên kết ...................................................................... 20
2.5. Mô hình hƣớng đối tƣợng ..................................................................... 24
BÀI 2: CÁC KHÁI NIỆM CƠ BẢN TRONG MÔ HÌNH CƠ SỞ DỮ LIỆU
QUAN HỆ .......................................................................................................... 29
1. Thuộc tính........................................................................................................ 29
2. Lƣợc đồ quan hệ .......................................................................................... 31
3. Quan hệ ........................................................................................................ 31
4. Bộ giá trị ...................................................................................................... 32
5. Tân từ ........................................................................................................... 32
6. Khóa, siêu khóa, khóa chỉ định, khóa chính, khóa ngoại ............................ 32
9. Các phép tính trên cơ sở dữ liệu quan hệ .................................................... 35
10. Cách chuyển đổi từ mô hình thực thể kết hợp sang mô hình quan hệ ...... 36
BÀI 3: PHÉP HỘI, PHÉP GIAO, PHÉP TRỪ TRÊN ĐẠI SỐ QUAN HỆ 40
3. Phép giao 2 quan hệ (Intersection) .............................................................. 42
4. Phép Trừ 2 quan hệ (Minus) ........................................................................ 43
3


BÀI 4: PHÉP TÍCH ĐỀ CÁC, PHÉP CHIA TRÊN ĐẠI SỐ QUAN HỆ ... 45
1. Tích Decac của 2 quan hệ (Cartesian Product) ........................................... 45
2. Phép chia 2 quan hệ: .................................................................................... 46

BÀI 5: PHÉP CHIẾU VÀ PHÉP CHỌN TRONG ĐẠI SỐ QUAN HỆ ...... 49
1. Phép chọn (Selection) .................................................................................. 49
2. Phép chiếu ( Project) ................................................................................... 51
4. Phép gom nhóm và các hàm nhóm. ............................................................. 54
BÀI 6: PHÉP KẾT TRONG ĐẠI SỐ QUAN HỆ .......................................... 56
1. Phép kết ( phép nối) ..................................................................................... 56
2. Phép kết tự nhiên ......................................................................................... 58
3. Phép kết ngoài (outer join) .......................................................................... 59
BÀI 7: XÁC ĐỊNH RÀNG BUỘC TOÀN VẸN CÓ BỐI CẢNH 1 QUAN
HỆ ....................................................................................................................... 62
1. Khái niệm và các yếu tố của ràng buộc toàn vẹn ........................................ 62
2. Ràng buộc miền giá trị trên bối cảnh một quan hệ...................................... 65
3. Ràng buộc toàn vẹn liên thuộc tính ............................................................ 66
4. Ràng buộc liên bộ - liên thuộc tính trên bối cảnh 1 quan hệ ....................... 66
BÀI 8: XÁC ĐỊNH RÀNG BUỘC TOÀN VẸN CÓ BỐI CẢNH NHIỀU
QUAN HỆ .......................................................................................................... 69
1. Ràng buộc toàn vẹn tham chiếu .................................................................. 69
2. Ràng buộc toàn vẹn liên thuộc tính. ............................................................ 70
BÀI 9 : PHỤ THUỘC HÀM VÀ HỆ TIÊN ĐỀ AMSTRONG CHO CÁC
PHỤ THUỘC HÀM .......................................................................................... 75
1. Định nghĩa phụ thuộc hàm........................................................................... 75
2. Một số tính chất của phụ thuộc hàm - Hệ luật dẫn Armstrong ................... 77
BÀI 10: XÁC ĐỊNH BAO ĐÓNG.................................................................... 80
1. Bao Đóng Của Tập Phụ Thuộc Hàm F ...................................................... 80
2. Bao đóng của tập thuộc tính. ....................................................................... 81
BÀI 11: XÁC ĐỊNH KHÓA CỦA LƢỢC ĐỒ CƠ SỞ DỮ LIỆU ................ 84
1. Định nghĩa khoá của quan hệ (relation key)................................................ 84
4



2. Thuật toán tìm 1 khóa. ................................................................................. 84
3. Thuật toán tìm tất cả các khóa. .................................................................... 86
BÀI 12: XÁC ĐỊNH PHỦ TỐI THIỂU .......................................................... 89
1. Tập phụ thuộc hàm tƣơng đƣơng. ............................................................... 89
2. Phủ tối thiểu ( Tập phụ thuộc hàm tối thiểu)............................................... 90
BÀI 13: XÁC ĐỊNH DẠNG CHUẨN CỦA LƢỢC ĐỒ CSDL .................... 93
1. Một số khái niệm liên quan đến dạng chuẩn ............................................... 93
2. Dạng chuẩn 1. .............................................................................................. 95
3. Dạng chuẩn 2 (2NF) .................................................................................... 95
4. Dạng Chuẩn 3 (third normal form) .............................................................. 96
5. Dạng Chuẩn BC (Boyce Codd normal form- BC NF) ................................ 97
BÀI 14: CHUẨN HÓA LƢỢC ĐỒ CƠ SỞ DỮ LIỆU VỀ DẠNG CHUẨN 3
............................................................................................................................. 99
1. Phƣơng pháp chuẩn hóa. ............................................................................. 99
2. Ví dụ .......................................................................................................... 100
BÀI 15: TỐI ƢU HOÁ CÂU HỎI ................................................................. 105
1.Nguyên tắc tổng quát để tối ƣu truy vấn .................................................... 105
2. Thuật toán tối ƣu hoá câu hỏi trong ngôn ngữ Đại số quan hệ ................. 106
2.1. Các phép biến đổi đại số ........................................................................ 106
2.2. Thuật toán cho tối ƣu hóa biểu thức đại số quan hệ ............................... 111
3.Ví dụ một thuật toán tối ƣu hoá biểu thức quan hệ. ................................... 111

5


MÔ ĐUN CƠ SỞ DỮ LIỆU
Mã mô đun: MĐ 12
Vị trí, tính chất, ý nghĩa và vai trò của mô đun:
Đây là môn học cơ sở và là môn bắt buộc của trình độ cao đẳng nghề công
nghệ thông tin đƣợc bố trí sau khi sinh viên học xong các môn chung, anh văn,

tin học cơ sở. Là môn học nền tảng về thiết kế và lƣu trữ dữ liệu
Mục tiêu của mô đun:
- Trình bày đƣợc các khái niệm về: Cơ sở dữ liệu, Các mô hình dữ liệu, các
ngôn ngữ định nghĩa và xử lý dữ liệu.
- Trình bày đƣợc khái niệm về quan hệ, thuộc tính, các loại khóa, lƣợc đồ
quan hệ, bộ giá trị và phụ thuộc hàm, ràng buộc toàn vẹn của mô hình cơ sở dữ
liệu quan hệ.
- Trình bày đƣợc khái niệm phép hội, giao, trừ, tích dề các, chia trong đại
số tập hợp.
- Trình bày đƣợc khái niệm phép chiếu, chọn, kết trong đại số quan hệ.
- Trình bày đƣợc khái niệm bao đóng và thuật toán tìm bao đóng của tập
thuộc tính.
- Trình bày đƣợc hệ tiên đề Amstrong đối với các phụ thuộc hàm.
- Trình bày đƣợc khái niệm khóa và các thuật toán tìm khóa của lƣợc đồ
CSDL.
- Trình bày đƣợc khái niệm tập phụ thuộc hàm tƣơng đƣơng và phủ tối
thiểu.
- Trình bày đƣợc thuật toán tìm phủ tối thiểu.
- Trình bày đƣợc khái niệm các dạng chuẩn 1,2,3,BC.
- Trình bày đƣợc phƣơng pháp chuẩn hóa CSDL về dạng chuẩn 3.
- Trình bày đƣợc phƣơng pháp tối ƣu hóa câu hỏi bằng đại số quan hệ.
6


- Thực hiện đƣợc các phép toán hội, giao,trừ, tích đề các, chia trên đại số
tập hợp.
- Thực hiện đƣợc các phép chiếu, chọn, kết trên đại số quan hệ.
- Phân biệt đƣợc các loại ràng buộc toàn vẹn.
- Xác định đƣợc các ràng buộc toàn vẹn trong 1 CSDL.
- Xác định đƣợc các phụ thuộc hàm trong CSDL.

- Xác định đƣợc bao đóng của các tập thuộc tính trong 1 CSDL.
- Tìm đƣợc khóa của lƣợc đồ CSDL bằng thuật toán tìm 1 khóa và thuật
toán tìm tất cả các khóa.
- Tìm đƣợc phủ tối thiệu của lƣợc đồ quan hệ bằng thuật toán tìm phủ tối
thiểu.
- Xác định đƣợc dạng chuẩn của các lƣợc đồ CSDL.
- Chuẩn hóa đƣợc lƣợc đồ CSDL về dạng chuẩn 3.
- Tối ƣu hóa đƣợc câu hỏi bằng đại số quan hệ.
Nội dung của mô đun:
1. Nội dung tổng quát và phân phối thời gian:
Số

Thời

Hình thức

gian

giảng dạy

Giới thiệu cơ sở dữ liệu

2

Lý thuyết

Các Khái niệm cơ bản trong mô hình cơ sở

3


Lý thuyết

5

Tích hợp

5

Tích hợp

5

Tích hợp

Tên các bài trong mô đun

TT
1.
2.

3.

4.

5.

dữ liệu quan hệ
Phép hội, phép giao, phép trừ trên đại số
quan hệ
Phép tích decac và phép chia trên đại số

quan hệ
Phép chiếu và phép chọn trong đại số quan
hệ
7


Phép kết nối trong đại số quan hệ

5

Kiểm tra Bài 3,4,5,6

2

7.

Xác định RBTV trên bối cảnh 1 quan hệ

5

Tích hợp

8.

Xác định RBTV trên bối cảnh nhiều quan hệ

5

Tích hợp


Phụ thuôc hàm và hệ tiên đề Amstrong cho

3

Tích hợp

6.

9.

Tích hợp

các phụ thuộc hàm

10.

Xác định Bao đóng của tập thuộc tính

2

Tích hợp

11.

Xác định Khóa của lƣợc đồ CSDL

5

Tích hợp


Kiểm tra Bài 7,8,9,10,11

3

12.

Xác định Phủ tối thiểu của lƣợc đồ CSDL

5

Tích hợp

13.

Xác định Dạng chuẩn của lƣợc đồ CSDL

5

Tích hợp

14.

Chuẩn hóa lƣợc đồ CSDL về dạng chuẩn 3

7

Tích hợp

15.


Tối ƣu hóa câu hỏi

5

Tích hợp

Kiểm tra Bài 12,13,14,15

3

Cộng:

75

8


BÀI 1
GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU
Mã bài: 01
Giới thiệu:
Cơ sở dữ liệu là gì và tại sao cần phải có Cơ sở dữ liệu? Cơ sở dữ liệu
(CSDL) là một hệ thống các thông tin có cấu trúc, các dữ liệu có liên quan với
nhau đƣợc lƣu trữ trên các thiết bị lƣu trữ nhằm thỏa mãn yêu cầu khai thác
thông tin đồng thời của nhiều ngƣời sử dụng hay nhiều chƣơng trình ứng dụng
với mục đích khác nhau. Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của
thế giới thực nhƣ hoạt động của một công ty, một nhà trƣờng, một ngân hàng…
Vì vậy Cơ sở dữ liệu rất cần thiết trong cuộc sống hiện nay.
Cơ sở dữ liệu và kỹ thuật cơ sở dữ liệu đã có ảnh hƣởng rất lớn đến việc sử
dụng máy tính. Có thể nói rằng cơ sở dữ liệu đóng vai trò quan trọng trong mọi

lĩnh vực có sử dụng máy tính nhƣ giáo dục, thƣơng mại, kỹ nghệ, khoa học, thƣ
viện,…. Thuật ngữ cơ sở dữ liệu trở thành một thuật ngữ phổ dụng
Bài này sẽ giới thiệu một cách tổng quan về các khái niệm: cơ sở dữ
liệu, hệ quản trị cơ sở dữ liệu, hệ thống cơ sở dữ liệu và mô hình cơ sở dữ
liệu;
Mục tiêu:
- Phân biệt đƣợc hệ cơ sở dữ liệu với hệ thống tập tin cổ điển.
- Phân biệt đƣợc các mô hình dữ liệu mạng, phân cấp, quan hệ, thực thể
liên kết và mô hình hƣớng đối tƣợng.
- Nghiêm túc, tự giác trong học tập
Nội dung chính:

9


1. Một số khái niệm
1.1. Cơ sở dữ liệu
1.1.1. Dẫn nhập
Lƣu trữ thông tin là nhu cầu rất thông dụng trong cuộc sống của con ngƣời.
Từ thời xa xƣa con ngƣời đã biết sử dụng những vật dụng có sẵn để lƣu trữ
thông tin nhƣ in hình lên đá, in lên các gốc cây, thanh gỗ. Nhƣng hiện nay thì
việc lƣu trữ đó đã trở nên quá lỗi thời. Thay vào đó công nghệ thông tin phát
triển, mọi ngƣời đều có khả năng mua máy tính và lƣu trữ thông tin trên máy
tính.
Lƣu trữ dữ liệu dƣới dạng hệ thống tập tin

Hình 1.1. Hệ thống tập tin dữ liệu Microsoft Office
Khi sử dụng máy tính thông thƣờng ta sẽ lƣu trữ thông tin dƣới dạng file,
và mỗi file ta sẽ đặt nó trong những folder có tên khác nhau nhằm mục đích dễ
dàng tìm đến. Với cách này ta sẽ có những ƣu điểm và nhƣợc điểm nhƣ sau:

* Ưu điểm:
- Với việc lƣu trữ này thì rõ ràng khi ta cần là lƣu ngay nên tốc độ triển
khai sẽ nhanh
- Rõ ràng và trực quan với ngƣời không có chuyên môn công nghệ thông
tin
* Khuyết điểm:

10


- Dữ liệu không nhất quán, đôi khi có trƣờng hợp nhiều ngƣời sử dụng một
file và sẽ xảy ra hiện tƣợng lƣu đè.
- Trùng lặp dữ liệu nhiều.
- Tính chia sẻ dữ liệu không cao (kém)
Hiện nay các cá nhân sử dụng máy tính đa số sử dụng cách lƣu trữ này để
lƣu trữ thông tin cho riêng mình, nên nói về sự phổ biến thì cách này phổ biến
nhất, tuy nhiên với những hệ thống dữ liệu lớn thì sẽ có rất nhiều hạn chế nhƣ
việc truy xuất tìm kiếm dữ liệu sẽ chậm, khó bảo quản,... Với những hạn chế
trên thì khái niệm cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu đƣợc ra đời.
1.1.2. Khái niệm Cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc, các dữ liệu
có liên quan với nhau đƣợc lƣu trữ trên các thiết bị lƣu trữ nhằm thỏa mãn yêu
cầu khai thác thông tin đồng thời của nhiều ngƣời sử dụng hay nhiều chƣơng
trình ứng dụng với mục đích khác nhau..
Ví dụ: Để quản lý việc học tập trong một trƣờng học, các dữ liệu là các
thông tin về sinh viên, về các môn học, điểm thi….Chúng ta tổ chức các dữ liệu
đó thành các bảng và lƣu giữ chúng vào sổ sách hoặc sử dụng một phần mềm
máy tính để lƣu giữ chúng trên máy tính. Ta có một tập các dữ liệu có liên quan
đến nhau và mang nhiều ý nghĩa, đó là một cơ sở dữ liệu.
1.1.3. Tính chất

- Một cơ sở dữ liệu biểu thị một khía cạnh nào đó của thế giới thực nhƣ
hoạt động của một công ty, một nhà trƣờng, một ngân hàng… Những thay đổi
của thế giới thực phải đƣợc phản ánh một cách trung thực vào trong cơ sở dữ
liệu. Những thông tin đƣợc đƣa vào trong cơ sở dữ liệu tạo thành một không
gian cơ sở dữ liệu hoặc là một “thế giới nhỏ” (miniworld) .
- Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết với nhau một cách logic
và mang một ý nghĩa cố hữu nào đó. Một cơ sở dữ liệu không phải là một tập
hợp tuỳ tiện.
11


- Một cơ sở dữ liệu đƣợc thiết kế và đƣợc phổ biến cho một mục đích riêng.
Nó có một nhóm ngƣời sử dụng có chủ định và có một số ứng dụng đƣợc xác
định phù hợp với 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ó một nguồn cung cấp dữ liệu, một mức độ tƣơng tác với các sự kiện trong
thế giới thực và một nhóm ngƣời quan tâm tích cực đế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 (nhƣ cơ sở dữ liệu phục vụ việc quản lý
lƣơng ở một cơ quan nhỏ), và có những cơ sở dữ 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ý nhân sự trên
một phạm vi lớn). 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 cơ sở dữ liệu có thể đƣợc tạo ra và duy trì một cách thủ công và cũng
có thể đƣợc tin học hoá.
1.1.4. Ƣu điểm của cơ sở dữ liệu
-Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm đƣợc
tính nhất quán và toàn vẹn dữ liệu.
-Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau.
-Khả năng chia sẻ thông tin cho nhiều ngƣời sử dụng.
1.1.5. Những vấn đề Cơ sở dữ liệu cần giải quyết

- Tính chủ quyền dữ liệu: đƣợc thể hiện ở phƣơng diện an toàn dữ liệu, khả
năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ
liệu. Điều này có nghĩa là ngƣời khai thác CSDL phải có nhiệm vụ cập nhật các
thông tin mới nhất của CSDL.
- Tính bảo mật và quyền khai thác thông tin của người sử dụng: Do có
nhiều ngƣời đƣợc phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải
có một cơ chế bảo mật và phân quyền hạn khai thác CSDL. Các hệ điều hành
nhiều ngƣời sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này

12


- Tranh chấp dữ liệu: Nhiều ngƣời đƣợc phép truy nhập cùng một lúc vào
tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết
phải có một cơ chế ƣu tiên khi truy nhập dữ liệu. Cơ chế ƣu tiên có thể đƣợc
thực hiện bằng việc cấp quyền ƣu tiên cho từng ngƣời khai thác.
- Đảm bảo dữ liệu khi có sự cố: Việc quản lý dữ liệu tập trung có thể làm
tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố nhƣ mất điện đột
xuất, hay một phần đĩa lƣu trữ CSDL bị hƣ,… một số hệ điều hành mạng có
cung cấp dịch vụ sao lƣu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có
sự cố. Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn
định, một CSDL nhất thiết phải có một cơ chế khôi phục dữ liệu khi có các sự
cố bất ngờ xảy ra.
1.1.6. Đối tƣợng sử dụng Cơ sở dữ liệu
* Người quản trị CSDL: thực hiện các công việc quản lý và bảo trì CSDL
nhƣ sau:
- Sự chính xác và toàn vẹn dữ liệu, và bảo mật dữ liệu.
- Thực hiện các công việc sao lƣu và phục hồi dữ liệu.
- Giữ liên lạc thƣờng xuyên với ngƣời lập trình, ngƣời dùng, ngƣời phát
triển ứng dụng để kịp thời cập nhật CSDL.

- Bảo đảm sự hoạt động của CSDL và HQTCSDL.
* Người phát triển và lập trình ứng dụng là những ngƣời rành về máy tính
có trách nhiệm thiết kế và tạo các chƣơng trình ứng dụng dành cho ngƣời dùng
cuối cùng.
* Người dùng cuối: là những ngƣời có thể không rành về máy tính nhƣng
nắm rõ về các nghiệp vụ mà ứng dụng triển khai.
1.2. Hệ quản trị cơ sở dữ liệu
Một hệ quản trị cơ sở dữ liệu (HQTCSDL) là:

13


- Một tập các phần mềm quản lý cơ sở dữ liệu và cung cấp các dịch vụ xử
lý cơ sở dữ liệu cho các những ngƣời phát triển ứng dụng và ngƣời dùng cuối.
- HQTCSDL cung cấp một giao diện giữa ngƣời sử dụng và dữ liệu.
- HQTCSDL biến đổi cơ sở dữ liệu vật lý thành cơ sở dữ liệu logic.
Hiện nay trên thị trƣờng phần mềm đã có những hệ quản trị cơ sở dữ liệu
hỗ trợ đƣợc nhiều tiện ích nhƣ: MS Access, SQL Server, Oracle, …
Mỗi hệ quản trị cơ sở dữ liệu đều đƣợc cài đặt dựa trên một mô hình dữ
liệu cụ thể. Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị cơ sở dữ liệu
cũng phải hội đủ các yếu tố sau:
. Ngôn ngữ giao tiếp giữa ngƣời sử dụng và CSDL, bao gồm :
- Ngôn ngữ mô tả dữ liệu (DDL – Data Definition Language): Để cho
phép khai báo cấu trúc của cơ sở dữ liệu, khai báo các mối liên hệ của dữ liệu
và các quy tắc quản lý áp đặt lên các dữ liệu đó.
- Ngôn ngữ thao tác dữ liệu (DML – Data Manupulation Language): Cho
phép ngƣời sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá)
- Ngôn ngữ truy vấn dữ liệu ( Structure Querry Language): Cho phép ngƣời
khai thác sử dụng để truy vấn các thông tin cần thiết trong cơ sở dữ liệu.
- Ngôn ngữ quản lý dữ liệu (DCL – Data Control Language): Cho phép

những ngƣời quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo
bảo mật thông tin và cấp quyền hạn khai thác cơ sở dữ liệu cho ngƣời sử
dụng.,…
 Từ điển dữ liệu:
Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của cơ
sở dữ liệu, các chƣơng trình ứng dụng, mật mã, quyền hạn sử dụng,…
. Cơ chế giải quyết vấn đề tranh chấp dữ liệu:
Mỗi hệ quản trị cơ sở dữ liệu cũng có thể cài đặt một cơ chế riêng để giải
quyết các vấn đề này. Một số biện pháp sau đây thƣờng đƣợc sử dụng: thứ nhất:
14


cấp quyền ƣu tiên cho từng ngƣời sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất
dữ liệu, phân chia thời gian, ngƣời nào có yêu cầu trƣớc thì có quyền truy xuất
dữ liệu trƣớc,…
. Hệ quản trị cơ sở dữ liệu cũng phải có cơ chế sao lƣu (backup) và
phục hồi (restore) dữ liệu khi có sự cố xảy ra.
Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị cơ sở dữ
liệu sẽ tự động tạo ra một bản sao cơ sở dữ liệu, cách này hơi tốn kém, nhất là
đối với cơ sở dữ liệu lớn.
. Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử
dụng.
. Tính độc lập giữa dữ liệu và chƣơng trình:
Khi có sự thay đổi dữ liệu (nhƣ sửa đổi cấu trúc lƣu trữ các bảng dữ liệu,
thêm các chỉ mục (Index) ...) thì các chƣơng trình ứng dụng (Application) đang
chạy trên Cơ sở dữ liệu đó vẫn không cần phải đƣợc viết lại, hay cũng không
làm ảnh hƣởng đến những ngƣời sử dụng khác.
* Các mức biểu diễn một cơ sở dữ liệu:
- Mức trong: (mức vật lý – Physical) là mức lƣu trữ cơ sở dữ liệu (cần giải
quyết vấn đề gì? Dữ liệu gì? Lƣu trữ nhƣ thế nào? ở đâu? Cần các chỉ mục gì?

Truy xuất tuần tự hay ngẫu nhiên. Dành cho ngƣời quản trị và ngƣời sử dụng
chuyên môn.
- Mức quan niệm: (Conception hay Logical) cần phải lƣu trữ bao nhiêu
loại dữ liệu? là dữ liệu gì? mối quan hệ
- Mức ngoài: của ngƣời sử dụng và các chƣơng trình ứng dụng.

15


Hình 1.2. Sơ đồ tổng quát về Cơ sở dữ liệu
2. Các mô hình dữ liệu
Mô hình dữ liệu là sự trừu tƣợng hoá môi trƣờng thực. Mỗi loại mô hình dữ
liệu đặc trƣng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích
thiết kế cơ sở dữ liệu. Mỗi loại mô hình dữ liệu đều có những ƣu điểm và những
mặt hạn chế của nó, nhƣng vẫn có những mô hình dữ liệu nổi trội và đƣợc nhiều
ngƣời quan tâm nghiên cứu.
2.1. Mô hình dữ liệu mạng
Mô hình dữ liệu mạng (Network Data Model) - còn đƣợc gọi tắt là mô hình
mạng hoặc mô hình lƣới (Network Model) là mô hình đƣợc biểu diễn bởi một
đồ thị có hƣớng. Trong mô hình này ngƣời ta đƣa vào các khái niệm: mẫu tin
hay bản ghi (Record), loại mẫu tin (Record Type) và loại liên hệ (Set Type).
* Mẫu tin: mô tả 1 đối tƣợng trong thế giới thực.
Ví dụ: („NV001‟,‟Nguyen Lam‟,‟Nam‟,‟10/10/1970‟,‟Dong Nai‟)
* Loại mẫu tin: Là 1 tập các mẫu tin có cùng tính chất.
Ví dụ: Tập hợp các mẫu tin về nhân viên trong công ty tạo thành
NHANVIEN
16


Ký hiệu:


* Loại liên hệ: Mô tả sự liên kết giữa 1 loại mẫu tin chủ và 1 loại mẫu tin thành
viên
- Ví dụ: Nhân viên (tham gia) công việc
- Ký hiệu:

* Bản số: chỉ ra số lƣợng các mẫu tin tham gia trong mối liên hệ
- (1:1) (one-to-one): mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng 1
mẫu tin của loại mẫu tin thành viên.
- (1:n) (one-to-many): mỗi mẫu tin của loại mẫu tin chủ kết hợp với 1 hay
nhiều mẫu tin thành viên.
- (n:1) (many-to-one): nhiều mẫu tin của loại mẫu tin chủ kết hợp với đúng
1 mẫu tin của loại mẫu tin thành viên.
- Recursive: một loại mẫu tin chủ cũng có thể đồng thời là loại mẫu tin
thành viên với chính nó. Loại liên hệ này là Đệ quy
- Ví dụ:

17


Hình 1.3. Mô hình dữ liệu mạng
Đặc điểm mô hình dữ liệu mạng:
- Tƣơng đối đơn giản
- Dễ sử dụng
- Không thích hợp biểu diễn CSDL có quy mô lớn
- Khả năng diễn đạt ngữ nghĩa kém
2.2. Mô hình phân cấp
Mô hình dữ liệu phân cấp (Hierachical Data Model) - đƣợc gọi tắt là mô
hình phân cấp (Hierachical Model): Mô hình là một cây (Tree), trong đó mỗi nút
của cây biểu diễn một thực thể, giữa nút con và nút cha đƣợc liên hệ với nhau

theo một mối quan hệ xác định.
* Loại mẫu tin:
(Recorde Type) là mẫu đặc trƣng cho 1 loại đối tƣợng riêng biệt. Chẳng
hạn nhƣ trong việc quản lý nhân sự tại một đơn vị, đối tƣợng cần phản ảnh của
thế giới thực có thể là Phòng, Nhân viên, Công việc, lý lịch ... do đó có các loại
mẫu tin đặc trƣng cho từng đối tƣợng này. Trong đồ thị biểu diễn mô hình mạng
mỗi loại mẫu tin đƣợc biểu diễn bởi một hình chữ nhật, một thể hiện (Instance)
của một loại mẫu tin đƣợc gọi là bản ghi. Trong ví dụ trên loại mẫu tin Phòng có
18


các mẫu tin là các phòng, ban trong đơn vị; loại mẫu tin nhân viên có các mẫu
tin là các nhân viên đang làm việc tại các phòng ban của cơ quan...
* Loại mối liên hệ:
Kiểu liên hệ là phân cấp, theo cách:
- Mẫu tin thành viên chỉ đóng vai trò thành viên của một mối liên hệ duy
nhất, tức là nó thuộc một chủ duy nhất. Nhƣ vậy, mối liên hệ từ mẫu tin chủ tới
các mẫu tin thành viên là 1¸n, và từ mẫu tin (hay bản ghi - record) thành viên với
mẫu tin chủ là 1¸1.
- Giữa 2 loại mẫu tin chỉ tồn tại 1 mối liên hệ duy nhất.
* Ví dụ
Dƣới đây là một ví dụ về mô hình phân cấp quản lý nhân sự của một công
ty

Hình 1.4. Mô hình phân cấp quản lý nhân sự
2.3. Mô hình quan hệ
Mô hình này đƣợcc E.F Codd đƣa vào đầu những năm 70, mô hình này dựa
trên lý thuyết tập hợp và đại số quan hệ. Vì tính chất chặt chẽ của toán học về lí
thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ ràng, mềm dẻo và
là mô hình thông dụng nhất hiện nay. Hầu hết các hệ QT cơ sở dữ liệu đều tổ

chức dữ liệu theo mô hình dữ liệu quan hệ. Trong đó dữ liệu đƣợc tổ chức dƣới
19


dạng bảng các phép toán thao tác trên dữ liệu dựa trên lý thuyết tập hợp của toán
học. Tập dữ liệu đƣợc tổ chức theo cấu trúc của mô hình dữ liệu quan hệ gọi là
cơ sở dữ liệu quan hệ.
Dữ liệu bảng đƣợc thể hiện nhƣ sau:

2.4. Mô hình thực thể liên kết
Mối liên hệ giữa các tập thực thể là một danh sách có thứ tự của các tập
thực thể.
Một tập thực thể đặc biệt có thể xuất hiện nhiều lần trong danh sách. Danh
sách các tập thực thể này là khái niệm ở mức lƣợc đồ của một mối liên hệ.
Mô hình thực thể quan hệ đƣợc CHEN giới thiệu năm 1976. Mô hình này
đƣợc sử dụng nhiều trong thiết kế dữ liệu mức khái niệm.
* Loại thực thể (Entity Type) là những loại đối tƣợng, sự vật của thế giới thực
tồn tại cụ thể cần đƣợc quản lý.
* Thực thể (Entity) là một thể hiện của loại thực thể.
Ví dụ: Trong loại thực thể HOCSINH có thực thể:
- (HS001, „Nguyễn Văn A‟, ‟20/11/1993‟, „Nam‟.
- (HS002, „Trần Thị C‟, ‟02/10/1992‟, „Nữ‟.
* Thuộc tính: là những tính chất đặc trƣng của một loại thực thể.
Ví dụ: Loại thực thể HOCSINH có các thuộc tính: MAHS, HOTEN,
NGAYSINH, GIOITINH, NOISINH….
20


- Thuộc tính nhận diện: là thuộc tính để phân biệt thực thể này với thực
thể kia trong tập thực thể.

- Thuộc tính mô tả: là thuộc tính cung cấp thông tin chi tiết hơn về thực
thể trong tập thực thể.
Đơn trị (Simple): mỗi thực thể chỉ có một giá trị ứng với thuộc tính. Ví dụ:
MAHV, HOTEN
Đa trị (Multi Value): thuộc tính có thể có nhiều giá trị đối với một thực
thể.Ví dụ: BANGCAP ký kiệu là {BANGCAP}
Đa hợp (Composite): thuộc tính đƣợc tạo từ nhiều thành phần.
Ví dụ: DIACHI (Sonha, tenduong, phuong, quan)
Chú ý: các thuộc tính đa trị và đa hợp có thể lồng nhau tùy ý. Ví dụ:
{BANGCAP(TRUONGCAP, KETQUA, CHUYENNGANH)}
* Khóa: Khóa của loại thực thể là thuộc tính để nhận dạng thực thể.Căn cứ vào
đó để xác định duy nhất một thực thể.
Ví dụ: Mỗi HOCSINH có một mã duy nhất để phân biệt học sinh này với
học sinh kia.
* Loại kết hợp (quan hệ): là mối kết hợp, sự liên kết giữa hai hay nhiều loại
thực thể.
* Bản số của nhánh là số lƣợng tối thiểu và số lƣợng tối đa tham gia vào mối kết
hợp.Ký hiệu (số lƣợng tối thiểu, tối đa) – (1,n).
* Chuyên biệt hóa/Tổng quát hóa

21


*Mối kết hợp đệ quy
Là loại mối kết hợp đƣợc tạo thành từ cùng một loại thực thể (hay một loại thực
thể có loại mối kết hợp với chính nó)
- Ví dụ: Mỗi nhân viên có một ngƣời quản lý trực tiếp và ngƣời quản lý đó
cũng là một nhân viên

* Loại thực thể yếu

- Là loại thực thể không có thuộc tính khóa
- Phải tham gia trong một loại mối kết hợp xác định trong đó có một loại
thực thể chủ.
- Ví dụ: loại thực thể THANNHAN là loại thực thể yếu có thuộc tính Stt,
Hoten, Ngsinh,Quanhe và tham gia trong loại mối kết hợp Có với loại thực thể
NHANVIEN.

* Mối kết hợp mở rộng

22


Việc thành lập mô hình thực thể kết hợp cho một ứng dụng tin học có thể
tiến hành theo các bƣớc sau:
Bƣớc 1.Xác định danh sách các loại thực thể
Bƣớc 2.Xác định các mối kết hợp giữa các loại thực thể để
phác thảo mô hình.
Bƣớc 3.Lập bản số của các mối kết hợp.
Ví dụ:
Bài toán quản lý điểm của sinh viên đƣợc phát biểu sơ bộ nhƣ sau:
Mỗi sinh viên cần quản lý các thông tin nhƣ: họ và tên
(HOTENSV),ngày tháng năm sinh(NGAYSINH), giới tính (NU), nơi
sinh(NƠISINH), hộ khẩu thƣờng trú (TINH). Mỗi

sinh viên đƣợc cấp

một mã số sinh viên duy nhất (MASV) để phân biệt với mọi sinh viên khác
của trƣờng, mỗi sinh viên chỉ thuộc về một lớp nào đó.
Mỗi lớp học có một mã số lớp (MALOP) duy nhất để phân biệt với tất
cả các lớp học khác trong trƣờng: có một tên gọi (TENLOP) của lớp, mỗi lớp

chỉ thuộc về một khoa.
Mỗi khoa có một tên gọi (TENKHOA) và một mã số duy nhất
(MAKHOA) để phân biệt với các khoa khác.
Mỗi môn học có một tên gọi (TENMH) cụ thể, đƣợc học trong một
số đơn vị học trình (DONVIHT) ) và ứng với môn học là một mã số duy
nhất (MAMH) để phân biệt với các môn học khác.
Mỗi giảng viên cần quản lý các thông tin: họ và tên (HOTENGV), cấp
học vị (HOCVI), thuộc một chuyên ngành (CHUYENNGANH) và đƣợc gán
cho một mã số duy nhất gọi là mã giảng viên(MAGV) để phân biệt với các
giảng viên khác.
Mỗi giảng viên có thể dạy nhiều môn ở nhiều khoa, nhƣng chỉ thuộc
về sự quản lý hành chính của một khoa.
Mỗi sinh viên với một môn học đƣợc phép thi tối đa 3 lần, mỗi lần
thi (LANTHI), điểm thi (DIEMTHI).
23


Mỗi môn học ở mỗi lớp học chỉ phân công cho một giảng viên dạy
(tất nhiên là một giảng viên thì có thể dạy nhiều môn ở một lớp).
Lập mô hình thực thể kết hợp cho bài toán trên.

2.5. Mô hình hƣớng đối tƣợng
Mô hình dữ liệu hƣớng đối tƣợng (Object Oriented Data Model) ra đời từ
cuối những năm 80 và đầu những năm 90. Đây là loại mô hình tiên tiến nhất
hiện nay dựa trên cách tiếp cận hƣớng đối tƣợng đã quen thuộc trong các
phƣơng pháp lập trình hƣớng đối tƣợng, nó sử dụng các khái niệm nhƣ lớp
(class), sự kế thừa (inheritance), kế thừa bội (tức là kết thừa từ nhiều lớp cơ sở
multi-inheritance). Đặc trƣng cơ bản của cách tiếp cận này là tính đóng gói
(encapsulation), tính đa hình (polymorphism) và tính tái sử dụng (Reusability).
Lớp (class) là một kiểu dữ liệu có cấu trúc bao gồm các thành phần dữ liệu

và các phƣơng thức xử lý thao tác trên cấu trúc dữ liệu đó. Nó là một kiểu (hay
cấu trúc) dữ liệu đƣợc trừu tƣợng hóa, bởi vì các tác động (còn gọi là các
phƣơng thức - method) là để phục vụ hoặc thao tác trên kiểu dữ liệu này. Dữ
liệu và phƣơng thức hòa quyện vào nhau thành một thể thống nhất: dữ liệu cần
có những cách thức xử lý thỏa đáng, và phƣơng thức xử lý đƣợc đƣa vào trong
kiểu dữ liệu đó là để phục vụ cho các đối tƣợng có cấu trúc nhƣ thế. Ngƣời ta
gọi sự thống nhất đó là sự đóng gói.
24


×