Hệ quản trị cơ sở dữ liệu (tiếng Anh Database Management System) là hệ thống phần mềm cung cấp môi trường tạo lập, cập nhật, khai thác dữ liệu cũng như các công cụ kiểm soát và điều khiển các truy cập vào cơ sở dữ liệu.
Chức năng chính[sửa]
Theo Codd, E. F (1982) một hệ quản trị cơ sở dữ liệu có 8 chức năng cơ bản sau:
1. Cung cấp cho người dùng khả năng lưu trữ, truy xuất và cập nhật dữ liệu. Với chức năng này, hệ quản trị cơ sở dữ liệu đã che dấu người dùng những chi tiết cài đặt mang tính vật lý.
2. Cung cấp cho người dùng một từ điển dữ liệu (catalog), đó là các mô tả về dữ liệu được lưu trữ và người dùng truy cập được vào từ điển dữ liệu này.
3. Hỗ trợ các phiên làm việc (transaction) với cơ chế đảm bảo rằng hoặc tất cả các cập nhật trong một phiên làm việc được thực hiện hoặc không thao tác cập nhật nào trong phiên này được thực hiện, để đảm bảo tính nhất quán của dữ liệu.
4. Cung cấp các dịch vụ điều khiển tương tranh để đảm bảo tính nhất quán dữ liệu khi có nhiều phiên làm việc với cơ sở dữ liệu, có nhiều người đồng thời truy cập vào cơ sở dữ liệu đặc biệt là những truy cập làm thay đổi thông tin lưu trong đó.
5. Cung cấp một cơ chế để khôi phục dữ liệu khi xảy ra một sự cố làm hỏng cơ sở dữ liệu theo một kiểu nào đó.
6. Cung cấp các dịch vụ bản quyền. Điều này có nghĩa là có một cơ chế đảm bảo chỉ những người có quyền mới được truy cập cơ sở dữ liệu ở những mức độ khác nhau.
7. Hỗ trợ cho truyền thông dữ liệu. Nói cách khác hệ quản trị cơ sở dữ liệu có khả năng tích hợp được với các phần mềm truyền thông.
8. Cung cấp các dịch vụ đảm bảo tính toàn vẹn dữ liệu. Tính toàn vẹn dữ liệu là để nhằm đảm bảo sự chính xác và nhất quán của dữ liệu được lưu trữ.
Về cơ bản hệ quản trị cơ sở dữ liệu cung cấp các chức năng nêu trên, nhưng các hệ quản trị cơ sở dữ liệu khác nhau với tư cách là những sản phẩm phần mềm khác nhau sẽ khác nhau về chất lượng và khả năng đáp ứng nhu cầu thực tế. Các hệ quản trị cơ sở dữ liệu luôn phát triển theo hướng đáp ứng các đòi hỏi ngày càng cao hơn của người dùng, bởi vậy các chức năng của hệ quản trị cơ sở dữ liệu ngày càng được mở rộng hơn.
Các hệ quản trị cơ sở dữ liệu thông dụng nhất hiện nay[sửa]
Đã có rất nhiều hệ quản trị cơ sở dữ liệu xuất hiện trên thị trường, trong đó có thể kể đến một số dòng sản phẩm được nhiều người biết đến như MySQL, Microsoft Access, Oracle, SQLite, DB2, Microsoft SQLServer,… Có thể chi tiết hơn về các hệ quản trị cơ sở dữ liệu thông dụng nhất hiện nay như sau:
(1) Microsoft Access là một hệ thống quản lý cơ sở dữ liệu (DBMS) của Microsoft kết hợp Microsoft Jet Database Engine với giao diện người dùng đồ họa và các công cụ phát triển phần mềm. Microsoft Access có thể là một thành phần được bao gồm trong bộ ứng dụng Microsoft Office, hoặc được bán riêng. Access được hỗ trợ bởi Visual Basic for Application (VBA), ngôn ngữ lập trình dựa trên đối tượng có thể tham chiếu nhiều đối tượng.
(2) SQL SERVER là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) được phát triển bởi Microsoft. Nó chủ yếu được thiết kế và phát triển để cạnh tranh với cơ sở dữ liệu MySQL và Oracle. SQL Server hỗ trợ ANSI SQL, là ngôn ngữ SQL (Ngôn ngữ truy vấn có cấu trúc) tiêu chuẩn.
(3) MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở (RDBMS), được sở hữu và tài trợ bởi công ty MySQL AB của Thụy Điển, được mua bởi Sun microsystems (đến 2010 thuộc về Tập đoàn Oracle). Hệ quản trị cơ sở dữ liệu được sử dụng bởi nhiều ứng dụng web dựa trên cơ sở dữ liệu, bao gồm Drupal, Joomla, phpBB và WordPress. Tương thích với nhiều hạ tầng máy tính quan trọng như Linux, macOS, Microsoft Windows, và Ubuntu, MySQL cũng được sử dụng bởi nhiều trang web phổ biến, bao gồm Facebook, Flickr, MediaWiki, Twitter và YouTube.
(4) Oracle là hệ quản trị cơ sở dữ liệu mạnh và chạy trên mọi nền tảng, có khả năng quản trị và lưu trữ lượng dữ liệu khổng lồ. Nếu như Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu mà người dùng dễ dàng quản lý, xây dựng cũng như bảo trì thì Oracle cần người vận hành phải hiểu biết nhiều hơn thế.
Quá trình hình thành và phát triển[sửa]
Năm 1976, hệ quản trị cơ sở dữ liệu đầu tiên dựa trên mô hình quan hệ của hãng IBM mang tên System-R ra đời. Từ những năm 1980 đến nay hàng trămhệ quản trị cơ sở dữ liệu kiểu quan hệ ra đời cho cả môi trường máy tính lớn và cả máy tính cá nhân. Chẳng hạn DB2 cho máy tính lớn của hãng IBM, ORACLE của hãng ORACLE, và còn nhiều hệ quản trị cơ sở dữ liệu khác nữa: Dbase, Sybase, Informix, SQL-server, Access, Foxpro, Paradox,... Người ta coi những hệ quản trị cơ sở dữ liệu kiểu quan hệ thuộc thế hệ thứ hai của các hệ quản trị cơ sở dữ liệu.
Để đáp ứng sự phát triển ngày càng phức tạp của các ứng dụng cơ sở dữ liệu, từ những năm 1990 người ta bắt đầu xây dựng các hệ quản trị cơ sở dữ liệu kiểu hướng đối tượng và hướng đối tượng-quan hệ. Những hệ quản trị cơ sở dữ liệu như vậy được coi là thuộc vào thế hệ thứ ba. Giữa những năm 1990, sự ra đời của Internet đã dẫn đến sự tăng trưởng theo cấp số nhân của lĩnh vực cơ sở dữ liệu. Người dùng máy tính để bàn bắt đầu sử dụng hệ thống cơ sở dữ liệu mô hình máy khách-máy chủ để truy cập hệ thống máy tính có chứa dữ liệu. Cuối những năm 1990, có sự đầu tư ngày càng tăng vào các doanh nghiệp trực tuyến dẫn đến sự gia tăng nhu cầu về các trình kết nối cơ sở dữ liệu với Internet, như Front Page, Active Server Pages, Java Servelets, Dream Weaver, ColdFusion, Enterprise Java Beans, và Oracle Developer 2000. Việc sử dụng CGI, GCC, MySQL, Apache và các hệ thống khác đã mang giải pháp nguồn mở lên Internet. Việc sử dụng ngày càng nhiều công nghệ điểm bán đã bắt đầu thời đại của xử lý giao dịch trực tuyến và xử lý phân tích trực tuyến.
Những năm 2000, các ứng dụng tương tác mới đã được phát triển cho các thiết bị kỹ thuật số hỗ trợ cá nhân (PDA).
Ứng dụng[sửa]
Cơ sở dữ liệu ở khắp mọi nơi và được sử dụng hàng ngày để nâng cao chất lượng cuộc sống của chúng ta. Từ lưu trữ đám mây cá nhân đến dự đoán thời tiết, rất nhiều dịch vụ liên quan đến việc sử dụng hệ quản trị cơ sở dữ liệu. Các ứng dụng của hệ quản trị cơ sở dữ liệu vô cùng phong phú. Có thể liệt kê một số ứng dụng cơ bản trong các lĩnh vực chính của đời sống như sau:
Ngành | Ứng dụng của Hệ quản trị cơ sở dữ liệu |
---|---|
Ngân hàng | Quản lý thông tin khách hàng, hoạt động tài khoản, thanh toán, tiền gửi, cho vay,… |
Các trường đại học | Quản lý thông tin sinh viên, các khóa học, đăng ký và kết quả học tập… |
Viễn thông | Quản lý hồ sơ cuộc gọi, hóa đơn hàng tháng,… |
Tài chính | Quản lý hoạt động chứng khoán, bán hàng và mua các công cụ tài chính như cổ phiếu và trái phiếu,... |
Bán hàng | Quản lý thông tin khách hàng, sản phẩm và thông tin bán hàng,… |
Sản xuất | Quản lý chuỗi cung ứng và thông tin sản xuất các mặt hàng, tình trạng tồn kho,… |
Quản lý nhân sự | Để biết thông tin về nhân viên, tiền lương, bảng lương, khấu trừ, tạo bảng lương,… |
Các hãng hàng không | Quản lý việc đặt mua vé và thông tin lịch trình các chuyến bay,… |
Càng ngày nhu cầu về lưu trữ và quản lý lượng lớn dữ liệu càng cần có các chuẩn linh hoạt và mạnh mẽ hơn hẳn cơ sở dữ liệu quan hệ truyền thống. Tương lai của các hệ quản trị cơ sở dữ liệu sẽ là NoQuery và NewQuery. Tên gọi NOSQL, được hiểu là “Không chỉ SQL” (Not Only SQL). Với những ứng dụng cần đến hệ thống khác ngoài các hệ SQL quan hệ truyền thống để tăng nhu cầu quản lý dữ liệuthì loại hệ quản trị cơ sở dữ liệu NOSQL tỏ ra hữu ích. Hầu hết các hệ NOSQL là cơ sở dữ liệu phân tán hoặc hệ lưu trữ phân tán, tập trung vào lưu trữ dữ liệu bán cấu trúc.
NewSQL là một hệ thống quản lý cơ sở dữ liệu hỗn hợp có cả các khả năng của NoSQL cũng như các khả năng ACID (Atomicity, Consistency, Isolation, Duration - tính nguyên tố, tính nhất quán, tính độc lập, tính bền vững) của cơ sở dữ liệu quan hệ. Các hệ thống như vậyđem lại ứng dụng rộng lớn trong xử lý giao dịch trực tuyến. Hầu hết các ứng dụng cơ sở dữ liệu trong các cơ quan hành chính và các doanh nghiệp tại Việt nam đều sử dụng các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS). Với ứng dụng của các hệ NoSQL và NewSQL, một số bài toán lớn ở Việt Nam liên quan đến “dữ liệu lớn” (Big Data) đã và đang được nghiên cứu giải quyết.
Tài liệu tham khảo[sửa]
- Database Systems: A Practical Aproach to Design, Implementation, and Management (6th Edition), Thomas Connolly, Carolyn Begg, eTexbook, 2014.
- What is DBMS? Application, Types, Example, Advantages, Disadvantages. Guru99, 2020.
- Future Of Database Management: NoSQL And NewSQL By.12th March 2020.