NỘI DUNG • Hệ thống hướng tệp tin • Hệ thống hướng cơ sở dữ liệu • Người dùng cơ sở dữ liệu • Hệ quản trị cơ sở dữ liệu... HỆ THỐNG HƯỚNG TẬP TIN • Kiểu dữ liệu trong các ngôn ngữ lập tr
Trang 1TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Introduction and Conceptual Modeling
Trang 2NỘI DUNG
• Hệ thống hướng tệp tin
• Hệ thống hướng cơ sở dữ liệu
• Người dùng cơ sở dữ liệu
• Hệ quản trị cơ sở dữ liệu
Trang 3Thảo luận
Đưa ra nhận xét về cách thức lưu trữ dữ liệu trong
lập trình truyền thống?
Trang 4HỆ THỐNG HƯỚNG TỆP TIN
HỆ THỐNG HƯỚNG TỆP TIN
Tệp tin
Tệp tin Dữ liệu
Trang 5HỆ THỐNG HƯỚNG TỆP TIN
• Tập hợp các chương trình ứng dụng cung cấp các chức năng cần thiết cho người dùng cuối (end-user)
• Mỗi chương trình định nghĩa và xử lý dữ liệu của
chính nó
Trang 6HỆ THỐNG HƯỚNG TỆP TIN
• Ví dụ
DreamHome
Bộ phận Khách hàng Bộ phận Hợp đồng
Trang 7NHA
KHACHHANG HOPDONG
Trang 9HỆ THỐNG HƯỚNG TỆP TIN
• Khuyết điểm:
• Chia sẻ tệp tin
• Bảo mật
Trang 10HỆ THỐNG HƯỚNG TỆP TIN
• Chia sẻ tệp tin :
• Dữ liệu bị dư thừa và trùng lắp
• Dữ liệu không nhất quán
Trang 11HỆ THỐNG HƯỚNG TẬP TIN
• Những vấn đề mới phát sinh:
• Bảo mật dữ liệu
• Cấu trúc dữ liệu cứng (rigid)
• Không hỗ trợ truy xuất đồng thời (Concurrent)
Trang 12HỆ THỐNG HƯỚNG TẬP TIN
• Kiểu dữ liệu trong các ngôn ngữ lập trình có thể khác nhau:
Integer Float Double Char
Trang 14HỆ THỐNG HƯỚNG TẬP TIN
• Không hỗ trợ truy xuất đồng thời
Tập tin NHA.dat
Trang 15NỘI DUNG
• Hệ thống hướng tập tin
• Hệ thống hướng cơ sở dữ liệu
• Người dùng cơ sở dữ liệu
• Hệ quản trị cơ sở dữ liệu
Trang 16HỆ THỐNG HƯỚNG CSDL
• Cơ sở dữ liệu (database): một tập hợp các dữ liệu
có liên quan về mặt luận lý, và sự mô tả của những
dữ liệu này, được thiết kế để đáp ứng nhu cầu thông tin của một tổ chức
• Thực thể (entity)
• Thuộc tính (attribute)
• Mối quan hệ (relationship)
Trang 17HỆ THỐNG HƯỚNG CSDL
Hệ Quản Trị CSDL
Trang 18HỆ THỐNG HƯỚNG CSDL
• Một số đặc tính của CSDL
• Tính tự mô tả
• Tính độc lập giữa chương trình và dữ liệu
• Tính trừu tượng dữ liệu
• Tính nhất quán
• Các cách nhìn dữ liệu
Trang 19• Các định nghĩa được lưu trữ trong catalog
• Dữ liệu trong catalog gọi là meta-data (data of data)
• Các ứng dụng có thể truy xuất đến nhiều CSDL bằng các thông tin được lưu trữ trong catalog
Trang 20HỆ THỐNG HƯỚNG CSDL
• Tính độc lập
Cấu trúc CSDL lưu trữ độc lập với cấu trúc của
chương trình ứng dụng
Trang 21HỆ THỐNG HƯỚNG CSDL
• Tính trừu tượng
• Hệ CSDL cho phép trình bày dữ liệu ở một mức
độ trừu tượng cho phép, nhằm che bớt cấu trúc lưu trữ thật sự của dữ liệu
• Trừu tượng dữ liệu theo mô hình đối tượng
• Đối tượng
• Thuộc tính của đối tượng
• Các mối liên hệ
Trang 23HỆ THỐNG HƯỚNG CSDL
• Góc nhìn (view):
MaKH Ho Ten DiaChi DienThoai
MaKH Ho Ten DiaChi DienThoai Kieu Gia
MaKH Ho Ten DiaChi DienThoai Kieu Gia
BP Khách hàng
BP Hợp đồng
Bảng dữ liệu thực
Trang 25Thảo luận
Tại sao hệ thống CSDL phải có các đặc tính vừa nêu?
Trang 26Mục tiêu của hệ thống hướng CSDL
• Đảm bảo ý nghĩa của dữ liệu
• Đảm bảo tính riêng tư và quyền khai thác dữ liệu của người sử dụng
• Đảm bảo giải quyết xung đột
• Đảm bảo toàn vẹn dữ liệu khi có sự cố
Trang 27HỆ THỐNG HƯỚNG CSDL
• Hệ quản trị cơ sở dữ liệu (HQTCSDL) là phần mềm
hệ thống cho phép người dùng định nghĩa, tạo, truy xuất và bảo trì CSDL
• Đảm bảo mục tiêu:
• Dữ liệu sẵn dùng (Data Availability)
• Tính toàn vẹn dữ liệu (Data Integrity)
• An toàn dữ liệu (Data Security)
• Độc lập dữ liệu (Data Independency)
Trang 29Xử lý dữ liệu và báo cáo
Trang 30NGƯỜI DÙNG CƠ SỞ DỮ LIỆU
• Người quản trị CSDL (Database Administrator)
• Tổ chức vật lý
• Thực hiện chính sách bảo mật
• Đảm bảo hiệu suất và sự nhất quán dữ liệu
• Kiến thức chuyên sâu về HQTCSDL
Trang 31NGƯỜI DÙNG CƠ SỞ DỮ LIỆU
• Người thiết kế CSDL (Database Designer)
• Thiết kế ý niệm (conceptual design)
• Thiết kế luận lý (logical design)
• Thiết kế vật lý (physical design)
Trang 32NGƯỜI DÙNG CƠ SỞ DỮ LIỆU
• Người lập trình CSDL (Database Programmer)
• Hiện thực các phần mềm ứng dụng CSDL đáp
ứng yêu cầu người dùng
• Truy xuất / chèn / cập nhật / xóa dữ liệu
Trang 33NGƯỜI DÙNG CƠ SỞ DỮ LIỆU
• Người dùng cuối (End-user)
• Người dùng thường (Native user)
Trang 34HỆ QUẢN TRỊ CSDL
• Hệ quản trị cơ sở dữ liệu (HQTCSDL) là phần mềm
hệ thống cho phép người dùng định nghĩa, tạo, truy xuất và bảo trì CSDL
• Đảm bảo mục tiêu:
• Dữ liệu sẵn dùng (Data Availability)
• Tính toàn vẹn dữ liệu (Data Integrity)
• An toàn dữ liệu (Data Security)
• Độc lập dữ liệu (Data Independency)
Trang 35HỆ QUẢN TRỊ CSDL
• Hệ quản trị CSDL cung cấp 3 nhóm ngôn ngữ:
• Ngôn ngữ định nghĩa dữ liệu (Data Defination Language – DDL)
• Ngôn ngữ thao tác dữ liệu (Data Manipulation Language – DML)
• Ngôn ngữ điều khiển dữ liệu (Data Controlling Language – DCL)
Trang 36HỆ QUẢN TRỊ CSDL
• Ngôn ngữ định nghĩa dữ liệu (DDL)
Là loại ngôn ngữ được sử dụng để định nghĩa cấu trúc của các thành phần trong CSDL
Trang 37HỆ QUẢN TRỊ CSDL
• Ngôn ngữ thao tác dữ liệu (DML)
Là phương tiện tương tác với CSDL thông qua các thao tác thu thập, thêm, xóa và sửa dữ liệu
Trang 38HỆ QUẢN TRỊ CSDL
• Ngôn ngữ điều khiển dữ liệu (DCL)
Hỗ trợ thực hiện các khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho các nhóm người dùng trong hệ thống
Trang 40HỆ QUẢN TRỊ CSDL
• Kiến trúc của hệ quản trị CSDL gồm hai thành phần chức năng:
• Bộ quản lý lưu trữ (Storage Manager)
• Bộ xử lý truy vấn (Query Processsor)
Trang 42HỆ THỐNG HƯỚNG CSDL
Bộ xử lý truy vấn thực hiện các giai đoạn:
• Phân tích (Parse)
• Tối ưu hóa câu hỏi (Query Optimizer)
• Lập kế hoạch thực hiện (Plan Excuter)
• Tính toán (Operator Evaluator)
Trang 43HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Các thành phần của HQTCSDL
Application programs Queries
Database schema
DML preprocessor
Query processor
DDL compiler
Program object code
Database manager
Dictionary manager
Access methods
File manager
System
DBMS
Developers End-Users DBA
Trang 44HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Các chức năng của HQTCSDL
• Lưu trữ, truy xuất và cập nhật dữ liệu
• Người dùng có thể truy xuất danh mục dữ liệu
• Hỗ trợ giao dịch (transaction)
• Kiểm soát truy xuất đồng thời
• Sao lưu, phục hồi dữ liệu
• Nhất quán dữ liệu
Trang 45HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
dữ liệu
Trả
về tập tin
Trang 46HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Trang 47HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Kiến trúc Client – Server 2 tầng (2 Layers)
Trang 48HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Trang 49HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Các kiến trúc HQTCSDL
• Kiến trúc 3 tầng (3-tiers)
• Kiến trúc n tầng (n-tiers)
Trang 50TÓM TẮT
• Hệ thống hướng tập tin
• Hệ thống hướng cơ sở dữ liệu
• Người dùng cơ sở dữ liệu
• Hệ quản trị cơ sở dữ liệu