cÁc hỆ quẢn trỊ cƠ sỞ dỮ liỆu · 2020. 9. 10. · cÁc hỆ quẢn trỊ cƠ sỞ...

33
CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU CHƯƠNG 1 TỔNG QUAN VỀ HỆ QUẢN TRỊ CSDL KHOA CÔNG NGHỆ THÔNG TIN Giảng viên: Đỗ Ngọc Như Loan Người biên soạn: Nguyễn Thị Uyên Nhi

Upload: others

Post on 22-Nov-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

CÁC HỆ QUẢN TRỊ

CƠ SỞ DỮ LIỆU

CHƯƠNG 1

TỔNG QUAN VỀ HỆ QUẢN TRỊ

CSDL

KHOA CÔNG NGHỆ THÔNG TIN

Giảng viên: Đỗ Ngọc Như Loan

Người biên soạn: Nguyễn Thị Uyên Nhi

Page 2: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

NỘI DUNG

2

SG

U -

CN

TT

-C

ác hệ q

uản

trị CS

DL

1. Nhắc lại kiến thức CSDL

2. Khái niệm Hệ quản trị CSDL

Page 3: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

CSDL quan hệ:

Tách biệt giữa mô hình và tổ chức lưu trữ Dựa trên nền tảng toán học

Chỉ mục (Index)

CSDL quan hệ Tối ưu hóa, xử lý câu truy vấn

Nâng cao khả năng hoạt động

3

SG

U -

CN

TT

-C

ác hệ q

uản

trị CS

DL

Page 4: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

CSDL hướng đối tượng:

Sử dụng mô hình HĐT

CSDL HĐT Kiểu dữ liệu trừu tượng, sự kế thừa

Đóng gói, đa hình, tái sử dụng

- Phức tạp, ít tính phổ biến

- Chỉ được sử dụng cho ứng dụng

chuyên biệt (Oracle 8, PostgreSQL)

4

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 5: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

Cách tiếp cận CSDL:

5

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 6: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

Cách tiếp cận CSDL:

Giảm thiểu trùng lặp thông tin

Ưu điểm Đảm bảo tính nhất quán, toàn vẹn DL

Khả năng chia sẻ cho nhiều người dùng

và ứng dụng

6

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 7: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

Các loại mô hình dữ liệu:

Mô hình dữ liệu phân cấp

Mô hình dữ liệu mạng

Mô hình dữ liệu quan hệ

Mô hình thực thể kết hợp

Mô hình dữ liệu hướng đối tượng

7

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 8: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

Mô hình dữ liệu quan hệ: Thuộc tính, Lược đồ quan hệ,

Bộ, Quan hệ, Khóa.

8

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 9: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

Mô hình thực thể kết hợp: Thực thể, Thuộc tính, Mối

quan hệ

9

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 10: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

1. NHẮC LẠI KIẾN THỨC

Mô hình dữ liệu hướng đối tượng: dựa trên cách tiếp

cận hướng đối tượngbao gồm các khái niệm

– Lớp (class)

– Kế thừa (inheritance)

– Kế thừa bội (multi-inheritance)

– Tính đóng gói (encapsulation)

– Tính đa hình (polymorphism)

– Tái sử dụng (reuse)

10

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 11: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

2. GIỚI THIỆU HỆ QUẢN TRỊ CSDL

a) Khái niệm: Database Management System ─ Hệ

quản trị CSDL là phần mềm chuyên dụng nhằm hỗ trợ

việc lưu trữ, khai thác và quản trị CSDL.

b) Chức năng của hệ quản trị CSDL:

o Định nghĩa CSDL (Defining): Xác định cấu trúc, kiểu

dữ liệu

o Xây dựng CSDL (Constructing): Lưu trữ dữ liệu

o Thao tác CSDL (Manipulating): Định nghĩa hàm, thủ

tục, truy vấn,…

o Bảo mật CSDL (Security): Chứng thực, phân quyền truy

cập

o Chia sẻ CSDL (Sharing): Xử lý tranh chấp11

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 12: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

2. GIỚI THIỆU HỆ QUẢN TRỊ CSDL

c) Các ngôn ngữ:

12

DDL (Data Definition

Language)

– định nghĩa cấu trúc của

CSDL

– định nghĩa các mối liên hệ

của dữ liệu, các quy tắc

