CƠ SỞ DỮ LIỆU (DATA BASE)

Phạm Thị Anh Lê Khoa CNTT - Đại học Sư Phạm Hà Nội

1

NỘI DUNG

n Chương 1: Các khái niệm cơ bản về hệ CSDL n Chương 2: Mô hình hoá dữ liệu n Chương 3: Thiết kế cơ sở dữ liệu logic n Chương 4: Thiết kế cơ sở dữ liệu vật lý

2

TÀI LIỆU THAM KHẢO

n Hồ Thuần, Hồ Cẩm Hà, Các hệ CSDL – Lý thuyết và thực

n H.Garcia Monila, J.D.Ullman, and J.Widom, Database

hành, Tập 1,2 – NXB Giáo dục, 2005

n Ullman J.D., Principles of Database and Knowledge-base n Slide bài giàng:

Systems: The Complete Book

3

https://sites.google.com/view/lepta/giảng-dạy/đại-học

ĐÁNH GIÁ

n Chuyên cần: 10%

n Vắng số buổi học < 10%: 10 n Vắng số buổi học từ 10% đến 20%: 5 n Vắng số buổi học > 20%: 0

n Điều kiện: 30% (Tính theo các bài kiểm tra và bài tập)

n Bài tập: SV làm và nộp đầy đủ các bài tập trên hệ thống quản lý học tập,

không nộp bài đúng hạn được 0 điểm, không được sao chép

n Kiểm tra viết 50 phút (tuần 10)

n Thi cuối kỳ: 60%

n Thi trắc nghiệm 30 phút (30%) n Báo cáo bài tập lớn (70%)

4

KẾ HOẠCH MÔN HỌC

n Chương 1: 3 tiết (LT + BT) n Chương 2: 6 tiết (LT + BT) n Chương 3: 30 tiết (LT + BT + TH) n Chương 4: 6 tiết (LT + BT)

5

CHƯƠNG I

CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ CƠ SỞ DỮ LIỆU

6

CSDL là gì? Tại sao cần tới các hệ CSDL?

n Dữ liệu: biểu diễn được lưu trữ của các đối tượng có ý nghĩa và các sự kiện

n Có cấu trúc: số, văn bản, ngày tháng n Phi cấu trúc: hình ảnh, video, tài liệu

n Thông tin: dữ liệu được xử lý để tăng sự hiểu biết cho người sử dụng dữ liệu n Siêu dữ liệu: dữ liệu mô tả các thuộc tính và ngữ cảnh của dữ liệu người dùng

7

CSDL là gì? Tại sao cần tới các hệ CSDL?

Dữ liệu trong ngữ cảnh

8

Ngữ cảnh giúp người dùng hiểu được dữ liệu

CSDL là gì? Tại sao cần tới các hệ CSDL?

Dữ liệu tóm tắt Dữ liệu được chuyển thành thông tin hữu ích giúp người quản lý đưa ra quyết định và giải thích 9

CSDL là gì? Tại sao cần tới các hệ CSDL?

10

Mô tả các thuộc tính hoặc đặc điểm của dữ liệu, bao gồm kiểu dữ liệu, kích thước trường, giá trị cho phép và ngữ cảnh dữ liệu

CSDL là gì? Tại sao cần tới các hệ CSDL?

11

Tất cả các ứng dụng đều cần đến CSDL

CSDL là gì? Tại sao cần tới các hệ CSDL?

Nhược điểm của việc lưu trữ thông tin của một tổ chức trong một hệ xử lý tệp: n Dư thừa dữ liệu và không nhất quán n Khó khăn trong việc truy cập dữ liệu n Sự cô lập của dữ liệu n Các vấn đề toàn vẹn n Các vấn đề về tính nguyên tố của các giao tác n Các dị thường của truy cập tương tranh n Các vấn đề an toàn

12

I.1. CSDL là gì? Tại sao cần tới các hệ CSDL?

CSDL ra đời nhằm giải quyết các vấn đề nêu trên CSDL

n Một tập các dữ liệu có liên quan với nhau chứa thông tin về một tổ chức nào đó. n Được lưu trữ trên các thiết bị nhớ thứ cấp.

HQT CSDL

n Phần mềm cho phép người dùng giao tiếp với CSDL. n Cung cấp môi trường thuận lợi và hiệu quả để tìm kiếm và lưu trữ thông tin của CSDL.

