44
TRƢỜNG ĐẠI HỌC SƢ PHẠM TP HCM KHOA TOÁN TIN 280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021 Đức Long Email: [email protected] Website: http://www.2learner.edu.vn CƠ SỞ DỮ LIỆU

cosodulieu01

  • Upload
    itnoi

  • View
    1.733

  • Download
    1

Embed Size (px)

Citation preview

Page 1: cosodulieu01

TRƢỜNG ĐẠI HỌC SƢ PHẠM TP HCM

KHOA TOÁN – TIN

280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021

Lê Đức Long

Email: [email protected]

Website: http://www.2learner.edu.vn

CƠ SỞ DỮ LIỆU

Page 2: cosodulieu01

NỘI DUNG TRÌNH BÀY

2Edited by Duc-Long, Le - 2009

Page 3: cosodulieu01

Một số quy ƣớc trên slide

Tắt màn hình máy tính

Được dùng máy tính

Làm việc theo nhóm

Ghi chép bằng văn bản

3Edited by Duc-Long, Le - 2009

Page 4: cosodulieu01

TRƢỜNG ĐẠI HỌC SƢ PHẠM TP HCM

KHOA TOÁN – TIN

280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021

Lê Đức Long

Email: [email protected]

Website: http://www.2learner.edu.vn

KHÁI NIỆM VỀ CSDL

Vấn đề tổ chức và lưu trữ dữ liệu?

CSDL là gì?

Page 5: cosodulieu01

Hệ thống quản lý học sinh: lưu trữ thôngtin liên quan đến học sinh

Hệ thống quản lý sinh viên: lưu trữ thôngtin liên quan đến sinh viên

Hệ thống quản lý nhân sự: lưu trữ thôngtin liên quan đến nhân viên trong công ty

Hệ thống quản lý tiền lương

Hệ thống quản lý kế toán

Hệ thống quản trị dự án

…..

Xét một số ứng dụng sau…

Ứng dụng quản lí !!! 5Edited by Duc-Long, Le - 2009

Page 6: cosodulieu01

Thông tin học sinh đƣợc lƣu trữ nhƣ thế nào ?

Ứng dụng Quản lí học sinh

6Edited by Duc-Long, Le - 2009

Page 7: cosodulieu01

Ứng dụng dạng Web

Thông tin sinh viên đƣợc lƣu trữ nhƣ thế nào ?7Edited by Duc-Long, Le - 2009

Page 8: cosodulieu01

Tổ chức dữ liệu theo hƣớng tập tin

Thƣ mục lƣu

trữ dữ

liệu

KT.dat

KT.xls

…..

BP. Kế toán BP. Nhân sự P. Tiền lƣơng

Thƣ mục lƣu

trữ dữ

liệu

Thƣ mục lƣu

trữ dữ

liệu

NS.dat

NS.xls

…..

TL.dat

TL.xls

…..

XÉT VIỆC TỔ CHỨC DỮ LIỆU THEO HƢỚNG TIẾP CẬN CŨ …

8Edited by Duc-Long, Le - 2009

Page 9: cosodulieu01

BP. Kế toán

BP. Nhân sự

P. Tiền lƣơng

CÁC DỊCH VỤ

HỆ THỐNG

TẬP TIN

KT.dat

KT.xls

…..

NS.dat

NS.xls

…..

TL.dat

TL.xls

…..

MỘT TẬP TIN TƯƠNG ỨNG VỚI MỘT HAY NHIỀU CHƯƠNG TRÌNH

XÉT VIỆC TỔ CHỨC DỮ LIỆU THEO HƢỚNG TIẾP CẬN CŨ …

9Edited by Duc-Long, Le - 2009

Page 10: cosodulieu01

Nhƣợc điểm của cách tổ chức dữ liệu theo hƣớng

tiếp cận cũ Dƣ thừa và không nhất quán

Dữ liệu có cấu trúc, định dạng khác nhau

Vấn đề chia sẻ thông tin giữa phòng/ban

Vấn đề nhu cầu truy xuất đồng thời

