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

Giáo trình cơ sở dữ liệu đh quy nhơ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 (1.55 MB, 127 trang )

TRƯỜNG ĐẠI HỌC QUY NHƠN

Khoa Kỹ thuật & Công nghệ – Bộ môn Điện tử _ Viễn thông

CƠ SỞ DỮ LIỆU
GV: ThS. Đặng Thị Từ Mỹ


Mục đích mơn học
1.

2.
3.

4.

5.
6.

7.

8.

Cung cấp các khái niệm và kiến thức cơ bản nhất về CSDL và
HQTCSDL.
Các mơ hình cơ sở dữ liệu.
Phân tích các dạng chuẩn hóa CSDL và khái niệm phụ thuộc hàm trong
q trình phân tích và thiết kế CSDL.
Giới thiệu về mơ hình CSDL quan hệ, các khái niệm về thực thể và
mối quan hệ.
Giới thiệu các toán tử và phép toán của đại số quan hệ.


Giới thiệu hai ngơn ngữ thơng dụng với mơ hình cơ sở dữ liệu quan hệ:
MS Access và SQL Server.
Cung cấp cho sinh viên khả năng độc lập trong việc tự phân tích và mơ
hình hóa một cơng việc cụ thể trên thế giới thực vào việc xây dựng
một ứng dụng CSDL vừa và nhỏ.
Yêu cầu sau khóa học sinh viên phải nắm vững được những quy tắc và
nguyên lý cũng như quy trình mơ hình hóa và thiết kế một ứng dụng
CSDL bất kỳ ở phạm vi vừa và nhỏ.


1_ Giới thiệu
1.1. Khái niệm cơ bản về cơ sở dữ liệu
a. Cơ sở dữ liệu (CSDL) là gì?
b. Ưu điểm của CSDL

1.2. Kiến trúc một hệ cơ sở dữ liệu
1.3. Sơ bộ lịch sử phát triển
1.4. Các loại mô hình dữ liệu cơ bản
a. Mơ hình quan hệ (Relational Data Model)
b. Mơ hình phân cấp (Hierarchical Data Model)
c. Mơ hình mạng (Network Data Model)

1.5. Tính độc lập dữ liệu
1.6. Kết luận


1.1. Khái niệm cơ bản về cơ sở dữ liệu
a. Cơ sở dữ liệu (CSDL) là gì?



Đặc điểm của CSDL (DataBase)








Định nghĩa CSDL




Là tập hợp dữ liệu liên quan được lưu trên các bộ nhớ ngồi (đĩa
từ, trống từ...).
Có một tập các chương trình ứng dụng được chạy với các dữ liệu
này và thậm chí dùng để truyền đi xa.
CSDL là một tổ hợp: đó là một tập hợp nhiều loại dữ liệu cho
nhiều người dùng với nhiều mục đích khác nhau.
CSDL là một tập hợp các dữ liệu được lưu trữ để phục vụ các hệ
thống ứng dụng.

Hệ quản trị CSDL (DBMS-DataBase Management System)




Phần chương trình để có thể xử lý, thay đổi tập hợp các dữ liệu
này

Như một bộ diễn dịch (Interpreter) với ngôn ngữ bậc cao


1.1. Khái niệm cơ bản về cơ sở dữ liệu
b. Ưu điểm của CSDL


Tại sao người ta cần lưu trữ dữ liệu trong một tổ
hợp như CSDL?




CSDL cung cấp một sự điều khiển tập trung đối với các
dữ liệu trong CSDL.

Các phần tử trong hệ thống CSDL
Software

Hardware
DataBase
Administrator

Data


1.1. Khái niệm cơ bản về cơ sở dữ liệu
b. Ưu điểm của CSDL ...(tiếp)



Những ưu điểm của sự điều khiển tập trung













Giảm sự dư thừa dữ liệu cần lưu trữ.
Có thể tránh được những xung đột về dữ liệu được lưu trữ.
Có thể dùng chung dữ liệu đã được lưu trữ .
Có thể chuẩn hố dữ liệu giúp đơn giản hoá các vấn đề về bảo
hành và trao đổi dữ liệu giữa các lần cài đặt.
Có thể áp dụng các phương pháp bảo mật với dữ liệu.
Duy trì được sự thống nhất dữ liệu để đảm bảo CSDL chỉ chứa
dữ liệu chính xác.
Có thể cân đối được các địi hỏi xung đột nhau.
Dữ liệu là độc lập, độc lập với cấu trúc bộ nhớ, với phương pháp
lưu trữ và tiếp cận thơng tin.
Đảm bảo quy tắc tồn vẹn dữ liệu.


1.2. Kiến trúc một hệ cơ sở dữ liệu
Theo mặt cắt dọc