13

I.1. CSDL là gì? Tại sao cần tới các hệ CSDL?

Hệ CSDL nói đến một CSDL cùng với HQTCSDL

để truy cập CSDL đó

Mục đích chính của hệ CSDL: cung cấp cho người dùng một cách nhìn trừu tượng về dữ liệu (che dấu những chi tiết phức tạp về cách thức dữ liệu được lưu trữ và bảo trì)

14

I.2. Kiến trúc 3 mức của một hệ CSDL

Mức khung nhìn

Khung nhìn 1 Khung nhìn 2 Khung nhìn n

Mức lôgic

15

Mức vật lý

I.3. Lược đồ và thể hiện của CSDL Lược đồ CSDL (database schema):

n Toàn bộ mô tả của CSDL. n Có 3 loại lược đồ: lược đồ trong, lược đồ khái niệm, lược đồ ngoài.

Thể hiện của CSDL (database instance):

n Toàn bộ dữ liệu lưu trữ trong CSDL tại một thời điểm nhất định. n Nhiều thể hiện của CSDL có thể tương ứng với một lược đồ CSDL.

16

I.4. Sự độc lập của dữ liệu

Lược đồ ngoài Lược đồ ngoài Lược đồ ngoài

Độc lập DL mức logic Ánh xạ mức ngoài/mức khái niệm

Lược đồ khái niệm

Ánh xạ mức khái niệm/mức trong Độc lập DL mức vật lí

17

Lược đồ trong

I.5. Những cách tiếp cận một CSDL

Mô hình CSDL là một tập hợp các khái niệm và kí pháp dùng để mô tả DL, các mối quan hệ của DL và các ràng buộc trên DL của một tổ chức. Một mô hình CSDL gồm 3 thành phần:

n Phần mô tả cấu trúc của CSDL. n Phần mô tả các thao tác, định nghĩa các phép toán được phép trên dữ liệu. n Phần mô tả các ràng buộc toàn vẹn để đảm bảo sự chính xác của dữ liệu.

18

I.5.1. Các mô hình logic trên cơ sở đối tượng (Object-Based Data Models)

Mô hình thực thể - quan hệ

n Thực thể: một “vật” tồn tại, độc lập, phân biệt được với các “vật” khác. Ví dụ: một cá nhân, một quyển sách, một dự án, … n Mối quan hệ: thể hiện một liên kết giữa nhiều thực thể. n Ràng buộc: là các bản số (lực lượng) của ánh xạ, biểu thị số các thực thể được liên kết với một tập thực thể thông qua một tập mối quan hệ.

19

I.5.1. Các mô hình logic trên cơ sở đối tượng (Object-Based Data Models)

Mô hình thực thể - quan hệ

Tên KH Số dư

Số CMT

Số TK

Người_gửi

TP

20

Tài_khoản Khách hàng

I.5.1. Các mô hình logic trên cơ sở đối tượng (Object-Based Data Models)

Mô hình hướng đối tượng

n Đối tượng: chứa các thuộc tính, phương thức. n Lớp: tập các đối tượng có cùng tập thuộc tính, phương thức. n Thông báo: một đối tượng có thể truy cập tới dữ liệu của đối tượng khác bằng cách gọi tới phương thức của đối tượng đó.

21

I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)

Mô hình quan hệ

n Dữ liệu được thể hiện trong các bảng. Mỗi bảng gồm các dòng (bản ghi) và cột (trường| thuộc tính). n Một liên kết giữa các bảng: nhờ vào sự xuất hiện trùng lặp của một số thuộc tính ở hơn một bảng.

22

I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)

Mô hình quan hệ Tên KH

Số CMT

TP

Số TK

Ban Giao

CM1024 CM5566

Hà Nội Yên Bái

A101 A215

Số TK Số dư

23

A101 A215 A217 5.0 7.0 6.5

I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)

Mô hình mạng

n Dữ liệu được biểu diễn bởi một tập các bản ghi (giống các bản ghi của Pascal) n Mối liên kết: được biểu diễn bởi các mối nối (links) có thể được xem như những con trỏ, phân biệt đối tượng là chủ của liên kết và các đối tượng thành phần.

Sơ đồ các bản ghi cùng các liên kết giữa

chúng là tập các đồ thị.

24

I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)

Mô hình mạng

A101 5.0

Ban CM1024 Hà Nội

