Database: Difference between revisions

From Rice Wiki
No edit summary
Line 1: Line 1:
A '''database management system (DBMS)''' is a system that stores, retrieves, and operates on a collection of related data. This page will describe why we want a system specifically for this task, a high-level breakdown of its functionality, as well as an overview of how it is implemented.
A '''database''' stores, retrieves, and operates on a collection of related data. A '''database management system (DBMS)''' is a general way to implement databases. This page will describe why we want a system specifically for this task, a high-level breakdown of its functionality, as well as an overview of how it is implemented.


== Motivation ==
== Motivation ==
Line 10: Line 10:
* '''Durability:''' Ensure the safety of the data during system errors and modifications. Examples include computer crashing.
* '''Durability:''' Ensure the safety of the data during system errors and modifications. Examples include computer crashing.


As such, it is unproductive to do this for every application.
All of the above tasks are highly involved. As such, a layer of abstraction is very beneficial for development: you don't want to handle all of these problems when building your project!
 
== Description ==
The role of a general-purpose DBMS is to handle the definition, creation, querying, update, and administration of databases
{{Database sources}}
[[Category:Computer Science]]
[[Category:Computer Science]]

Revision as of 22:58, 20 July 2024

A database stores, retrieves, and operates on a collection of related data. A database management system (DBMS) is a general way to implement databases. This page will describe why we want a system specifically for this task, a high-level breakdown of its functionality, as well as an overview of how it is implemented.

Motivation

A separate system for the management of collections of data is necessary because of two things: 1) the task's prevalence in many application, and 2) the difficulty to implement such a system correctly and efficiently. The former point is relatively intuitive, but the second point is more involved.

To design a way to manage collections of data is to solve the following problems among many.

  • Data integrity: Ensure that data stored is valid and will not cause errors upon operation and/or retrieval. Examples include type checking.
  • Efficient implementation: Implementation needs to be efficient for the task at hand. Examples include data structures and concurrency.
  • Durability: Ensure the safety of the data during system errors and modifications. Examples include computer crashing.

All of the above tasks are highly involved. As such, a layer of abstraction is very beneficial for development: you don't want to handle all of these problems when building your project!

Description

The role of a general-purpose DBMS is to handle the definition, creation, querying, update, and administration of databases

Sources

Information about databases on this wiki come from the following sources: