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