1. Trang chủ
  2. » Thể loại khác

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU Giảng viên: ThS. Nguyễn Tiến Đạt

16 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 3,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Khái niệm Cơ Sở Dữ Liệu: Một cơ sở dữ liệu CSDL là một tập hợp các dữ liệu có liên quan với nhau chứa thông tin về tổ chức nào đó như một trường đại học, một ngân hàng,… được lưu trữ t

Trang 1

1

BÀI 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Giảng viên: ThS Nguyễn Tiến Đạt

v1.0011105217

2

TÌNH HUỐNG DẪN NHẬP

• Trước những năm 60, mỗi chương trình ứng dụng đều có 1 tệp dữ liệu tương ứng

và khi chương trình ứng dụng được sửa đổi thì tệp dữ liệu này cũng phải thay đổi

• Việc lưu trữ thông tin trong hệ xử lý tệp (được hỗ trợ bởi hệ điều hành) có nhược

điểm như: sự dư thừa dữ liệu, các dị thường dữ liệu khi nhiều người sử dụng…

• Dẫn đến sự ra đời các hệ CSDL để khắc phục các vấn đề trên Hệ CSDL đã định

nghĩa các cấu trúc cho việc lưu trữ thông tin, cung cấp các cơ chế cho việc thao

tác thông tin và đảm bảo an toàn cho các thông tin được lưu trữ

1 Vậy cơ sở dữ liệu là gì?

2 Cơ sở dữ liệu được tổ chức như thế nào?

3 Những phương pháp nào dùng để mô hình hóa một cơ sở dữ liệu?

Trang 2

3

MỤC TIÊU

Giới thiệu các khái niệm cơ bản về CSDL

Giới thiệu các vấn đề cơ bản cần giải quyết trong CSDL

Giới thiệu kiến trúc một hệ CSDL

Giới thiệu các mô hình dữ liệu

v1.0011105217

4

NỘI DUNG

Các khái niệm cơ bản về cơ sở dữ liệu (CSDL);

Các vấn đề cơ bản cần giải quyết trong cơ sở dữ liệu;

Kiến trúc của một hệ cơ sở dữ liệu;

Mô hình dữ liệu

2

1

4

3

Trang 3

5

1 CÁC KHÁI NIỆM CƠ BẢN

1.1 Cơ sở dữ liệu;

1.2 Hệ quản trị cơ sở dữ liệu;

1.3 Hệ cơ sở dữ liệu

v1.0011105217

6

1.1 CƠ SỞ DỮ LIỆU

• Khái niệm Dữ Liệu: Dữ liệu là một phần tử hoặc

một tập hợp các phần tử mà ta gọi là tín hiệu Nó

được biểu hiện dưới dạng như hình ảnh, âm thanh,

màu sắc,

• Khái niệm Cơ Sở Dữ Liệu: Một cơ sở dữ liệu (CSDL)

là một tập hợp các dữ liệu có liên quan với nhau chứa

thông tin về tổ chức nào đó (như một trường đại học,

một ngân hàng,…) được lưu trữ trên các thiết bị nhớ

thứ cấp (như băng từ, đĩa từ,…) để đáp ứng nhu cầu

khai thác thông tin của nhiều người sử dụng với nhiều

mục đích khác nhau

 Tạo lập dữ liệu;

 Cập nhật dữ liệu (thêm, sửa, xóa dữ liệu);

 Truy xuất dữ liệu (tìm kiếm, thống kê dữ liệu);

 Bảo trì dữ liệu

Thông tin

Dữ liệu

Cơ sở dữ liệu

Lưu trữ có chọn lọc

Có quan hệ logic

Quan hệ giữa thông tin, dữ liệu

và CSDL

Trang 4

7

1.1 CƠ SỞ DỮ LIỆU (tiếp theo)

Đặc tính của Cơ Sở Dữ Liệu:

• Một CSDL thể hiện một số khía cạnh của thế giới thực hay còn gọi là thế giới thu nhỏ

(Universe of Discourse – UoD);

• Một CSDL là một tập hợp các dữ liệu có logic chặt chẽ;

• Một CSDL được thiết kế, xây dựng và bố trí dữ liệu cho mục đích nhất định

Các CSDL có kích cỡ bất kỳ và độ phức tạp khác nhau

