CHƯƠNG I Giới thiệu

Hệ Cơ Sở Dữ Liệu

HCSDL

1

Nội dung

Hệ Cơ Sở Dữ Liệu

(cid:153) Giới thiệu (cid:153) Các mức mô hình CSDL (cid:153) Ngôn ngữ CSDL (cid:153) Qui trình phát triển CSDL (cid:153) Hệ quản trị CSDL

(cid:131) Các thành phần của Hệ quản trị CSDL (cid:131) Tính năng của Hệ quản trị CSDL (cid:131) Kiến trúc của Hệ quản trị CSDL

2

1. Giới thiệu: Quản lý file

Hệ Cơ Sở Dữ Liệu

Chương trình ứng dụng 1

Quản lý dữ liệu

Tập tin

Chương trình ứng dụng 2

Quản lý dữ liệu

Tập tin

Hệ Thống Quản Lý Tập Tin

Chương trình ứng dụng 3

Dữ liệu

Quản lý dữ liệu

Tập tin

3

Hạn chế

Hệ Cơ Sở Dữ Liệu

4

(cid:153) Dữ liệu bị trùng lắp và dư thừa (cid:153) Thiếu tính nhất quán giữa các dữ liệu (cid:153) Khó khăn trong việc truy xuất (cid:153) Việc chia sẻ dữ liệu bị hạn chế (cid:153) Khó khôi phục

Cơ sở dữ liệu (Database)

Hệ Cơ Sở Dữ Liệu

Chương trình ứng dụng 1

Quản lý dữ liệu

Chương trình ứng dụng 2

Quản lý dữ liệu

CSDL

Hệ Quản Trị CSDL

Chương trình ứng dụng 3

Quản lý dữ liệu

5

Ưu điểm khi sử dụng Cơ sở dữ liệu

Hệ Cơ Sở Dữ Liệu

6

(cid:153) Độc lập dữ liệu – chương trình (cid:153) Giảm tối thiểu dư thừa dữ liệu (cid:153) Nâng cao tính nhất quán dữ liệu (cid:153) Thuận tiện cho việc dùng chung dữ liệu (cid:153) Tăng hiệu suất phát triển bảo trì, ứng dụng (cid:153) Dễ dàng áp dụng các ràng buộc, tiêu chuẩn

Cơ sở dữ liệu (Database)

Hệ Cơ Sở Dữ Liệu

(cid:153) Một tập hợp có cấu trúc của những dữ liệu có liên

quan với nhau được lưu trữ trong máy tính (cid:131) Sinh viên (cid:131) Niên giám điện thoại (cid:131) Dự án

(cid:153) CSDL được thiết kế, xây dựng, và lưu trữ với một mục đích xác định, phục vụ cho một số ứng dụng và người dùng

(cid:153) Tập ngẫu nhiên của các dữ liệu không thể xem là

7

một CSDL

CSDL: Tính chất

Hệ Cơ Sở Dữ Liệu

(cid:153) Nó biểu diễn cho một phần thế giới thực (cid:153) Nó là tập hợp dữ liệu có quan hệ chặt chẽ về logic (cid:153) Nó có một mục tiêu phục vụ cho một nhóm người

8

dùng và ứng dụng nhất định

Ví dụ về CSDL

Hệ Cơ Sở Dữ Liệu

9

Thuật ngữ

Hệ Cơ Sở Dữ Liệu

(cid:153) Data (dữ liệu): văn bản(text), đồ họa(graphics), hình ảnh

(images), âm thanh (sound)…

(cid:153) Information (thông tin): dữ liệu đã được xử lý (cid:153) Database: Là một tập hợp dữ liệu có liên quan luận lý với nhau, chứa thông tin có tổ chức của một hệ thống nhằm đáp ứng nhu cầu khai thác và chia sẽ thông tin của người dùng.

(cid:153) Hệ quản trị CSDL ( Database Management System - DBMS): là một hệ thống các phần mềm cho phép người sử dụng định nghĩa, tạo lập, bảo trì và điều khiển truy xuất CSDL (cid:153) Hệ CSDL ?

10

2. Các mức mô hình CSDL

Hệ Cơ Sở Dữ Liệu

(cid:131) Cung cấp các khái niệm gần gũi với người dùng (cid:131) Mô hình phải tự nhiên và giàu ngữ nghĩa (cid:131) VD: mô hình thực thể kết hợp (ER), mô hình đối

tượng…

(cid:153) Mô hình mức cao (khái niệm)

(cid:153) Mô hình mức thấp (mô hình vật lý): Đưa ra các

