Download Understanding Database Systems: Concepts, Functions, and Classification and more Cheat Sheet Database Programming in PDF only on Docsity!
Chương 1
Đại cương về các hệ cơ sở dữ 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 này
- 1.1 Các hệ thống xử lý tệp truyền thống và những hạn chế của nó.
- 1.2 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.
- 1.3 Sự phân loại các hệ CSDL. 2
1 2
1.1 Các hệ thống xử lý tệp truyền thống
3
- Bước khởi đầu của quá trình tin học hóa doanh nghiệp.
- Tập trung vào nhu cầu xử lý dữ liệu của các phòng riêng lẻ trong tổ chức mà không xem xét tổng thể tổ chức này.
- Viết một chương trình mới đối với mỗi ứng dụng đơn lẻ, không có kế hoạch, không có mô hình hướng đến sự tăng trưởng.
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 và quản lý các tệp dữ liệu của riêng nó.
- Trước khi xuất hiện các phần mềm hệ quản trị CSDL, trong quá khứ các hệ thống trên cơ sở tệp đã được tạo lập để xử lý một số lượng lớn dữ liệu. 4 3 4
1.2 Các hệ cơ sở dữ liệu
- CSDL (database) là gì?
- Tại sao phải sử dụng CSDL?
- Tại sao phải tìm hiểu về các hệ CSDL (database systems)? 7
- 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 về sinh viên: thông tin cá nhân, thông tin học tập,…
- Thông tin về môn học: khối lượng, giáo viên, lịch học,…
- Cần lưu trữ những thông tin đa dạng 8 Ví dụ về quản lý đào tạo
Cơ sở dữ liệu
7 8
Ví dụ: khai thác thông tin
- Sinh viên
- Các môn học của Viện Công nghệ thông tin và Truyền thông?
- Điểm thi môn “Hệ cơ sở dữ liệu”?
- Giáo viên
- Danh sách sinh viên lớp Tin2-K49?
- Thời khóa biểu của lớp Tin2-K49?
- Giáo vụ
- Danh sách sinh viên K47 tốt nghiệp loại giỏi ?... 9 Phần mềm ứng dụng
"Hình dung" về xây dựng một CSDL
- Yêu cầu
- Lưu trữ thông tin cần thiết một cách chính xác
- Truy xuất thông tin hiệu quả
- Thực hiện
- 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 một CSDL 10 Phần mềm quản trị CSDL 9 10
Hệ quản trị cơ sở dữ liệu (Database Management System-DBMS)
- Là một 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 dữ liệu, lưu trữ dữ liệu trên các thiết bị nhớ.
- Thao tác: truy vấn, cập nhật, kết xuất,…các CSDL cho các ứng dụng khác nhau
- Ví dụ: MS SQL Server, DB2, MS Access, Oracle, FoxPro,… 13 Hệ cơ sở dữ liệu
- Là một hệ thống gồm 4 thành phần
- Hệ quản trị CSDL
- Phần cứng
- CSDL và 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 13 14
Hệ CSDL 15 CSDL Hệ Quản Trị CSDL CSDL Hệ Ứng dụng CSDL Các tính năng của hệ quản trị CSDL
- Quản lý dữ liệu tồn tại lâu dài
- Định nghĩa dữ liệu
- Quản lý lưu trữ
- Truy xuất dữ liệu một cách hiệu quả
- Biểu diễn các thao tác dữ liệu
- Xử lý câu hỏi
- Quản trị giao dịch 16 15 16
Sự trừu tượng hóa dữ liệu 19 Sơ đồ khái niệm (logic) Sơ đồ trong (vật lý) Khung nhìn 1 ... Khung nhìn n Mức quan niệm (logic) Mức lưu trữ (trong) Mức khung nhìn (ngoài) định nghĩa cấu trúc các tệp và chỉ dẫn được sử dụng trong cơ sở dữ liệu (cách lưu trữ dữ liệu như thế nào) định nghĩa cấu trúc logic của dữ liệu, dữ liệu nào được lưu trữ và mối quan hệ giữa các dữ liệu mô tả cách mà người sử dụng có thể nhìn thấy dữ liệu Tương ứng 3 mức với ngôn ngữ Pascal
- Mức vật lý: một bản ghi khach_hang được mô tả như một khối nhớ, chương trình dịch che dấu các chi tiết mức này đối với người lập trình.
- Mức logic: mỗi bản ghi được mô tả bởi 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 tại mức trừu tượng này.
- Mức khung nhìn: người sử dụng máy tính thấy một tập các chương trình ứng dụng, che dấu những chi tiết về các kiểu dữ liệu 20 Type khach_hang = record ten:string; ngay_sinh:string; dia_chi:string; end; 19 20
Kiến trúc của một hệ quản trị CSDL 21 Dữ liệu (data) Siêu dữ liệu (metadata) Bộ xử lý câu hỏi Bộ^ quản^ trị giao dịch Bộ quản lý lưu trữ Các thay đổi sơ đồ Các truy vấn Các thay đổi dữ liệu Quản lý lưu trữ
- Yêu cầu
- lưu trữ và truy xuất dữ liệu trên các thiết bị nhớ
- Thực hiện
- Tổ chức tối ưu dữ liệu trên thiết bị nhớ
- Tương tác hiệu quả với bộ quản lý tệp 22 Data & index (chỉ mục) Quản lý buffer Quản lý tệp Quản lý giao dịch Bộ quản lý lưu trữ Metadata & Data dictionary (từ điển dữ liệu) 21 22
Người dùng
- Người thiết kế và cài đặt hệ QTCSDL : chịu trách nhiệm thiết kế và cài đặt các module của hệ QTCSDL và các giao diện dưới hình thức cá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ế và cài đặt các gói phần mềm hỗ trợ cho việc thiết kê, sử dụng cũng như tăng cường hiệu năng của các hệ CSDL. 25 Người dùng
- Người phân tích hệ thống và phát triển ứng dụng : chịu trách nhiệm xác định yêu cầu của người dùng cuối, xác định các giao dịch cần thiết để đáp ứng các yêu cầu người dùng. Người lập trình ứng dụng cài đặt những yêu cầu này trong 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 dữ liệu lưu trữ trong CSDL và cấu trúc biểu diễn và lưu trữ những dữ liệu này 26 25 26
Người dùng
- Người sử dụng cuối : là người khai thác cá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 và kiểm tra sử dụng CSDL, quản lý tài nguyên phần cứng và phân mềm khi cần thiết
- Người bảo trì hệ thống : là những người quản trị hệ thống chịu trách nhiệm việc hoạt động và bảo trì môi trường (phần cứng và phần mềm) cho hệ CSDL 27
Nội dung chương này
- 1.1 Các hệ thống xử lý tệp truyền thống và những hạn chế của nó.
- 1.2 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.
- 1.3 Sự phân loại các hệ CSDL. 28
27 28
Các hệ CSDL tập trung (tiếp) 31 Hệ CSDL cá nhân Hệ CSDL khách- chủ Hệ CSDL trung tâm Các hệ CSDL phân tán
- CSDL phân tán? Là một tập các CSDL có quan hệ logic với nhau nhưng được trải ra trên nhiều trạm làm việc của một mạng máy tính.
- Có 2 tính chất: quan hệ logic và phân tán
- Hệ QTCSDL phân tán: Là một hệ thống phần mềm cho phép tạo lập CSDLPT và điều khiển các truy nhập đối với CSDLPT này.
- Chia ra 2 loại: CSDLPT thuần nhất và không thuần nhất 32 31 32
Các hệ CSDLPT (tiếp) 33 Kết luận
- CSDL cho phép lưu trữ và khai thác dữ liệu một cách thống nhất và hiệu quả (đặc biệt trong trường hợp khối lượng dữ liệu lớn).
- Sự trừu tượng về dữ liệu và tính độc lập dữ 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ác công cụ hữu hiệu trợ giúp việc tạo lập CSDL và phát triển ứng dụng 34 33 34
37 37