bÀi giẢng hỌc phẦn cƠ sỞ dỮ liỆu vÀ quẢn trỊ cƠ sỞ dỮ...

22
TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU Giảng viên: ThS. Nguyễn Vƣơng Thịnh Bộ môn: Hệ thống thông tin Hải Phòng, 2013 Chương 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Upload: dangngoc

Post on 29-Aug-2019

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

BÀI GIẢNG HỌC PHẦN

CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Giảng viên: ThS. Nguyễn Vƣơng Thịnh

Bộ môn: Hệ thống thông tin

Hải Phòng, 2013

Chương 1

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Page 2: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

2

Thông tin về giảng viên

Họ và tên Nguyễn Vƣơng Thịnh

Đơn vị công tác Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin

Học vị Thạc sỹ

Chuyên ngành Hệ thống thông tin

Cơ sở đào tạo Trƣờng Đại học Công nghệ - Đại học Quốc Gia Hà Nội

Năm tốt nghiệp 2012

Điện thoại 0983283791

Email [email protected]

Page 3: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

3

Tài liệu tham khảo

1. Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database

Systems (the 4th Edition), Pearson Education Inc, 2004.

2. Nguyễn Tuệ, Giáo trình Nhập môn Hệ Cơ sở dữ liệu, Nhà xuất bản

Giáo dục Việt Nam, 2007.

3. Nguyễn Kim Anh, Nguyên lý của các hệ Cơ sở dữ liệu, Nhà xuất bản

Đại học Quốc gia Hà Nội, 2004.

Page 4: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

4

Tài liệu tham khảo

Page 5: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

1.1. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU

1.2. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

1.3. CÁC MỨC TRỪU TƢỢNG VÀ CÁC MÔ HÌNH DỮ LIỆU

1.4. SỰ ĐỘC LẬP DỮ LIỆU VÀ LƢỢC ĐỒ 03 MỨC

5

Page 6: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

6

1.1. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU

Cơ sở dữ liệu (Database) có thể xem là một tập hợp các

dữ liệu có quan hệ với nhau (related data).

Dữ liệu (Data) là thông tin về những sự kiện đã biết (sự vật, hiện

tượng/đối tượng trong thế giới thực), được ghi lại trên các phương

tiện lưu trữ và mang một ý nghĩa ngầm định.

Ông Smith là một người đàn

ông trung niên (khoảng 45

tuổi) làm nghề giáo viên

Name Sex Age Job

Tony M 50 Doctor

Smith M 45 Teacher

Marry F 22 Student

Tom M 26 Police

Dữ liệu

(data)

Cơ sở dữ liệu

(Database) Thông tin

(Information)

Name Sex Age Job

Smith M 45 Teacher

Page 7: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

7

CÁC THUỘC TÍNH CỦA CƠ SỞ DỮ LIỆU:

Cơ sở dữ liệu thƣờng phản ánh một khía cạnh nào đó

của thế giới thực (miniworld). Mọi thay đổi của thế

giới thực trong phạm vi đó đều phải đƣợc phản ánh

trong cơ sở dữ liệu.

Ông Smith chuyển từ nghề

giáo viên sang làm nhân viên

phát hành sách (book seller)

Job

Book Seller

Name Sex Age Job

Smith M 45 Teacher

Page 8: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

8

Cơ sở dữ liệu là một tập hợp dữ liệu có quan hệ logic

chặt chẽ với nhau và mang một ý nghĩa nào đó. Một tập

hợp hỗn tạp và ngẫu nhiên của dữ liệu không thể xem

là một cơ sở dữ liệu.

Page 9: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

9

Một cơ sở dữ liệu đƣợc thiết kế, xây dựng và lƣu trữ

dữ liệu cho một mục đích cụ thể nào đó. Nó hƣớng tới

một nhóm ngƣời dùng và những ứng dụng mà nhóm

ngƣời dùng này quan tâm.

Nhà quản lý

Nhân viên

CSDL giao nhận

Container tại bãi Phần mềm quản lý

giao nhận Container

tại bãi

Page 10: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

10

1.2. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

1.2.1. KHÁI NIỆM

Hệ quản trị cơ sở dữ liệu (DBMS): là một tập hợp các

chƣơng trình phần mềm cho phép tạo ra (create) và duy

trì, khai thác (maintain) các cơ sở dữ liệu.

Page 11: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

11

1.2.2. CHỨC NĂNG CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Hệ quản trị CSDL là một hệ thống phần mềm có tính

năng tổng quát, cung cấp các chức năng cho phép định

nghĩa (thiết kế) (defining), xây dựng (constructing), khai

thác (manipulating) và chia sẻ (sharing) các cơ sở dữ

liệu giữa những người dùng và ứng dụng khác nhau.

A. Định nghĩa/Thiết kế CSDL (Defining): xác định ra các

kiểu dữ liệu, các cấu trúc, các ràng buộc đối với dữ liệu

đƣợc lƣu trữ.

B. Xây dựng CSDL (Constructing): là tiến trình lƣu trữ bản

thân dữ liệu của CSDL lên các thiết bị lƣu trữ dƣới sự điều

khiển của hệ quản trị CSDL.

Page 12: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

12

C. Khai thác CSDL (Manipulating): bao gồm các chức

năng nhƣ truy vấn để lấy về dữ liệu, cập nhật CSDL để

phản ánh những thay đổi của thế giới thực, kết xuất các

báo biểu (report) từ dữ liệu

D. Chia sẻ CSDL (Sharing): cho phép nhiều ngƣời dùng và

ứng dụng truy xuất CSDL đồng thời.

E. Bảo vệ CSDL (Protection):

Bảo vệ hệ thống (System Protection): ngăn ngừa những

sự cố có thể xảy ra đối với CSDL do sự hỏng hóc của

phần cứng hoặc phần mềm.

Bảo mật CSDL (Security Protection): ngăn ngừa những

truy cập trái phép vào CSDL.

F. Duy trì CSDL (Maintain): cho phép những thay đổi (tiến

hóa) trong CSDL để phù hợp với sự thay đổi của thế giới

thực.

Page 13: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

13

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

Chƣơng trình ứng dụng/Truy vấn

(Application Programs/Queries)

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

(Software to process queries/programs)

Phần mềm truy xuất dữ liệu đƣợc lƣu trữ

(Software to Access Stored Data)

Dữ liệu cấu trúc

(Meta – Data)

Dữ liệu lƣu trữ

(Stored Database)

Hệ quản trị

CSDL

Page 14: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

14

1.3. CÁC MỨC TRỪU TƢỢNG DỮ LIỆU VÀ

CÁC MÔ HÌNH DỮ LIỆU

1.3.1. SỰ TRỪU TƢỢNG DỮ LIỆU (DATA ABSTRACTION)

Cho phép tạo ra sự độc lập tƣơng đối giữa chƣơng trình

và dữ liệu → Không cần thay đổi chƣơng trình ứng

dụng khi cấu trúc lƣu trữ dữ liệu thay đổi.

Hệ quản trị

CSDL

Page 15: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

15

Hệ quản trị CSDL cung cấp khả năng biểu diễn dữ liệu

ở mức khái niệm (conceptual representation): ẩn giấu

đi chi tiết của việc lƣu trữ dữ liệu và thực thi các thao

tác trên dữ liệu.

Mô hình dữ liệu (Data Model) là một kiểu trừu tƣợng

hóa cho phép biểu diễn dữ liệu ở mức khái niệm bằng

cách sử dụng các khái niệm logic nhƣ: đối tƣợng

(object), thuộc tính (property), liên kết giữa các đối

tƣợng (relationship),...

→ ẨN GIẤU ĐI CHI TIẾT VỀ VIỆC LƢU TRỮ VÀ THỰC THI

TRÊN CƠ SỞ DỮ LIỆU.

Page 16: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

16

1.3.2. CÁC LOẠI MÔ HÌNH DỮ LIỆU

A. Mô hình dữ liệu mức khái niệm (Conceptual Data Model)

Sử dụng các khái niệm gần gũi với nhận thức của ngƣời

dùng cuối nhƣ: Thực thể (Entity), Thuộc tính (Attribute),

Liên kết (Relationship),...

Phụ

Thuộc

Ngƣời Phụ

Thuộc

Tình Trạng

Sức Khỏe

Giới Tính

Họ Tên

Quan Hệ

Ngày

Sinh

N

