Đề cương bài giảng học phần: Cơ sở dữ liệu (2014 - 2015) - Pdf 24

1 TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN
KHOA CÔNG NGHỆ THÔNG TIN ĐỀ CƢƠNG BÀI GIẢNG

HỌC PHẦN: CƠ SỞ DỮ LIỆU Trình độ đào tạo
Hệ đào tạo
:
:
Đại học
Chính quy

ĐỀ CƢƠNG BÀI GIẢNG

HỌC PHẦN: CƠ SỞ DỮ LIỆU Trình độ đào tạo: Đại học
Hệ đào tạo : Chính quy
Ngành : CNTT
NĂM 2014-2015
2

2.3. Ví dụ về thiết kế CSDL dựa trên mô hình ER 29
2.4. Tổng kết mô hình thực thể - liên kết 31
2. 4.1 Tóm tắt 31
2.4.2.Câu hỏi luyện tập 31
3. MÔ HÌNH QUAN HỆ - CHUYỂN MÔ HÌNH ER SANG MÔ HÌNH QUAN HỆ 33
3.1.Các khái niệm 33
3.1.1.Thuộc tính (Attribute) 33
3.1.2.Lƣợc đồ quan hệ (relation schema) 34
3.1.3. Quan hệ (relation) 34
3.1.4.Bộ (tuple) 35
3.1.5.Siêu khóa - khóa (super key - key) 35
3.2. Cơ sở dữ liệu quan hệ và lƣợc đồ cơ sở dữ liệu quan hệ 37
3.3. Ràng buộc toàn vẹn 39
3.3.1. Khái niệm ràng buộc toàn vẹn 39
3

3.3.2. Các yếu tố của ràng buộc toàn vẹn 40
3.3.3. Phân loại ràng buộc toàn vẹn 41
3.4. Các phép tính trên cơ sở dữ liệu quan hệ 45
3.4.1 .Các phép toán cập nhật trên quan hệ 45
3.4.2. Tìm kiếm dữ liệu (truy vấn dữ liệu) 47
3.5. Các quy tắc chuyển đổi từ lƣợc đồ CSDL ER sang thiết kế quan hệ 47
3.6. Chuyển đổi mô hình cụ thể 52
4. BÀI TẬP VÀ THẢO LUẬN VỀ THIẾT KẾ CSDL DỰA TRÊN 2 Ô HÌNH CSDL: ER
VÀ QUAN HỆ 53
4.1. Nhắc lại lý thuyết 53
4.2. Bài tập – thảo luận 53
5. NGÔN NGỮ ĐẠI SỐ QUAN HỆ 53
5.1. Các phép toán đại số quan hệ 53
5.1.1.Phép chọn (SELECT) 53

9.1.1. SQL là gì? 76
9.1.2. SQL là một chuẩn 77
9.2. Bảng CSDL 77
9.3. Ngôn ngữ truy vấn cấu trúc (SQL) 77
9.3.1. SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) 77
9.3.2. SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language) 78
9.4. Các kiểu dữ liệu 78
9.5. Câu lệnh định nghĩa dữ liệu (create database, create table, alter table, drop table ) 79
9.5.1. Tạo một CSDL 79
9.5.2. Tạo một bảng trong một CSDL 79
9.5.3. Các ràng buộc toàn vẹn (TBTV) và cách tạo ràng buộc trên bảng 80
9.5.4.Lệnh sửa đổi bảng(alter table) 84
9.6. Bài tập 85
10.THỰC HÀNH CÂU LỆNH CREATE DATABASE, CREATE TABLE, ALTER TABLE,
DROP TABLE 86
11. TRUY VẤN DỮ LIỆU VÀ CẬP NHẬT DỮ LIỆU 86
11.1. Cập nhật dữ liệu 86
11.1.1. Câu lệnh thêm dữ liệu (insert) 86
11.1.2. Câu lệnh sửa đổi dữ liệu (update) 87
11.1.3. Câu lệnh xóa dữ liệu (delete) 87
11.2. Truy vấn cơ bản 88
11.2.1. Cú pháp cơ bản của câu lệnh select cơ bản 88
11.2.2. SQL và đại số quan hệ 89
11.2.3. Mệnh đề select 89
11.2.4. Mệnh đề where 90
11.2.5. Mệnh đề order by 92
11.2.6. Kết nối bảng 93
11.3. Các bài tập về truy vấn cơ bản 94
12. CÁC PHÉP TOÁN TẬP HỢP VÀ TRUY VẤN LỒNG 94
12.1. Các phép toán tập hợp 94