Ví dụ: Trong cơ quan quản lý Thuế theo dõi biểu thuế của người nộp thuế:

 Giả sử có 100 triệu hồ sơ của người nộp thuế trong 5 năm;

 Mỗi hồ sơ trung bình có 5 văn bản với khoảng 200 ký tự/1 văn bản;

 Đây là Lượng thông tin khổng lồ và phức tạp

 Cần được tổ chức và quản lý để cho người dùng có thể tìm kiếm, duyệt xét

và cập nhật dữ liệu nếu cần

 Như vậy: Cần thiết kế và xây dựng 1 mô hình CSDL để đảm bảo chứa đựng số

lượng dữ liệu trên

100 × (106) × 200 × 5

v1.0011105217

8

PHẦN MỀM SỬ DỤNG ĐỂ QUẢN LÝ CSDL

Một số chương trình dùng để quản lý CSDL:

• Oracle: 1978: Phiên bản Oracle v1 đầu tiên, chạy trên hệ điều hành PDP-11 của máy RSX

(dòng của hãng DEC), khả năng sử dụng bộ nhớ tối đa là 128 KB Viết bằng ngôn ngữ

Assemblỵ

 Tích hợp PL/SQL, dễ dàng triển khai trên các OS(hệ điều hành)khác nhau

 Thường được ứng dụng cho những doanh nghiệp lớn

• SQL Server: Microsoft SQl server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational

Database Management System – RDBMS) do Microsoft phát triển SQL Server là một hệ

quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho

phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập

hợp lệ và các quyền hạn của từng người dùng trên mạng Ngôn ngữ truy vấn quan trọng

của Microsoft SQL server là Transact-SQL Transact-SQL là ngôn ngữ SQL mở rộng dựa

trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI

(American National Standards Institute) được sử dụng trong SQL Server

• My SQL: Là phần mềm CSDL mã nguồn mở, miễn phí Thường kết hợp với ngôn ngữ PHP

để xây dựng website

• Ở Việt Nam, 3 hệ QTCSDL được dùng phổ biến nhất hiện nay:

 Oracle được dùng trong các ứng dụng cho các doanh nghiệp, tập đoàn lớn

 SQL Server thường được sử dụng với ngôn ngữ Net cho các ứng dụng của doanh

nghiệp vừa và nhỏ

 MySQL được dùng trong các ứng dụng mã nguồn mở

Trang 5

9

1.2 HỆ QUẢN TRỊ CSDL

Khái niệm:

• Hệ quản trị CSDL (Database Management System) là phần mềm cho phép người

dùng giao tiếp với CSDL, cung cấp một 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

• Các hệ quản trị CSDL phổ biến như: Access, FoxPro, MySQL, SQL Server, Oracle

v1.0011105217

10

1.3 HỆ CƠ SỞ DỮ LIỆU

Khái niệm:

• Thuật ngữ hệ cơ sở dữ liệu để chỉ một CSDL và hệ quản trị CSDL để truy cập CSDL đó

(Hệ CSDL = CSDL + Hệ QTCSDL)

• Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn trừu

tượng về dữ liệu (có nghĩa là hệ thống che dấu những chi tiết phức tạp về cách thức

thao tác dữ liệu và bảo trì dữ liệu)

Người dùng/Lập trình viên

Chương trình ứng dụng/các truy vấn

Phần mềm xử lý truy vấn/ chương trình

Phần mềm truy cập các dữ liệu lưu trữ

Định nghĩa CSDL

PHẦN MỀM

HỆ QUẢN TRỊ CSDL

HỆ CSDL

Trang 6

11

2 CÁC VẤN ĐỀ CƠ BẢN CỦA CƠ SỞ DỮ LIỆU

Vấn đề 1: Xây dựng một cơ sở dữ liệu thế nào cho đủ và đúng?

Vấn đề 2: Sử dụng CSDL thế nào cho hiệu quả?

v1.0011105217

12

2.1 XÂY DỰNG CSDL THẾ NÀO CHO ĐỦ VÀ ĐÚNG ?

Các vấn đề nảy sinh:

• Dư thừa dữ liệu (Redundancy): Một dữ liệu có thể được lưu trữ ở nhiều nơi

• Không nhất quán (Inconsistency): Là hệ quả của việc dư thừa dữ liệu vì khi tiến hành

cập nhật dữ liệu có thể bỏ sót và dẫn tới không nhất quán

• Các vấn đề toàn vẹn: Vì khi có thêm những ràng buộc mới, khó thay đổi các chương

trình để có thể tuân thủ chúng

• Các vấn đề về tính nguyên tố của các giao tác

• Vấn đề đưa hệ thống trở lại trạng thái nhất quán trước khi xảy ra sự cố

• Các dị thường của truy cập tương tranh: Nhiều người dùng cập nhật dữ liệu đồng thời

có thể dẫn đến dữ liệu không nhất quán

• Các vấn đề an toàn: Mỗi người dùng chỉ được phép truy cập vào một phần của CSDL

Trang 7

13

2.2 SỬ DỤNG CSDL THẾ NÀO CHO HIỆU QUẢ ?

• Việc sử dụng CSDL thế nào cho hiệu quả liên quan đến một số vấn đề như đảm bảo

tính nhất quán và toàn vẹn dữ liệu:

 Tính toàn vẹn: Các giá trị dữ liệu được lưu trữ trong CSDL phải thỏa mãn một số

ràng buộc, tùy thuộc vào hoạt động tổ chức mà CSDL phản ánh

Ví dụ: Thư viện qui định số sách nhiều nhất mà người đọc được mượn trong một

lần Khi cập nhật số sách mượn của đọc giả phải đảm bảo nhỏ hơn hoặc bằng số

sách được mượn theo qui định

 Tính nhất quán: Sau những thao tác cập nhật dữ liệu và ngay cả khi có sự cố

(phần cứng hay phần mềm) xảy ra trong quá trình cập nhật, dữ liệu trong CSDL

phải được bảo đảm đúng đắn

Tài khoản A Tài khoản B

Sự cố Chuyển 100 triệu

Bị trừ trong TK 100 triệu

Chưa được cộng vào

TK 100 triệu

Ví dụ:

v1.0011105217

14

• Tính bảo mật và quyền khai thác thông tin của người sử dụng: Do ưu điểm

CSDL có thể cho nhiều người khai thác đồng thời nên cần phải có một cơ chế bảo mật

phân quyền khai thác CSDL

• Tính an toàn cho dữ liệu khi xảy ra sự cố nào đó:

 Khi CSDL nhiều và được quản lý tập trung Khả năng rủi ro mất dữ liệu rất cao

Các nguyên nhân chính là mất điện đột ngột hoặc hỏng thiết bị lưu trữ

 Chúng ta nên sao lưu dự phòng cho dữ liệu đề phòng trường hợp xấu xảy ra

• Tranh chấp dữ liệu:

 Khi nhiều người cùng truy nhập CSDL với các mục đích khác nhau Rất có thể sẽ

xảy ra hiện tượng tranh chấp dữ liệu

 Cần có cơ chế ưu tiên khi truy cập CSDL Ví dụ: Admin luôn có thể truy cập cơ sở

dữ liệu

 Cấp quyền ưu tiên cho từng người khai thác

2.2 SỬ DỤNG CSDL THẾ NÀO CHO HIỆU QUẢ ? (tiếp theo)

Trang 8

15

3 KIẾN TRÚC BA MỨC ANSI-SPARC

Kiến trúc ba mức ANSI-SPARC, bao gồm:

• Mức vật lý (còn gọi là mức trong);

• Mức logic (còn gọi là mức khái niệm);

• Mức khung nhìn (còn gọi là mức ngoài)

Theo ANSI-SPARC (American National Standards Institute – Standards Planning and

Requirements Committee: Viện tiêu chuẩn quốc gia Mỹ - Ủy ban nhu cầu và kế hoạch

Mỹ) có 3 mức biểu diễn một CSDL

Kiến trúc ba 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 logic

Mức vật lý

v1.0011105217

16

3 KIẾN TRÚC BA MỨC ANSI-SPARC (tiếp theo)

• Mức vật lý: Một tập hợp các tệp dữ liệu, các chỉ mục hoặc những cấu trúc lưu trữ

khác dùng để truy xuất dữ liệu một cách có hiệu quả gọi là CSDL vật lý CSDL vật lý

tồn tại thường xuyên trong thiết bị lưu trữ như đĩa từ, nhiều CSDL có thể được quản

lý bởi cùng một hệ quản trị CSDL

• Mức logic: Là mức mô tả những dữ liệu nào được lưu trữ trong CSDL và có

những mối quan hệ nào giữa chúng Mức logic biểu diễn các thực thể (trong thế giới

nhỏ), các thuộc tính và các mối quan hệ giữa các thực thể đó; cho thấy các ràng

buộc trên dữ liệu, các thông tin về ngữ nghĩa, an ninh và toàn vẹn của dữ liệu Mức