Hình 1

Người sử dụng

A1

Ngơn ngữ
Khơng gian
làm việc

* Lược đồ ngồi
(External Schema)

Người quản trị
hệ thống CSDL
(Database
Administrator)
Xây dựng và
Bảo trì các lược
đồ và các ánh
xạ.

A2

B1

Ngôn ngữ
Không gian
làm việc


Ngôn ngữ
Không gian
làm việc

Mô hình ngồi A
(Khung nhìn A)
(External Model A)
ánh xạ giữa
mơ hình ngồi A và
mơ hình khái niệm

Lược đồ khái niệm

Lược đồ trong
Dấu * biểu thị sự
(Internal schema)
liên hệ với
(Storage structure
người sử dụng
definition)

B2

B3

Ngơn ngữ
Khơng gian
làm việc

Ngơn ngữ

Khơng gian
làm việc

Mơ hình ngồi B
(Khung nhìn B)
(External Model B)
ánh xạ giữa
mơ hình ngồi B và
mơ hình khái niệm

Mơ hình dữ liệu
(Data Model)
Mơ hình khái niệm
(Conceptual model)
ỏnh x gia
mụ hỡnh khỏi nim
v mụ hỡnh trong
Mô hình tro ng (Inte rnal mo de l)
(Cơ s ở dữ liệu đ-ợc l-u trữ)

H qun tr
C s d liu
(DBMS)


1.2. Kiến trúc một hệ cơ sở dữ liệu
a) Các mức của kiến trúc


Mức ngồi (hay cịn gọi là khung nhìn)







Mức ngồi liên quan đến cách nhìn, quan niệm của từng
người sử dụng CSDL vì vậy cịn gọi là "khung nhìn".
Có nhiều "cách nhìn ở mức ngồi" khác nhau. Mỗi cách
nhìn (mỗi khung nhìn) bao gồm sự biểu diễn trừu
tượng của một phần nào đó của CSDL.
Hầu hết những người sử dụng khơng quan tâm đến
tổng thể tồn bộ CSDL mà chỉ quan tâm đến một phần
riêng biệt nào đó của CSDL.


1.2. Kiến trúc một hệ cơ sở dữ liệu
a) Các mức của kiến trúc...(tiếp)


Mức khái niệm








Mức khái niệm cho phép ta định nghĩa một cách nhìn

thống nhất cho người sử dụng.
"Cách nhìn ở mức khái niệm" bao gồm sự biểu diễn
trừu tượng của tổng thể toàn bộ CSDL.
Thực chất đây là mức logic của tồn bộ CSDL

Mức trong (cịn gọi là mức vật lý)






Mức trong rất gần với cách lưu trữ trong bộ nhớ máy
tính.
CSDL vật lý (CSDL ở mức vật lý) là các tệp dữ liệu theo
một cấu trúc nào đó được lưu trên các thiết bị nhớ
ngồi.


1.2. Kiến trúc một hệ cơ sở dữ liệu
b) Các khái niệm


Khái niệm "thể hiện" (instance)








Một khi CSDL đã được thiết kế, thường người ta chỉ
quan tâm đến "Bộ khung" hay cịn gọi là "mẫu" của
CSDL.
Dữ liệu hiện có trong CSDL gọi là "thể hiện" của CSDL.
Mặc dù dữ liệu có thể thay đổi trong một chu kỳ thời
gian nào đó nhưng "bộ khung" của CSDL vẫn khơng
thay đổi.

Khái niệm "lược đồ" (schema)




Khái niệm "bộ khung" nêu ở phần trước bao gồm một
số danh mục hoặc chỉ tiêu hoặc một số kiểu của các
thực thể trong CSDL.
Giữa các thực thể có thể có những mối quan hệ nào đó


1.2. Kiến trúc một hệ cơ sở dữ liệu
b) Các khái niệm ...(tiếp)


Khái niệm "lược đồ" (schema)


Các loại lược đồ



Lược đồ khái niệm là bộ khung của CSDL khái niệm (gọi tắt
của CSDL ở mức khái niệm).










Lược đồ khái niệm là sự biểu diễn thế giới thực bằng một loạt
ngôn ngữ phù hợp.
Hệ QTCSDL cung cấp ngôn ngữ định nghĩa dữ liệu (DDL - Data
Definition Language) để xác định lược đồ khái niệm.
DDL là một ngơn ngữ bậc cao, có khả năng mô tả lược đồ khái
niệm bằng cách biểu diễn của mơ hình dữ liệu.

Lược đồ vật lý (hay lược đồ trong) dùng cho bộ khung của
CSDL ở mức vật lý.
Lược đồ con (Subschema) được gọi thay cho khung nhìn.


