You are on page 1of 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Ơ SỞ DỮ LIỆU
Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
NỘI DUNG TRÌNH BÀY

Edited by Duc-Long, Le - 2009 2


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

Edited by Duc-Long, Le - 2009 3


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

KHÁI NIỆM VỀ CSDL


 Vấn đề tổ chức và lưu trữ dữ liệu?
Lê Đức Long  CSDL là gì?
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
Xét một số ứng dụng sau…

Hệ thống quản lý học sinh: lưu trữ thông


tin liên quan đến học sinh
Hệ thống quản lý sinh viên: lưu trữ thông
tin liên quan đến sinh viên
Hệ thống quản lý nhân sự: lưu trữ thông
tin 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
…..
Ứng dụng quản lí !!!
Edited by Duc-Long, Le - 2009 5
Ứng dụng Quản lí học sinh

Thông tin học sinh đƣợc lƣu trữ nhƣ thế nào ?
Edited by Duc-Long, Le - 2009 6
Ứng dụng dạng Web

Thông tin sinh viên đƣợc lƣu trữ nhƣ thế nào ?
Edited by Duc-Long, Le - 2009 7
XÉT VIỆC TỔ CHỨC DỮ LIỆU THEO
HƢỚNG TIẾP CẬN CŨ …
 Tổ chức dữ liệu theo hƣớng tập tin

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

Thƣ mục lƣu Thƣ mục lƣu Thƣ mục lƣu


trữ dữ trữ dữ trữ dữ
liệu liệu liệu

KT.dat NS.dat TL.dat


KT.xls NS.xls TL.xls
….. ….. …..

Edited by Duc-Long, Le - 2009 8


XÉT VIỆC TỔ CHỨC DỮ LIỆU THEO
HƢỚNG TIẾP CẬN CŨ …
MỘT TẬP TIN TƯƠNG ỨNG VỚI MỘT HAY NHIỀU CHƯƠNG TRÌNH

BP. Kế toán KT.dat


KT.xls
…..

BP. Nhân sự CÁC DỊCH VỤ NS.dat


HỆ THỐNG NS.xls
TẬP TIN …..

P. Tiền lƣơng
TL.dat
TL.xls
…..

Edited by Duc-Long, Le - 2009 9


VẤN ĐỀ … Dữ liệu tổ chức theo từng tập tin độc lập

 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 ?

Edited by Duc-Long, Le - 2009 10


GIẢI PHÁP …

Cơ sở dữ liệu

Group

Data

User

Các chƣơng trình Những ngƣời sử dụng


ứng dụng khai thác khai thác CSDL
CSDL
CƠ SỞ DỮ LIỆU -
DATABASE
Edited by Duc-Long, Le - 2009 11
Khái niệm về Cơ sở Dữ liệu
 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 NS.doc TL.doc


KT.xls NS.xls TL.xls
….. ….. …..

chuyển đổi

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

CSDL
Edited by Duc-Long, Le - 2009 12
Một ví dụ về cơ sở dữ liệu
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

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

PHANCONG MA_NVIEN SODA THOIGIAN


123456789 1 32.5
123456789 2 7.5
CƠ SỞ DỮ LIỆU: QLDA 666884444 3 40.0
453453453 1 20.0
Edited by Duc-Long, Le - 2009 13
Đặc điểm của CSDL
 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
 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ả
 Có độ an toàn và sự phân quyền trên dữ liệu
 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
 Đảm bảo đƣợc tính độc lập giữa dữ liệu và chương
trình ứng dụng

Edited by Duc-Long, Le - 2009 14


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 ?

Thêm dữ liệu

Cập nhật dữ liệu

Xóa dữ liệu

Cơ sở dữ liệu
Ứng dụng Lấy dữ liệu

Edited by Duc-Long, Le - 2009 15


Ứng dụngcách kết nốiCSDL
Các ngôn ngữ lập trình bậc cao

CT Nhân sự  Thành phần giao diện: Visual Basic,


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