Vấn đề phân quyền ? …

CẦN TỔ CHỨC DỮ LIỆU NHƯ THẾ NÀO ?

VẤN ĐỀ …

10Edited by Duc-Long, Le - 2009

Dữ liệu tổ chức theo từng tập tin độc lập

Page 11: cosodulieu01

CƠ SỞ DỮ LIỆU -DATABASE

User

Group

Data

Cơ sở dữ liệu

Các chƣơng trình

ứng dụng khai thác

CSDL

Những ngƣời sử dụng

khai thác CSDL

GIẢI PHÁP …

11Edited by Duc-Long, Le - 2009

Page 12: cosodulieu01

Cơ sở dữ liệu (CSDL) là một tập hợp dữ liệu

đƣợc tổ chức và lƣu trữ theo một cấu trúc

chặt chẽ nhằm phục vụ nhiều đối tƣợng sử

dụng với nhiều mục đích khác nhau

KT.doc

KT.xls

…..

NS.doc

NS.xls

…..

TL.doc

TL.xls

…..

CSDL

BP. Kế toán P. Tiền lƣơng

Khái niệm về Cơ sở Dữ liệu

chuyển đổi

12Edited by Duc-Long, Le - 2009

Page 13: cosodulieu01

Một ví dụ về cơ sở dữ liệu

PHANCONG MA_NVIEN SODA THOIGIAN

123456789 1 32.5

123456789 2 7.5

666884444 3 40.0

453453453 1 20.0

DEAN TENDA MADA DDIEM_DA PHONG

San pham X 1 VUNG TAU 5

San pham Y 2 NHA TRANG 5

San pham Z 3 TP HCM 5

Tin hoc hoa 10 HA NOI 4

NHANVIEN HONV TENLOT TENNV MANV NGSINH MA_NQL PHG

Tran Hong Quang 987987987 03/09/1969 987654321 4

Nguyen Thanh Tung 333445555 12/08/1955 888665555 5

Nguyen Manh Hung 666884444 09/15/1962 333445555 5

Tran Thanh Tam 453453453 07/31/1972 333445555 5

CƠ SỞ DỮ LIỆU: QLDA

13Edited by Duc-Long, Le - 2009

Page 14: cosodulieu01

Đặc điểm của CSDL

Phải giảm trùng lắp thông tin

Dữ liệu phải nhất quán

Đảm bảo việc truy xuất dữ liệu dễ dàng, hiệu quả

Phải chia sẻ dữ liệu cho nhiều người dùng

Phải giải quyết vấn đề bảo mật dữ liệu

Giải quyết tốt vấn đề cạnh tranh trong truy xuất dữ liệu

Có độ an toàn và sự phân quyền trên dữ liệu

Tập hợp dữ liệu có cấu trúc: loại dữ liệu, mối quan hệ về

ngữ nghĩa

Đảm bảo đƣợc tính độc lập giữa dữ liệu và chương

trình ứng dụng

14Edited by Duc-Long, Le - 2009

Page 15: cosodulieu01

15Edited by Duc-Long, Le - 2009

Cơ sở dữ liệu

Ứng dụng

Thêm dữ liệu

Cập nhật dữ liệu

Xóa dữ liệu

Lấy dữ liệu

Tính độc lập giữa ứng dụng và CSDL

Làm thế nào để kết nối

dữ liệu vào ứng dụng ?

Page 16: cosodulieu01

CT Nhân sự

CSDL

Kết nối

CSDL

Thành phần dữ liệu: MS Access,

SQL Server, Oracle,…

Thành phần giao diện: Visual Basic,

Visual C++, C#, VB.NET, Delphi…

Giao tiếp dữ liệu: ODBC, OLE DB,

ADODB, ADO.NET, HTTP, XML, ...

Ứng dụngcách kết nốiCSDL

Các ngôn ngữ lập trình bậc cao

Các hệ quản trị CSDL (DBMS)

Các thành phần giao tiếp

16Edited by Duc-Long, Le - 2009

Page 17: cosodulieu01

