Đại cương về hệ cơ sở dữ liệu
Các khái niệm cơ bản về hệ CSDL
Cơ sở dữ liệu (Database - DB):
- Là tập hợp các dữ liệu
- Biểu diễn một vài khía cạnh của thế giới thực
- Có liên hệ loic thống nhất
- Được thiết kế và bao gồm những dữ liệu phục vụ một mục đích nào đó
Hệ quản trị CSDL (Database Management System - DBMS):
- Là phần mềm cho phép:
- tạo lập CSDL cho các ứng dụng khác nhau
- điều khiển mọi truy cập tới các CSDL đó
- Có các chức năng:
- Định nghĩa
- Tạo lập
- Thao tác
- Gồm 3 module:
- Bộ quản lý lưu trữ
- Bộ xử lý câu hỏi
- Bộ quản trị giao dịch
Hệ cơ sở dữ liệu (Database System) gồm:
- Hệ QTCSDL
- Phần cứng, thiết bị nhớ dùng để lưu trữ
- CSDL và phần mềm ứng dụng
- Người sử dụng
Chức năng của DBMS:
- 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 (queries)
- Quản trị giao dịch (transactions)
Các ngôn ngữ được sử dụng để tương tác với DBMS:
- Ngôn ngữ định nghĩa dữ liệu
- Ngôn ngữ thao tác dữ liệu: gồm 2 loại:
- Thủ tục (SQL)
- Phi thủ tục (QBE)
- Ngôn ngữ điều khiển dữ liệu
Sơ đồ (Schema) là cấu trúc chung của CSDL, thường ít thay đổi, nhưng các thay đổi thường phức tạp
Thể hiện (Instance) là giá trị/đối tượng dữ liệu, có thể dễ dàng thay đổi và thường xuyên thay đổi.
Phân loại hệ CSDL
- Dựa theo mô hình dữ liệu: mạng/phân cấp/quan hệ/hướng đối tượng/...
- Dựa theo số người dùng: một người dùng/nhiều người dùng
- Dựa theo tính phân tán: tập trung/phân tán
- Dựa theo tính thống nhất: đồng nhất/không đồng nhất
Các mô hình dữ liệu
Một mô hình dữ liệu (Data model) bao gồm:
- Tập hợp các cấu trúc dữ liệu
- Tập hợp các phép toán để thao tác với các dữ liệu
- Tập hợp các ràng buộc về dữ liệu
Một số mô hình dữ liệu tiêu biểu:
| Mô hình dữ liệu | Dạng biểu diễn thông tin | Ưu điểm | Nhược điểm |
|---|---|---|---|
| Phân cấp | Cây | Dễ xây dựng, thao tác Tương thích với các tổ chức phân cấp Ngôn ngữ thao tác đơn giản |
Dư thừa dữ liệu Hạn chế trong biểu diễn ngữ nghĩa giữa các bản ghi |
| Mạng | Đồ thị có hướng | Đơn giản Có thể biểu diễn các ngữ nghĩa đa dạng với bản ghi và móc nối Truy vấn thông tin qua duyệt đồ thị |
Số lượng con trỏ lớn Hạn chế trong biểu diễn ngữ nghĩa giữa các bản ghi |
| Quan hệ | Bảng | Dựa trên lý thuyết tập hợp Khả năng tối ưu hóa các xử lí phong phú |
Hạn chế trong biểu diễn ngữ nghĩa Cấu trúc dữ liệu không linh hoạt |
| Thực thể - liên kết | Sơ đồ thực thể - liên kết | Dễ dàng biểu diễn các mối quan hệ từ thế giới thực Biểu diễn ngữ nghĩa phong phú |
Không dễ dàng ánh xạ vào những cấu trúc trên máy tính |
| Hướng đối tượng | Sơ đồ lớp | Cho phép định nghĩa các kiểu đối tượng phức tạp Tính bao đóng, kế thừa, đa hình |
Cấu trúc lưu trữ phức tạp Khả năng tối ưu hóa bị hạn chế |
Mô hình dữ liệu quan hệ
Trong mô hình dữ liệu quan hệ, thông tin được biểu diễn bởi trên các bảng (quan hệ).
Thuộc tính (trường) là một tính chất riêng biệt của một đối tượng cần được lưu trữ trong DB để phực vụ khai tác dữ liệu về đối tượng. Ký hiệu
Quan hệ (bảng) là một tập các thuộc tính, kí hiệu
Bộ (bản ghi) là thông tin của một đối tượng thuộc quan hệ, kí hiệu
Khóa là một/một số thuộc tính dùng để phân biệt hai bộ với nhau. Khóa có ít thuộc tính nhất được gọi là khóa tối thiểu. Khóa tối thiểu thường được dùng để làm khóa chính cho quan hệ/bảng.
Khóa ngoài là thuộc tính của quan hệ/bảng nhưng là khóa chính của quan hệ/bảng khác. Khóa ngoài tham chiếu đến khóa chính của quan hệ/bảng khác.