21.3. Định nghĩa suy dẫn theo quan hệ 106
21.4. Hệ tiên đề Amstrong (Armstrong‟s Axioms) 107
21.5. Định nghĩa suy dẫn theo hệ tiên đề Amstrong 108
21.6. Bao đóng của tập thuộc tính (closures of attribute sets) 108
21.6.1. Thuật toán tìm bao đóng của một tập thuộc tính 111
21.6.2. Thuật toán cơ bản tìm F
+
114
22. PHỦ CỦA TẬP PHỤ THUỘC HÀM 115
22.1. Định nghĩa tƣơng đƣơng 115
22.2. Các tập phụ thuộc hàm tƣơng đƣơng 116
22.3. Phụ thuộc hàm không dƣ thừa 117
22.3.1. Phụ thuộc hàm dƣ thừa 117
22.3.2. Phủ không dƣ 118
22.4 Phủ thu gọn 119
22.4.1. Phụ thuộc hàm có vế trái dƣ thừa: 119
22.4.2. Tập phụ thuộc hàm có vế phải một thuộc tính: 119
22.4.3. Tập phụ thuộc hàm không dƣ thừa (phủ không dƣ): 119
22.4.4. Tập phụ thuộc hàm tối thiểu: 120
23. BÀI TẬP VỀ PHỤ THUỘC HÀM 121
23.1. Nhắc lại lý thuyết 121
23.2. Bài tập áp dụng 121
24. KHÓA CỦA LƢỢC ĐỒ QUAN HỆ 121
24.1. Siêu khóa và khóa 121
24.2. Họ Sperner và khóa 122
24.3. Một số vấn đề về khóa 123
6

24.3.1.Tìm một khoá của lƣợc đồ quan hệ 123
24.3.2. Kiểm tra một tập cho trƣớc có phải là khoá hay không? 124

hiệu quả dữ liệu đƣợc lƣu trữ.
Các cơ sở dữ liệu và các hệ cơ sở dữ liệu đã trở thành một thành phần chủ yếu
trong cuộc sống hàng ngày của xã hội hiện đại. Trong vòng một ngày con ngƣời có thể
có nhiều hoạt động cần có sự giao tiếp với cơ sở dữ liệu nhƣ: đến ngân hàng để rút tiền
và gửi tiền, đăng ký chỗ trên máy bay hoặc khách sạn, truy cập vào thƣ viện đã tin học
hoá để tìm sách báo, đặt mua tạp chí ở một nhà xuất bản…Tại các ngân hàng, các cửa
hàng, ngƣời ta cũng cập nhật tự động việc quản lý tiền bạc, hàng hoá.
Tất cả các giao tiếp nhƣ trên đƣợc gọi là các ứng dụng của cơ sở dữ liệu truyền thống.
Trong các cơ sở dữ liệu truyền thống, hầu hết các thông tin đƣợc lƣu giữ và truy cập là
văn bản hoặc số. Những năm gần đây, những tiến bộ về kỹ thuật đã đƣa đến những
ứng dụng mới của cơ sở dữ liệu. Các cơ sở dữ liệu đa phƣơng tiện bây giờ có thể lƣu
trữ hình ảnh, phim và tiếng nói. 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. Kho dữ liệu và các hệ thống
phân tích trực tuyến đƣợc sử dụng trong nhiều công ty để lấy ra và phân tích những
thông tin có lợi từ các cơ sở dữ liệu rất lớn nhằm đƣa ra các quyết định. Các kỹ thuật
cơ sở dữ liệu động và thời gian thực đƣợc sử dụng trong việc kiểm tra các tiến trình
công nghiệp và sản xuất. Các kỹ thuật tìm kiếm cơ sở dữ liệu đang đƣợc áp dụng cho
World Wide Web để 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.
Để hiểu đƣợc các cơ sở kỹ thuật của cơ sở dữ liệu chúng ta phải bắt đầu từ các cơ sở
kỹ thuật của cơ sở dữ liệu truyền thống. Mục đích của giáo trình này là nghiên cứu các
cơ sở kỹ thuật đó. Trong chƣơng này chúng ta sẽ định nghĩa cơ sở dữ liệu, hệ quản trị
cơ sở dữ liệu, mô hình cơ sở dữ liệu và các thuật ngữ cơ bản khác.
1.1. Dữ liệu - thông tin
1.1.1. Dữ liệu
Dữ liệu là các sự kiện không có cấu trúc, không có ý nghĩa. Mọi thông tin đƣợc
quản lý trên máy tính điện tử theo bất kỳ phƣơng cách gì cũng đều phải đƣợc thể hiện
bằng các dữ liệu ghi trên một thiết bị lƣu trữ nào đó. Trong tin học, dữ liệu được hiểu
là sự biểu diễn các thông tin đưa vào máy tính điện tử để xử lý và thƣờng có các dạng
sau đây:

+ Nhạc đƣợc ghi trên băng từ.
+ Bức hình của bạn.
Bản thân dữ liệu không có ý nghĩa nếu không đƣợc sắp sếp hay kết hợp thêm vài
dữ liệu nữa. Ví dụ nhƣ điểm của An. Thật tốt khi biết An đƣợc điểm cao nhƣng khi
dữ liệu này đƣợc kèm thêm một dữ liệu khác nhƣ:
+ An đạt 500 trên tổng số 600 điểm.
+ Hoà đạt 300 trên tổng số 600 điểm.
Thì chúng ta có thể làm đƣợc nhiều hơn. Bây giờ chúng ta có thể so sánh chúng và
biết thêm một ít về An:
+ An đạt 500 điểm và
+ An đạt điểm cao hơn Hoà.
Dữ liệu

Dữ liệu dạng
phi số

Dữ liệu dạng
số

Tri thức

Số
nguyên

Số
thực

Sự
kiện


tƣợng trong đời sống xã hội, trong thiên nhiên, giúp cho họ thực hiện hợp lý công
việc cần làm để đạt tới mục đích một cách tốt nhất. Con ngƣời có nhu cầu đọc báo,
nghe đài, xem phim, video, đi tham quan, du lịch, tham khảo ý kiến ngƣời khác, để
nhận đƣợc thêm thông tin mới. Nốt nhạc trong bản sô-nát ánh trăng của Beethoven
làm cho ngƣời nghe cảm thấy đƣợc sự tƣơi mát, êm dịu của đêm trăng. Những thông
tin về cảm xúc của tác giả đó đƣợc truyền đạt lại.
 Thông tin có thể đƣợc phát sinh, đƣợc lƣu trữ, đƣợc truyền, đƣợc tìm kiếm,
đƣợc xử lý, đƣợc sao chép, nhân bản. Thông tin cũng có thể méo mó, bị biến dạng, sai
lệch hoặc bị phá huỷ do nhiễu tác động hay do ngƣời xuyên tạc.
 Thông tin đƣợc thể hiện dƣới nhiều dạng hình thức khác nhau nhƣ sóng ánh
sáng, sóng âm, sóng điện từ, các ký hiệu viết trên giấy hoặc khắc trên gỗ, trên đá, trên
các tấm kim loại… Chúng còn đƣợc gọi là những vật mang tin.
 Cùng một thông tin có thể đƣợc biểu diễn bằng những dữ liệu khác nhau.
Cũng là năm đơn vị, trong hệ thập phân ta dùng ký hiệu “5” nhƣng trong hệ đếm La
mã lại dùng kí hiệu: “V”. Dữ liệu (kí hiệu) có thể là biểu diễn các thông tin khác nhau.
Cùng kí hiệu “I” nhƣng trong tiếng Anh có nghĩa là đại từ nhân xƣng ngôi thứ nhất
(tôi) còn trong toán học đó lại là chữ số La mã có giá trị là 1 đơn vị.
c. So sánh dữ liệu và thông tin
Dữ liệu
Thông tin
1. Một tập hợp các sự kiện và số liệu
1. Dữ liệu đƣợc tổ chức và sắp xếp
2. Không có giá trị nhiều
2. Luôn luôn có ích.
3. Đƣợc chuyển thành thông tin
3. Cũng có thể chuyển thành dữ liệu.
1.2. Các hệ thống xử lý truyền thống
10

Tiếp cận CSDL đã giải quyết 3 vấn đề của hệ tập tin theo lối cũ:

+ Bảo quản
1.3. Hệ cơ sở dữ liệu
1.3.1. CSDL là gì?
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.
11

Một 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 lƣu
trữ trên các thiết bị mang tin, có nhiều ngƣời sử dụng và đƣợc tổ chức theo một mô
hình. Dữ liệu là những sự kiện có thể ghi lại đƣợc và có ý nghĩa.
Ngày nay CSDL tồn tại trong mỗi ứng dụng thông dụng, ví dụ:
- Hệ kho và kiểm kê.
- Hệ đặt chỗ máy bay
- Hệ nguồn nhân lực.
- hệ dịch vụ công cộng nhƣ cấp nƣớc, điện, khí đốt
- Điều khiển quá trình chế tạo và sản xuất
Các tính chất của một cơ sở dữ liệu
Một cơ sở dữ liệu có các tính chất sau:
1. 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).
2. 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.
3. 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
Hình 1-2. Môi trƣờng của một hệ cơ sơ dữ liệu

Một hệ quản trị CSDL (HQTCSDL) là Một tập các phần mềm quản lý CSDL và cung
cấp các dịch vụ xử lý CSDL 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 CSDL vật lý thành CSDL logic.
- Loại quan hệ nhƣ nhƣ ORACLE của Oracle, DB2 của IBM, ACCESS của Microsoft
Access
- Loại đối tƣợng là một tiếp cận khá mới trong thiết kế HQTCSDL và việc sử dụng
loại này sớm trở nên phổ biến.
Hiện tại, loại HQTCSDL chính đƣợc sử dụng trong công nghệ là loại HQTCSDL quan
hệ (RDBMS). Loại này đã chiếm lĩnh trong công nghệ trên 10-14 năm cuối cùng khi
đánh bật loại HQTCSDL phân cấp và gần đây là HQTCSDL mạng.