1.2. Kiến trúc một hệ cơ sở dữ liệu
Theo mặt cắt ngang
Các thao tác với bộ khung Các truy vấn Các thao tác với dữ liệu
(Schema operations)
(Query)
(Data operations)


Một số khái niệm:








Transaction
DML (Data
Manipulation
Language
DDL (Data
Definition
Language)
Query language
Data, Meta-data

Phần xử lý truy vấn
(Query Processor)
Phần quản lý lưu trữ
(Data Management)

Dữ liệu,
Siêu dữ liệu
(Data, Meta-data)

Phần quản lý giao dịch

(Transaction Management)


1.2. Kiến trúc một hệ cơ sở dữ liệu
Theo người sử dụng





Người dùng cuối
Người lập trình CSDL
Người thiết kế CSDL
Người quản trị CSDL


1.3. Sơ bộ lịch sử phát triển
Trước đây:






Những năm 1960: dữ liệu lưu trữ dưới dạng các tệp
CSDL Phân cấp (Hierarchical Model)
CSDL Mạng (Network Model)

Gần đây và hiện nay:






1970, Edgar Frank Codd: CSDL Quan hệ (Relational Model)
Phát triển theo xu hướng chun mơn hố



Tập trung vào các hệ thống nhỏ (PCs...)
Tập trung vào các hệ thống lớn (làm việc với lượng dữ liệu khổng lồ)

Tương lai gần:








Thêm mơ hình hướng đối tượng (OO-Model)
Tăng khả năng phát triển các ràng buộc (constraints) và các kích
hoạt (triggers)
Lưu trữ thành các tổ hợp dữ liệu: multimedia
Kho dữ liệu (Data Warehousing) – Khai thác dữ liệu (Data mining)


1.3. Sơ bộ lịch sử phát triển



Một số ví dụ về hệ quản trị CSDL









Btrieve: dữ liệu lưu trữ dưới dạng các tệp
Dạng giống COBOL: dạng mơ hình mạng
Fox Pro
MS Access
MS SQL, Informix, Oracle, DB4, ...
Những CSDL mơ hình hướng đối tượng dùng kết hợp
với SmallTalk, C++, Java
Các mơ hình CSDL ứng dụng trên mạng WWW:
multimedia


1.4. Các loại mơ hình dữ liệu cơ bản
Các khái niệm


Mơ hình dữ liệu





Sự hình thức hóa tốn học với tập hợp các ký hiệu để mô tả và
tập các phép toán được dùng để thao tác đối với các dữ liệu

Một số mơ hình dữ liệu cơ bản sẽ giới thiệu


Mơ hình quan hệ (Relational Model):




Mơ hình phân cấp (Hierarchical Model):




Mơ hình dữ liệu là một cây, trong đó các nút biểu diễn biểu diễn các
tập thực thể, các nút con và nút cha được liên hệ theo một mối quan
hệ xác định.

Mơ hình mạng (Network Model):




Mơ hình này dựa trên cơ sở khái niệm lý thuyết tập hợp của các quan
hệ, tức là tập các k-bộ với k cố định.

Mơ hình được biểu diễn là một đồ thị có hướng.


Ngơn ngữ con dữ liệu


Tập các phép tốn được cung cấp để thao tác dữ liệu


a. Mơ hình quan hệ (Relational Data Model)
Hình 2. Dữ liệu mẫu trong dạng quan hệ.
Supplier - Hãng cung cấp

S

S#

SNAME

STATUS

CITY

S1

Smith

20

London

S2


Jones

10

Paris

S3

Blake

30

Paris

Part - Mặt hàng

P

P#

PNAME

COLO
R

WEIGH
T

CITY


P1

Nut

Red

12

London

P2

Bolt

Green

17

Paris

P3

Screw

Blue

17

Rome


P4

Screw

Red

14

London

Shipment – Gửi hàng

SP

S#

P#

QT
Y

S1

P1

300

S1


P2

200

S1

P3

400

S2

P1

300

S2

P2

400

S3

P2

200


a. Mơ hình quan hệ (Relational Data Model)

Nhận xét qua ví dụ:
1.

Tóm tắt sự tương ứng giữa các khái niệm







Quan hệ (Relation)

Bộ (Tuple)

Thuộc tính (Attribute)

Tệp (File)

Bản ghi (Record)

Trường (Field)

Bảng (Table)

Hàng (Row)

Cột (Column)

Mỗi bảng trong ba bảng trên giống như một tệp tuần tự

truyền thống (Sequential File)
Tuy nhiên có các sự khác biệt đáng kể giữa các bảng này
và các tệp tuần tự truyền thống
Mỗi bảng là một trường hợp riêng của cấu trúc được
biết đến trong tốn học - đó là "quan hệ"


a. Mơ hình quan hệ (Relational Data Model)
2.

Miền (Domain)






Miền là một tập các giá trị mà từ đó các giá trị thực sự
sẽ xuất hiện trên các thuộc tính (cột) của quan hệ
(bảng).
Bản thân miền có thể khơng được ghi nhận một cách
tường minh như là một tập các giá trị thực sự trong cơ
sở dữ liệu nhưng nó được định nghĩa trong lược đồ khái
niệm và có tên riêng của mình
Một đặc điểm nổi bật của cấu trúc dữ liệu quan hệ là
các mối kết nối giữa các bộ (các hàng) được biểu thị
chặt chẽ bởi các giá trị dữ liệu trong các cột được rút ra
từ một miền chung



a.Mơ hình quan hệ (Relational Data Model)
3.

Bảng là dạng thống nhất


Thực tế, tất cả các thông tin trong cơ sở dữ liệu - các
thực thể (entities) và các mối kết nối (associations) được biểu diễn trong một dạng thống nhất được gọi là
bảng




Như sẽ thấy sau này, đặc tính này khơng có trong cấu trúc phân
cấp và cấu trúc mạng.

Qua quan sát, nhận thấy cấu trúc quan hệ rất đơn giản,
dễ hiểu.


a.Mơ hình quan hệ (Relational Data Model)
4.

Mơ hình quan hệ có sự thống nhất trong tập các
phép tốn









Theo quan điểm của người sử dụng, ngôn ngữ con dữ
liệu - tập các phép toán được cung cấp để thao tác dữ
liệu trong dạng quan hệ - là rất quan trọng
Ngoài ra, có thể nhận thấy: sự thống nhất trong cách
biểu diễn dữ liệu dẫn đến sự thống nhất tương ứng
trong tập các phép toán
Điều này đối nghịch với các cấu trúc phức tạp khác
(như cấu trúc phân cấp, cấu trúc mạng) mà ở đó thơng
tin có thể được biểu diễn trong một vài cách khác nhau
và do đó cần đến một số tập các phép toán
Để hiểu hơn về vấn đề này, sau đây chúng ta sẽ xét giải
thuật cho hai câu hỏi đối xứng nhau (Hình 3.1.3 tiếp
theo)


a.Mơ hình quan hệ (Relational Data Model)
4.

Mơ hình quan hệ có sự thống nhất trong tập các
phép tốn ...(tiếp)


Hình 3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối
xứng

Q1: Tìm các số hiệu hãng cung
cấp hiện đang cung cấp mặt

hàng có số hiệu P2.
Next: Tìm trong SP số lượng
hàng có P# = P2. Có tìm thấy số
lượng hàng đó khơng? Nếu
khơng thì thốt ra
In ra S#
Đi tới thực hiện Next

Q2: Tìm các số hiệu mặt hàng
đang được cung cấp bởi hãng
cung cấp có số hiệu S2.
Next: Tìm trong SP số lượng
hàng có S# = S2. Có tìm thấy số
lượng hàng đó khơng? Nếu
khơng thì thốt ra
In ra P#
Đi tới thực hiện Next


a.Mơ hình quan hệ (Relational Data Model)
5.

Khơng có dị thường xảy ra đối với thao tác
lưu trữ cơ bản


Phép chèn (INSERT):




Phép xoá (DELETE):



Phép thay đổi (UPDATE):


b. Mơ hình phân cấp (Hierarchical Data Model)
Ví dụ: Dữ liệu mẫu trong mơ hình phân cấp
Supplier - Hãng cung cấp

S

S#

SNAME

STATUS

CITY

S1

Smith

20

London

S2


Jones

10

Paris

S3

Blake

30

Paris

Part - Mặt hàng

P

P#

PNAME

COLO
R

WEIGH
T

CITY


P1

Nut

Red

12

London

P2

Bolt

Green

17

Paris

P3

Screw

Blue

17

Rome


P4

Screw

Red

14

London

Theo mơ hình
quan hệ có:
Shipment – Gửi hàng

SP

S#

P# QTY

S1

P1

300

S1

P2


200

S1

P3

400

S2

P1

300

S2

P2

400

S3

P2

200


b. Mơ hình phân cấp (Hierarchical Data Model)
Hình 4. Mơ hình dữ liệu mẫu trong dạng phân cấp

P1

Nut

S1 Smith
S2 Jones

Red

12

20 London
10

Paris

London

P2

300
300

Blue

17

S1 Smith

20 London


Rome
400

Gree
n

S1 Smith
S2 Jones
S3

P3 Screw

Bolt

Blake

Paris

20 London
10

30

P4 Screw

17

Paris
Paris


Red

14

200
400

200
London


×