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

Bài giảng chi tiết môn 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 (1.54 MB, 127 trang )

CƠ SỞ DỮ LIỆU
GV: ThS. Đặng Thị Từ Mỹ
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
Mục đích môn học
1. Cung cấp các khái niệm và kiến thức cơ bản nhất về CSDL và
HQTCSDL.
2. Các mô hình cơ sở dữ liệu.
3. Phân tích các dạng chuẩn hóa CSDL và khái niệm phụ thuộc hàm trong
quá trình phân tích và thiết kế CSDL.
4. 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ệ.
5. Giới thiệu các toán tử và phép toán của đại số quan hệ.
6. 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.
7. 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ỏ.
8. 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)

Là tập hợp dữ liệu liên quan đượ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
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
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 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.
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
(Internal schema)
(Storage structure
definition)
Lược đồ khái niệm
Hệ quản trị
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
B
1
A
2
A
1
B
3

B
2
* Lược đồ ngoài
(External Schema)
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ười sử dụng
Theo mặt cắt dọc
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 những 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
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) 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) 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
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
(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
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 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)
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
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
Hình 2. Dữ liệu mẫu trong dạng quan hệ.
a. 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 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
SP S# P# QT
Y
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
Nhận xét qua ví dụ:
1. Tóm tắt sự tương ứng giữa các khái niệm

a. 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ệ"
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 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 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 toán (tiếp)

Hình 3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối
xứng
a.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.
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ì thoá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ì thoát ra
In ra P#
Đi tới thực hiện Next
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):

a.Mô hình quan hệ (Relational Data Model)
b. 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 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
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ô 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 Red 12 London
S1 Smith 20 London 300
S2 Jones 10 Paris 300
P2 Bolt Gree
n
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

×