Chủ Đề 11F:
GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH
GIỚI THIỆU CÁC HỆ CSDL
Chủ Đề 11F:
GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH
GIỚI THIỆU CÁC HỆ CSDL
- Nhận biết được nhu cầu lưu trữ dữ liệu và khai thác thông tin cho bài toán quản lí.
- Diễn đạt được khái niệm hệ Cơ sở dữ liệu, các khái niệm cơ bản trong mô hình Cơ sở dữ liệu quan hệ như quan hệ (bảng), khoả, khoá ngoài, truy vấn, cập nhật dữ liệu....
- Nêu được những khái niệm cơ bản của hệ Cơ sở dữ liệu. Giải thích được các khái niệm đó qua ví dụ minh hoạ.
- Phân biệt được hai loại kiến trúc hệ Cơ sở dữ liệu là tập trung và phân tán.
- Nêu được tầm quan trọng và một số biện pháp bảo mật hệ Cơ sở dữ liệu.
1. Bài toán quản lí và các khái niệm cơ bản trong cơ sở dữ liệu
Bài toán quản lí trong thực tế rất đa dạng từ những bài toán quản lí cho các tỏ chức lớn tới những nhu cầu quản lí của riêng cá nhân: quản lí nhân sự, quản lí tài chính, quản lí học sinh, quản lí thiết bị, quản lí chỉ tiêu cá nhân,...
Việc quản lí một tổ chức gắn liền với những dữ liệu phản ánh thông tin về hoạt động của tổ chức đó. Do vậy, các dữ liệu cần được lưu trữ và liên tục cập nhật để phản ánh kịp thời những thay đổi diễn ra trên thực tế. Cập nhật dữ liệu bao gồm các thao tác: thêm, sửa, xoá dữ liệu.
Mục đích của việc lưu trữ và cập nhật dữ liệu là để khai thác thông tin, phục vụ cho việc điều hành công việc và ra quyết định của người quản lí. Một số việc khai thác thông tin thường gặp là: tìm kiếm dữ liệu, thống kẽ, lập báo cáo.
Tập hợp dữ liệu làm cơ sở cho việc quản lí các hoạt động của một tổ chức, được số hoá để máy tính có thể lưu trữ, truy cập, cập nhật và xử lí, được gọi là một cơ sở dữ liệu (CSDL).
Khi tập hợp dữ liệu được lưu trữ trên một máy tính thì ta gọi là cơ sở dữ liệu tập trung. Ngược lại, khi tập hợp dữ liệu được phân tán trên các máy tính khác nhau của một mạng máy tính thì ta gọi là cơ sở dữ liệu phân tán. Trong đó, mỗi nơi (site) của mạng máy tỉnh có khả năng xử lí độc lập và thực hiện các ứng dụng cục bộ. Mỗi nơi cũng tham gia thực hiện ít nhất một ứng dụng toàn cục, yêu cầu truy xuất dữ liệu tại nhiều nơi bằng cách dùng hệ thống truyền thông con.
Để hỗ trợ người dùng tương tác với CSDL qua các giao diện dễ hiểu, dễ dùng, người ta đã xây dựng những bộ phần mềm (hệ thống chương trình) chuyên dụng gọi là hệ quản trị CSDL với các nhóm chức năng:
- Nhóm chức năng định nghĩa dữ liệu.
- Nhóm chức năng cập nhật và truy xuất dữ liệu.
- Nhóm chức năng bảo mật, an toàn CSDL.
- Nhóm chức năng giao diện lập trình ứng dụng.
Hệ cơ sở dữ liệu của một đơn vị là cách gọi chung một tập hợp gồm: CSDL của ác tổ chức, hệ quản trị CSDL và các phần mềm ứng dụng có các giao diện tương tác với CSDL đáp ứng được nhu cầu quản lí của đơn vị đó. Có hai loại hệ cơ sở dữ liệu:
- Hệ cơ sở dữ liệu tập trung: quản lí dữ liệu tập trung trong một CSDL đặt trên một máy tính.
- Hệ cơ sở dữ liệu phân tán: cho phép người dùng truy cập dữ liệu được lưu trữ ở nhiều máy tính khác nhau của mạng máy tính.
2. Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là CSDL lưu trữ dữ liệu dưới dạng các bảng có quan hệ với nhau. Trong đó, mỗi bảng gồm các hàng và cột. Mỗi hàng của bảng được gọi là bản ghi (record), là tập hợp các thông tin về một đối tượng cụ thể được quân lị trong bảng. Mỗi cột trong bảng được gọi là trường (field) thể hiện thuộc tỉnh của đối tượng được quản lí trong bảng. Mỗi trường có dữ liệu cùng một kiểu và được gọi là kiểu dữ liệu của trường.
Khoá của một bảng là một hay một nhóm trường mà mỗi giá trị của nó xác định duy nhất một bản ghi ở trong bảng và ta không thể bỏ đi trường nào mà tập hợp các trường còn lại vẫn có tính chất xác định duy nhất một bản ghi trong bảng. Khi bảng có nhiều hơn một khoá, người ta có thể chọn một trong các khoá đó làm khoả chính của bảng và thường chọn khoá có số lượng trường ít nhất.
Việc cập nhật dữ liệu cho một bảng cũng phải thoả mãn yêu cầu không làm xuất hiện hai bản ghi có giá trị khoá giống nhau. Yêu cầu này còn được gọi là ràng buộc khoá.
Mỗi bảng (A) có thể có trường hay nhóm các trưởng (K) làm thành khoá chính ở một bảng khác (B). Khi đó, A được gọi là bảng tham chiếu, B được gọi là bảng được tham chiếu và K được gọi là khoả ngoài của bảng A. Hai bảng A và B được gọi là có quan hệ với nhau qua khoá ngoài K của bảng A.
Đảm bảo tính tham chiếu đầy đủ giữa các bảng có quan hệ với nhau cũng là một phần của việc đảm bảo tỉnh toàn vẹn của dữ liệu. Ràng buộc này áp dụng cho khoá ngoài nên được gọi là ràng buộc khoa ngoài. Cụ thể, ràng buộc khoá ngoài C là yêu cầu mọi giá trị của khoá ngoài trong bảng tham chiếu phải xuất hiện trong giá trị khoá ở bảng được tham chiếu.
3. Truy vấn trong cơ sở dữ liệu
Truy vấn trong cơ sở dữ liệu là một phát biểu thể hiện yêu cầu của người dùng đối với CSDL. Đó có thể là yêu cầu thao tác trên dữ liệu: thêm, sửa, xoá bản ghi.... Đó cũng có thể là yêu cầu khai thác CSDL. Mỗi hệ quản trị CSDL có ngôn ngữ truy vấn của nó. Đối với các hệ quản trị CSDL quan hệ, ngôn ngữ truy vấn phổ biến nhất cho đến nay là SQL (Structured Query Language).
Cấu trúc cơ bản của một câu truy vấn viết bằng ngôn ngữ SQL:
SELECT <dữ liệu cần lấy>
FROM <tên bảng>
WHERE <điều kiện chọn>
Trong đó, dữ liệu cần lấy là tên các trường dữ liệu cần đưa ra kết quả; tên bảng Q là tên của bảng trong CSDL được truy cập để lấy dữ liệu; điều kiện chọn là biểu thức logic cho việc chọn các bản ghi đưa ra kết quả.
Để kết hợp dữ liệu từ các bảng theo cách ghép nối các bản ghi thoả mãn một điều kiện nào đó (điều kiện kết nối), SQL sử dụng từ khoá JOIN trong mệnh đề FROM. Có một số kiểu JOIN khác nhau, trong đó INNER JOIN được dùng phổ biến nhất.
Cú pháp câu truy vấn:
SELECT <dữ liệu cần lấy>
FROM <bàng 1> INNER JOIN <bảng 2> ON <Điều kiện kết nối>
WHERE <điều kiện chọn>
Trong đó, điều kiện kết nối là điều kiện để ghép nối hai bản ghi ở bảng 1 và bảng 2, có dạng:
bảng 1. Trường A <toán tử so sánh bảng 2. Trường B
Toán tử so sánh có thể là =, <, <=, >, >=, <. Trên thực tế, điều kiện kết nối được sử dụng phổ biến nhất là sự trùng khớp giá trị trên một trường chung của hai bảng kết nối.