này chỉ quan tâm đến cái gì được lưu trữ trong CSDL chứ không quan tâm đến cách

thức để lưu trữ

• Mức khung nhìn: Là mức mô tả chỉ một phần của toàn bộ CSDL, phần tích hợp

với một người sử dụng nhất định Mỗi người dùng có thể không quan tâm đến toàn

bộ thông tin của hệ CSDL mà chỉ một phần thông tin nào đó Khung nhìn dành cho

người sử dụng đó chỉ gồm những thực thể cùng những thuộc tính, những mối quan

hệ của những thực thể mà họ quan tâm Các khung nhìn khác nhau cũng có thể

trình bày cùng một dữ liệu nhưng ở những khuôn dạng khác nhau

Ví dụ: Người sử dụng có thể nhìn thấy thông tin ngày theo kiểu (ngày/tháng/năm),

người sử dụng khác thấy thông tin ngày theo kiểu (tháng/ngày/năm)

Trang 9

17

VÍ DỤ

Conceptual level

Struct STAFF{

int staffNo;

int branchNo;

char fName [15];

char Iname [15];

struct date dateOfBirth;

float salary;

struct STAFF *next; /* pointer to next Staff record */

};

Index staffNo; index branchNo; /* define indexes for staff */

Internal level

v1.0011105217

18

THUẬN LỢI CỦA KIẾN TRÚC 3 MỨC

• Với 1 CSDL, mỗi người dùng có 1 khung nhìn riêng Người này thay đổi khung nhìn

không ảnh hưởng đến người khác đang dùng chung CSDL này;

• Những tương tác của người dùng với CSDL không phụ thuộc vào những vấn đề chi

tiết trong lưu trữ dữ liệu;

• Người quản trị CSDL (Database Administrator-DBA) có thể thay đổi cấu trúc lưu trữ

của CSDL mà không ảnh hưởng đến khung nhìn của người sử dụng;

• Thay đổi về khía cạnh vật lý trong lưu trữ như thay thiết bị nhớ thứ cấp có thể không

làm ảnh hưởng đến cấu trúc bên trong CSDL;

• Người quản trị CSDL có thể thay đổi cấu trúc tổng quát hay cấu trúc khái niệm của

CSDL mà không làm ảnh hưởng đến tất cả người dùng

Trang 10

19

ĐỘC LẬP DỮ LIỆU (DATA INDEPENDENT) VÀ KIẾN TRÚC BA MỨC

Độc lập dữ liệu (Data Independent):

• Độc lập dữ liệu vật lý: Khả năng sửa đổi lược đồ vật lý mà không làm thay

đổi lược đồ khái niệm do đó không đòi hỏi viết lại các trình ứng dụng;

• Độc lập dữ liệu logic: KKhả năng sửa đổi lược đồ logic mà không làm thay

đổi các khung nhìn (lược đồ ngoài)

External schema

External schema

Internal schema

External/conceptual

mapping

Conceptual/interna

mapping

Physical data independence

Logical data independence

Conceptual schema

External schema

v1.0011105217

20

4 MÔ HÌNH DỮ LIỆU

4.1 Khái niệm mô hình dữ liệu;

4.2 Các loại mô hình dữ liệu chủ yếu phổ biến;

4.3 Giới thiệu ngôn ngữ dữ liệu

Trang 11

21

4.1 KHÁI NIỆM MÔ HÌNH DỮ LIỆU

• 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ác

mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức

• Mô hình dữ liệu gồm có 3 thành phần:

 Phần mô tả cấu trúc của CSDL;

 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;

 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

v1.0011105217

22

4.2 CÁC LOẠI MÔ HÌNH DỮ LIỆU CHỦ YẾU

Có nhiều mô hình dữ liệu được đề xuất và có thể chia thành 3 nhóm:

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

 Mô hình thực thể - mối quan hệ (còn gọi là mô hình thực thể - liên kết);

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

 Mô hình dữ liệu ngữ nghĩa;

 Mô hình dữ liệu chức năng

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

 Mô hình quan hệ (Relational Data Model);

 Mô hình mạng (Network Data Model);

 Mô hình phân cấp (Hierarchical Data Model)

• Các mô hình vật lý (Physical Data Models)

Trang 12

23

4.2.1 CÁC MÔ HÌNH LOGIC TRÊN CƠ SỞ ĐỐI TƯỢNG

(OBJECT-BASED DATA MODELS)

• Các mô hình này được dùng trong việc mô tả dữ liệu ở các mức logic và khung nhìn;