khái niệm mô tả chi tiết về cách thức dữ liệu được lưu trữ trong máy tính

(cid:153) Mô hình Cài đặt CSDL: Cách thức dữ liệu tổ chức

11

trên máy tính

Mô hình ER

Hệ Cơ Sở Dữ Liệu

12

Lược đồ CSDL (Database Schema)

Hệ Cơ Sở Dữ Liệu

13

(cid:153) Là các mô tả về cấu trúc và ràng buộc trên CSDL

Thể hiện CSDL (Database Instance)

Hệ Cơ Sở Dữ Liệu

(cid:153) Là dữ liệu hiện thời được lưu trữ trong CSDL ở

14

một thời điểm nào đó (cid:153) Tình trạng của CSDL

3. Ngôn ngữ CSDL…

Hệ Cơ Sở Dữ Liệu

(cid:153) Ngôn ngữ xác định dữ liệu (DDL –Data Definition

Language)

(cid:153) Ví dụ

CREATE TABLE employees (

id INTEGER PRIMARY KEY, first_name CHAR(50) null, last_name CHAR(75) not null, date_of_birth DATE null ); )

15

…Ngôn ngữ CSDL…

Hệ Cơ Sở Dữ Liệu

(cid:153) Ngôn ngữ thao tác dữ liệu (DML –Data

Manipulation Language) (cid:131) Cho phép truy xuất, thêm, xóa, sửa dữ liệu (cid:131) Mức cao (phi thủ tục) (cid:131) Mức thấp (thủ tục)

Ví dụ

(cid:131) Các câu lệnh trọng SQL: SELECT, INSERT, UPDATE

và DELETE.

(cid:131) SELECT id, last_name FROM employees

16

…Ngôn ngữ CSDL

Hệ Cơ Sở Dữ Liệu

(cid:153) Ngôn ngữ điều khiển dữ liệu (Data Control

CSDL

(cid:131) Các câu lệnh SQL tương ứng: GRANT và REVOKE.

17

Language - DCL) (cid:131) Cung cấp các tính năng bảo vệ cho các đối tượng của

4. Qui trình phát triển CSDL

Hệ Cơ Sở Dữ Liệu

(cid:153) Mô hình hóa nghiệp vụ (Enterprise modeling) (cid:153) Thiết kế database luận lý (logical database

design)

18

(cid:153) Thiết kế CSDL vật lý (physical database design) (cid:153) Hiện thực CSDL (database implementation) (cid:153) Bảo trì CSDL (database maintenance)

Hệ Cơ Sở Dữ Liệu

Project identification and selection

Project initiation and planning

Analysis

Logical design

Physical design

Implement

Maintenance

19

5. Hệ quản trị CSDL

Hệ Cơ Sở Dữ Liệu

(cid:153) Hệ quản trị CSDL (Database Management System): Tập hợp các chương trình cho phép người sử dụng tạo ra, duy trì và quản lý CSDL

(cid:153) Hệ quản trị CSDL cho phép xác định, xây dựng và

chi tiết về dữ liệu

(cid:131) Xây dựng – lưu trữ dữ liệu lên bộ nhớ phụ (cid:131) Xử lý – truy vấn, cập nhật và phát sinh báo cáo

20

xử lý dữ liệu (cid:131) Xác định – khai báo bộ khung dữ liệu cùng với các mô tả

(cid:153) Cung cấp giao diện cho người sử dụng, các tiện ích: giải quyết tranh chấp, giao dịch, sao lưu, phục hồi, bảo mật CSDL…

Hệ CSDL (Database System)

Hệ Cơ Sở Dữ Liệu

21

kiến trúc DBMS

Hệ Cơ Sở Dữ Liệu

Application Programmers

End Users

Systems Analysts and Database Designers

PC DBMS and/or Query tools

Transaction Processing (TP) Monitor

DBMS

Data Manipulation Language (DML)

Data Definition Language (DDL)

Proprietary Language and Tools

DATABASE ENGINE

METADATA

Các thành phần của môi trường DBMS

Hệ Cơ Sở Dữ Liệu

(cid:153) Phần cứng (Hardware) (cid:153) Phần mềm (Software) (cid:153) Dữ liệu (data) (cid:153) Các thủ tục (procedure): các qui định hoạt động (cid:153) Con người

(cid:131) Người quản trị CSDL (DBA–Database

administration)

(cid:131) Người thiết kế CSDL (Database designer) (cid:131) Người dùng cuối (End-user)

23

Đặc điểm của CSDL trong HQTCSDL

Hệ Cơ Sở Dữ Liệu

