Phân biệt rõ ràng giữa một hệ thống các file dữ liệu cổ điển với một cơ sở dữ liệu được tổ chức một cách có hệ thống, có cấu trúc trong môi trường làm việc nhiều người sử dụng... • Quản
Trang 1Nhập môn Cơ sở Dữ liệu
Trang 2Phân biệt rõ ràng giữa một hệ thống các file dữ liệu cổ điển
với một cơ sở dữ liệu được tổ chức một cách có hệ thống, có
cấu trúc trong môi trường làm việc nhiều người sử dụng
Trang 3Dẫn nhậpNgười sử dụng
Hệ thống giao diện
Hệ thống
xử lý
Hệ thống lưu trữ
Máy móc, thiết bị
Phần mềm
Trang 4Tại sao cần phải có một CSDL
• Hệ thống tập tin cổ điển:
– Được tổ chức riêng rẽ, phục vụ cho một mục đích của một đơn vị hay một đơn vị con trực thuộc cụthể
– Ưu điểm:
• triển khai ứng dụng nhanh
• có khả năng đáp ứng nhanh chóng, kịp thời.
Trang 5Ví dụ về hệ thống tập tin cổ điển
Trang 6– Các trường có liên kết với nhau một cách logic
để mô tả một người, một nơi chốn, hay một vật
• Tập tin và thư mục tập tin – File, file folder
Trang 7• Quản trị Dữ liệu của hệ thống tập tin cổ điển
– Đòi hỏi phải dùng các ngôn ngữ lập trình để lập trình thêm
– Tốn nhiều thời gian– Phụ thuộc vào việc lưu trữ dữ liệu về mặc vật lý– Không thể thực hiện những truy vấn thông tin phức tạp
– Khó hiệu chỉnh các tập tin trong hệ thống tập tin cổ điển (vì mỗi file trực thuộc hệ thống riêng của nó)
Nhược điểm hệ thống tập tin cổ điển
Trang 8– Thay đổi về cấu trúc tập tin đòi hỏi phải hiệu chỉnh
Nhược điểm hệ thống tập tin cổ điển
Trang 9• Định nghĩa trường và cách đặt tên
– Định nghĩa các mẫu tin thoãi mái nhưng nó sẽ gây khó khăn về các yêu cầu báo cáo
– Chọn được các tên trường đúng là quan trọng– Chú ý tới độ dài của tên trường
– Sử dụng các định danh duy nhất cho mẫu tin
Nhược điểm hệ thống tập tin cổ điển
Trang 10Nhược điểm hệ thống tập tin cổ điển
– Các phiên bản khác nhau và mâu thuẫn nhau của cùng một dữ liệu
– Hậu quả của việc dư thừa dữ liệu không thểkiểm soát được
• Lãng phí công sức nhập liệu và không gian lưu trữ.
• Những dị thường về dữ liệu - data anomalies
– Khi sửa đổi – Khi thêm – Khi xóa
• Dữ liệu không nhất quán - Data inconsistency
Trang 11Tại sao cần phải có một CSDL
– Dữ liệu– Thông tin
Trang 12• Dữ liệu - Data
– Số liệu thô– Được lưu trữ và truy cập– Chưa được xử lý để thể hiện ý nghĩa của nó cho người sử dụng
– Ví dụ:
• Công ty Robcor có hai chi nhánh và hai chi nhánh này lần lược có 1,380,456 và 1,453,907 hóa đơn.
• Mỗi hóa đơn có mã hóa đơn, ngày hóa đơn, và số lượng
• Giai đoạn xem xét là từ quý 1 năm 1997 tới quý 1 năm
3000124 12-Jan-2002 $121.98
Data
Trang 13• Thông tin - Information
– Dữ liệu đã được xử lý– Là mấu chốt để có được các quyết định tốt
Trang 14• Dữ liệu hợp thành thông tin
• Thông tin có được từ việc xử lý dữ liệu
• Thông tin lột tả ý nghĩa của dữ liệu
• Thông tin đúng đắng, kịp thời và đầy đủ là
mấu chốt để thực hiện những quyết định
• Quyết định đúng đắng là then chốt quyết định
sự sống còn của tổ chức
Trang 15Khái niệm về Cơ sở Dữ liệu
Cơ sở dữ liệu là một hệ thống các thông tin có
cấu trúc được lưu trữ trên các thiết bị lưu trữ
thông tin thứ cấp (như băng từ, đĩa từ ) để có
trình ứng dụng với nhiều mục đích khác nhau
- CSDL phải là một tập hợp các thông tin mang tính hệ thống
chứ không phải là các thông tin rời rạc, không có mối quan hệ
với nhau
- Các thông tin này phải có cấu trúc và tập hợp các thông tin này phải có khả năng đáp ứng các nhu cầu khai thác của nhiều người
sử dụng một cách đồng thời
Trang 16Sơ đồ tổng quát về một Cơ sở dữ liệu
Chương
trình ứng
dụng 1
Chương trình ứng dụng 2
Trang 17Ưu điểm của CSDL
Trang 19Các vấn đề với cách tiếp cận CSDL
• Tính chủ quyền của dữ liệu
người sử dụng
• Tranh chấp dữ liệu
• Đảm bảo dữ liệu khi có sự cố
Trang 20Vấn đề quản trị CSDL
máy tính giữ các dữ liệu có liên quan:
– Dữ liệu của người sử dụng (dữ liệu thô)– Metadata (dữ liệu về dữ liệu, nó chứa đựng các đặc tính và mối quan hệ giữa các dữ liệu với nhau)
Trang 21Hệ quản trị Cơ sở Dữ liệu
• Database Management System (DBMS): hệ thống phần mềm giúp giải quyết các vấn đề liên quan đến CSDL:
– Quản lý nội dung dữ liệu – Quản lý cấu trúc CSDL
– Cung cấp các công cụ để định nghĩa, tạo lập, khai thác và
xử lý dữ liệu: môi trường phát triển (đồ họa), ngôn ngữ truy vấn,…
– Kiểm soát truy cập dữ liệu,
• Cài đặt dựa trên một mô hình dữ liệu cụ thể.
• Một số hệ quản trị CSDL: Visual FoxPro, MicroSoft
Access, SQL-Server, DB2, Sybase, Paradox, Informix,
Oracle
Trang 22Tầm quan trọng của HQT CSDL
một cách nhanh chóng
Trang 24Database vs File Systems
Trang 25Ba mức độ biểu diễn CSDL
•Mức vật lý ( Physical): Lưu trữ vật lý CSDL: dữ liệu gì và được
lưu trữ như thế nào? ở đâu (đĩa từ, băng từ, track, sector nào)? Cần các chỉ mục gì?
•Mức quan niệm (Conception hay Logical): CSDL cần phải lưu giữ bao nhiêu loại dữ liệu? những dữ liệu gì? Mối quan hệ giữa các
loại dữ liệu?
CSDL mức quan niệm là một sự biểu diễn trừu tượng CSDL mức vật lý; và CSDL vật lý là sự cài đặt cụ thể của CSDL mức quan niệm.
•Mức ngoài: Người sử dụng hay chương trình ứng dụng "nhìn"
CSDL theo một góc độ toàn bộ hay chỉ một phần hoặc chỉ là các
thông tin tổng hợp từ CSDL hiện có, do người quản trị hay chương
trình ứng dụng quy định Người sử dụng hay chương trình ứng dụng
có thể hoàn toàn không được biết về cấu trúc tổ chức lưu trữ thông
Trang 26Cấu trúc ngoài 1
Cấu trúc ngoài 1
Cấu trúc ngoài 2
Cấu trúc ngoài 2
Cấu trúc ngoài n
Cấu trúc ngoài n
Sơ đồ quan niệm (hoặc mức logic)
Môi trường thế giới thực
Được mô hình hoá thành
Sơ đồ vật lý cấu trúc vật lý
Sơ đồ vật lý cấu trúc vật lý
-CSDL
Trang 27Sơ đồ tổng quát của hệ quản trị CSDL
của hệ quản trị CSDL sử dụng để lưu trữ cấu trúc
CSDL, các thông tin bảo mật, an toàn dữ liệu và các
cấu trúc ngoài
Trang 28Chương trình khai báo (mô tả)
cấu trúc
Chương trình ứng dụng A
Ngôn ngữ mô tả
dữ liệu
Ngôn ngữ thao tác dữ liệu
Các tự điển
dữ liệu CSDL
Trang 29ứng dụng thông qua các tầng của CSDL
Trang 30Môi trường hệ thống CSDL
Trang 31Các mô hình CSDL
• Định nghĩa: tập hợp logical constructs dùng
để thể hiện cấu trúc của dữ liệu và các mối quan giữa chúng trong CSDL
– Các mô hình quan niệm: thể hiện tính tự nhiên
có logic của dữ liệu; nhấn mạnh lên thực thể được thể hiện Trong thiết kế CSDL, mô hình này được sử dụng như bảng thiết kế
– Các mô hình thực thi: nhấn mạnh cách dữ liệu được thể hiện trong CSDL
Trang 32Các mô hình CSDL
– Entity-relationship database model (ERDBD)– Object-oriented model (OODBM)
– Hierachical database model (HDBM)– Network database model (NDBM)– Relational database model (RDBM)
Trang 33• Các loại quan hệ trong mô hình quan niệm
– Một-một - One-to-one (1:1)– Một-nhiều - One-to-many (1:M)– Nhiều-nhiều - Many-to-many (M:N)
– Phân cấp - Hierarchical– Mạng - Network
– Quan hệ - Relational– Hướng đối tượng - Object-Oriented
Các mô hình CSDL
Trang 34• Vào các thập kỷ 60, 70
• Tương tự như cấu trúc dữ liệu trong các ngôn ngữ lập trình
• Được thể hiện một cách logic bằng một cây hướng từ trên xuống
– Mỗi nút cha có thể có nhiều nút con (được nối với nhau bằng đoạn thẳng)
– Mỗi nút con chỉ có một nút cha
– Thể hiện được mối quan hệ 1:M
Books (id, title)
Authors
Trang 35Mô hình dữ liệu phân cấp
Trang 36Mô hình dữ liệu phân cấp
– Đường dẫn phân cấp (bắt đầu từ bên trái)– Left-list hierarchical path, hay preorder traversal, hay hierarchical sequence
– Re-list sequence, nếu phân đoạn được truy cập thường xuyên
Final assembly->Component A->Assembly A->
-> Part A ->Part B -> Component B ->
Component C –Assembly B -> Part C ->Part D
Trang 37Mô hình dữ liệu phân cấp
– Tài khỏan của khách hàng có thể là mục tiêu cho nhiều giao tác - transactions (quan hệ 1:M)– Mối quan hệ được cố định (gởi tiền và rút tiền)– Một số lượng lớn các giao tác truy cập thường xuyên
Trang 38Mô hình dữ liệu phân cấp
– Quan niệm đơn giản: mối quan hệ giữa các lớp (layer) là đơn giản về mặc logic; qui trình thiết kế cũng đơn giản– Bảo mật CSDL: buộc đồng nhất trên toàn hệ thống
– Thống nhất dữ liệu
– Độc lập dữ liệu
– Sự hiệu quả trong các mối quan hệ 1:M và khi quá trình
sử dụng đòi hỏi cho phép một số lượng lớn các giao tác
Trang 39Mô hình dữ liệu phân cấp
– Thực hiện phức tạp: các đặc tính về lưu trữ dữliệu mức vật lý; thiết kế CSDL phức tạp
– Khó quản lý và thiếu chuẩn– Thiếu tính độc lập cấu trúc– Độ phức tạp trong việc lập trình ứng dụng và
sử dụng (dựa trên con trỏ)– Các hạn chế về thực hiện, như mô hình chỉ xử
lý trường hợp kiểu quan hệ là 1:M
Trang 40Mô hình dữ liệu mạng (NDBM)
– Được Database Task Group (DBTG) gọi để định nghĩa chuẩn
– Ba thành phần quyết định CSDL
• Network schema: tổ chức mức quan niệm của toàn CSDL
• Subschema: một phần của CSDL như thông tin cho các chương trình ứng dụng
• Database management language: định nghĩa các đặc tính
và cấu trúc của dữ liệu
– Schema Data definition language (DDL): định nghĩa các thành phần của schema
Trang 41Mô hình dữ liệu mạng
• Giới thiệu khái niệm bộ (set) để mô tả mối
quan hệ
– Member có thể có nhiều owners– One-ownership
Trang 42Mô hình dữ liệu mạng
– Member có thể có nhiều owners
Trang 43Mô hình dữ liệu mạng
– Cho một đầu dữ liệu vào và các liên kết điều hướng navigational “links” để duyệt thông qua các dây chuyền dữ liệu
Authors
Publishers
Trang 44Mô hình dữ liệu mạng
– Quan niệm đơn giản, gần gíông mô hình phân cấp– Xử lý được nhiều kiểu quan hệ hơn (nhưng tất cả đều là quan hệ 1:M)
– Sự linh hoạt trong tuy cập dữ liệu– Tăng cường tính thống nhất về CSDL– Độc lập dữ liệu
– Hợp chuẩn
Trang 45Mô hình dữ liệu quan hệ (RDBM)
• Vào những năm 1980
• Cho người dùng hay người thiết kế CSDL thực hiện
trên một môi trường logic gần gũi với con người hơn
• Người dùng cảm nhận được như là một tập hợp các
bảng dùng để lưu trữ dữ liệu, còn việc xử lý chi tiết ởmức vật lý thế nào được giao cho RDBMS
• Bảng là một dãy các phần giao của hàng và cột
• Các bảng quan hệ với nhau bằng cách chia sẽ các đặc tính chung của thực thể
• Hỗ trợ các loại quan hệ 1:1, 1:M, M:N
Trang 46Mô hình dữ liệu quan hệ
Trang 48Mô hình dữ liệu quan hệ
– Có khả năng truy vấn phức tập với SQL (4GL được thêm vào)
Trang 49Mô hình dữ liệu quan hệ
– Cần sự đóng góp nhiều của phần cứng và hệ thống phần mềm
– Dễ dàng dẫn đến thiết kế và triển khai không tốt– Có thể làm tăng vấn đề “islands of information”
Trang 50Model (ERDBM)
• Bổ sung cho các quan niệm trong mô hình dữ liệu
quan hệ
• ERDBM giới thiệu cách thể hiện đồ họa có quan hệ
• ERDBM dựa trên một vài thành phần như Entity,
tabled entity (trong RDM)
• Entity và entity set, tập hợp các thực thể giống nhau
• Mỗi entity có các attributes để mô tả thực thể,
chúng tương tự như các field trong table
Trang 51• Được thể hiện trong entity relationship
• Dựa trên:
– entities, – attributes, và– relationships
Trang 52Mô hình thực thể kết hợp
entity
relationship
connection
Trang 54relationships) – Không có ngôn ngữ tính toán dữ liệu (không hoàn chỉnh)
Trang 55• Semantic Data model (SDM)->Object-oriented Data
Model (OODM)
• Khái niệm về Object-oriented vào những năm 1990
• Objects hay sự trừu tượng hóa của các thực thể trong
thể giới thực được lưu giữ
– Attributes mô tả đặc tính – Tập hợp các objects giống nhau là một class, tương tự như entity set nhưng có chứa procedure methods
• Methods thể hiện các hành động của các class trong thế giới thực
• Classes được tổ chức theo một class hierarchy
– Sự kế thừa là khả năng một object có thể kế thừa inherit
Trang 56Mô hình dữ liệu hướng đối tượng
• Gồm các thông tin về sự thực thi và thủ tục vận hành
cho các dữ liệu phức tạp như đồ họa, video, và các
Trang 57Mô hình dữ liệu hướng đối tượng
Trang 58Mô hình dữ liệu hướng đối tượng
• Ưu điểm
– Thêm vào nội dung ngữ nghĩa (semantic content) – Thể hiện trực quan gồm cả semantic content
– Thống nhất CSDL – Độc lập cả cấu trúc và dữ liệu
• Khuyết điểm
– Thiếu OODM – Truy cập dữ liệu điều hướng phức tạp – Kiến thức về OO
Trang 60Các mô hình CSDL và Internet
– Truy cập internet mềm dẻo, hiệu quả, và bảo mật – Dễ dùng, dễ phát triễn, và dễ hỗ trợ
– Hỗ trợ các kiểu dữ liệu và quan hệ phức tạp– Tương tác kép kính giữa nhiều data sources vàcấu trúc
– Tính đơn giản của mô hình CSDL ngữ cảnh– Nhiều công cụ thiết kế CSDL, triển khai CSDL
và phát triển ứng dụng CSDL– Giao diện DBMS mạnh mẽ làm cho công việc