A215 7.0

Giao CM5566 Yên Bái

25

A217 6.5

I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)

Mô hình phân cấp

n Dữ liệu được biểu diễn bởi một tập các bản ghi (giống các bản ghi của Pascal) n Mối liên kết: được biểu diễn bởi các mối nối (links) có thể được xem như những con trỏ. Mối quan hệ giữa 2 đối tượng thể hiện theo kiểu cha – con.

Sơ đồ các bản ghi cùng các liên kết giữa

chúng có cấu trúc như các cây.

26

I.5.2. Các mô hình logic trên cơ sở bản ghi (Record-Based Data Models)

Mô hình phân cấp

Ban CM1024 Hà Nội Giao CM5566 Yên Bái

A101 5.0

A215 7.0

27

A217 6.5

I.6. Hệ quản trị CSDL

Hệ quản trị CSDL (Database Management System, DBMS) là một tập hợp các chương trình cho phép định nghĩa, tạo lập, bảo trì, cung cấp các truy cập có điều khiển đến các CSDL.

HQT CSDL cung cấp các phương tiện:

§ Ngôn ngữ định nghĩa dữ liệu (Data Definition Language, DDL). § Ngôn ngữ thao tác dữ liệu (Data Manipulation Language, DML). § Các kiểm soát, các điều khiển đối với việc truy cập vào CSDL.

28

I.6.1. Các chức năng của HQT CSDL

HQT CSDL cung cấp các chức năng:

n Lưu trữ, truy xuất và cập nhật DL n Từ điển dữ liệu (catalog) n Hỗ trợ các giao tác (transaction) n Các dịch vụ điều khiển tương tranh n Cơ chế khôi phục DL n Dịch vụ bản quyền n Hỗ trợ cho truyền thông DL n Các dịch vụ đảm bảo tính toàn vẹn DL

Ngoài ra, còn có thêm một số chức năng khác.

29

I.6.2. Kiến trúc của HQT CSDL

Trình ứng dụng Truy vấn Lược đồ CSDL

Bộ xử lí truy vấn

Bộ tiền xử lí ngôn ngữ thao tác DL Chương trình dịch ngôn ngữ khai báo DL

Bộ quản lí từ điển Mã chương trình Bộ quản lí CSDL

CSDL,TĐ DL

Phương thức truy cập Bộ quản lí tệp

30

Bộ đệm của hệ thống

I.7. Vai trò của con người trong hệ CSDL

Người quản trị CSDL

n Quản lí các tài nguyên của hệ CSDL. n Thiết kế và cài đặt CSDL về mặt vật lí. n Cấp phát các quyền truy cập CSDL, cấp phần mềm và phần cứng theo yêu cầu. n Duy trì các hoạt động của hệ thống. Ø Phải hiểu biết chi tiết và kỹ năng về kĩ thuật trong lĩnh vực CSDL, HQT CSDL, môi trường hệ thống.

31

I.7. Vai trò của con người trong hệ CSDL

Người thiết kế CSDL

n Người thiết kế CSDL logic: xác định dữ liệu được lưu trữ trong CSDL, mối quan hệ và các ràng buộc giữa chúng. n Người thiết kế CSDL vật lí: Chọn mô hình dữ liệu logic và quyết định nó được thực hiện về mặt vật lí như thế nào.

32

I.7. Vai trò của con người trong hệ CSDL

Người lập trình ứng dụng

n Thể hiện các đặc tả của người phân tích hệ thống thành chương trình.

Người sử dụng đầu cuối

n Người sử dụng đơn giản: khai thác dữ liệu thông qua các giao dịch có sẵn như menu, hoặc các câu lệnh đơn giản. n Người sử dụng tinh tế: Khai thác dữ liệu thông qua các truy vấn bậc cao như SQL hoặc tự viết chương trình ứng dụng phục vụ yêu cầu của mình.

33

I.8. Quá trình thiết kế một CSDL

Thế giới thực

Tập hợp yêu cầu, phân tích

Các yêu cầu CSDL

Thiết kế khái niệm

Thiết kế vật lí

Lược đồ khái niệm (trong mô hình DL bậc cao)

Thiết kế logic (Ánh xạ mô hình DL)

Lược đồ trong (cho mô hình DBMS cụ thể)

Lược đồ khái niệm (trong mô hình DBMS cụ thể)

34