Bài giảng Công nghệ phần mềm: Chương 1 được biên soạn bởi GV. Nguyễn Hồng Hạnh với mục đích giúp các em sinh viên nắm được các hệ thống xử lý tệp truyền thống và những hạn chế của nó. Trình bày các hệ CSDL: khái niệm, khả năng, kiến trúc, người dùng của một hệ quản trị CSDL. Phân loại các hệ CSDL. Mời các bạn cùng tham khảo chi tiết bài giảng tại đây.
lOMoARcPSD|16911414 Chương Đại cương hệ sở liệu GV: Nguyễn Hồng Hạnh Email: hanhnh@nuce.edu.vn Bộ môn Công nghệ Phần mềm Khoa Công nghệ Thông tin, Đại học Xây Dựng 1 Nội dung chương 1.1 Các hệ thống xử lý tệp truyền thống • hạn chế • 1.2 Các hệ CSDL: khái niệm, khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 2 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 1.1 Các hệ thống xử lý tệp truyền thống • Bước khởi đầu q trình tin học hóa doanh nghiệp • Tập trung vào nhu cầu xử lý liệu phòng riêng lẻ tổ chức mà không xem xét tổng thể tổ chức • Viết chương trình ứng dụng đơn lẻ, khơng có kế hoạch, khơng có mơ hình hướng đến tăng trưởng 3 Các hệ thống xử lý tệp truyền thống • Mỗi chương trình ứng dụng định nghĩa quản lý tệp liệu riêng • Trước xuất phần mềm hệ quản trị CSDL, khứ hệ thống sở tệp tạo lập để xử lý số lượng lớn liệu 4 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Hạn chế hệ thống xử lý tệp truyền thống • Dư thừa khơng qn liệu • Khó khăn truy nhập liệu • Cơ lập hạn chế chia sẻ liệu • Các vấn đề an tồn tồn vẹn • Các vấn đề độ tin cậy • Sự phụ thuộc liệu chương trình ứng dụng 5 Nội dung chương • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế Các hệ CSDL: khái niệm, khả năng, kiến • 1.2 trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 6 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 1.2 Các hệ sở liệu • CSDL (database) ? • Tại phải sử dụng CSDL ? • Tại phải tìm hiểu hệ CSDL (database systems) ? 7 Ví dụ quản lý đào tạo • Thơng tin cần quan tâm • Khóa học, lớp học, sinh viên, giáo viên, mơn học,… • Thơng tin sinh viên: thông tin cá nhân, thông tin học tập,… • Thơng tin mơn học: khối lượng, giáo viên, lịch học,… • Cần lưu trữ thơng tin đa dạng Cơ sở liệu 8 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Ví dụ: khai thác thơng tin • Sinh viên • Các mơn học Viện Cơng nghệ thơng tin Truyền thơng? • Điểm thi mơn “Hệ sở liệu” ? • Giáo viên • Danh sách sinh viên lớp Tin2-K49 ? • Thời khóa biểu lớp Tin2-K49 ? • Giáo vụ • Danh sách sinh viên K47 tốt nghiệp loại giỏi ? Phần mềm ứng dụng 9 "Hình dung" xây dựng CSDL • Yêu cầu • Lưu trữ thơng tin cần thiết cách xác • Truy xuất thông tin hiệu • Thực • Xác định yêu cầu nghiệp vụ • Xác định thơng tin cần lưu trữ • Xác định cách thức lưu trữ • Cần cơng cụ trợ giúp xây dựng CSDL Phần mềm quản trị CSDL 10 10 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Các khái niệm ứng dụng hệ CSDL CSDL Hệ QTCSDL 11 11 Cơ sở liệu (database) • Là tập hợp liệu • Biểu diễn vài khía cạnh giới thực • Có liên hệ logic thống • Được thiết kế bao gồm liệu phục vụ mục đích • Là sưu tập liệu tác nghiệp lưu trữ lại hệ ứng dụng xí nghiệp cụ thể sử dụng 12 12 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Hệ quản trị sở liệu (Database Management System-DBMS) • Là hệ thống phần mềm cho phép • Định nghĩa, tạo lập: xác định kiểu, cấu trúc, ràng buộc liệu, lưu trữ liệu thiết bị nhớ • Thao tác: truy vấn, cập nhật, kết xuất,…các CSDL cho ứng dụng khác • Ví dụ: MS SQL Server, DB2, MS Access, Oracle, FoxPro,… 13 13 Hệ sở liệu • Là hệ thống gồm thành phần • Hệ quản trị CSDL • Phần cứng • CSDL phần mềm ứng dụng • Những người sử dụng • Ví dụ: Hệ quản lý đào tạo, hệ quản lý nhân sự, hệ quản lý kinh doanh,… 14 14 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Hệ CSDL Hệ CSDL Ứng dụng Hệ Quản Trị CSDL CSDL CSDL 15 15 Các tính hệ quản trị CSDL • Quản lý liệu tồn lâu dài • Định nghĩa liệu • Quản lý lưu trữ • Truy xuất liệu cách hiệu • Biểu diễn thao tác liệu • Xử lý câu hỏi • Quản trị giao dịch 16 16 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Các tính hệ quản trị CSDL • Hỗ trợ mơ hình liệu • Đảm bảo tính độc lập liệu • Hỗ trợ ngôn ngữ cấp cao định cho phép người sử dụng định nghĩa cấu trúc liệu, truy nhập thao tác liệu • Điều khiển truy nhập • Phục hồi liệu 17 17 Các ngơn ngữ • Ngơn ngữ định nghĩa liệu (Data Definition Language - DDL) • Cấu trúc liệu • Mối liên hệ liệu quy tắc, ràng buộc áp đặt lên liệu • Ngơn ngữ thao tác liệu (Data Manipulation Language - DML) • Tìm kiếm, thêm, xóa, sửa liệu CSDL • Ngôn ngữ điều khiển liệu (Data Control Language - DCL) • Thay đổi cấu trúc bảng liệu • Khai báo bảo mật thơng tin • Quyền hạn người dùng khai thác CSDL 18 18 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Sự trừu tượng hóa liệu Khung nhìn Khung nhìn n Mức khung nhìn (ngồi) Sơ đồ khái niệm (logic) Mức quan niệm (logic) Mức lưu trữ (trong) Sơ đồ (vật lý) mô tả cách mà người sử dụng nhìn thấy liệu định nghĩa cấu trúc logic liệu, liệu lưu trữ mối quan hệ liệu định nghĩa cấu trúc tệp dẫn sử dụng sở liệu (cách lưu trữ liệu nào) 19 19 Tương ứng mức với ngôn ngữ Pascal Type khach_hang = record ten:string; ngay_sinh:string; dia_chi:string; end; • Mức vật lý: ghi khach_hang mơ tả khối nhớ, chương trình dịch che dấu chi tiết mức người lập trình • Mức logic: ghi mơ tả định nghĩa kiểu, người lập trình sử dụng ngơn ngữ lập trình làm việc mức trừu tượng • Mức khung nhìn: người sử dụng máy tính thấy tập chương trình ứng dụng, che dấu chi tiết kiểu liệu 20 20 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 10 lOMoARcPSD|16911414 Kiến trúc hệ quản trị CSDL Các thay đổi sơ đồ Các truy vấn Bộ xử lý câu hỏi Các thay đổi liệu Bộ quản trị giao dịch Bộ quản lý lưu trữ Siêu liệu (metadata) Dữ liệu (data) 21 21 Quản lý lưu trữ • Yêu cầu • lưu trữ truy xuất liệu thiết bị nhớ • Thực • Tổ chức tối ưu liệu thiết bị nhớ • Tương tác hiệu với quản lý tệp Bộ quản lý lưu trữ Quản lý buffer Quản lý tệp Metadata & Data dictionary (từ điển liệu) Quản lý giao dịch Data & index (chỉ mục) 22 22 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 11 lOMoARcPSD|16911414 Xử lý câu hỏi • Yêu cầu • Tìm kiếm liệu trả lời cho yêu cầu truy vấn • Thực Bộ xử lý câu hỏi Bộ biên dịch Bộ tối ưu Bộ đánh giá • Biến đổi truy vấn mức cao thành yêu cầu hiểu hệ CSDL • Lựa chọn kế hoạch tốt để trả lời truy vấn Bộ quản lý lưu trữ Metadata & Data dictionary Data & index 23 23 Quản trị giao dịch • Yêu cầu • Định nghĩa giao dịch: tập thao tác xử lý đơn vị khơng chia căt • Đảm bảo tính đắn tính quán liệu • Thực • Quản lý điều khiển tương tranh • Phát lỗi phục hồi CSDL 24 24 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 12 lOMoARcPSD|16911414 Người dùng • Người thiết kế cài đặt hệ QTCSDL: chịu trách nhiệm thiết kế cài đặt module hệ QTCSDL giao diện hình thức gói phần mềm • Người phát triển cơng cụ: chịu trách nhiệm thiết kế cài đặt gói phần mềm hỗ trợ cho việc thiết kê, sử dụng tăng cường hiệu hệ CSDL 25 25 Người dùng • Người phân tích hệ thống phát triển ứng dụng: chịu trách nhiệm xác định yêu cầu người dùng cuối, xác định giao dịch cần thiết để đáp ứng yêu cầu người dùng Người lập trình ứng dụng cài đặt yêu cầu chương trình, kiểm thử, gỡ rối, lập tài liệu cho chương trình • Người thiết kế CSDL: chịu trách nhiệm xác định liệu lưu trữ CSDL cấu trúc biểu diễn lưu trữ liệu 26 26 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 13 lOMoARcPSD|16911414 Người dùng • Người sử dụng cuối: người khai thác hệ CSDL • Người quản trị CSDL: chịu trách nhiệm cho phép truy nhập CSDL, điều phối kiểm tra sử dụng CSDL, quản lý tài nguyên phần cứng phân mềm cần thiết • Người bảo trì hệ thống: người quản trị hệ thống chịu trách nhiệm việc hoạt động bảo trì mơi trường (phần cứng phần mềm) cho hệ CSDL 27 27 Nội dung chương • 1.1 Các hệ thống xử lý tệp truyền thống hạn chế • 1.2 Các hệ CSDL: khái niệm, khả năng, kiến trúc, người dùng hệ quản trị CSDL • 1.3 Sự phân loại hệ CSDL 28 28 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 14 lOMoARcPSD|16911414 1.3 Phân loại hệ CSDL • Mơ hình liệu • Mạng vs phân cấp vs quan hệ vs hướng đối tượng vs • Số người sử dụng • Một người dùng vs nhiều người dùng • Tính phân tán CSDL • Tập trung vs Phân tán • Tính thống liệu • Đồng vs Khơng đồng • 29 29 Các hệ CSDL tập trung • Hệ CSDL cá nhân: người sử dụng đơn lẻ vừa thiết kế, tạo lập CSDL, cập nhật, bảo trì liệu, lập hiển thị báo cáo →đảm nhiệm vai trò: người quản trị CSDL, người viết chương trình ứng dụng, end-user • Hệ CSDL trung tâm: liệu lưu trữ máy tính trung tâm • Hệ CSDL khách-chủ: • Các máy tính trung tâm lớn → đắt so với máy nhỏ máy trạm • Các ứng dụng máy khách truy nhập liệu quản lý máy chủ 30 30 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 15 lOMoARcPSD|16911414 Các hệ CSDL tập trung (tiếp) Hệ CSDL trung tâm Hệ CSDL cá nhân Hệ CSDL kháchchủ 31 31 Các hệ CSDL phân tán • CSDL phân tán? Là tập CSDL có quan hệ logic với trải nhiều trạm làm việc mạng máy tính • Có tính chất: quan hệ logic phân tán • Hệ QTCSDL phân tán: Là hệ thống phần mềm cho phép tạo lập CSDLPT điều khiển truy nhập CSDLPT • Chia loại: CSDLPT không 32 32 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 16 lOMoARcPSD|16911414 Các hệ CSDLPT (tiếp) 33 33 Kết luận • CSDL cho phép lưu trữ khai thác liệu cách thống hiệu (đặc biệt trường hợp khối lượng liệu lớn) • Sự trừu tượng liệu tính độc lập liệu cho phép phát triển ứng dụng “dễ dàng hơn” • Hệ quản trị CSDL cung cấp công cụ hữu hiệu trợ giúp việc tạo lập CSDL phát triển ứng dụng 34 34 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 17 lOMoARcPSD|16911414 Sử dụng kiến thức môn học tương lai ‘‘More than 80 % of real world computer applications are associated with databases’’* * Korth Phát triển ứng dụng & Silberschatz Database System Concepts nghiên cứu phát triển Nghiên cứu 35 35 Các điểm cần lưu ý chương • Cách tiếp cận tệp vs cách tiếp cận CSDL • CSDL vs hệ QTCSDL vs hệ CSDL • Kiến trúc mức hệ CSDL • Các chức hệ QTCSDL • Người sử dụng hệ CSDL • Phân loại hệ CSDL 36 36 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 18 lOMoARcPSD|16911414 37 37 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) 19 ... Cần công cụ trợ giúp xây dựng CSDL Phần mềm quản trị CSDL 10 10 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD |16 911 414 Các khái niệm ứng dụng hệ CSDL CSDL Hệ QTCSDL 11 11 Cơ... nghiệp cụ thể sử dụng 12 12 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD |16 911 414 Hệ quản trị sở liệu (Database Management System-DBMS) • Là hệ thống phần mềm cho phép • Định... sự, hệ quản lý kinh doanh,… 14 14 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD |16 911 414 Hệ CSDL Hệ CSDL Ứng dụng Hệ Quản Trị CSDL CSDL CSDL 15 15 Các tính hệ quản trị CSDL