SDL (Storage Definition

Language)

– định nghĩa cách tổ chức, lưu

trữ vật lý của CSDL

DML (Data Manipulation

Language)

– cập nhật dữ liệu: thêm, xóa,

sửa

DML thủ tục (Low-level hay Procedural DML):

Được nhúng trong một ngôn ngữ lập trình khác

DML phi thủ tục (High-level hay Nonprocedural

DML): Ngôn ngữ truy vấn thủ tục riêng

Page 13: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

2. GIỚI THIỆU HỆ QUẢN TRỊ CSDL

Giao diện

– Thực đơn (Menu based Interfaces)

– Giao diện form (Forms-based Interfaces)

– Giao diện đồ họa (GUI)

– Ngôn ngữ tự nhiên (Natural Language Interfaces)

– Giao diện cho DBA & người dùng thông thường

13

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 14: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

3. PHÂN LOẠI HỆ QUẢN TRỊ CSDL

Các tiêu chí phân loại:

a) Mô hình dữ liệu

b) Người sử dụng

c) Tổ chức khai thác

d) Mục đích sử dụng

14

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 15: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

3. PHÂN LOẠI HỆ QUẢN TRỊ CSDL

a) Mô hình dữ liệu:

Mô hình dữ liệu phân cấp

Mô hình dữ liệu mạng

Mô hình dữ liệu quan hệ

Mô hình thực thể kết hợp

Mô hình dữ liệu hướng đối tượng

b) Người sử dụng

1 người sử dụng (single user)

nhiều người sử dụng (multi user)

15

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 16: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

3. PHÂN LOẠI HỆ QUẢN TRỊ CSDL

c) Tổ chức khai thác:

CSDL tập trung trên 1 máy chủ và 1 CSDL

CSDL phân tán (nhiều trạm, nhiều CSDL)

d) Mục đích sử dụng:

Mục đích thông dụng (OLTP)

Mục đích đặc biệt: đặt vé máy bay, hệ thống danhmục điện thoại…DBMS cần phải hỗ trợ chức năng giảiquyết tranh chấp đồng thời lớn

Phân tích dữ liệu16

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 17: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4. KIẾN TRÚC HỆ QUẢN TRỊ CSDL

Hệ CSDL = CSDL + Hệ quản trị CSDL

17

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 18: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4. KIẾN TRÚC HỆ QUẢN TRỊ CSDL

18

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 19: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4. KIẾN TRÚC HỆ QUẢN TRỊ CSDL

Các loại kiến trúc

4.1. Kiến trúc Three-Schema (kiến trúc ba lược đồ)

4.2. Tổ chức hệ CSDL

19

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 20: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.1. KIẾN TRÚC THREE-SCHEMA

20

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 21: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.1. KIẾN TRÚC THREE-SCHEMA

21

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Mức bên trong (Internal

Level)

– Mô tả cách tổ chức vật lý

của CSDL

– Mô tả cấu trúc lưu trữ

dùng để truy xuất thông

tin hiệu quả

– Sử dụng lược đồ dữ liệu

vật lý (Internal Schema)

Page 22: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.1. KIẾN TRÚC THREE-SCHEMA

22

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Mức quan niệm

(Conceptual Level)

– Mô hình hóa thế giới thực

– Định nghĩa cấu trúc, kiểu

dữ liệu

– Sử dụng mô hình quan

niệm dữ liệu (Conceptual

Schema)

Page 23: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.1. KIẾN TRÚC THREE-SCHEMA

23

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Mức bên ngoài (External

Level)

– Mô tả các khung nhìn

bên ngoài (External view)

của end-users

– Đảm bảo mức độ an

toàn dữ liệu: chỉ có

những người có quyền hạn

mới truy cập được dữ liệu

liên quan

Page 24: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.1. KIẾN TRÚC THREE-SCHEMA

24

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Ánh xạ (Mapping) : Phát sinh yêu cầu và trả về kết quả

giữa các mức

Page 25: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.1. KIẾN TRÚC THREE-SCHEMA

25

Kiến trúc Three-Schema thể

hiện tính độc lập dữ liệu:

a) Độc lập dữ liệu ở mức vật lý:

Việc tổ chức lại hay thay đổi

CSDL vật lý chỉ làm thay đổi

hiệu quả tính toán của chương

trình ứng dụng mà không đòi hỏi

phải viết lại chương trình.

b) Độc lập dữ liệu ở mức logic:

Việc thay đổi lược đồ quan

niệm như: thêm thông tin,

thay đổi ràng buộc, thêm thực

thể… không làm thay đổi, ảnh

hưởng đến chương trình ứng

dụng.

Page 26: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.2. TỔ CHỨC HỆ CSDL

a) Kiến trúc HQT CSDL tập trung Centralized DBMS:

1 server

– HQT-CSDL (SQL Server, Oracle, …)

– Phần mềm triển khai + tiện ích (.NET, …)

– Chương trình ứng dụng (Quản lý khách sạn, …)

26

SG

U -

CN

TT

-C

áchệ

quản

trịC

SD

L

Page 27: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.2. TỔ CHỨC HỆ CSDL

b) Kiến trúc Client/Server

Server thực hiện các chức năng chuyên biệt:– File Server

– Printer Server

– Web Server

– Email Server

Client kết nối với server (LAN, WAN) thực hiện một số chứcnăng:

– Giao tiếp giữa người dùng và hệ thống

– Gửi yêu cầu được truy cập tài nguyên tại server

ODBC (Open Database Connectivity) cung cấp API(Application Program Interface) cho phép từ Client cóthể gọi thực hiện ứng dụng trên HQT –CSDL

Từ Client có thể kết nối với nhiều HQT-CSDL

Hầu hết các HQT -CSDL hiện nay đều cung cấp driverODBC 27

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

Page 28: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.2. TỔ CHỨC HỆ CSDL

c) Kiến trúc 3 lớp Client/Server

Bổ sung tầng trung gian gọi là Application Server hay Web

Server

Đóng vai trò cầu nối trung gian giữa việc chuyển đổi

thông tin từ client đến server

Chứa phần mềm kết nối, quy tắc ràng buộc dữ liệu,…

Phổ biến đối với các ứng dụng Web

28

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

Page 29: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

4.2. TỔ CHỨC HỆ CSDL

29

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

Giải mã dữ liệu tại phía Client

Mã hóa dữ liệu trước khi chuyển đổi

Page 30: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

5. ĐỐI TƯỢNG XÂY DỰNG VÀ SỬ DỤNG HQT

CSDL

30

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

5.1. Đối tượng xây dựng HQT CSDL:

Page 31: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

5. ĐỐI TƯỢNG XÂY DỰNG VÀ SỬ DỤNG HQT

CSDL

31

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

5.1. Đối tượng xây dựng HQT CSDL:

NV thiết kế HQT -CSDL (System Designer): Thiết

kế, xây dựng các module chức năng của HQT CSDL.

NV phát triển công cụ (Tool developer): Thiết kế

xây dựng các công cụ tiện ích giúp khai thác hiệu quả

HQT CSDL.

NV điều hành, bảo trì (Maintenance personnel):

Vận hành và bảo trì môi trường phần cứng, phần mềm

cho HQT CSDL.

Page 32: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

5. ĐỐI TƯỢNG XÂY DỰNG VÀ SỬ DỤNG HQT

CSDL

32

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

5.1. Đối tượng sử dụng HQT CSDL:

Page 33: CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU · 2020. 9. 10. · CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ... trữ vật lý của CSDL DML (Data Manipulation Language) –cậpnhậtdữliệu:

5. ĐỐI TƯỢNG XÂY DỰNG VÀ SỬ DỤNG HQT

CSDL

33

SG

U -

CN

TT

-C

áchệ

qu

ảntrị

CS

DL

Quản trị CSDL (DBA): quản lý hệ thống CSDL

(cấp quyền truy cập, giám sát người dùng,…).

Thiết kế CSDL (DB Designer): thiết kế cấu trúc, tổ

chức lưu trữ CSDL,…

Lập trình viên (Programmer): cài đặt các giao dịch,

chương trình ứng dụng phục vụ cho người dùng cuối.

Người dùng cuối (End-user):

Người dùng không chuyên nghiệp: khai thác CSDL thông qua

các chương trình ứng dụng, các ngôn ngữ giao tiếp thân thiện

(form,…)

Người dùng chuyên nghiệp: có thể khai thác CSDL thông qua

chương trình ứng dụng, ngôn ngữ giao tiếp thân thiện và HQT-

CSDL