Nhân Viên

1 Họ Tên

Chuyên

Môn

Trình độ Ngoại

Ngữ

Mã NV

Page 17: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

17

B. Mô hình dữ liệu mức vật lý (Physical Data Model)

Sử dụng các khái niệm mô tả chi tiết cách thức lƣu trữ

dữ liệu trên bộ nhớ → Chỉ phù hợp với các chuyên gia

tin học, khó hiểu với ngƣời dùng cuối.

Record 0 Record 1 Record 2 Record 3

Record 4 Record 5 Record 6 Record 3

P

Page 18: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

18

C. Mô hình dữ liệu mức logic (Implementation Data Model):

Là mức trung gian của 2 mức trên.

Sử dụng các khái niệm có thể hiểu đƣợc với dùng cuối

những cũng khá gần gũi với cách thức lƣu trữ dữ liệu

trên máy tính.

Lớp

Mã Lớp

Tên Lớp

Phòng Học

Học Viên

Mã HV

Tên HV

Năm Sinh

Điểm Thi

Mã Lớp

Mã Lớp Tên Lớp Phòng học

L1 Word T001 P203

L2 Word T002 P204

Mã HV Tên HV Năm

Sinh

Điểm

Thi

Lớp

HV01 An 1984 5.5 L1

HV02 Bình 1989 7.0 L2

HV03 Cƣờng 1985 6.5 L1

Page 19: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

19

1.4. KIẾN TRÚC LƢỢC ĐỒ 03 MỨC VÀ SỰ

ĐỘC LẬP DỮ LIỆU

Khung nhìn

ngoài

(External View)

Khung nhìn

ngoài

(External View)

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

(Conceptual Schema)

Lược đồ trong

(Internal Schema)

. . . MỨC NGOÀI

(External Level)

MỨC KHÁI NIỆM

(Conceptual Level)

MỨC TRONG

(Internal Level)

Ánh xạ mức ngoài – mức

khái niệm

Ánh xạ mức khái niệm –

mức trong

Ngƣời dùng cuối

(End User)

CƠ SỞ DỮ LIỆU ĐƢỢC LƢU TRỮ

(Stored Database)

Page 20: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

20

A. Mức trong (Internal Level)

Bao gồm một lƣợc đồ trong (Internal Schema) dùng để

mô tả cấu trúc lƣu trữ vật lý của cơ sở dữ liệu.

Lƣợc đồ trong sử dụng mô hình dữ liệu mức vật lý

(physical data model) và mô tả hoàn chỉnh chi tiết của

việc lƣu trữ dữ liệu và cách thức truy cập dữ liệu vật lý.

B. Mức khái niệm (Conceptual Level)

Bao gồm lƣợc đồ khái niệm mô tả cấu trúc của toàn bộ

cơ sở dữ liệu ứng với một nhóm các ngƣời dùng.

Lƣợc đồ khái niệm che dấu đi chi tiết của cấu trúc lƣu

trữ vật lý và chỉ tập trung vào mô tả các thực thể, kiểu

dữ liệu, liên kết giữa các thực thể, các thao tác của

ngƣời dùng và các ràng buộc .

Page 21: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

21

C. Mức ngoài (External Level)

Bao gồm một số các khung nhìn (user view) hay còn

gọi là lƣợc đồ ngoài (External Schema).

Mỗi khung nhìn chỉ mô tả một phần của cơ sở dữ liệu

mà một nhóm ngƣời dùng cụ thể quan tâm và che dấu

toàn bộ phần còn lại đối với nhóm ngƣời dùng đó.

SỰ ĐỘC LẬP DỮ LIỆU (DATA INDEPENDENCE)

Độc lập dữ liệu mức logic: Là khả năng cho phép

thay đổi lƣợc đồ khái niệm mà không ảnh hƣởng tới

các lƣợc đồ ngoài và chƣơng trình ứng dụng.

Độc lập dữ liệu mức vật lý: Là khả năng cho phép

thay đổi lƣợc đồ trong mà không ảnh hƣởng tới

lƣợc đồ khái niệm.

Page 22: BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ …scholar.vimaru.edu.vn/sites/default/files/thinhnv/files/chapter_1_-_database.pdf · 6 1.1. KHÁI NIỆM

Q & A

22