Upload
itnoi
View
1.733
Download
1
Embed Size (px)
Citation preview
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
NỘI DUNG TRÌNH BÀY
2Edited by Duc-Long, Le - 2009
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
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ì?
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
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
Ứ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
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
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
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
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
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
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
Đặ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
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 ?
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
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
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?
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
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
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
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
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
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
Đả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
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
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
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?
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
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
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
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
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
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
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
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
Mô hình vật lý
37Edited by Duc-Long, Le - 2009
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
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
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
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
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
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ơ đồ …
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