Tải bản đầy đủ (.ppt) (40 trang)

Bài giảng về Cơ sở dữ liệ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 (444.98 KB, 40 trang )

Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN. Cơ sở dữ liệu
- Chương I. Tổng quan về CSDL
1
Đại Học Bách Khoa Hà Nội
Khoa Điện Tử - Viễn Thông
C S D LI UƠ Ở Ữ Ệ
Ch ng I: ươ
Tæng quan vÒ c¬ së d÷ liÖu
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
2
Nội dung
1.1. Khái niệm cơ bản về cơ sở dữ liệu
1.1.1. Cơ sở dữ liệu (CSDL) là gì?
1.1.2. Ư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
1.4.1. Mô hình quan hệ (Relational Data Model)
1.4.2. Mô hình phân cấp (Hierarchical Data Model)
1.4.3. Mô hình mạng (Network Data Model)
1.5. Tính độc lập dữ liệu
1.6. Kết luận
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
3
1.1. Khái niệm cơ bản về cơ sở dữ liệu
1.1.1. Cơ sở dữ liệu (CSDL) là gì?

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


Là tập hợp dữ liệu đ ợc l u trên các bộ nhớ ngoà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.

Định nghĩa CSDL

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
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
4
1.1. Khái niệm cơ bản về cơ sở dữ liệu
1.1.2. Ư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
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
5
1.1. Khái niệm cơ bản về cơ sở dữ liệu
1.1.2. Ư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 hoá 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 toàn vẹn dữ liệu.
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu

- Chng I. Tng quan v CSDL
6
1.2. Kiến trúc một hệ cơ sở dữ liệu
Mô hình dữ liệu
(Data Model)
Mô hình khái niệm
(Conceptual model)
Lợcđồtrong
(Internalschema)
(Storagestructure
definition)
Lợcđồkháiniệm
Hệquảntrị
Cơsởdữliệu
(DBMS)
Dấu * biểu thị sự
liên hệ với
ng ời sử dụng
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ạ.
Mô hình trong (Internal model)
(Cơ sở dữ liệu đ ợc l u trữ)
Ngôn ngữ
Không gian
làm việc

Ngôn ngữ
Không gian
làm việc
Ngôn ngữ
Không gian
làm việc
Ngôn ngữ
Không gian
làm việc
Ngôn ngữ
Không gian
làm việc
ánh xạ giữa
mô hình khái niệm
và mô hình trong
ánh xạ giữa
mô hình ngoài B và
mô hình khái niệm
ánh xạ giữa
mô hình ngoài A và
mô hình khái niệm
Hình 1.1
B
1
A
2
A
1
B
3

B
2
*Lợcđồngoài
(ExternalSchema)
Mô hình ngoài B
(Khung nhìn B)
(External Model B)
Mô hình ngoài A
(Khung nhìn A)
(External Model A)
Ngờisửdụng
1.2.1. Theo mặt cắt dọc
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
7
a) Các mức của kiến trúc

Mức ngoài (hay còn gọi là khung nhìn)

Mức ngoà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 ngoà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 các ng ời sử dụng không quan tâm đến tổng thể toà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

B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
8
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 toà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ớ ngoài.

Liên hệ với cấu trúc l u trữ ngoài
1.2. Kiến trúc một hệ cơ sở dữ liệu
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
9
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 đó với nhau vì
vậy ng ời ta th ờng dùng thuật ngữ "l ợc đồ" thay cho "bộ khung".
1.2. Kiến trúc một hệ cơ sở dữ liệu
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
10
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
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
11
1.2. Kiến trúc một hệ cơ sở dữ liệu
1.2.2. Theo mặt cắt ngang
Các thao tác với bộ khung
(Schema operations)
Phần xử lý truy vấn
(Query Processor)
Phần quản lý l u trữ
(Data Management)
Phần quản lý giao dịch
(Transaction Management)
Dữ liệu,
Siêu dữ liệu
(Data, Meta-data)
Các truy vấn

(Query)
Các thao tác với dữ liệu
(Data operations)
Một số khái niệm:

Transaction

DML (Data
Manipulation
Language

DDL (Data Definition
Language)

Query language

Data, Meta-data
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
12
1.2. Kiến trúc một hệ cơ sở dữ liệu
1.2.3. 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

B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
13
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, E.F. Codd: CSDL Quan hệ (Relational Model)

Phát triển thao xu h ớng chuyên môn hoá

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)
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
14
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
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
15
Các khái niệm

Mô hình dữ liệu


