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

pdf50 trang | Chia sẻ: lylyngoc | Lượt xem: 1843 | Lượt tải: 1download
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