1.3.2.Các chức năng của một hệ quản trị cơ sở dữ liệu
Một hệ quản trị cơ sở dữ liệu hiện nay có các chức năng sau :
13

 Kiểm soát đƣợc tính dƣ thừa của dữ liệu
- Tích hợp các nhu cầu dữ liệu của ngƣời dùng để xây dựng một CSDL
thống nhất
 Chia sẻ dữ liệu
- Trong môi trƣờng đa ngƣời dùng, các HQT phải cho phép truy xuất dữ
liệu đồng thời
 Hạn chế những truy cập không cho phép
- Từng ngƣời dùng và nhóm ngƣời dùng có một tài khoản và mật mã để
truy xuất dữ liệu

phức tạp, ngƣời ta sử dụng máy tính vào việc quản lý. Các cặp hồ sơ đƣợc chuyển
14

thành các tệp trên máy tính và việc xử lý thông tin đƣợc thực hiện bằng cách lập trình
(trong một ngôn ngữ lập trình thế hệ 3).
Việc quản lý theo giải pháp hệ thống tệp có rất nhiều nhƣợc điểm. Thứ nhất, đó là sự
dƣ thừa thông tin: cùng một thông tin đƣợc lƣu trữ nhiều lần (chẳng hạn, danh sách
nhân viên có mặt trong tệp lƣơng và cũng có mặt cả trong tệp nhân sự). Điều đó gây ra
việc lãng phí bộ nhớ và dễ gây sai sót trong khi cập nhật dữ liệu, dễ sinh ra các dữ liệu
không đúng đắn. Thứ hai, đó là việc phụ thuộc giữa chƣơng trình ứng dụng và dữ liệu.
Mỗi khi có sự thay đổi cấu trúc tệp và các dữ liệu trong tệp,
chƣơng trình ứng dụng khai thác thông tin trên tệp đó cũng thay đổi theo. Điều đó gây
ra khó khăn lớn cho việc bảo trì.
Giải pháp cơ sở dữ liệu ra đời đã giải quyết đƣợc những nhƣợc điểm đó. Cụ thể, giải
pháp cơ sở dữ liệu có những đặc trƣng sau:
1. Bản chất tự mô tả của hệ cơ sở dữ liệu.
Một đặc trƣng cơ bản của giải pháp cơ sở dữ liệu là hệ thống cơ sở dữ liệu không chỉ
gồm có bản thân cơ sở dữ liệu mà còn có cả định nghĩa hoặc mô tả đầy đủ về cấu trúc
cơ sở dữ liệu và các ràng buộc. Định nghĩa này đƣợc lƣu trữ trong từ điển hệ thống, nó
chứa các thông tin nhƣ là cấu trúc của mỗi tệp, kiểu và dạng lƣu trữ của từng mục dữ
liệu. Các thông tin đƣợc lƣu giữ trong từ điển gọi là siêu dữ liệu (meta-data) và chúng
mô tả cấu trúc của dữ liệu nguyên thuỷ (hình 1-1). Phần mềm hệ quản trị cơ sở dữ liệu
và những ngƣời sử dụng cơ sở dữ liệu sử dụng từ điển để lấy thông tin về cấu trúc của
cơ sở dữ liệu.
2. Sự độc lập giữa chƣơng trình và dữ liệu.
Trong hệ thống tệp, cấu trúc của các tệp cơ sở dữ liệu đƣợc nhúng vào trong các
chƣơng trình truy cập, vì vậy bất kỳ một thay đổi nào về cấu trúc của một tệp cũng đòi
hỏi phải thay đổi tất cả các chƣơng trình truy cập đến tệp đó. Ngƣợc lại, các chƣơng
trình truy cập của hệ quản trị cơ sở dữ liệu không đòi hỏi việc thay đổi nhƣ thế. Cấu
trúc của các tệp dữ liệu đƣợc lƣu trữ trong từ điển tách rời với các chƣơng trình truy

