Database

From Rice Wiki

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: