Database management system: Tổng quan

Data và database:
Ngày nay, các chương trình máy tính được tạo ra để phục vụ các công việc của con người mà trước đây đều được làm thủ công, ví dụ như: mua hàng trực tuyến, thanh toán trực tuyến, chuyển khoản ngân hàng, mua vé máy bay, đăng ký môn học,... Có thể nhận thấy, để các chương trình này hoạt động, thì phải cần có dữ liệu. Chẳng hạn như dữ liệu về người mua hàng, món hàng, thông tin vé máy bay, thông tin môn học, thông tin sinh viên, số dư ngân hàng,... Một điều đặc biệt là khi chương trình máy tính thực hiện việc tính toán xong và kết thúc, thì dữ liệu do nó xử lý đều mất theo, trừ khi nó được lưu trữ lại xuống phần cứng để sử dụng lại cho những lần sau. Vì vậy, các dữ liệu trên được lưu trữ dưới các ổ cứng, về mặt logic thì có thể xem data là record chứa các field dữ liệu. Ví dụ record của sinh viên A bao gồm các field tên, ngày sinh, quê quán, khoa, ngành,... Và nơi tập hợp các data đó chính là Database.


Thông thường, một cách chặt chẽ hơn, người ta thường thuật ngữ database khi nó đáp ứng được các đặc điểm sau:
- Database thể hiện cho một khía cạnh, cách nhìn về một phần của những gì có trong thực tế (thường được gọi là miniworld hay universe of discourse), bất kì sự thay đổi nào từ miniworld đều phải được phản ánh trong database. Ví dụ đối với database dùng để quản lý kho hàng của một trang thương mại điện tử, khi một sản phẩm được người mua đặt mua thành công, thì số lượng tồn kho của sản phẩm đó phải giảm đi con số tương ứng.
- Data trong database phải có ý nghĩa liên quan với nhau. Ví dụ một tập hợp các data có ý nghĩa thông tin rời rạc như thông tin sinh viên, thông tin chứng khoán, thông tin thời tiết,... sẽ không được xem là một database.
- Database phải được thiết kế, xây dựng và làm việc để phục vụ cho một mục đích, một nhóm user nào đó.

Đặc trưng của cách tiếp cận theo database:
Trước cách tiếp cận theo database (database approach), thì có một cách tiếp cận khác theo hướng file processing (file-processing approach), mà trong đó, mỗi user sẽ tự định nghĩa và sử dụng file phục vụ cho mục đích lưu trữ data của mình. Ví dụ trong một trường đại học, phòng đào tạo quản lý bảng điểm của sinh viên, còn phòng kế toán quản lý học phí sinh viên. Mặc dù nghiệp vụ của cả hai phòng ban này đều liên quan đến dữ liệu sinh viên, nhưng họ lại thao tác trên hai file dữ liệu khác biệt nhau. Mặt khác, với database approach, toàn bộ dữ liệu của trường đại học được lưu tại một nơi duy nhất, sau đó được truy cập bởi user từ các phòng ban khác nhau. Và sự khác biệt mà database approach có thể mang lại so với file-processing approach có thể kể đến như sau:
- Self-describing nature of database system.
- Insulation between programs and data, and data abstraction.
- Support multi views of the data.
- Sharing of data and multiuser transaction processing.
Phần này mình không có thời gian để đi chi tiết, nếu có thể thì đề cập trong các article sau.

Nhìn chung, DBMS mang lại một giải pháp nhanh chóng, tiện lợi và đầy sức mạnh trong việc quản lý dữ liệu. Các ưu điểm của DBMS rất nhiều, từ controlling redundancy, restricting unauthorized access, providing đến enforcing integrity constraints,... (các nội dung này cũng được đề cập chi tiết ở những bài sau). Nhưng một DBMS thường được xem là rất tinh vi, phức tạp và cồng kềnh. Không phải dự án nào cũng sử dụng hết các tính năng DBMS mang lại, và cũng không phải dự án nào cũng cần sử dụng DBMS.

Nói thêm một tí về các DBMS. Các DBMS khác nhau ra đời với mục đích sử dụng cũng khác nhau. Để giải quyết một bài toán nhất định, thì có thể một DBMS sẽ làm tốt hơn nhiều so với những cái còn lại. Tuy nhiên nếu người thiết kế ban đầu không nhìn ra được DBMS tốt nhất, hoặc những DBMS ra đời thời gian sau lại có thể giải quyết triệt để vấn đề đang tồn đọng trong hệ thống, thì giải pháp được đưa ra ở đây là gì? Đó chính là đưa dữ liệu từ DBMS cũ sang DBMS mới, và nhiệm vụ được đặt ra là data migration. Chủ đề này sẽ được đề cập trong những bài viết tới.

Tham khảo: Fundamentals of Database Systems (7th edition) - Ramez Elmasri, Shamkant B. Navathe.

Comments

Popular posts from this blog

[Kiến trúc máy tính] Phần 1: Từ tín hiệu sóng điện từ đến phần mềm máy tính

Chặng đường thứ nhất: Toán học và khát khao

Hợp và tan