Việc phân biệt giữa lƣợc đồ cơ sở dữ liệu và trạng thái cơ sở dữ liệu là rất quan trọng.
Khi chúng ta định nghĩa một cơ sở dữ liệu mới, ta chỉ đặc tả lƣợc đồ cơ sở dữ liệu cho
hệ quản trị cơ sở dữ liệu. Tại thời điểm này, trạng thái của cơ sở dữ liệu là một trạng
thái rỗng, không có dữ liệu. Chúng ta nhận đƣợc trạng thái ban đầu của cơ sở dữ liệu
khi ta nhập dữ liệu lần đầu tiên. Từ đó trở đi, mỗi khi một phép toán cập nhật đƣợc
thực hiện đối với cơ sở dữ liệu, chúng ta nhận đƣợc một trạng thái cơ sở dữ liệu khác.
Tại mọi thời điểm, cơ sở dữ liệu có một trạng thái hiện tại. Hệ quản trị cơ sở dữ liệu có
trách nhiệm đảm bảo rằng mỗi trạng thái cơ sở dữ liệu là một trạng thái vững chắc,
nghĩa là một trạng thái thoả mãn cấu trúc và các ràng buộc đƣợc đặc tả trong lƣợc đồ.
Vì vậy, việc đặc tả một lƣợc đồ đúng đắn cho hệ quản trị cơ sở dữ liệu là một việc làm
cực kỳ quan trọng và lƣợc đồ phải đƣợc thiết kế một cách cẩn thận. Hệ quản trị cơ sở
dữ liệu lƣu trữ các mô tả của các cấu trúc lƣợc đồ và các ràng buộc – còn gọi là siêu
dữ liệu – vào trong từ điển (catalog) của hệ quản trị sao cho phần mềm hệ quản trị cơ
sở dữ liệu có thể tham khảo đến lƣợc đồ khi nó cần. Đôi khi ngƣời ta còn gọi lƣợc đồ
là mục tiêu (intension) và trạng thái cơ sở dữ liệu là mở rộng (extension) của lƣợc đồ.
c. Ngƣời dùng (User)
Ngƣời dùng khai thác CSDL thông qua HQTCSDL có thể phân thành ba loại: ngƣời
quản trị CSDL, thiết kế viên, ngƣời dùng cuối.
+ Ngƣời quản trị: Có trách nhiệm quản lý hệ CSDL
- Cấp quyền truy cập CSDL
- Điều phối và giám sát việc sử dụng CSDL
+ Thiết kế viên:
 Chịu trách nhiệm về
- Lựa chọn cấu trúc phù hợp để lƣu trữ dữ liệu
16

- Quyết định những dữ liệu nào cần đƣợc lƣu trữ
 Liên hệ với ngƣời dùng để nắm bắt đƣợc những yêu cầu và đƣa ra một thiết kế
CSDL thỏa yêu cầu này
 Có thể là 1 nhóm các DBA quản lý các CSDL sau khi việc thiết kế hoàn tất

Các loại cấu trúc cơ sở dữ liệu và mối liên hệ giữa chúng đóng vai trò rất lớn trong
việc xác định tính hiệu quả của hệ quản trị cơ sở dữ liệu. Vì vậy, thiết kế cơ sở dữ liệu
trở thành hoạt động chính trong môi trƣờng cơ sở dữ liệu.
Việc thiết kế cơ sở dữ liệu đƣợc thực hiện đơn giản hơn nhiều khi ta sử dụng các mô
hình. Các mô hình là sự trừu tƣợng đơn giản của các sự kiện trong thế giới thực.
17

Các trừu tƣợng nhƣ vậy cho phép ta khảo sát các đặc điểm của các thực thể và các mối
liên hệ đƣợc tạo ra giữa các thực thể đó. Việc thiết kế các mô hình tốt sẽ đƣa ra các cơ
sở dữ liệu tốt và trên cơ sở đó sẽ có các ứng dụng tốt. Ngƣợc lại, mô hình không tốt sẽ
đƣa đến thiết kế cơ sở dữ liệu tồi và dẫn đến các ứng dụng không đúng.
Một mô hình cơ sở dữ liệu là một tập hợp các khái niệm (kí hiệu) dùng để biểu
diễn các cấu trúc của cơ sở dữ liệu. Cấu trúc của một cơ sở dữ liệu là các kiểu dữ liệu,
các mối liên kết và các ràng buộc phải tuân theo trên các dữ liệu. Nhiều mô hình còn
có thêm một tập hợp các phép toán cơ bản để đặc tả các thao tác
Sau đây chúng ta sẽ điểm qua lịch sử phát triển của các mô hình dữ liệu.
Vào những năm sáu mƣơi, thế hệ đầu tiên của CSDL ra đời dƣới dạng mô hình thực
thể kết hợp, mô hình mạng và mô hình phân cấp.
Vào những năm bảy mƣơi, thế hệ thứ hai của CSDL ra đời. Đó là mô hình dữ
liệu quan hệ do EF. Codd phát minh. Mô hình này có cấu trúc logic chặt chẽ. Đây là
mô hình đã và đang đƣợc sử dụng rộng khắp trong công tác quản lý trên phạm vi toàn
cầu. Việc nghiên cứu mô hình dữ liệu quan hệ nhằm vào lý thuyết chuẩn hoá các quan
hệ và là một công cụ quan trọng trong việc phân tích thiết kế các hệ CSDL hiện nay.
Mục đích của nghiên cứu này nhằm bỏ đi các phần tử không bình thƣờng của quan hệ
khi thực hiện các phép cập nhật, loại bỏ các phần tử dƣ thừa.
Sang thập kỷ tám mƣơi, mô hình CSDL thứ ba ra đời, đó là mô hình cơ sở dữ
liệu hƣớng đối tƣợng, mô hình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu suy
diễn,…
Trong phần tiếp theo sau đây, chúng tôi sẽ trình bày về mô hình dữ liệu tiêu biểu nhất
để thiết kế (bƣớc đầu) một ứng dụng tin học đó là mô hình thực thể kết hợp. Trong các

có thể tìm hiểu về mô hình này trong các tài liệu [1], [2].
Các mô hình dữ liệu thể hiện là các mô hình đƣợc sử dụng thƣờng xuyên nhất trong
các hệ cơ sở dữ liệu thƣơng mại. Ba mô hình nổi tiếng thuộc loại này là mô hình quan
hệ, mô hình mạng và mô hình phân cấp. Các mô hình mạng và phân cấp ra đời trƣớc
và đƣợc sử dụng rộng rãi trong quá khứ (trƣớc 870). Vào đầu những năm 70, mô hình
quan hệ ra đời. Do tính ƣu việt của nó, mô hình quan hệ dần dần thay thế các mô hình
mạng và phân cấp. Chúng ta sẽ nghiên cứu về mô hình quan hệ.
Các mô hình dữ liệu vật lý mô tả cách lƣu trữ dữ liệu trong máy tính giới thiệu các
thông tin nhƣ khuôn dạng bản ghi, sắp xếp bản ghi, đƣờng truy cập…
1.4.1. Mô hình thực thể - liên kết (thực thể -quan hệ)
Hiện nay mô hình dữ liệu quan hệ thƣờng đƣợc dùng trong các hệ quản trị CSDL, đây
là mô hình dữ liệu ở mức vật lý. Để thành lập đƣợc mô hình này, thƣờng là phải dùng
mô hình dữ liệu ở mức quan niệm để đặc tả, một trong những mô hình ở dạng đó là mô
hình thực thể quan hệ (sau đó mới dùng một số quy tắc để chuyển hệ thống từ mô
hình này về mô hình dữ liệu quan hệ).
1.4.2. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ (Ralational Data Model)- gọi tắt là mô hình quan
hệ, do EF.Codd đề xuất năm 870. Nền tảng lý thuyết của nó là khái niệm lý thuyết tập
hợp trên các quan hệ, tức là tập của các bộ giá trị.
Mô hình dữ liệu quan hệ là mô hình đƣợc nghiên cứu nhiều nhất, và thực tiễn đã cho
thấy rằng nó có cơ sở lý thuyết vững chắc nhất. Mô hình dữ liệu này cùng với mô hình
thức thể kết hợp đang đƣợc sử dụng rộng rãi trong việc phân tích và thiết kế CSDL
hiện nay.
1.4.3. 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
19

mẫu tin (Record Type) và loại liên hệ (Set Type):

phòng gồm 1 đến nhiều nhân-viên;
• nhân-viên có đúng 1 lý-lịch;
• nhiều nhân-viên cùng làm một công-việc;
• 1 nhân-viên có thể có 1 hay nhiều nhân-viên là thân nhân của mình.
1.4.4. Mô hình dữ liệu 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.
20

Mô hình dữ liệu phân cấp sử dụng các khái niệm sau:
(a) Loại mẫu tin: giống khái niệm mẫu tin trong mô hình dữ liệu mạng.
(b) 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à 1n, và từ mẫu tin (hay bản ghi - record) thành viên với
mẫu tin chủ là 11.
Giữa 2 loại mẫu tin chỉ tồn tại 1 mối liên hệ duy nhất.
Ví dụ: Mẫu phiếu điều tra dân số
Các dòng là các mẫu tin (hay bản ghi) có độ dài thay đổi.
Có 6 loại mẫu tin:
Mẫu tin đặc trƣng cho tỉnh, thành phố gồm: Mã số tỉnh thành, Tên tỉnh thành
phố. '02' là Mã số Thành phố Hồ Chí Minh.
· Mẫu tin đặc trƣng cho quận huyện gồm Mã số tỉnh thành + Mã số quận
huyện, Tên quận huyện trong tỉnh thành phố đó. '0201' là Mã số quận Nhất của
TP.Hồ Chí Minh.
· Mẫu tin đặc trƣng cho phƣờng xã gồm Mã số tỉnh thành + Mã số quận
huyện + Mã số phƣờng xã, Tên phƣờng xã thuộc quận huyện trong tỉnh thành
phố đó. '020101' là Mã số phƣờng Bến Nghé, Quận Nhất, TP.Hồ Chí Minh.

đƣợc áp dụng đối với cơ sở dữ liệu.
Mỗi khi tất cả các yêu cầu đã đƣợc thu thập và phân tích, bƣớc tiếp theo là tạo ra lƣợc
đồ quan niệm cho cơ sở dữ liệu bằng cách sử dụng mô hình dữ liệu quan niệm mức
cao. Bƣớc này gọi là thiết kế quan niệm. Lƣợc đồ quan niệm là một mô tả súc tích về
các yêu cầu dữ liệu của những ngƣời sử dụng. Nó bao gồm các mô tả chi tiết của các
kiểu thực thể, kiểu liên kết và các ràng buộc, chúng đƣợc biểu diễn bằng các khái niệm
do các mô hình dữ liệu bậc cao cung cấp. Lƣợc đồ quan niệm mức cao cũng có thể
đƣợc sử dụng nhƣ một dẫn chứng để đảm bảo rằng tất cả các đòi hỏi của ngƣời sử
dụng đều thỏa mãn và các đòi hỏi này không chứa các mâu thuẫn. Giải pháp này cho
phép những ngƣời thiết kế cơ sở dữ liệu tập trung vào việc đặc tả các tính chất của dữ
liệu mà không cần quan tâm đến các chi tiết lƣu trữ. Một thiết kế cơ sở dữ liệu quan
niệm tốt sẽ làm dễ cho công việc của những ngƣời thiết kế cơ sở dữ liệu.
Trong quá trình (hoặc sau khi) thiết kế lƣợc đồ quan niệm, chúng ta có thể sử dụng các
phép toán cơ bản của mô hình dữ liệu để đặc tả các thao tác của ngƣời sử dụng đƣợc
xác định trong khi phân tích chức năng. Điều đó cũng giúp khẳng định rằng lƣợc đồ
quan niệm thỏa mãn mọi yêu cầu chức năng đƣợc xác định. Nếu có một số yêu cầu
chức năng không thể nêu ra đƣợc trong lƣợc đồ ban đầu thì ở bƣớc này có thể có sự
sửa đổi lƣợc đồ quan niệm cho phù hợp.
Bƣớc tiếp theo trong việc thiết kế cơ sở dữ liệu là việc cài đặt một cơ sở dữ liệu bằng
cách sử dụng một hệ quản trị cơ sở dữ liệu có sẵn. Hầu hết các hệ quản trị cơ sở dữ
liệu sử dụng một mô hình dữ liệu cài đặt (thể hiện), chẳng hạn nhƣ mô hình quan hệ
hoặc đối tƣợng, vì vậy lƣợc đồ quan niệm đƣợc chuyển từ mô hình dữ liệu bậc cao
thành mô hình dữ liệu cài đặt. Bƣớc này gọi là thiết kế logic hoặc là ánh xạ mô hình dữ
liệu. Kết quả của bƣớc này là một lƣợc đồ cơ sở dữ liệu dƣới dạng một mô hình dữ
liệu cài đặt của hệ quản trị cơ sở dữ liệu.
Bƣớc cuối cùng trong thiết kế cơ sở dữ liệu là thiết kế vật lý. Trong bƣớc này ta phải
chỉ ra các cấu trúc bên trong, các đƣờng dẫn truy cập, tổ chức tệp cho các tệp cơ sở dữ
liệu. Song song với các hoạt động đó, các chƣơng trình ứng dụng cũng đƣợc thiết kế
và cài đặt nhƣ là các giao tác (transaction) cơ sở dữ liệu tƣơng ứng với các đặc tả giao
tác mức cao.

Lƣợc đồ quan niệm
Lƣợc đồ lô gic
(Độc lập với hệ QTCSDL)
Các chƣơng trình ứng dụng
Lƣợc đồ bên trong
23

