cơ sở dữ liệu - fit.hnue.edu.vnfit.hnue.edu.vn/~kienltt/hecsdl/chuong1-tongquancsd.pdf ·...
TRANSCRIPT
CHƢƠNG 1
KHÁI QUÁT VỀ CÁC HỆ CƠ SỞ DỮ LIỆU
Information Systems - FIT – HNUE
Giảng viên: Lê Thị Tú Kiên
NỘI DUNG CHƢƠNG 1
1. Hệ cơ sở dữ liệu
2. Hệ quản trị cơ sở dữ liệu
3. Các mức trừu tƣợng của một hệ cơ sở dữ liệu
4. Tính độc lập giữa dữ liệu và chƣơng trình
5. Một số mô hình cơ sở dữ liệu
Dept. of IS – FIT - HNUE
2
Cơ sở dữ liệu là gì?
Hệ quản trị cơ sở dữ liệu là gì?
Các thành phần của một hệ cơ sở dữ liệu?
Vì sao lại dùng các hệ cơ sở dữ liệu?
1. Hệ cơ sở dữ liệu 3
Dept. of IS – FIT - HNUE
Cơ sở dữ liệu là gì ?
- The tools & services (where they put their data?)
Tất cả dữ liệu của những ứng dụng này đều có CSDL của nó
Dept. of IS – FIT - HNUE
4
Cơ sở dữ liệu là gì?
tích hợp các dữ liệu phản ánh hoạt động của một tổ chức
lƣu trữ trên các thiết bị nhớ
nhiều ngƣời dùng với các mục đích khác nhau
Ví dụ 1: Dữ liệu phản ánh hoạt động của một trƣờng đại học
Các đối tƣợng: sinh viên, giảng viên, học phần,...
Mối quan hệ giữa các đối tƣơng: sinh viên với học phần,...
Ví dụ 2: ?
Ví dụ 3: ?
Dept. of IS – FIT - HNUE
5
Hệ quản trị cơ sở dữ liệu là gì?
Phần mềm cho phép người dùng giao tiếp với CSDL,
cung cấp môi trường thuận lợi và hiệu quả để lưu trữ và
tìm kiếm thông tin trong CSDL.
Dept. of IS – FIT - HNUE
6
Hệ cơ sở dữ liệu là gì ?
Một hệ CSDL gồm: những người dùng, những ứng dụng,
DBMS và DB.
(Cũng có cách gọi khác hẹp hơn: DBMS và DB)
Dept. of IS – FIT - HNUE
7
Chƣơng trình/website/ứng dụng di động/ …
Khai thác, sử dụng DB đều thông qua DBMS
Dept. of IS – FIT - HNUE
10
Tạo DB mới
Cập nhật dữ liệu
Thiết đặt các luật, các ràng buộc để kiểm soát và điều khiển dữ
liệu trong DB
DBMSs là phần mềm rất quan trọng
Dept. of IS – FIT - HNUE
11
Tất cả ngƣời dùng đều tƣơng tác với các ứng dụng
CSDL
Chứa cả siêu dữ liệu (meta-data)
Dept. of IS – FIT - HNUE
12
Tại sao cần đến
các hệ cơ sở dữ liệu ?
Hệ CSDL có thể giải quyết những vấn đề:
Về kích thƣớc
Về cập nhật
Về tính chính xác
Về an ninh
Về tính dƣ thừa thông tin
Về an toàn (không làm mất dữ liệu)
Dept. of IS – FIT - HNUE
15
Tại sao cần đến
các hệ cơ sở dữ liệu ?
Mục đích của một hệ cơ sở dữ liệu:
Lƣu trữ dữ liệu
Cung cấp một cấu trúc phục vụ cho việc tổ chức dữ liệu
(CSDL không chỉ là chỗ đặt dữ liệu vào mà còn thiết đặt
các luật trên dữ liệu để quản lý và khai thác dữ liệu)
Dept. of IS – FIT - HNUE
16
Hỗ trợ cho 1 ứng dụng
Thiết kế đơn giản
Dùng trên 1 máy tính
Tại một thời điểm chỉ hỗ trợ cho 1 ngƣời dùng
Dept. of IS – FIT - HNUE
17
Enterprise – Level Database
System
Cùng một lúc đồng thời hỗ trợ cho một số user
Phục vụ cho hơn một ứng dụng
Chạy trên nhiều máy
Thiết kế phức tạp
Có thể đồng thời khai thác nhiều CSDL
Dept. of IS – FIT - HNUE
18
Đã trả lời các câu hỏi:
Cơ sở dữ liệu là gì?
Hệ quản trị cơ sở dữ liệu là gì?
Các thành phần của một hệ cơ sở dữ liệu?
Vì sao lại dùng các hệ cơ sở dữ liệu?
Phần 1. Hệ cơ sở dữ liệu 20
Dept. of IS – FIT - HNUE
NỘI DUNG CHƢƠNG 1
1. Hệ cơ sở dữ liệu
2. Hệ quản trị cơ sở dữ liệu
3. Các mức trừu tƣợng của một hệ cơ sở dữ liệu
4. Tính độc lập giữa dữ liệu và chƣơng trình
5. Một số mô hình cơ sở dữ liệu
Dept. of IS – FIT - HNUE
21
Các phƣơng tiện đƣợc cung cấp bởi HQTCSDL
Các chức năng
Sơ lƣợc về sự phát triển các HQTCSDL
2. Hệ quản trị cơ sở dữ liệu 22
Dept. of IS – FIT - HNUE
Hệ quản trị cơ sở dữ liệu
Một hệ quản trị cơ sở dữ liệu (DBMS - DataBase Management
System) là một bộ chương trình cho chúng ta tạo lập, khai thác, bảo
trì cơ sở dữ liệu. Nó là một gói phần mềm chuyên dụng để chúng ta
định nghĩa, xây dựng CSDL và thao tác trên dữ liệu phục vụ cho các
ứng dụng khác nhau.
23
DBMS Database containing centralized
shared data
Application #1
Application #2
Application #3
DBMS manages data resources like an
operating system manages hardware
resources Dept. of IS – FIT - HNUE
Các thành phần của HQTCSDL
a) Ngôn ngữ định nghĩa dữ liệu (Data Definition
Language - DDL)
b) Ngôn ngữ thao tác dữ liệu (Data Manipulation
Language - DML)
c) Các kiểm soát, các điều khiển đối với truy cập
Dept. of IS – FIT - HNUE
24
Các thành phần của HQTCSDL
a) Ngôn ngữ định nghĩa dữ liệu (DDL)
- đặc tả kiểu và các cấu trúc dữ liệu
- đặc tả các ràng buộc trên các dữ liệu
- siêu dữ liệu (từ điển dữ liệu)
Dept. of IS – FIT - HNUE
25
Các thành phần của HQTCSDL
b) Ngôn ngữ thao tác dữ liệu (DML)
- tìm kiếm thông tin
- thêm thông tin mới vào
- siêu dữ liệu (từ điển dữ liệu)
Dept. of IS – FIT - HNUE
26
Các thành phần của HQTCSDL
b) Ngôn ngữ thao tác dữ liệu (DML)
có 2 loại:
+ Thủ tục: (What? & How?)
+ Phi thủ tục (What?)
SQL là một ngôn ngữ phi thủ tục điển hình, thông dụng trong
các DBMS
Dept. of IS – FIT - HNUE
27
Các thành phần của HQTCSDL
c) Các kiểm soát, các điều khiển đối với việc truy
cập dữ liệu
- An ninh
- Ràng buộc toàn vẹn
- điều khiển tƣơng tranh
- khôi phục dữ liệu khi có sự cố
Dept. of IS – FIT - HNUE
28
Các chức năng cơ bản của một DBMS
Dept. of IS – FIT - HNUE
29
Các hệ quản trị CSDL khác nhau về chất lượng và khả
năng đáp ứng nhu cầu thực tế.
Luôn phát triển theo hướng đáp ứng các đòi hỏi ngày
càng cao hơn của người dùng
Các chức năng cơ bản của một DBMS
Dept. of IS – FIT - HNUE
30
1. Khả năng lưu trữ, truy xuất và cập nhật dữ liệu
2. Từ điển dữ liệu.
3. Hỗ trợ các giao tác
Minh họa 1 tình huống cần hỗ trợ các
giao tác
Dept. of IS – FIT - HNUE
31
Tài khoản A Tài khoản B 1 triệu đồng
Không thể chỉ làm 1 trong 2 việc này
Các chức năng cơ bản của một DBMS
Dept. of IS – FIT - HNUE
32
1. Khả năng lưu trữ, truy xuất và cập nhật dữ liệu
2. Từ điển dữ liệu.
3. Hỗ trợ các giao tác
4. Điều khiển tương tranh
5. Khôi phục dữ liệu
6. Dịch vụ bản quyền
7. Hỗ trợ truyền thông
8. Bảo đảm tính toàn vẹn dữ liệu
Các chức năng cơ bản của một DBMS
Dept. of IS – FIT - HNUE
33
Ngoài ra có thêm
Các dịch vụ hỗ trợ cho tính độc lập dữ liệu
Cung cấp một số tiện ích
-
Một số sản phẩm DBMS
Ví dụ HQTCSDL dùng trên máy tính cá nhân
- MS. Access
Ví dụ HQTCSDL dùng cho các tổ chức
- MS. SQL server
- Oracle
- MySQL
- DB2
Ví dụ HQTCSDL NoSQL
- MongoDB, Casscandra, Couchbase, Neo4j
Ví dụ HQTCSDL dùng cho thiết bị di động
- SQLite
40
Dept. of IS – FIT - HNUE
Đã trả lời câu hỏi
Vì sao chúng ta dùng các hệ CSDL ?
Các phƣơng tiện đƣợc cung cấp bởi HQTCSDL ?
Các chức năng của HQTCSDL ?
2. Hệ quản trị cơ sở dữ liệu 41
Dept. of IS – FIT - HNUE
NỘI DUNG CHƢƠNG 1
1. Hệ cơ sở dữ liệu
2. Hệ quản trị cơ sở dữ liệu
3. Các mức trừu tƣợng của một hệ cơ sở dữ liệu
4. Tính độc lập giữa dữ liệu và chƣơng trình
5. Một số mô hình cơ sở dữ liệu
Dept. of IS – FIT - HNUE
42
Kiến trúc ba mức của hệ CSDL
Vì sao một hệ CSDL tổ chức thành 3 mức?
Lƣợc đồ và thể hiện của một CSDL
3. Các mức trừu tƣợng của một hệ CSDL 43
Dept. of IS – FIT - HNUE
Vì sao một hệ CSDL tổ chức thành 3
mức trừu tƣợng?
Tách ngƣời dùng khỏi chi tiết kỹ thuật phức
tạp của máy tính:
- Khung nhìn phù hợp, có thể thay đổi khi cần
- Không phụ thuộc chi tiết kỹ thuật
- Có thể thay đổi cấu trúc lƣu trữ, hay cấu trúc khái
niệm (logic) mà không ảnh hƣởng đến tất cả ngƣời
dùng
Dept. of IS – FIT - HNUE
48
Lƣợc đồ và thể hiện của một hệ CSDL
Toàn bộ mô tả CSDL đƣợc gọi là lƣợc đồ
CSDL
Tƣơng ứng với 3 mức mô tả, có 1 lƣợc đồ vật
lý, 1 lƣợc đồ logic và nhiều lƣợc đồ ngoài (lƣợc
đồ con).
Dept. of IS – FIT - HNUE
49
Dept. of IS – FIT - HNUE
51
Lược đồ con
Lược đồ con
Lược đồ con
Lược đồ khái niệm
Lược đồ vật lý
Lƣợc đồ và thể hiện của một hệ CSDL
Lƣợc đồ và thể hiện của một hệ CSDL
Toàn bộ dữ liệu lƣu trữ trong CSDL tại một thời
điểm nhất định đƣợc gọi là một thể hiện của
CSDL (database instance).
Nhƣ vậy nhiều thể hiện của CSDL có thể tƣơng
ứng với cùng một lƣợc đồ CSDL.
Dept. of IS – FIT - HNUE
52
Lƣợc đồ và thể hiện của một hệ CSDL
Cần phân biệt lƣợc đồ và thể hiện
Khi nói đến lƣợc đồ là nói đến những tính chất
bất biến của CSDL (đƣợc quy định khi thiết kế)
Khi nói đến thể hiện là nói đến một trạng thái của
CSDL (CSDL với dữ liệu tại thời điểm đó).
Dept. of IS – FIT - HNUE
53
Hiểu kiến trúc ba mức của hệ CSDL
Vì sao một hệ CSDL tổ chức thành 3 mức?
Phân biệt Lƣợc đồ và thể hiện của một CSDL
3. Các mức trừu tƣợng của một hệ CSDL 54
Dept. of IS – FIT - HNUE
NỘI DUNG CHƢƠNG 1
1. Hệ cơ sở dữ liệu
2. Hệ quản trị cơ sở dữ liệu
3. Các mức trừu tƣợng của một hệ cơ sở dữ liệu
4. Tính độc lập giữa dữ liệu và chƣơng trình
5. Một số mô hình cơ sở dữ liệu
Dept. of IS – FIT - HNUE
55
Độc lập dữ liệu (data independence) là gì
Độc lập dữ liệu ở mức vật lý
Độc lập dữ liệu ở mức logic
4. Tính độc lập giữa dữ liệu
và chƣơng trình 56
Dept. of IS – FIT - HNUE
Độc lập dữ liệu là gì?
Các lƣợc đồ ở mức trên không bị ảnh hƣởng khi
có sự thay đổi các lƣợc đồ ở các mức dƣới.
Dept. of IS – FIT - HNUE
57
Độc lập dữ liệu (data independence) là gì
Độc lập dữ liệu ở mức vật lý
Độc lập dữ liệu ở mức logic
4. Tính độc lập giữa dữ liệu
và chƣơng trình 60
Dept. of IS – FIT - HNUE
NỘI DUNG CHƢƠNG 1
1. Hệ cơ sở dữ liệu
2. Hệ quản trị cơ sở dữ liệu
3. Các mức trừu tƣợng của một hệ cơ sở dữ liệu
4. Tính độc lập giữa dữ liệu và chƣơng trình
5. Một số mô hình cơ sở dữ liệu
Dept. of IS – FIT - HNUE
61
Mô hình dữ liệu là gì?
Mô hình vật lý
Mô hình logic
5. Một số mô hình CSDL 62
Dept. of IS – FIT - HNUE
Mô hình dữ liệu là gì?
Mô hình dữ liệu là một tập các khái niệm và kí
pháp dùng để mô tả dữ liệu:
cấu trúc của CSDL
các thao tác, phép toán trên dữ liệu
các ràng buộc toàn vẹn
Dept. of IS – FIT - HNUE
63
Mô hình dữ liệu vật lý
tập trung vào những chi tiết cho biết dữ liệu
đƣợc lƣu trữ thế nào
còn gọi là các mô hình dữ liệu bậc thấp.
Dept. of IS – FIT - HNUE
64
Mô hình dữ liệu logic
tập trung vào bản chất logic của biểu diễn
dữ liệu,
còn gọi là các mô hình dữ liệu bậc cao.
Dept. of IS – FIT - HNUE
65
Mô hình logic trên cơ sở đối tƣợng
(Object-Based Data Model)
Mô hình thực thể -mối quan hệ (E-R)
Mô hình hƣớng đối tƣợng
Dept. of IS – FIT - HNUE
66
Mô hình hƣớng đối tƣợng
Một đối tƣợng chứa các biến thể hiện và các
phương thức
đối tƣợng cùng các kiểu giá trị và cùng các
phƣơng thức đƣợc nhóm thành lớp.
hai đối tƣợng chứa cùng các giá trị vẫn có
thể là khác nhau.
Dept. of IS – FIT - HNUE
68
Mô hình logic trên cơ sở bản ghi
(Record-Based Data Model)
Mô hình quan hệ (E-R)
Mô hình mạng
Mô hình phân cấp
Dept. of IS – FIT - HNUE
69
Mô hình quan hệ
Dept. of IS – FIT - HNUE
70
Dữ liệu đƣợc thể hiện trong các bảng.
Mỗi dòng: thông tin về một đối tƣợng cụ thể
(bản ghi hay một bộ).
Mỗi giá trị: thông tin về một thuộc tính
Mối liên kết giữa các đối tƣợng (liên kết giữa
các bảng): sự xuất hiện trùng lặp của một số
thuộc tính ở hơn một bảng.
Mô hình mạng
Dữ liệu: một tập các bản ghi
Mối quan hệ: mối nối (link)
Xuất phát từ một bản ghi có thể có nhiều mối nối
đến những bản ghi khác.
Phân biệt đối tƣợng là chủ của liên kết và những
đối tƣợng thành phần của liên kết.
Dept. of IS – FIT - HNUE
72
Mô hình phân cấp
Dữ liệu: tập các bản ghi
Mối quan hệ: mối nối
Khác với mô hình mạng: mối quan hệ thể
hiện theo kiểu cha – con nhƣ các cây mà
không là các đồ thị bất kỳ.
Dept. of IS – FIT - HNUE
74
Vì sao mô hình quan hệ phổ biến hơn?
Mô hình quan hệ: các bản ghi liên kết với nhau
nhờ chính các giá trị chứa trong chúng. (không
dùng các con trỏ hay mối nối)
Các Mô hình mạng và phân cấp đòi hỏi những hiểu
biết ở mức vật lý về CSDL.
Dept. of IS – FIT - HNUE
76
CSDL là gì?
Một CSDL là một tập hợp các dữ liệu có liên
quan với nhau về mặt logic, đƣợc thiết kế để lƣu
trữ thông tin phục vụ cho hoạt động của một tổ
chức.
Dept. of IS – FIT - HNUE
78
Hệ QT CSDL là gì và vai trò của nó?
Một hệ quản trị CSDL là một hệ thống phần
mềm cung cấp cho ngƣời dùng một môi trƣờng
thuận lợi và hiệu quả để định nghĩa, tạo lập, bảo
trì CSDL và cung cấp những truy cập đƣợc kiểm
soát đến CSDL.
Dept. of IS – FIT - HNUE
79
Các mô hình CSDL
Mô tả: một tập hợp dữ liệu, các thao tác trên
tập dữ liệu đó và tập các luật đảm bảo tính
toàn vẹn của dữ liệu.
Mô hình logic mô tả dữ liệu ở mức khái niệm
và ở các mức ngoài.
Mô hình vật lý để mô tả dữ liệu ở mức trong.
Dept. of IS – FIT - HNUE
80
Mô hình quan hệ rất phổ biến
Các hệ CSDL phổ biến hiện nay dựa trên mô
hình quan hệ.
Thông tin của những hệ CSDL nhƣ vậy đƣợc
tổ chức trong các bảng và ngôn ngữ SQL là
ngôn ngữ thông dụng nhất đƣợc sử dụng.
Dept. of IS – FIT - HNUE
81
Câu hỏi ôn tập và gợi ý tìm hiểu thêm
(1) Việc sử dụng các hệ QTCSDL đã đem lại
cho chúng ta những lợi ích nào?
Dept. of IS – FIT - HNUE
82
Câu hỏi ôn tập và gợi ý tìm hiểu thêm
(2) Khi nào chúng ta nên lƣu trữ dữ liệu trong
CSDL và khi nào nên dùng các tệp đƣợc quản lí
trực tiếp bởi hệ điều hành?
Dept. of IS – FIT - HNUE
83
Câu hỏi ôn tập và gợi ý tìm hiểu thêm
(3) Xác định các thành phần chính trong một
DBMS và giải thích ngắn gọn chức năng của
mỗi thành phần đó.
Dept. of IS – FIT - HNUE
84
Câu hỏi ôn tập và gợi ý tìm hiểu thêm
(2) Tìm hiểu vai trò của con ngƣời trong xây
dựng và khai thác hệ CSDL:
- Quản trị CSDL (DBA)
- Thiết kế logic
- Thiết kế vật lí
- Lập trình ứng dụng
- Người dùng đầu cuối
Dept. of IS – FIT - HNUE
85