Tổng quan về cơ sở dữ liệu
• 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
Bạn đang xem trước 20 trang tài liệu Tổng quan về cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Introduction and Conceptual Modeling
Giảng viên: Ths. Nguyễn Thị Khiêm Hòa
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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 2
Thả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?
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 3
HỆ THỐNG HƯỚNG TỆP TIN
HỆ
THỐNG
HƯỚNG
TỆP
TIN
Ứng dụng 1
Dữ liệu 1
Ứng dụng 2
Dữ liệu 2
Ứng dụng 3
Dữ liệu 3
Tệp
tin
Tệp
tin
Tệp
tin
Dữ liệu
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 4
HỆ 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ó.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 5
HỆ THỐNG HƯỚNG TỆP TIN
• Ví dụ
DreamHome
Bộ phận Khách hàng Bộ phận Hợp đồng
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 6
HỆ THỐNG HƯỚNG TỆP TIN
Chia sẻ tệp tin
BP Khách Hàng
BP Hợp Đồng
NHA
KHACHHANG
CHUSOHUU
NHA
KHACHHANG
HOPDONG
BP Khách Hàng
BP Hợp Đồng
CHUSOHUU
KHACHHANG
NHA
HOPDONG
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 7
HỆ THỐNG HƯỚNG TỆP TIN
• Ưu điểm:
• Chi phí thấp
• Khả năng đáp ứng nhanh, an toàn.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 8
HỆ THỐNG HƯỚNG TỆP TIN
• Khuyết điểm:
• Chia sẻ tệp tin
• Bảo mật.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 9
HỆ 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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 10
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 11
HỆ 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:
Kiểu dữ liệu C++ Java
Integer
Float
Double
Char
………
4 bytes
4 bytes
8 bytes
1 byte
………
4 bytes
4 bytes
8 bytes
2 bytes
………
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 12
HỆ THỐNG HƯỚNG TẬP TIN
• Cấu trúc dữ liệu cứng
Quản lý Khách hàng Quản lý Hợp đồng
Các tập tin dùng chung
Java C++
Java
Module
chuyển mã
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 13
HỆ THỐNG HƯỚNG TẬP TIN
• Không hỗ trợ truy xuất đồng thời
Quản lý Khách hàng Quản lý Hợp đồng
Tập tin NHA.dat
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 14
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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 15
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 16
HỆ THỐNG HƯỚNG CSDL
Hệ
Quản
Trị
CSDL
Ứng dụng 1
Dữ liệu 1
Ứng dụng 2
Dữ liệu 2
Ứng dụng 3
Dữ liệu 3
CSDL
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 17
HỆ 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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 18
HỆ THỐNG HƯỚNG CSDL
Một số đặc tính của CSDL
• Tính tự mô tả
• Hệ CSDL không chỉ chứa bản thân CSDL mà còn
chứa định nghĩa mô tả nó
• 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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 19
HỆ 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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 20
HỆ 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ệ
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 21
HỆ THỐNG HƯỚNG CSDL
• Tính nhất quán
• Lưu trữ dữ liệu thống nhất
• Tránh tình trạng trùng lắp thông tin
• Có cơ chế điều khiển truy xuất dữ liệu hợp lý
• Tránh tranh chấp dữ liệu
• Bảo đảm dữ liệu luôn đúng tại mọi thời điểm
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 22
HỆ 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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 23
HỆ THỐNG HƯỚNG CSDL
• Góc nhìn:
• Bảo mật dữ liệu
• Tùy biến cách trình bày dữ liệu
• Sự toàn vẹn cấu trúc CSDL
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 24
Thảo luận
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 25
Tại sao hệ
thống CSDL
phải có các
đặc tính
vừa nêu?
Mụ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ố.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 26
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 27
HỆ THỐNG HƯỚNG CSDL
• Các hệ quản trị cơ sở dữ liệu phổ biến:
• Access
• Microsoft SQL Sever
• Oracle
• IBM DB2
• MySQL
• PostgreSQL
• ……….
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 28
HỆ THỐNG HƯỚNG CSDL
• Ví dụ
`
BP Khách Hàng
`
BP Hợp Đồng
Xử lý dữ liệu và
báo cáo
Xử lý dữ liệu và
báo cáo
Chương trình quản lý Khách hàng
Chương trình quản lý Hợp đồng
HQTCSDL
Hệ thống CSDL
CSDL
NGƯỜ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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 30
NGƯỜ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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 31
NGƯỜ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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 32
NGƯỜI DÙNG CƠ SỞ DỮ LIỆU
• Người dùng cuối (End-user)
• Người dùng thường (Native user)
• Sử dụng phần mềm ứng dụng CSDL
• Không có kiến thức về CSDL và HQTCSDL
• Người dùng phức tạp (Sophisticated user)
• Có kiến thức về ngôn ngữ SQL
• Kiến thức về CSDL và HQTCSDL
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 33
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 34
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 35
HỆ 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.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 36
HỆ 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.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 37
HỆ 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.
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 38
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 39
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 40
HỆ QUẢN TRỊ CSDL
Bộ quản lý lưu trữ gồm:
• Kiểm tra chứng thực và toàn vẹn
• Quản lý giao dịch
• Quản lý file
• Quản lý vùng đệm
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 41
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 42
HỆ 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
buffers
DBMS
Developers DBA End-Users
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 43
HỆ 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
• Các chức năng tiện ích khác
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 44
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Các kiến trúc HQTCSDL
• Kiến trúc File-Server
• Mạng LAN
• Máy trạm cài đặt ứng dụng
và HQTCSDL
• Đĩa cứng dùng chung
`
`
`
LAN
File-
Server
CSDL
Máy 1
Máy 2
Máy 3
Yêu
cầu
dữ
liệu
Trả
về
tập
tin
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Kiến trúc File-Server
• Gia tăng tắt nghẽn mạng
• Một bản sao đầy đủ của HQTCSDL trên mỗi máy
trạm
• Điều khiển truy xuất đồng thời, phục hồi dữ liệu
và sự nhất quán dữ liệu rất phức tạp
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 46
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Kiến trúc Client – Server 2 tầng (2 Layers)
`
Client
Server
Giao diện người dùng (user
interface)
Xử lý dữ liệu và các nghiệp
vụ chính
Kiểm tra
Truy xuất dữ liệu
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Kiến trúc Client-Server 2 tầng
• Tăng hiệu suất
• Giảm chi phí phần cứng
• Giảm tắt nghẽn mạng
• Gia tăng toàn vẹn dữ liệu
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 48
HỆ 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)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 49
TÓ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
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM 50