Cấu trúc của một hệ cơ sở dữ liệu thông thường được thể hiện trên Hình 1.
Hình 1 Sơ đồ cấu trúc của hệ cơ sở dữ liệu
Thông qua giao diện được các chương trình ứng dụng cung cấp, người dùng chuyển các yêu cầu của mình cho cơ sở dữ liệu. Chương trình ứng dụng xử lý các yêu cầu này, chuyển thành những lệnh theo ngôn ngữ mà hệ quản trị cơ sở dữ liệu (HQTCSDL) hiểu được. HQTCSDL sẽ xem xét, kiểm tra các yêu cầu ấy xem có vi phạm các ràng buộc hay không. Nếu không có vi phạm nào thì HQTCSDL sẽ thâm nhập vào CSDL thực hiện các yêu cầu, thu nhận các kết quả và chuyển trả lại cho chương trình ứng dụng. Chương trình ứng dụng sẽ lấy các kết quả ấy, xử lý tiếp và thể hiện trên giao diện hay các phương tiện khác (như máy in chẳng hạn) theo đúng yêu cầu của người dùng.
Nếu HQTCSDL không thể thực hiện yêu cầu, nó sẽ chuyển một mã lỗi về chương trình ứng dụng. Chương trình ứng dụng sẽ xuất một thông báo tương ứng với mã lỗi ấy ra giao diện.
Lấy thí dụ ta muốn so sánh doanh số của 3 sản phẩm trong suốt 52 tuần của năm 2016 và sự so sánh này được thể hiện dưới dạng một đồ thị dạng đường gẫy, xuất kết quả này ra màn hình và ra máy in. Yêu cầu này sẽ nhập vào giao diện do chương trình ứng dụng cung cấp. Chương trình ứng dụng sẽ yêu cầu HQTCSDL cung cấp 156 số liệu tương ứng với doanh số trong 52 tuần của 3 sản phẩm ấy. HQTCSDL sẽ kiểm tra xem có thể thực hiện được yêu cầu này không. Nếu được, HQTCSDL sẽ lấy 156 số liệu này và chuyển về cho chương trình ứng dụng. Chương trình ứng dụng sẽ lấy kết quả này để vẽ một đồ thị và hiện lên giao diện, đồng thời kích hoạt máy in, in đồ thị này ra.
Ghi chú
Hệ cơ sở dữ liệu = Cơ sở dữ liệu + Hệ quản trị cơ sở dữ liệu
Qua phần trình bày trên, ta thấy HQTCSDL là một tập hợp các chương trình nhằm hỗ trợ cho người dùng và chương trình ứng dụng để tạo ra, bảo trì và sử dụng CSDL. Các quá trình chính mà HQTCSDL đảm nhiệm là :
Hệ cơ sở dữ liệu có một số tính chất đáng lưu ý như sau:
Mặc dù hệ cơ sở dữ liệu có rất nhiều ưu điểm so với những phương pháp quản lý dữ liệu khác, tuy nhiên nó cũng đặt ra một số thử thách sau:
Do đó trong các trường hợp sau ta cần cân nhắc thêm những phương án khác trong việc tổ chức và quản lý dữ liệu:
Ngoài ra, một số loại dữ liệu có những điểm đặc thù riêng, không thể quản lý theo cách thông thường (nghĩa là dựa trên cơ sở của ngôn ngữ SQL). Khi ấy chúng được quản lý theo cách riêng và các chương trình quản lý khi ấy có thể tích hợp với những chương trình khác để việc sử dụng được thuận tiện. Thí dụ các bản vẽ trong kỹ thuật được thực hiện nhờ máy tính (computer-aided design hay CAD), hoặc các thông tin về địa lý (GIS).
Nếu xét về mặt chức năng, ta thấy hệ cơ sở dữ liệu đảm nhiệm 3 chức năng chính:
Tùy theo cách sắp xếp các chức năng này vào các phần cứng và phần mềm mà ta có những loại kiến trúc sau: một lớp, hai lớp, ba lớp hay nhiều hơn ba lớp.
Trong kiến trúc một lớp (single tier), toàn bộ cơ sở dữ liệu, HQTCSDL, chương trình ứng dụng được đặt trong một máy, thường là trong một ổ đĩa cứng. Loại năy thường dùng để đáp ứng cho một người sử dụng, đáp ứng cho những như cầu sử dụng đơn giản, có lượng dữ liệu không lớn, nên còn được gọi là cơ sở dữ liệu cá nhân (personal database).
Kiến trúc một lớp có ưu điểm là tương đối đơn giản, không phức tạp, dễ xây dựng, dễ sử dụng, triển khai nhanh, có thể sao lưu dễ dàng, có thể chuyển từ máy này sang máy khác nhanh chóng. Tuy nhiên, khả năng chia sẻ dữ liệu kém, chức năng có phần nào hạn chế. Vì thế không đáp ứng được cho các tổ chức có quy mô trung bình hay lớn.
Kiến trúc hai lớp (two tier) được tổ chức theo dạng khách/chủ (client/server). Phần cứng gồm hai nhóm máy được nối kết với nhau. Nhóm thứ nhất, thường chỉ gồm một máy, được gọi là máy chủ (server) chứa cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu, đảm nhiệm chức năng tồn trữ. Nhóm thứ hai được gọi là máy khách (client) đảm nhiệm chức năng thể hiện, dành cho những người thường xuyên làm việc với cơ sở dữ liệu.
Hình 2 Cấu trúc hai lớp
Tùy trường hợp cụ thể mà chức năng xử lý được sắp xếp theo một số cách khác nhau, thí dụ như: (Hình 3)
Hình 3 Sự phân bố các chức năng trong kiến trúc 2 lớp
Trong kiến trúc 3 lớp, một lớp dành cho máy khách thực hiện chức năng thể hiện, một lớp dành cho máy chủ thực hiện chức năng tồn trữ (Database Server), một lớp dành cho máy chủ thứ hai thực hiện chức năng xử lý (Application Server).
Các kiến trúc có nhiều hơn 3 lớp là sự mở rộng hơn nữa của kiến trúc 3 lớp. Ta vẫn có một lớp dành cho máy khách thực hiện chức năng thể hiện, một lớp dành cho máy chủ thực hiện chức năng tồn trữ, nhưng chức năng xử lý được thực hiện bởi nhiều lớp, thí dụ ta có một lớp dành cho web (Web Server).
Trang web này được cập nhật lần cuối ngày 25/11/2018
Thống kê
Các chuyên đề
Xử lý dữ liệu
Ma trận
R