Cơ sở dữ liệu - fit.hnue.edu.vnfit.hnue.edu.vn/~kienltt/HeCSDL/Chuong1-TongQuanCSD.pdf ·...

86
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 [email protected]

Transcript of Cơ sở dữ liệu - fit.hnue.edu.vnfit.hnue.edu.vn/~kienltt/HeCSDL/Chuong1-TongQuanCSD.pdf ·...

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

[email protected]

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

Hệ cơ sở dữ liệu

Dept. of IS – FIT - HNUE

8

Con ngƣời/ chƣơng trình

Đều khai thác DB nhờ DBMS

Dept. of IS – FIT - HNUE

9

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

EXCELL

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

Dept. of IS – FIT - HNUE

19

Đã 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

-

DBMS Architecture

Dept. of IS – FIT - HNUE

34

DBMS Architecture

Dept. of IS – FIT - HNUE

35

DBMS Architecture

Dept. of IS – FIT - HNUE

36

DBMS Architecture

Dept. of IS – FIT - HNUE

37

DBMS Architecture

Dept. of IS – FIT - HNUE

38

DBMS Architecture

Dept. of IS – FIT - HNUE

39

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

Kiến trúc 3 mức của hệ CSDL

Dept. of IS – FIT - HNUE

44

HOW ?

Kiến trúc 3 mức của hệ CSDL

Dept. of IS – FIT - HNUE

45

HOW ?

WHAT ?

Kiến trúc 3 mức của hệ CSDL

Dept. of IS – FIT - HNUE

46

HOW ?

WHAT ?

Kiến trúc 3 mức của hệ CSDL

Dept. of IS – FIT - HNUE

47

HOW ?

WHAT ?

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

50

Lƣợc đồ và thể hiện của một hệ CSDL

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

Dept. of IS – FIT - HNUE

58

Dept. of IS – FIT - HNUE

59

Độ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 E-R (Entity-Relationship)

Dept. of IS – FIT - HNUE

67

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 quan hệ

Dept. of IS – FIT - HNUE

71

Một CSDL quan hệ mẫu (đơn vị tiền: 1 triệu đồ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 mạng

Một CSDL mạng mẫu

Dept. of IS – FIT - HNUE

73

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

Mô hình phân cấp

Dept. of IS – FIT - HNUE

75

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

TÓM TẮT

CHƢƠNG 1

KHÁI QUÁT VỀ CÁC HỆ CƠ SỞ DỮ LIỆU

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

CẢM ƠN CÁC BẠN