Hoạt động thảo luận

Vai trò của CSDL trong các ứng dụngquản lí, trong các ứng dụng tin họckhác ?

Ý tƣởng CSDL xây dựng một cách "độclập" với ứng dụng phải không ?

Hãy cho một ví dụ về ứng dụng códùng CSDL – Cơ sở dữ liệu trong hệthống đó là gì ?

Trao đổi và thảo luận tại lớp (10p)

Giải đáp thắc mắc

17Edited by Duc-Long, Le - 2009

Page 18: cosodulieu01

TRƢỜNG ĐẠI HỌC SƢ PHẠM TP HCM

KHOA TOÁN – TIN

280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021

Lê Đức Long

Email: [email protected]

Website: http://www.2learner.edu.vn

Một số khái niệm khác

Hệ CSDL là gì?

DBMS là gì?

Chức năng của DBMS?

Page 19: cosodulieu01

Hệ CSDL và DBMS là gì?

Một hệ CSDL (DB system) bao gồmmột CSDL và một hệ quản trị CSDL(DBMS)

Hệ quản trị CSDL (DatabaseManagement System-DBMS) là mộtcông cụ phần mềm tổng quát nhằm hỗtrợ việc lưu trữ, truy xuất và quản trịCSDL. Nó cung cấp cho người dùng vàứng dụng một môi trường thuận tiện vàsử dụng hiệu quả tài nguyên dữ liệu

19Edited by Duc-Long, Le - 2009

Page 20: cosodulieu01

Hệ quản trị CSDL (DBMS)

Hệ quản trị CSDL có phƣơng tiện cho phép thực

hiện: định nghĩa CSDL, lưu trữ dữ liệu, thao tác

trên dữ liệu

CSDL

Là phần mềm chuyên dụng mục tiêu để giải quyết tốt

các tình huống mà CSDL đặt ra nhƣ bảo mật, cạnh

tranh trong truy xuất, …

Hệ quản trị CSDL là một chƣơng trình cho phép xây

dựng và quản lý dữ liệu. Ví dụ: MS SQL Server,

Oracle, DB2, MySQL, ...

Chƣơng trình

ứng dụng DBMS

20Edited by Duc-Long, Le - 2009

Page 21: cosodulieu01

KIẾN TRÚC CỦA MỘT DBMS

Hệ quản trị CSDL

Từ điển dữ liệuGhi nhận thao tác

trên CSDL

Mô tả CSDL

Thao tác CSDL

Cơ sở

dữ liệu

Ngôn ngữ mô tả

dữ liệu - DDL

Ngôn ngữ thao tác

dữ liệu - DML

NGÔN NGỮ TRUY VẤN SQL

21Edited by Duc-Long, Le - 2009

Page 22: cosodulieu01

Công cụ

(Chương trình)

mô tả cấu trúc

CSDL

Chƣơng trình

quản lý Kế toán

Chƣơng trình

quản lý Nhân sự

Chƣơng trình

quản lý

tiền lƣơng

Từ điển

CSDL

Bộ phận

khai báo

cấu trúc CSDL

Bộ phận khai

thác dữ liệu

CSDL

Kế toán

CSDL

NS-TL

Ngôn ngữ mô tả

dữ liệu

Ứng dụng

(1) (2)

(3)

(3 mức thành phần của một DBMS)

Ví dụ minh hoạ …

22Edited by Duc-Long, Le - 2009

Page 23: cosodulieu01

Một số DBMS thông dụng

MS Access 2000/XP/2003

MS SQL Server 7.0/2000/2005

Oracle 8i/9i/10i/11iCSDL

My SQL, PostgreSQL

(Open Source Database)

http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems#Database_capabilities

Khảo sát và so sánh các đặc điểm, chức năng của các DBMS thông dụng:

Access, SQL Server, Oracle, MySQL, DB2 ?

DB2, InterBase, Informix

http://www.geocities.com/mailsoftware42/db/23Edited by Duc-Long, Le - 2009

Page 24: cosodulieu01

Các chức năng của DBMS