Kết nối  Giao tiếp dữ liệu: ODBC, OLE DB,


CSDL
ADODB, ADO.NET, HTTP, XML, ...
Các thành phần giao tiếp

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


CSDL
SQL Server, Oracle,…
Các hệ quản trị CSDL (DBMS)
Edited by Duc-Long, Le - 2009 16
Hoạt động thảo luận

 Vai trò của CSDL trong các ứng dụng


quản lí, trong các ứng dụng tin học
khác ?
 Ý tƣởng CSDL xây dựng một cách "độc
lậ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

Edited by Duc-Long, Le - 2009 17


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

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


 Hệ CSDL là gì?
 DBMS là gì?
Lê Đức Long
 Chức năng của DBMS?
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
Hệ CSDL và DBMS là gì?

Một hệ CSDL (DB system) bao gồm


một CSDL và một hệ quản trị CSDL
(DBMS)
Hệ quản trị CSDL (Database
Management System-DBMS) là một
cô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

Edited by Duc-Long, Le - 2009 19


Hệ quản trị CSDL (DBMS)
 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, ...
 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
Chƣơng trình
ứng dụng
DBMS CSDL

Edited by Duc-Long, Le - 2009 20


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

Hệ quản trị CSDL

Ngôn ngữ mô tả
dữ liệu - DDL Mô tả CSDL
Từ điển dữ liệu Cơ sở
Ghi nhận thao tác
Ngôn ngữ thao tác
Thao tác CSDL trên CSDL
dữ liệu
dữ liệu - DML

NGÔN NGỮ TRUY VẤN SQL

Edited by Duc-Long, Le - 2009 21


Ví dụ minh hoạ …
(1) (2)
Công cụ Ngôn ngữ mô tả
(Chương trình) dữ liệu Bộ phận
mô tả cấu trúc khai báo
CSDL cấu trúc CSDL Từ điển
Bộ phận khai
CSDL
Chƣơng trình
thác dữ liệu
quản lý Kế toán

Chƣơng trình
quản lý Nhân sự

Chƣơng trình
quản lý CSDL CSDL
tiền lƣơng
Kế toán NS-TL (3)
Ứng dụng
(3 mức thành phần của một DBMS)
Edited by Duc-Long, Le - 2009 22
Một số DBMS thông dụng

 DB2, InterBase, Informix

 MS Access 2000/XP/2003

 MS SQL Server 7.0/2000/2005


CSDL
 Oracle 8i/9i/10i/11i

 My SQL, PostgreSQL
(Open Source Database)
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 ?


http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems#Database_capabilities
http://www.geocities.com/mailsoftware42/db/
Edited by Duc-Long, Le - 2009 23
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

Edited by Duc-Long, Le - 2009 24


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

Đả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

Edited by Duc-Long, Le - 2009 25


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

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

Edited by Duc-Long, Le - 2009 26


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

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


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

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


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

 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
Edited by Duc-Long, Le - 2009 27
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

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ý) ????

Lê Đức Long
 Mô hình dữ liệu là gì?
Email: longld@math.hcmup.edu.vn
 Lược đồ, thể hiện CSDL?
Website: http://www.2learner.edu.vn
Khái niệm mô hình dữ liệu
(Data Model)
 Biểu diễn dữ liệu một cách trừu tượng
 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á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
 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
Edited by Duc-Long, Le - 2009 29
CÁC MỨC CỦA MÔ HÌNH DỮ LIỆU

 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)

Edited by Duc-Long, Le - 2009 30


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)


Edited by Duc-Long, Le - 2009 31
Mô hình thực thể - kết hợp
Entity - Relationship Model P.P.Chen, 1976
MaHP
Diem Hocky

Nam Gvien
(0,n) (1,1)
hoc HPhan mo

mhoctruoc

MaSV (1,n) MaMH (0,n)

Ten TenMH

Lop SVien Khoa MHoc