Sự hình thức hóa toá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 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 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 đ ợ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 toán đ ợc cung cấp để thao tác dữ liệu
1.4. Các loại mô hình dữ liệu cơ bản
Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN. Cơ sở dữ liệu
- Chương I. Tổng quan về CSDL
16
H×nh 1.2 D÷ liÖu mÉu trong d¹ng quan hÖ.
1.4.1. M« h×nh quan hÖ (Relational Data Model)

S S# SNAME STATUS CITY
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blake 30 Paris
P P# PNAME COLOR WEIGHT CITY
P1 Nut Red 12 London
P2 Bolt Green 17 Paris
P3 Screw Blue 17 Rome
P4 Screw Red 14 London
SP S# P# QTY
S1 P1 300
S1 P2 200
S1 P3 400
S2 P1 300
S2 P2 400
S3 P2 200
Supplier - H·ng cung cÊp
Part - MÆt hµng
Shipment · Göi hµng
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
17
Nhận xét qua ví dụ:
1. Tóm tắt sự t ơng ứng giữa các khái niệm
1.4.1. Mô hình quan hệ (Relational Data Model)
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
toán học - đó là "quan hệ"
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
18
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 cột của 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

Ví dụ:

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

Ví dụ:
1.4.1. Mô hình quan hệ (Relational Data Model)
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
19
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.
1.4.1. Mô hình quan hệ (Relational Data Model)
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
20
4. Mô hình quan hệ có sự thống nhất trong tập các phép toá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 1.3 tiếp theo)
1.4.1. Mô hình quan hệ (Relational Data Model)

B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
21
4. Mô hình quan hệ có sự thống nhất trong tập các phép
toán (tiếp)

Hình 1.3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối xứng
1.4.1. Mô hình quan hệ (Relational Data Model)
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
Q2: Tìm các số hiệu mặt hàng hiện
đang đ ợc cung cấp bởi hãng cung
cấp có số hiệu S2
Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN. Cơ sở dữ liệu
- Chương I. Tổng quan về CSDL
22
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):

1.4.1. M« h×nh quan hÖ (Relational Data Model)
Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN. Cơ sở dữ liệu
- Chương I. Tổng quan về CSDL
23
1.4.2. M« h×nh ph©n cÊp (Hierarchical Data Model)

S S# SNAME STATUS CITY
S1 Smith 20 London
S2 Jones 10 Paris
S3 Blake 30 Paris
P P# PNAME COLOR WEIGHT CITY
P1 Nut Red 12 London
P2 Bolt Green 17 Paris
P3 Screw Blue 17 Rome
P4 Screw Red 14 London
Supplier - H·ng cung cÊp
Part - MÆt hµng
VÝ dô: D÷ liÖu mÉu trong m« h×nh ph©n cÊp
SP S# P# QTY
S1 P1 300
S1 P2 200
S1 P3 400
S2 P1 300
S2 P2 400
S3 P2 200
Theo m« h×nh
quan hÖ cã:
Shipment – Göi hµng
Bộ Môn ĐTTH - Khoa ĐTVT, Đại Học BKHN. Cơ sở dữ liệu
- Chương I. Tổng quan về CSDL
24
1.4.2. M« h×nh ph©n cÊp (Hierarchical Data Model)
H×nh 1.4. M« h×nh d÷ liÖu mÉu trong d¹ng ph©n cÊp
P1 Nut Red 12 London
S1 Smith 20 London 300
S2 Jones 10 Paris 300

P2 Bolt Green 17 Paris
S3 Blake 30 Paris 200
P3 Screw Blue 17 Rome P4 Screw Red 14 London
S1 Smith 20 London 400
S1 Smith 20 London 200
S2 Jones 10 Paris 400
B Mụn TTH - Khoa TVT, i Hc BKHN. C s d liu
- Chng I. Tng quan v CSDL
25
Nhận xét qua ví dụ:
1. Trong mô hình phân cấp, các thực thể quan hệ với nhau
thông qua cấu trúc cây, tất cả tạo nên một rừng cây

Ng ời sử dụng thấy bốn cây tách biệt nhau, hay còn gọi là bốn thể
hiện phân cấp, mỗi cây thể hiện cho một mặt hàng

Mỗi cây thể hiện một bản ghi về đơn đặt hàng gồm dữ liệu mặt
hàng, kèm theo dữ liệu nhà cung cấp và số l ợng

Kiểu dữ liệu của thực thể đóng vai trò nh một gốc (root)

Để xác định chính xác các cây (gốc, chiều đi ) thi cần phải có một
bản thiết kế tổng thể về dữ liệu của các thực thể, các mối liên kết
1.4.2. Mô hình phân cấp (Hierarchical Data Model)

×