Kiểm soát đƣợc tính dƣ thừa của dữ liệu

Tích hợp các nhu cầu dữ liệu của ngƣời dùng để xây

dựng một CSDL thống nhất

Chia sẻ dữ liệu

Trong môi trƣờng đa ngƣời dùng, các DBMS phải cho

phép truy xuất dữ liệu đồng thời

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

Cung cấp nhiều giao diện (view)

DBMS cung cấp ngôn ngữ giữa CSDL và ngƣời dùng

24Edited by Duc-Long, Le - 2009

Page 25: cosodulieu01

Đảm bảo các ràng buộc toàn vẹn

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

Một số RBTV có thể đƣợc khai báo với DBMS

và DBMS sẽ tự động kiểm tra. Một số RBTV

khác đƣợc kiểm tra nhờ chƣơng trình/ứng dụng

Khả năng sao lƣu dự phòng

Có khả năng khôi phục dữ liệu khi có sự cố nhƣ

hƣ hỏng về phần cứng hoặc phần mềm

Các chức năng của DBMS

25Edited by Duc-Long, Le - 2009

Page 26: cosodulieu01

Một số tính năng khác

Chuẩn hóa• Cho phép ngƣời quản trị CSDL định nghĩa và bắt buộc áp dụng

một chuẩn thống nhất cho mọi ngƣời dùng

Linh hoạt, uyển chuyển• Khi nhu cầu công việc thay đổi, cấu trúc CSDL rất có thể thay

đổi, DBMS cho phép thêm hoặc mở rộng cấu trúc mà không làm

ảnh hƣởng đến CTƢD

Giảm thời gian phát triển ứng dụng

Tính khả dụng• Khi có một sự thay đổi lên CSDL, tất cả ngƣời dùng đều thấy

đƣợc

Các chức năng của DBMS

26Edited by Duc-Long, Le - 2009

Page 27: cosodulieu01

Các đối tƣợng sử dụng CSDL

Quản trị viên (Database Administrator - DBA)

Thiết kế viên (Database Designer)

Ngƣời dùng cuối (End-User)

Ngƣời ít sử dụng (casual end-users)

Nhà quản lý

Ngƣời sử dụng thƣờng xuyên (naive end-users)

Nhân viên nghiệp vụ

Ngƣời sử dụng đặc biệt (sophisticated end-users)

Chuyên viên tin học, kỹ sư, người phân tích hệ thống

Định nghĩa, quản lý hệ CSDL

Phân tích và thiết kế CSDL

27Edited by Duc-Long, Le - 2009

Page 28: cosodulieu01

TRƢỜNG ĐẠI HỌC SƢ PHẠM TP HCM

KHOA TOÁN – TIN

280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021

Lê Đức Long

Email: [email protected]

Website: http://www.2learner.edu.vn

Mô hình dữ liệu (Data Model)Đặt vấn đề: để thiết kế và xây dựng CSDL, cần phải đề xuất những mô hình dữ liệu để biểu

diễn và thể hiện lại các dữ liệu trong thế giới thực (ở mức quan niệm) cũng nhƣ trong

máy tính (ở mức vật lý) ????

Mô hình dữ liệu là gì?

Lược đồ, thể hiện CSDL?

Page 29: cosodulieu01

Khái niệm mô hình dữ liệu(Data Model)

Là tập hợp ký hiệu và quy tắc cho phép mô tả

dữ liệu, mối liên hệ trên dữ liệu, ngữ nghĩa và

các ràng buộc trên dữ liệu

Có nhiều loại mô hình dữ liệu khác nhau

Mỗi loại đặc trƣng cho một phƣơng pháp tiếp cận dữ

liệu của ngƣời phân tích thiết kế và các mô hình khác

nhau thể hiện dữ liệu ở các mức khác nhau

Các thao tác trên mô hình dữ liệu bao gồm: rút

trích và cập nhật CSDL dựa trên việc tham

chiếu đến các khái niệm của mô hình

Biểu diễn dữ liệu một cách trừu tượng

29Edited by Duc-Long, Le - 2009