Vân”, 32, “Hà nội”, 500000. Các giá trị thuộc tính mô tả mỗi thực thể sẽ trở thành một
phần chính của các dữ liệu sẽ đƣợc lƣu giữ trong cơ sở dữ liệu. Trong mô hình ER có
mặt nhiều kiểu thuộc tính: thuộc tính đơn, thuộc tính phức hợp, thuộc tính đơn trị,
thuộc tính đa trị, thuộc tính đƣợc lƣu trữ, thuộc tính suy diễn đƣợc, thuộc tính có giá trị
không xác định, thuộc tính phức tạp.
Thuộc tính đơn là thuộc tính không thể phân chia ra đƣợc thành các thành phần nhỏ
hơn. Ví dụ, thuộc tính Tuổi của một nhân viên là một thuộc tính đơn. Thuộc tính phức
hợp là thuộc tính có thể phân chia đƣợc thành các thành phần nhỏ hơn, biểu diễn các
thuộc tính cơ bản hơn với các ý nghĩa độc lập.
Những thuộc tính có giá trị duy nhất cho một thực thể cụ thể gọi là các thuộc tính đơn
trị. Ví dụ, Họtên là một thuộc tính đơn trị của thực thể nhân viên, mỗi nhân viên có
một họ tên duy nhất. Trong một số trƣờng hợp, một thuộc tính có thể có một tập giá trị
cho cùng một thực thể. Những thuộc tính nhƣ vậy gọi là thuộc tính đa trị. Ví dụ, thuộc
tính Bằngcấp của một ngƣời. Một ngƣời có thể không có bằng cấp nào, ngƣời khác có
thể có một bằng, ngƣời khác nữa có thể có nhiều bằng. Nhƣ vậy, các ngƣời khác nhau
có thể có một số giá trị khác nhau cho thuộc tính Bằngcấp. Thuộc tính Bằngcấp là một
thuộc tính đa trị.
Thuộc tính được lưu trữ là các thuộc tính mà giá trị của nó đƣợc nhập vào khi cài đặt
cơ sở dữ liệu. Trong một số trƣờng hợp, hai hay nhiều thuộc tính có giá trị liên quan
đến nhau. Ví dụ, thuộc tính Tuổi và thuộc tính Ngàysinh của một ngƣời. Với một
ngƣời cụ thể, ta có thể tính tuổi của anh ta bằng cách lấy năm hiện tại trừ đi năm của
Ngàysinh. Thuộc tính mà giá trị của nó có thể tính đƣợc thông qua giá trị của các
thuộc tính khác gọi là thuộc tính suy diễn được.


NHÂNVIÊN
(Họtên, Tuổi, Lƣơng)
CÔNGTY
(Tên, Địadiểm, Giámđốc)
Nv1
(Lê Lan, 30, 800000)
Nv2
(Trần Bá, 45, 1000000)
Nv3
(Hoàng Vân, 14, 600000)

Ct1
(CT Phần mềm, Hà nội, Vũ An)
Ct2
(CT Hoa quả, Hải phòng, Lê Hà)
Ct3
(CT Máy tính, Hà nội, Phan Anh)
Hình 2-2. Kiểu thực thể và tập thực thể

Thuộc tính khóa của một kiểu thực thể: Một ràng buộc quan trọng trên các thực thể của
một kiểu thực thể là khóa. Một kiểu thực thể thƣờng có một thuộc tính mà các giá trị
của nó là khác nhau đối với mỗi thực thể tiêng biệt trong một tập thực thể. Thuộc tính
nhƣ vậy gọi là thuộc tính khóa và các giá trị của nó có thể dung để xác định từng thực
thể một cách duy nhất. Ví dụ, thuộc tính Tên của kiểu thực thể CÔNGTY là khóa của
kiểu thực thể đó vì mỗi thực thể công ty có một tên duy nhất. Đôi khi, nhiều thuộc tính
kết hợp với nhau tạo thành một khóa, nghĩa là tổ hợp các giá trị của các thuộc tính này
phải khác nhau đối với mỗi thực thể. Trong trƣờng hợp nhƣ vậy ta có một thuộc tính
khóa phức hợp. Chú ý rằng khóa phức hợp phải tối thiểu, nghĩa là tất cả các thuộc tính
thành phần phải có mặt trong thuộc tính phức hợp để thỏa mãn tính chất duy nhất.

)x….xP(V
n
), trong
đó V
1
, V
2
, …, V
n
là tập các giá trị cho các thành phần đơn của A.
2.2.3. Kiểu liên kết, tập liên kết và các thể hiện
Một kiểu liên kết R giữa n kiểu thực thể E
1
, E
2
, …,E
n
xác định một tập liên kết giữa
các thực thể của các kiểu đó. Cũng nhƣ các kiểu thực thể và tập thực thể, một kiểu liên
kết và tập liên kết tƣơng ứng với nó cũng có tên chung là R. Một cách toán học, tập
liên kết R là một tập hợp các thể hiện liên kết r
i
, i= 1,2,… trong đó mỗi r
i
liên kết n
thực thể riêng biệt e
1
,e
2
,…,e

1
, e
2
, …, e
n
đƣợc gọi là tham gia vào thể hiện liên kết r
i
= (
e
1
,e
2
,…,e
n
).
Một cách không hình thức, mỗi thể hiện liên kết r
i
trong R là một sự kết hợp của các
thực thể, mỗi thực thể thuộc về một kiểu thực thể tham gia vào liên kết. Mỗi liên kết r
i

nhƣ vậy diễn đạt một sự kiện rằng các thực thể tham gia trong r
i
có mối quan hệ với
NHÂNVIÊN
MãsốNV
Họtên
Ngàysinh
Bằngcấp
Họđệm


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

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