• Đặc trưng của mô hình này là khả năng cung cấp cấu trúc rất;

• Mềm dẻo và cho phép các ràng buộc được đặc tả một cách tường minh;

• Hai mô hình phổ biến trong nhóm mô hình này:

 Mô hình thực thể - mối quan hệ (còn gọi là mô hình thực thể - liên kết);

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

v1.0011105217

24

MÔ HÌNH THỰC THỂ LIÊN KẾT

• Mô hình này xây dựng dựa trên nhận thức rằng thế giới thực muốn phản ánh là một

tập hợp các đối tượng cơ sở và các mối quan hệ (còn gọi là liên kết) giữa chúng Mô

hình này dùng các khái niệm “thực thể” (entity-E) và “mối quan hệ” (Relationship-R)

do đó còn được viết tắt là mô hình E-R;

• Thực thể là một “vật” tồn tại, phân biệt được với các “vật” khác, có sự tồn tại độc lập;

• Một mối quan hệ thể hiện một liên kết giữa nhiều thực thể;

• Cấu trúc logic tổng thể của một CSDL có thể được biểu thị bởi một biểu đồ E-R

• Ví dụ mô hình thực thể - liên kết:

Quê

Tên Khóa MaLop

Từ khi Tên

Sinh viên

MaSV

Trang 13

25

MÔ HÌNH HƯỚNG ĐỐI TƯỢNG

• Mô hình này dựa trên cơ sở một bộ sưu tập các đối tượng Một đối tượng chứa các

thuộc tính được lưu trữ trong các biến thể hiện (Instance Variables) ở bên trong đối

tượng Một đối tượng còn chứa các phần mã thao tác trên đối tượng Các phần mã đó

được gọi là các phương thức (phương pháp)

• Khác với các thực thể trong mô hình E-R, mỗi đối tượng có tính đồng nhất riêng, độc

lập với các giá trị nó chứa đựng Hai đối tượng chứa cùng các giá trị vẫn có thể là

khác nhau Sự phân biệt giữa các đối tượng cá thể được duy trì ở mức vật lý thông

qua việc gán các định danh đối tượng khác nhau

v1.0011105217

26

4.2.2 CÁC MÔ HÌNH LOGIC TRÊN CƠ SỞ BẢN GHI

• Các mô hình logic trên cơ sở bản ghi được dùng trong việc mô tả dữ liệu ở các mức

logic và khung nhìn Trong mô hình này, CSDL được cấu trúc thành các bản ghi có

các trường (hay thuộc tính), mỗi trường thường có độ dài cố định do đó cài đặt mức

vật lý của CSDL đơn giản hơn so với mô hình hướng đối tượng

• Ba mô hình logic trên cơ sở bản ghi quen thuộc nhất:

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

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

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

Trang 14

27

MÔ HÌNH DỮ LIỆU QUAN HỆ

• Từ 1980, các hệ quản trị CSDL quan hệ được dùng phổ biến: Oracle, Sql Server,

Access, Foxpro;

• Trong mô hình này, dữ liệu được thể hiện trong các bảng Mỗi bảng gồm các dòng và

cột, mỗi cột có một tên duy nhất Mỗi dòng cho thông tin về một đối tượng cụ thể

trong quản lý (mỗi dòng là một bản ghi hay một bộ) Mỗi dòng gồm một bộ các giá trị

tương ứng với các cột, mỗi giá trị thể hiện thông tin về một thuộc tính của đối tượng

đó, tên thuộc tính này chính là tên cột mà giá trị đó được hiển thị Mỗi liên kết giữa

các đối tượng được thể hiện bằng mối 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

• Ví dụ mô hình dữ liệu quan hệ:

v1.0011105217

28

MÔ HÌNH DỮ LIỆU MẠNG

• Trong mô hình này:

 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);

 Các mối quan hệ được biểu diễn bởi các mối nối (Links) được xem như con trỏ

Xuất phát từ một đối tượng có thể có nhiều mối quan hệ đến những đối tượng

khác Trong những liên kết luôn phân biệt đối tượng là chủ liên kết và những đối

tượng thành phần của liên kết;

 Các bản ghi và các mối nối trong CSDL theo mô hình mạng được tổ chức như tập

hợp các đồ thị bất kỳ

• Có thể chuyển đổi giữa mô hình mạng và mô hình quan hệ

• Ví dụ mô hình dữ liệu mạng:

Ngày đăng: 15/03/2022, 23:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w