Page 30: cosodulieu01

Mô hình dữ liệu mức cao (mức quan niệm) High level, conceptual, semantic data models

Cung cấp các khái niệm gần gũi với ngƣời dùng

Mô hình phải tự nhiên và giàu ngữ nghĩa

VD: mô hình thực thể kết hợp (ER), mô hình đối tƣợng, …

Mô hình dữ liệu mức thấp (mức vật lý) Physical, low level, internal data models

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

VD: mô hình quan hệ, mô hình mạng, mô hình phân cấp, …

Mô hình dữ liệu mức thực hiện Implementation, record-oriented data models

Đƣa ra các khái niệm ngƣời dùng có thể hiểu đƣợc nhƣng không quá xa với cách dữ liệu đƣợc tổ chức thật sự trên máy tính (nằm giữa các mô hình trên, cân bằng khung nhìn của ngƣời dùng với chi tiết lƣu trữ trên máy tính)

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

30Edited by Duc-Long, Le - 2009

Page 31: cosodulieu01

Các loại mô hình dữ liệu

Mô hình logic trên cơ sở đối tượng (Object-

based logical models)

Mô hình thực thể kết hợp (Entity Relationship Model)

Mô hình hƣớng đối tƣợng (Object – Oriented Model)

Mô hình logic trên cơ sở mẫu tin (Record-

based logical models)

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

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

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

Mô hình vật lý (Physical Model)

31Edited by Duc-Long, Le - 2009

Page 32: cosodulieu01

Mô hình thực thể - kết hợp

SVien

hoc HPhan mo

MHoc

dieukien

Nganh

MaSV

Lop

Diem

(1,n)

(0,n)

Ten

(1,1)

mhoctruoc

mhocsau

(0,n)

(0,n)

Tinchi

MaMH

Khoa

TenMH

(0,n)

Hocky

GvienNam

MaHP

P.P.Chen, 1976Entity - Relationship Model

32Edited by Duc-Long, Le - 2009

Page 33: cosodulieu01

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

SVien

Ten

Lop

Nganh

LapTKB()

InBangDiem()

Diem

DiemTH

DiemLT

DiemPrj

SuaDiem()

HPhan

Ten

SLuong0..*1..*

hoc

0..*1..*

MHoc

Ten

Khoa

SoTinChi

CapNhatSTC()

0..*

1

0..*

1

mo

0..*

0..*

Dieu kien

+MHoc truoc

+MHoc sau

0..*

0..*

Adiba, 1993Object oriented Data Model

33Edited by Duc-Long, Le - 2009

Page 34: cosodulieu01

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

Lƣợc đồ quan hệ

HocSinh(MaHS, TenHS, Lop)

LopHoc(MaLop, TenLop)

Thể hiện

(‘HS001’, ‘NVA’, ’10A1’)

(‘HS002’, ‘NVB’, ’10A2’)

(‘HS003’, ‘NVC’, ’10A1’)

HocSinh

(’10A1’, ‘Lop 10A1’)

(’10A2’, ‘Lop 10A2’)

(’11A1’, ‘Lop 11A1’)

LopHoc

E.F.Codd, 1970Relational Data Model

34Edited by Duc-Long, Le - 2009

Page 35: cosodulieu01

Mô hình mạng

SVien MHoc

HPhan

KQua

DKienSVIEN_DIEM

MHOC_MO

MHOC_SAU

MHOC_TRUOC

KQUA_HPHAN

Honeywell, 1964Network Data Model

35Edited by Duc-Long, Le - 2009

Page 36: cosodulieu01

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

SVien

TenSV Lop Nganh

HPhan

TenHP SLuong

MHoc

TenMH Khoa TinChi

Mức 2:

Mức 1:

Mức 3:

KQua

DiemTH DiemLT

IMS (IBM), late1960sHierarchical Data Model

36Edited by Duc-Long, Le - 2009

Page 37: cosodulieu01

Mô hình vật lý

37Edited by Duc-Long, Le - 2009

Page 38: cosodulieu01

