1. Các chức năng của hệ quản trị cơ sở dữ liệu
Như đã giới thiệu, hệ QTCSDL được dùng để tạo lập, cập nhật CSDL và khai thác thông tin trong CSDL.
Một hệ QTCSDL có các chức năng cơ bản sau:
a) Cung cấp môi trường tạo lập cơ sở dữ liệu
Một hệ QTCSDL phải cung cấp một môi trường cho người dùng dễ dàng khai báo kiểu dữ liệu, các cấu trúc dữ liệu thể hiện thông tin và các ràng buộc trên dữ liệu. Với các hệ QTCSDL hiện nay, người dùng có thể tạo lập CSDL thông qua các giao diện đồ hoạ. Để thực hiện được chức năng này, mỗi hệ QTCSDL cung cấp cho người dùng một ngôn ngữ định nghĩa dữ liệu. Ta có thể hiểu ngôn ngữ định nghĩa dữ liệu thực chất là hệ thống các kí hiệu để mô tả CSDL.
b) Cung cấp môi trường cập nhật và khai thác dữ liệu
Ngôn ngữ để người dùng diễn tả yêu cầu cập nhật hay khai thác thông tin được gọi là ngôn ngữ thao tác dữ liệu. Thao tác dữ liệu gồm:
- Cập nhật (nhập, sửa, xoá dữ liệu);
- Khai thác (sắp xếp, tìm kiếm, kết xuất báo cáo,...).
Trong thực tế, ngôn ngữ dùng để định nghĩa và thao tác dữ liệu là hai thành phần của một ngôn ngữ CSDL duy nhất. Ngôn ngữ CSDL được sử dụng phổ biến hiện nay là SQL (Structured Query Language – ngôn ngữ hỏi có cấu trúc).
c) Cung cấp công cụ kiểm soát, điều khiển truy cập vào cơ sở dữ liệu
Để góp phần đảm bảo được các yêu cầu cơ bản của một hệ CSDL, hệ QTCSDL phải có các bộ chương trình thực hiện những nhiệm vụ sau:
- Phát hiện và ngăn chặn sự truy cập không được phép. Chức năng này góp phần đáp ứng yêu cầu an toàn và bảo mật thông tin;
- Duy trì tính nhất quán của dữ liệu;
- Tổ chức và điều khiển các truy cập đồng thời;
- Khôi phục CSDL khi có sự cố ở phần cứng hay phần mềm;
- Quản lí các mô tả dữ liệu.
Nói chung, mọi hệ QTCSDL đều có thể cung cấp các chương trình nêu trên, nhưng các hệ QTCSDL khác nhau có chất lượng và khả năng khác nhau khi đáp ứng các nhu cầu thực tế. Chẳng hạn, một hệ QTCSDL dùng trên một máy tính cá nhân chỉ cung cấp những phương tiện bảo vệ dữ liệu, duy trì tính nhất quán dữ liệu, khôi phục dữ liệu một cách hạn chế. Trong khi đó, những hệ QTCSDL lớn, phục vụ cùng lúc cho nhiều người dùng, ngoài các phương tiện kể trên có thể có thêm những chức năng khác như xử lí các truy cập đồng thời,... Các hệ QTCSDL luôn phát triển theo hướng đáp ứng các đòi hỏi ngày càng cao của người dùng, bởi vậy các chức năng của hệ QTCSDL ngày càng được mở rộng.
2. Hoạt động của một hệ quản trị cơ sở dữ liệu
Mỗi hệ QTCSDL là một phần mềm phức tạp gồm nhiều thành phần (môđun), mỗi thành phần có chức năng cụ thể, trong đó hai thành phần chính là bộ xử lí truy vấn (bộ xử lí yêu cầu) và bộ quản lí dữ liệu. Một số chức năng của hệ QTCSDL được hỗ trợ bởi hệ điều hành nên mỗi hệ QTCSDL phải có các tương tác cần thiết với hệ điều hành.
Hình 12 là sơ đồ đơn giản cho ta biết sự tương tác của hệ QTCSDL với người dùng và với CSDL.
Hình 12. Sự tương tác của hệ QTCSDL
Khi có yêu cầu của người dùng, hệ QTCSDL sẽ gửi yêu cầu đó đến thành phần có nhiệm vụ thực hiện và yêu cầu hệ điều hành tìm một số tập chứa dữ liệu cần thiết. Các tệp tìm thấy được chuyển về cho hệ QTCSDL xử lí và kết quả được trả ra cho người dùng.
3. Vai trò của con người khi làm việc với hệ cơ sở dữ liệu
Liên quan đến hoạt động của một hệ CSDL, có thể kể đến ba vai trò khác nhau của con người:
a) Người quản trị cơ sở dữ liệu
Khái niệm người quản trị CSDL được hiểu là một người hay một nhóm người được trao quyền điều hành hệ CSDL.
Người quản trị CSDL chịu trách nhiệm quản lí các tài nguyên như CSDL, hệ QTCSDL và các phần mềm liên quan. Đây là người có vai trò cài đặt CSDL vật lí, cấp phát các quyền truy cập CSDL, cấp phần mềm và phần cứng theo yêu cầu, duy trì các hoạt động hệ thống đảm bảo thoả mãn yêu cầu của các trình ứng dụng và người dùng. Như vậy, những người quản trị CSDL phải hiểu biết sâu sắc và có kĩ năng tốt trong các lĩnh vực CSDL, hệ QTCSDL và môi trường hệ thống.
b) Người lập trình ứng dụng
Khi CSDL đã được cài đặt, cần có các chương trình ứng dụng đáp ứng nhu cầu khai thác của các nhóm người dùng. Đây chính là công việc của người lập trình ứng dụng. Mỗi chương trình sẽ có các câu lệnh yêu cầu hệ QTCSDL thực hiện một số thao tác trên CSDL đáp ứng nhu cầu cụ thể đặt ra.
c) Người dùng
Người dùng (hay còn gọi là người dùng đầu cuối) là người có nhu cầu khai thác thông tin từ CSDL. Họ tương tác với các hệ thống thông qua việc sử dụng những chương trình ứng dụng đã được viết trước. Thông thường giao diện cho người dùng có dạng biểu mẫu để họ có thể mô tả yêu cầu của mình bằng cách điền các nội dung thích hợp vào biểu mẫu này. Sau đó, người dùng có thể đọc các báo cáo được hệ CSDL sinh ra.
Người dùng thường được phân thành từng nhóm, mỗi nhóm có một số quyền hạn nhất định để truy cập và khai thác CSDL.
4. Các bước xây dựng cơ sở dữ liệu
Việc xây dựng một cơ sở dữ liệu của một tổ chức thường được tiến hành theo các bước sau:
Bước 1. Khảo sát
- Tìm hiểu các yêu cầu của công tác quản lí;
- Xác định các dữ liệu cần lưu trữ, phân tích mối liên hệ giữa chúng;
- Phân tích các chức năng cần có của hệ thống khai thác thông tin, đáp ứng các yêu cầu đặt ra.
- Xác định khả năng phần cứng, phần mềm có thể khai thác, sử dụng.
Bước 2. Thiết kế
- Thiết kế cơ sở dữ liệu;
- Lựa chọn hệ QTCSDL để triển khai;
- Xây dựng hệ thống chương trình ứng dụng.
Bước 3. Kiểm thử
- Nhập dữ liệu cho CSDL;
- Tiến hành chạy thử các chương trình ứng dụng. Nếu hệ thống đáp ứng đầy đủ các yêu cầu đặt ra thì đưa hệ thống vào sử dụng. Nếu hệ thống vẫn còn lỗi thì cần rà soát lại tất cả các bước đã thực hiện trước đó xem lỗi xuất hiện ở đâu để khắc phục.
Thông thường các bước nêu trên phải tiến hành nhiều lần cho đến khi hệ thống có khả năng ứng dụng.
CÂU HỎI VÀ BÀI TẬP
1. Ngôn ngữ định nghĩa dữ liệu trong một hệ QTCSDL cho phép ta làm những gì?
2. Hãy kể các loại thao tác dữ liệu, nêu ví dụ minh hoạ.
3. Vì sao hệ QTCSDL lại phải có khả năng kiểm soát và điều khiển các truy cập đến CSDL? Hãy nêu ví dụ để minh hoạ.
4. Khi làm việc với các hệ CSDL, em muốn giữ vai trò gì (người quản trị CSDL, người lập trình ứng dụng hay người dùng)? Vì sao?
5. Trong các chúc năng của hệ quản trị cơ sở dữ liệu, theo em chúc năng nào là quan trọng nhất? Vì sao?
6. Hãy trình bày sơ lược về hoạt động của một hệ QTCSDL.