Fundamental of Databases — part 1

Lucas Suryana
3 min readJul 21, 2022

This is a summary of Databases System Concepts and Designs taught by Leo Mark from Georgia Tech.

1. What is a database?

A database is a model of reality. This definition raises two questions for us. First, why do we need to use models?
Second, when is the exact time to use Database Management System to use such a model?

Database illustration

The answer to the first question is that we need a model as a representation of reality.

2. A map is a model of reality

Look at the wrong map of Indonesia on the left and the correct map of Indonesia on the right. What do you notice? The wrong map has the wrong color for islands in Indonesia (usually we use green to draw an island), the wrong size for several islands, and last, the wrong direction. The correct map has all the correct properties of a map.

Wrong map: left and Correct map: right

3. A Message to Model Makers

First, a model is a means of communication. Second, users of a model must have certain knowledge in common. To be remembered a model:

  • only emphasizes selected aspects of reality
    We only care about aspects that are useful to our purpose
  • is described in some language
    We need to agree and understand the language we use in order to be able to communicate through the model
  • can be erroneous
    We need to remember that model is never perfect.
  • may have features that do not exist in reality

4. What is Database Management System (DMS)?

Database Management System is a software system that allows users to create and maintain a database.

5. When to use and to not use DMS?

Use DMS when the databases:

  • have data-intensive applications,
    Some applications are data-intensive applications and some are process-intensive applications. Use DMS for data-intensive applications. It is a situation when applications have a lot of data that may flow between memory and secondary storage and may be communicated between the users and the database.
  • provide persistent storage of data
    Even if our application is shut down our database is still going to be there the day after.
  • provide centralized control of data
    It is important because it is possible to enforce policies across a database, even when it’s distributed.
  • allow control of redundancy
    It is important because we don’t want to waste space on having data represented in many different locations. By controlling the redundancy we get some other advantages. Some of those advantages are we can control consistency and integrity. Consistency is the question of whether we can derive contradictions from within the database itself which is not possible if we have redundancy.
  • provide multi-user support
    Think about a system that allows tens or hundreds of users to use the database at the same time. For example flight reservation system.
  • allow sharing of data
    The key behind supporting communication is sharing of data. When we operate from many different places on the same data, and we share data, then we are communicating.
  • contain data communication
    Databases contain their own documentation of the structures of the data and cannot run without that
  • has data independence
    It is an ability to change the implementation of a database to be more efficient without affecting the user interface.
  • has control access and security
  • provide backup and recovery

Do not use DMS when:

  • the initial investment in hardware, software, and training is too high
    Some DMSs are as big as operating systems. The hardware needed to run such software systems is expensive. The amount of time you need to learn the databases also needs to be considered.
  • the generality is not needed
    There’s a substantial overhead for security, concurrency control, and recovery in the database systems. Maybe we don’t need such high-level security, many users' access, and recovery.
  • data and applications are simple
  • real-time requirements that cannot be met
    If we need an application with real-time requirements and our DMS cannot run fast enough to meet those requirements.
  • multiple user access is not needed

Access the continuation of this material in Fundamental of Databases — part 2

--

--

Lucas Suryana

PhD Student @TU Delft — Developing a safer and a more acountable automated vehicle