Lược đồ CSDL: là mô tả về CSDL.Bao gồm mô tả về cấu trúc CSDL vàcác ràng buộc trên CSDL đó

Thể hiện CSDL: là dữ liệu hiện thờiđƣợc lƣu trong một CSDL ở một thờiđiểm nào đó

Lược đồ CSDL rất ít khi thay đổi, còn thểhiện CSDL thay đổi mỗi khi CSDL đượccập nhật

Lƣợc đồ và thể hiện CSDL

38Edited by Duc-Long, Le - 2009

Page 39: cosodulieu01

Lƣợc đồ CSDL (Database Schema)

Là các mô tả về cấu trúc và ràng buộc trên

CSDL

SVien Ten MaSV Nam Khoa

TenMH MaMH TinChi KhoaMhoc

MaMH MaMH_TruocDKien

MaKH MaMHKHoc HocKy Nam GV

MaKH MaSVKQua Diem

Lƣợc đồ CSDL

39Edited by Duc-Long, Le - 2009

Page 40: cosodulieu01

Thể hiện CSDL

Thể hiện CSDL (Database Instance)

Là dữ liệu hiện thời đƣợc lƣu trữ trong CSDL

ở một thời điểm nào đó

Biểu diễn tình trạng của CSDL

Ten MaSV Nam Khoa

Son 17 1 CNTT

Bao 8 2 CNTT

SVien

TenMH

Nhap mon tin hoc

Cau truc du lieu

Mhoc

Toan roi rac

Co so du lieu

MaMH

COSC1310

COSC3320

MATH2410

COSC3380

TinChi Khoa

4

4

3

3

CNTT

CNTT

TOAN

CNTT

MaMH MaMH_TruocDKien

COSC3380 COSC3320

COSC3380 MATH2410

COSC3320 COSC3380

MaSV Diem

17 8

17 6

KQua MaKH

8

8

8

8

112

119

85

92

102

135

10

9

8

10

40Edited by Duc-Long, Le - 2009

Page 41: cosodulieu01

Ngƣời dùng

Lược đồ ngoài 1 Lược đồ ngoài n…

Lược đồ quan niệm

Lược đồ trong

Ngƣời dùng

Ánh xạ ngoài/Ánh xạ quan niệm

Mức ngoài

Mức quan niệm

Mức trong

Ánh xạ quan niệm/Ánh xạ trong

KIẾN TRÚC 3 MỨC VỀ LƢỢC ĐỒ

(External Schema)

(Conceptual/ Logical Schema)

(Physical/ Internal Schema)

DBDBDB

41Edited by Duc-Long, Le - 2009

Page 42: cosodulieu01

Mức trong (lược đồ trong – Physical/Internal Schema)

Mô tả cấu trúc lƣu trữ vật lý CSDL

Mức quan niệm (lược đồ quan niệm – Conceptual/Logical

Schema)

Mô tả cấu trúc của toàn thể CSDL cho 1 cộng đồng

ngƣời sử dụng, gồm thực thể, kiểu dữ liệu, mối liên hệ

và ràng buộc

Che bớt các chi tiết của cấu trúc lƣu trữ vật lý

Mức ngoài (lược đồ ngoài – External Schema)

Còn gọi là mức khung nhìn (view)

Mô tả một phần của CSDL mà 1 nhóm ngƣời dùng quan

tâm đến và che dấu phần còn lại của CSDL đối với

nhóm ngƣời dùng đó

Giải thích sơ đồ

42Edited by Duc-Long, Le - 2009

Page 43: cosodulieu01

Quá trình hoạt động của một chƣơng trình UD thông qua các tầng của CSDL

43Edited by Duc-Long, Le - 2009

Tự nghiên cứu để

giải thích sơ đồ …

Page 44: cosodulieu01

TRƢỜNG ĐẠI HỌC SƢ PHẠM TP HCM

KHOA TOÁN – TIN

280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021

Lê Đức Long

Email: [email protected]

Website: http://www.2learner.edu.vn

Cám ơn đã theo dõi …

44