khai.hq@ou.edu.vn Phương pháp lưu dữ liệu bằng CSDL – Không nên đưa việc định nghĩa DL vào chương trình – Nên lưu DL riêng và không phụ thuộc vào chương trình – Nên có sự kiểm soát khi t
Trang 1khai.hq@ou.edu.vn
Chương 1: Tổng quan về cơ sở dữ liệu
Tham khảo tài liệu [A]:
Chapter 1: Introduction to Databases
2
khai.hq@ou.edu.vn
Nội dung chương 1 (1)
1 Một số ví dụ sử dụng hệ thống CSDL
3 Nhược điểm của hệ thống lưu DL theo file
4 Ý nghĩa của thuật ngữ CSDL (database)
5 Ý nghĩa của thuật ngữ hệ quản trị CSDL (DBMS)
(DBMS: Database Management System)
Trang 2Chương 1: Tổng quan về cơ sở dữ liệu Trang 2
3
khai.hq@ou.edu.vn
Nội dung chương 1 (2)
6 Các chức năng chính của DBMS
7 Các thành phần chính của môi trường DBMS
8 Vai trò của con người trong môi trường DBMS
Đặt vé đi nghỉ mát tại trạm giao dịch du lịch
Thuvientailieu.net.vn
Trang 3khai.hq@ou.edu.vn
Hệ thống lưu DL theo file (File-based System)
vụ cho các người dùng cuối (end users), ví dụ
chương trình giúp người dùng in ra các bảng báo
cáo
Mỗi chương trình quản lý các dữ liệu có thiết kế
riêng cho chương trình đó
6
khai.hq@ou.edu.vn
Ví dụ về hệ thống lưu DL theo file:
Hệ thống Quản lý cho thuê nhà (gồm 2 chương trình)
Trang 4Chương 1: Tổng quan về cơ sở dữ liệu Trang 4
7
khai.hq@ou.edu.vn
Hạn chế của phương pháp lưu DL theo file (1)
1 Dữ liệu riêng rẽ và cô lập
– M ỗi chương trình sử dụng dữ liệu của riêng mình
– Ng ười dùng một chương trình khó thấy được những
thông tin có ích cho mình khi thông tin này nằm trong
dữ liệu của các chương trình khác
2 Dữ liệu bị trùng lắp
– C ác dữ liệu giống nhau có thể được lưu ở các chương
trình khác nhau -> bị dư thừa DL – C ác dữ liệu giống nhau có thể được lưu không cùng giá
trị, hay không cùng format -> bị mâu thuẫn DL
8
khai.hq@ou.edu.vn
Hạn chế của phương pháp lưu DL theo file (2)
3 Dữ liệu lệ thuộc vào chương trình
– Cấu trúc của file lưu DL do code của chương trình tạo ra
4 Chương trình lệ thuộc dữ liệu
(không tương thích các format file DL khác nhau)
– Các chương trình được viết bằng các ngôn ngữ LT khác
nhau nên không thể dễ dàng truy xuất các file DL của các chương trình khác
5 Chức năng của chương trình là cố định, không linh
hoạt
– Các chương trình được viết theo các chức năng định sẳn, nếu
có yêu cầu chức năng nào mới thì phải viết một chương trình mới
Thuvientailieu.net.vn
Trang 5khai.hq@ou.edu.vn
Phương pháp lưu dữ liệu bằng CSDL
– Không nên đưa việc định nghĩa DL vào chương trình
– Nên lưu DL riêng và không phụ thuộc vào chương trình
– Nên có sự kiểm soát khi truy xuất và xử lý DL, và việc
kiểm soát này không nên đặt trong một chương trình
K ết quả:
– Hệ quản trị CSDL (DBMS)
10
khai.hq@ou.edu.vn
Cơ sở dữ liệu (Database)
logic với nhau (và sự miêu tả của các DL này), được
thiết kế để đáp ứng nhu cầu về thông tin cho một tổ
chức
(Shared collection of logically related data (and a description of this
data), designed to meet the information needs of an organization)
tả DL, giúp cho chương trình và DL có thể độc lập
với nhau
thể, các thuộc tính, và các mối quan hệ của các
thông tin trong một tổ chức
Trang 6Chương 1: Tổng quan về cơ sở dữ liệu Trang 6
11
khai.hq@ou.edu.vn
Hệ quản trị CSDL (DBMS)
có thể định nghĩa, tạo, và duy trì CSDL, cho phép
truy xuất CSDL theo cách có kiểm soát
12
khai.hq@ou.edu.vn
Ví dụ về hệ quản trị CSDL (DBMS)
Thuvientailieu.net.vn
Trang 7khai.hq@ou.edu.vn
Phương pháp lưu dữ liệu bằng CSDL
(DDL: Data definition language)
– Cho phép đặc tả kiểu DL, cấu trúc DL và ràng buộc DL
– Tất cả các đặc tả DL được lưu trong CSDL
(DML: Data manipulation language).
– Là công cụ để truy vấn DL
14
khai.hq@ou.edu.vn
Phương pháp lưu dữ liệu bằng CSDL
các hệ thống sau:
– Hệ thống bảo mật DL
– Hệ thống nhất quán DL
– Hệ thống kiểm soát đồng thời
– Hệ thống kiểm soát việc phục hồi DL
– Bảng ghi quyền truy xuất của các users
D ùng cơ chế khung nhìn dữ liệu ( view mechanism)
– Cung cấp cho người dùng chính xác các DL mà người
dùng đang cần
Trang 8Chương 1: Tổng quan về cơ sở dữ liệu Trang 8
15
khai.hq@ou.edu.vn
Khung nhìn dữ liệu (View) (1)
của CSDL
16
khai.hq@ou.edu.vn
Khung nhìn dữ liệu (View) (2)
Lợi ích của việc dùng view:
– Làm giảm sự phức tạp của CSDL
– Cung cấp thêm một mức độ an toàn
– Cung cấp một cơ chế tùy biến để có thể thay đổi cách
trình bày CSDL – Giúp ta có một cái nhìn không thay đổi đốivới cấu trúc
của một CSDL, cho dù bản thân CSDL đó có thể bị thay đổi
Thuvientailieu.net.vn
Trang 10Chương 1: Tổng quan về cơ sở dữ liệu Trang 10
Vai trò của con người trong môi trường DBMS
(Database Administrator (DBA))
Mức logic và vật lý (Logical and Physical)
(Application Programmers)
Mức cơ bản và mức thành thạo (naive and
sophisticated)
Thuvientailieu.net.vn
Trang 11Ưu điểm của DBMS (1)
Có tính nhất quán dữ liệu (data consistency)
dữ liệu như nhau
Cho phép chia sẽ dữ liệu
Tăng cường sự toàn vẹn của dữ liệu (data integrity)
Trang 12Chương 1: Tổng quan về cơ sở dữ liệu Trang 12
23
khai.hq@ou.edu.vn
Ưu điểm của DBMS (2)
liệu (accessibility and responsiveness)
trình
24
khai.hq@ou.edu.vn
Nhược điểm của DBMS
Phức tạp (Complexity)
Nhược điểm về kích thước (Size)
Nhược điểm về chi phí (Cost of DBMS)
Phải tốn chi phí thêm cho phần cứng
Tốn chi phí vào việc chuyển đổi (Cost of conversion)
Nhược điểm về tốc độ thực hiện
Dễ bị hư hỏng hơn
HẾT CHƯƠNG 1
Thuvientailieu.net.vn
Trang 13khai.hq@ou.edu.vn
Chương 2: Môi trường của cơ sở dữ liệu
Tham khảo tài liệu [A]:
Chapter 2: Database Environment
2
khai.hq@ou.edu.vn
Nội dung chương 2 (1)
(external, conceptual, and internal levels)
Trang 14Chương 2: Môi trường của cơ sở dữ liệu Trang 2
3
khai.hq@ou.edu.vn
Nội dung chương 2 (2)
mức ý niệm
Ý nghĩa của kiến trúc client–server và sự tiện lợi của
kiến trúc này đối với DBMS
xử lý giao tác (Transaction Processing Monitor)
(system catalog)
4
khai.hq@ou.edu.vn
Mục tiêu của kiến trúc 3 mức
Tất cả users có thể truy xuất dữ liệu như nhau
khác bị thay đổi
Users không cần phải biết chi tiết ở mức vật lý cơ
sở dữ liệu được lưu như thế nào
Thuvientailieu.net.vn
Trang 15khai.hq@ou.edu.vn
Mục tiêu của kiến trúc 3 mức
trúc lưu trữ CSDL nhưng không làm ảnh hưởng đến views của các users
bởi sự thay đổi các yếu tố mức vật lý
không làm ảnh hưởng đến tất cả các users
6
khai.hq@ou.edu.vnKiến trúc 3 mức ANSI-SPARC
(ANSI-SPARC Three-level Architecture)
Trang 16Chương 2: Môi trường của cơ sở dữ liệu Trang 4
7
khai.hq@ou.edu.vn
Kiến trúc 3 mức ANSI-SPARC
– gồm các views của các users – miêu tả từng phần của CSDL có liên quan đến
từng user
– là một view tổng quát cho cả CSDL – miêu tả dữ liệu gì được lưu trong CSDL và mối
quan hệ giữa các dữ liệu đó ra sao
8
khai.hq@ou.edu.vn
Kiến trúc 3 mức ANSI-SPARC
– là sự thể hiện ở mức vật lý của CSDL trên máy
tính
– miêu tả dữ liệu được lưu như thế nào trong
CSDL
Thuvientailieu.net.vn
Trang 17– Loại trừ sự thay đổi của lược đồ mức ngoài khi
lược đồ mức ý niệm thay đổi
– Cho phép lược đồ mức ý niệm thay đổi
(ví dụ khi thêm/bớt thực thể)
– Không yêu cầu thay đổi của lược đồ mức ngoài
hay viết lại chương trình ứng dụng
Trang 18Chương 2: Môi trường của cơ sở dữ liệu Trang 6
11
khai.hq@ou.edu.vn
Sự độc lập về dữ liệu (Data Independence) (2)
Độc lập về mặt vật lý:
– Loại trừ sự thay đổi của lược đồ mức ý niệm khi
lược đồ mức trong thay đổi
– Cho phép lược đồ mức trong thay đổi
(ví dụ khi dùng cách tổ chức file khác nhau, các thiết bị hay các cấu trúc lưu trữ khác nhau)
– Không yêu cầu thay đổi lược đồ mức ý niệm hay
Trang 19khai.hq@ou.edu.vn
Ngôn ngữ cho CSDL (Database Languages) (1)
– Cho phép người quản trị CSDL (DBA) hoặc user
miêu tả và đặt tên cho các thực thể, các thuộc tính, và các mối quan hệ cần thiết của ứng dụng
– Ngoài ra còn tạo sự toàn vẹn trong kết hợp DL
(associated integrity) và sự ràng buộc an toàn
DL (security constraints)
14
khai.hq@ou.edu.vn
Ngôn ngữ cho CSDL (Database Languages) (2)
– Cung cấp các phép thực hiện thao tác cơ bản trên dữ
liệu đang lưu trong CSDL
– Cho phép user ra lệnh một cách chi tiết cho hệ thống
phải làm như thế nào (HOW) để thao tác dữ liệu
– Cho phép user đưa ra yêu cầu về dữ liệu đang cần
(WHAT), chứ không nói cách thức hệ thống phải truy xuất dữ liệu đó như thế nào
Trang 20Chương 2: Môi trường của cơ sở dữ liệu Trang 8
15
khai.hq@ou.edu.vn
Ngôn ngữ cho CSDL (Database Languages) (3)
(Fourth Generation Language (4GL))
– Ngôn ngữ truy vấn (Query Languages)
ví dụ ngôn ngữ SQL, ngôn ngữ QBE
– Công cụ tạo cửa sổ giao diện (Forms Generators) – Công cụ tạo bảng báo cáo (Report Generators) – Công cụ tạo biểu đồ dữ liệu (Graphics Generators) – Công cụ tạo ứng dụng (Application Generators)
16
khai.hq@ou.edu.vn
Mô hình dữ liệu (Data Model) (1)
tả dữ liệu, mối quan hệ giữa các dữ liệu, và các ràng
buộc trên dữ liệu của một tổ chức
– Một phần cấu trúc (A structural part) – Một phần thao tác (A manipulative part) – Có thể có một tập các qui tắc toàn vẹn
(integrity rules)
Thuvientailieu.net.vn
Trang 21khai.hq@ou.edu.vn
Mô hình dữ liệu (Data Model) (2)
– Biểu diễn dữ liệu theo cách thức dể hiểu
– Mô hình lấy đối tượng làm nền tảng (Object-based) – Mô hình lấy record làm nền tảng (Record-based) – Mô hình vật lý (Physical)
18
khai.hq@ou.edu.vn
Các mô hình dữ liệu (Data Models)
– Mô hình thực thể-mối kết hợp (Entity-Relationship) – Mô hình ngữ nghĩa (Semantic)
– Mô hình chức năng (Functional) – Mô hình hướng đốitượng (Object-Oriented)
– 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)
Trang 22Chương 2: Môi trường của cơ sở dữ liệu Trang 10
19
khai.hq@ou.edu.vn
Mô hình hóa mức ý niệm (Conceptual modeling)
Lược đồ ý niệm là cốt lõi của hệ thống, nó hỗ trợ tất
cả các view của user
liệu của một tổ chức
mô hình thông tin, mô hình này độc lập với mức hiện thực chi tiết
(conceptual data model)
20
khai.hq@ou.edu.vn
Các chức năng của DBMS (1)
1 Lưu, truy xuất và cập nhật dữ liệu
2 Có phân quyền truy xuất cho các user
3 Hỗ trợ giao tác (giao dịch)
4 Có dịch vụ kiểm soát đồng thời
5 Có dịch vụ phục hồi dữ liệu
Thuvientailieu.net.vn
Trang 23khai.hq@ou.edu.vn
Các chức năng của DBMS (2)
6 Có dịch vụ kiểm tra quyền truy xuất dữ liệu
7 Hỗ trợ việc giao tiếp dữ liệu (kết hợp được với các
software khác để thực hiện)
8 Có dịch vụ toàn vẹn dữ liệu
9 Hỗ trợ việc độc lập dữ liệu giữa CSDL và chương
trình 10.Có các dịch vụ tiện ích khác: import, export, thống
kê, giám sát, …
22 khai.hq@ou.edu.vn
Các thành phần của DBMS
Trang 24Chương 2: Môi trường của cơ sở dữ liệu Trang 12
Máy phục vụ file (File-server)
Thuvientailieu.net.vn
Trang 25khai.hq@ou.edu.vn
Kiến trúc xử lý từ xa (Teleprocessing) (1)
(Single mainframe with a number of terminals attached)
Khuynh hướng hiện nay ít dùng kiến trúc này, vì
máy mainframe rất đắc tiền và các máy đầu cuối ngày càng mạnh hơn
26 khai.hq@ou.edu.vn
Kiến trúc xử lý từ xa (Teleprocessing) (2)
Trang 26Chương 2: Môi trường của cơ sở dữ liệu Trang 14
Database nằm ở máy file-server.
DBMS và applications chạy trên các máy workstation.
Các nhược điểm:
– Chiếm đường truyền trên mạng nhiều – Nhiều bảng sao DBMS trên các máy workstation – Phức tạp trong việc kiểm soát đồng thời, phục hồi dữ liệu và toàn vẹn dữ liệu
28
khai.hq@ou.edu.vn
Kiến trúc File-Server (2)
Thuvientailieu.net.vn
Trang 27khai.hq@ou.edu.vn
Kiến trúc Client-server (1)
30 khai.hq@ou.edu.vn
Kiến trúc Client-server (2)
Trang 28Chương 2: Môi trường của cơ sở dữ liệu Trang 16
Bộ giám sát việc xử lý giao tác
(Transaction Processing Monitor) (1)
Là chương trình kiểm soát việc truyền dữ liệu giữa máy client và máy server
Đặc biệt dùng cho việc xử lý giao tác trực tuyến (Online Transaction Processing (OLTP))
Thuvientailieu.net.vn
Trang 29khai.hq@ou.edu.vn
Bộ giám sát việc xử lý giao tác (2)
Là lớp giữa của kiến trúc Client-Server 3 lớp
34
khai.hq@ou.edu.vn
Catalog hệ thống (System Catalog)
Là nơi chứa thông tin metadata
(metadata là thông tin miêu tả dữ liệu trong database)
Thường lưu:
– Tên của các user hợp lệ – Tên của các mục dữ liệu trong database – Ràng buộc trên các mục dữ liệu (data items) – Các mục dữ liệu user có thể truy xuất được và kiểu truy xuất
Được dùng bởi modules Kiểm soát quyền hợp lệ (Authorization
Control) và kiểm tra sự toàn vẹn (Integrity Checker)
HẾT CHƯƠNG 2
Trang 30Chương 3: Mô hình thực thể - Mối kết hợp Trang 1
Chương 3: Mô hình Thực thể - Mối kết hợp
Tham khảo tài liệu [A]:
Chapter 11: Entity-Relationship model
2
khai.hq@ou.edu.vn
Nội dung chương 3
tkiết kế database
(Unified Modeling Language)
Thuvientailieu.net.vn
Trang 31Các khái niệm của mô hình ER
Kiểu của thực thể (Entity types)
Trang 32Chương 3: Mô hình thực thể - Mối kết hợp Trang 3
5
khai.hq@ou.edu.vn
Kiểu của thực thể (Entity type)
– Là nhóm các đối tượng có cùng các thuộc tính, các
đối tượng tồn tại độc lập nhau
– Là đối tượng của một thực thể, được xác định là
tồn tại duy nhất (không trùng lắp với các đối tượng khác)
6
khai.hq@ou.edu.vn
ER diagram of Staff and Branch entity types
Thuvientailieu.net.vn
Trang 33khai.hq@ou.edu.vn
Kiểu của mối kết hợp (Relationship type)
– Là tập hợp các mối liên kết có ý nghĩa của các kiểu
thực thể
– Là mối liên kết cụ thể được xác định là tồn tại duy
nhất Mối liên kết này bao gồm các phần tham gia vào liên kết từ các thực thể
8
khai.hq@ou.edu.vn
Mạng ngữ nghĩa của kiểu mối kết hợp “HAS”
(Semantic net of Has relationship type)
Trang 34Chương 3: Mô hình thực thể - Mối kết hợp Trang 5
– Là số các thực thể tham gia vào mối kết hợp
– Cấp 2: mối kết hợp binary – Cấp 3: mối kết hợp ternary – Cấp 4: mối kết hợp quaternary.
Thuvientailieu.net.vn
Trang 35khai.hq@ou.edu.vn
Mối kết hợp binary “POwns”
12 khai.hq@ou.edu.vn
Mối kết hợp Ternary “Registers”
Trang 36Chương 3: Mô hình thực thể - Mối kết hợp Trang 7
– Là mối kết hợp có một kiểu thực thể tham gia vào
hơn một lần với các vai trò khác nhau
của thực thể khi tham gia vào mối kết hợp đó
Thuvientailieu.net.vn
Trang 37khai.hq@ou.edu.vn
Mối kết hợp hồi quy “Supervises”
16 khai.hq@ou.edu.vn
Hai thực thể có 2 mối kết hợp khác nhau
Trang 38Chương 3: Mô hình thực thể - Mối kết hợp Trang 9
– Là tập các giá trị có thể có được của thuộc tính
được duy nhất từng thể hiện của thực thể
– Là một khóa được chọn ra từ các khóa ứng viên
– Là khóa có từ 2 thuộc tính trở lên
Thuvientailieu.net.vn
Trang 39– Là kiểu thực thể không phụ thuộc vào kiểu thực
thể khác
– Là kiểu thực thể phụ thuộc vào kiểu thực thể
khác
Trang 40Chương 3: Mô hình thực thể - Mối kết hợp Trang 11
21
khai.hq@ou.edu.vnStrong entity type called Client
and weak entity type called Preference
22
khai.hq@ou.edu.vn
Relationship called Advertises with attributes
Thuvientailieu.net.vn
Trang 41khai.hq@ou.edu.vnRàng buộc thuộc về cấu trúc
(Structural Constraints) (1)
tham gia kết hợp (multiplicity)
hiện của một kiểu thực thể có thể kết hợp với một thể hiện của một kiểu thực thể khác trên một mối kết hợp
rules)
24
khai.hq@ou.edu.vnRàng buộc thuộc về cấu trúc
(Structural Constraints) (2)
Các mối kết hợp có cấp (degree) phổ biến là 2
(binary), tức là các mối kết hợp trên 2 kiểu thực thể
Các mối kết hợp cấp 2 thường thấy là:
Trang 42Chương 3: Mô hình thực thể - Mối kết hợp Trang 13
25
khai.hq@ou.edu.vnMạng ngữ nghĩa của kiểu mối kết hợp
“Staff Manages Branch”
26
khai.hq@ou.edu.vnMức tham gia kết hợp (Multiplicity) của
mối kết hợp “Staff Manages Branch” (1:1)
Thuvientailieu.net.vn
Trang 43khai.hq@ou.edu.vnMạng ngữ nghĩa của kiểu mối kết hợp
“Staff Oversees PropertyForRent”
28
khai.hq@ou.edu.vnMức tham gia kết hợp (Multiplicity) của
“Staff Oversees PropertyForRent” (1:*)
Trang 44Chương 3: Mô hình thực thể - Mối kết hợp Trang 15
29
khai.hq@ou.edu.vnMạng ngữ nghĩa của kiểu mối kết hợp
“Newspaper Advertises PropertyForRent”
30
khai.hq@ou.edu.vnMức tham gia kết hợp (Multiplicity) của
“Newspaper Advertises PropertyForRent” (*:*)
Thuvientailieu.net.vn