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
Post a Comment