Nganh Tinchi
(0,n)

dieukien

(0,n)

mhocsau

Edited by Duc-Long, Le - 2009 32


Mô hình hƣớng đối tƣợng
Object oriented Data Model Adiba, 1993
SVien
Ten HPhan
Lop hoc
Ten
Nganh
SLuong
1..* 0..*
LapTKB()
InBangDiem() 1

Diem
mo
DiemTH
DiemLT
DiemPrj
0..*
SuaDiem()
MHoc
Ten
Khoa +MHoc truoc
SoTinChi
0..*
CapNhatSTC()
0..* Dieu kien
+MHoc sau

Edited by Duc-Long, Le - 2009 33


Mô hình dữ liệu quan hệ
Relational Data Model E.F.Codd, 1970
 Lƣợc đồ quan hệ
 HocSinh(MaHS, TenHS, Lop)
 LopHoc(MaLop, TenLop)

 Thể hiện

HocSinh LopHoc
(‘HS001’, ‘NVA’, ’10A1’) (’10A1’, ‘Lop 10A1’)
(‘HS002’, ‘NVB’, ’10A2’) (’10A2’, ‘Lop 10A2’)
(‘HS003’, ‘NVC’, ’10A1’) (’11A1’, ‘Lop 11A1’)

Edited by Duc-Long, Le - 2009 34


Mô hình mạng
Network Data Model Honeywell, 1964

SVien MHoc

MHOC_SAU

MHOC_MO

MHOC_TRUOC
SVIEN_DIEM
HPhan DKien

KQUA_HPHAN

KQua

Edited by Duc-Long, Le - 2009 35


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

Hierarchical Data Model IMS (IBM), late1960s

KQua
Mức 1:
DiemTH DiemLT

HPhan SVien
Mức 2:
TenHP SLuong TenSV Lop Nganh

MHoc
Mức 3:
TenMH Khoa TinChi

Edited by Duc-Long, Le - 2009 36


Mô hình vật lý

Edited by Duc-Long, Le - 2009 37


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

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 được
cập nhật
Edited by Duc-Long, Le - 2009 38
Lƣợc đồ CSDL
 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

Mhoc TenMH MaMH TinChi Khoa

DKien MaMH MaMH_Truoc

KHoc MaKH MaMH HocKy Nam GV

KQua MaKH MaSV Diem

Edited by Duc-Long, Le - 2009 39


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
Mhoc TenMH MaMH TinChi Khoa KQua MaSV MaKH Diem
Nhap mon tin hoc COSC1310 4 CNTT 17 112 8
Cau truc du lieu COSC3320 4 CNTT 17 119 6
8 85 10
Toan roi rac MATH2410 3 TOAN 8 92 9
Co so du lieu COSC3380 3 CNTT 8 102 8
8 135 10

SVien Ten MaSV Nam Khoa DKien MaMH MaMH_Truoc


Son 17 1 CNTT COSC3380 COSC3320
Bao 8 2 CNTT COSC3380 MATH2410
COSC3320 COSC3380

Edited by Duc-Long, Le - 2009 40


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

Mức ngoài Ngƣời dùng Ngƣời dùng

(External Schema) Lược đồ ngoài 1 … Lược đồ ngoài n

Ánh xạ ngoài/
Ánh xạ quan niệm
Mức quan niệm Lược đồ quan niệm
Ánh xạ quan niệm/ (Conceptual/ Logical Schema)
Ánh xạ trong

Lược đồ trong (Physical/ Internal Schema)

Mức trong

DB DB DB

Edited by Duc-Long, Le - 2009 41


Giải thích sơ đồ
 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 đó
Edited by Duc-Long, Le - 2009 42
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

Tự nghiên cứu để
giải thích sơ đồ …
Edited by Duc-Long, Le - 2009 43
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ám ơn đã theo dõi …

Lê Đức Long
Email: longld@math.hcmup.edu.vn
Website: http://www.2learner.edu.vn
44

You might also like