(cid:153) Tính tự mô tả: mô tả chính bản thân CSDL (cid:131) Catalog: lưu trữ các thông tin tự mô tả (cid:131) Metadata: siêu dữ liệu, thông tin lưu trữ trong

catalog

(cid:153) Tính độc lập giữa chương trình và dữ liệu (cid:153) Tính trừu tượng dữ liệu: thể hiện qua các mô hình

dữ liệu

24

(cid:153) Hỗ trợ nhiều khung nhìn

Các tính năng của HQT CSDL…

Hệ Cơ Sở Dữ Liệu

(cid:153) Kiểm soát được tính dư thừa và nhất quán

của dữ liệu

(cid:153) Chia sẻ dữ liệu: Trong môi trường đa người

dùng, các HQT phải cho phép truy xuất dữ liệu đồng thời

(cid:153) Hạn chế những truy cập không cho phép:

Từng người dùng và nhóm người dùng có một tài khoản và mật mã để truy xuất dữ liệu

25

(cid:153) Tiện ích cho sử dụng: Cung cấp nhiều phương tiện xử lý, giao tiếp giữa HQT CSDL và người dùng

…Các tính năng của HQT CSDL…

Hệ Cơ Sở Dữ Liệu

(cid:153) Đảm bảo các ràng buộc toàn vẹn

(cid:131) RBTV (Integrity Constraints) là những qui định cần được thỏa mãn để đảm bảo dữ liệu luôn phản ánh đúng ngữ nghĩa của thế giới thực

(cid:131) Một số ràng buộc có thể được khai báo với HQT và

HQT sẽ tự động kiểmtra.

(cid:131) Một số ràng buộc khác được kiểm tra nhờ chương

trình ứng dụng

26

(cid:153) Khả năng sao lưu và hồi phục

…Các tính năng của HQT CSDL

Hệ Cơ Sở Dữ Liệu

(cid:153) Các tính năng khác

(cid:131) Chuẩn hóa

• Cho phép DBA áp dụng một chuẩn thống nhất

mà mọi người phải tuân thủ

(cid:131) Uyển chuyển

• Khi nhu cầu công việc thay đổi, cấu trúc CSDL đòi hỏi thay đổi, HQT cho phép thêm hoặc mở rộng cấu trúc mà không làm ảnh hưởng đến chương trình ứng dụng

(cid:131) Giảm thời gian phát triển ứng dụng

27

Các mức lược đồ

Hệ Cơ Sở Dữ Liệu

28

Kiến trúc Client/Server

Hệ Cơ Sở Dữ Liệu

Máy khách 2

Máy khách 3

Máy khách 1

LAN

Dữ liệu được chọn gửi về máy chủ

Các yêu cầu vể dữ liệu

Máy chủ (với DBMS)

Cơ sở dữ liệu

29

Kiến trúc của HQT CSDL

Hệ Cơ Sở Dữ Liệu

30

Lịch sử phát triển

Hệ Cơ Sở Dữ Liệu

(cid:153) Những ứng dụng CSDL đầu tiên: Mô hình mạng

và phân cấp được giới thiệu vào giữa những năm 60

(cid:153) Cơ sở dữ liệu quan hệ được giới thiệu vào 1970.

31

những sản phẩm DBMS nổi trội trong những năm 1980

Lịch sử phát triển

Hệ Cơ Sở Dữ Liệu

(cid:153) Những ứng dụng hướng đối tượng được giới thiệu trong những năm cuối của thập niên 80 và đầu thập niên 90 để đáp ứng những nhu cầu xử lý dữ liệu phức tạp. Việc dùng những ứng dụng này không nhiều

32

(cid:153) Dữ liệu cho những ứng dụng Web và thương mại điện tử dùng những tiêu chuẩn mới như XML (eXtended Markup Language)

Lịch sử phát triển

Hệ Cơ Sở Dữ Liệu

(cid:153) Những chức năng mới đang được cộng tới DBMS

33

trong những lãnh vực sau (cid:131) Những ứng dụng khoa học (cid:131) Quản lý và lưu trữ hình ảnh, Audio và Video (cid:131) Data mining (cid:131) Quản lý dữ liệu không gian (cid:131) Quản lý dữ liệu lịch sử và chuỗi thời gian

Những loại CSDL và những ứng dụng CSDL

Hệ Cơ Sở Dữ Liệu

34

(cid:153) Dữ liệu text và số (cid:153) Dữ liệu đa phương tiện (cid:153) Hệ thống thống tin địa lý (cid:153) Data Warehous (cid:153) Dữ liệu năng động và thời gian thực