Week 1

Introduction

A database is the organization of information within a specific regular format and structure.

Databases grow to be very large, and so we need to develop algorithms to:

A database management system is software built on top of the database to achieve all of these algorithmic implementations. This also implements data independence, as in the end user of the database system does not need to be concerned with how the database actually achieves these operations.

Untitled

Database systems also provide concurrent access to data by various users using locks, and consistency checks. This is necessary when you have a database in which thousands of users access it.

More Details

A database is a very large, integrated collection of data, typically modelling some real world enterprise, consisting of entities and relationships between those entities.

A database management system (DBMS) is a software system designed to store, manage, and facilitate access to databases. Specifically in this course we will be looking at relational DBMSs, but there also exist non-relational ones (eg. MongoDB).

Advantages of DBMSs Disadvantages of DBMSs
• Efficient data access
• Data integrity & security
• Data administration
• Concurrent access
• crash recovery
• reduced application development time • Expensive
• Complicated to setup and maintain
• DBMSs are general purpose, not suited for special purpose tasks.

Concurrency Control

DBMS ensure race conditions don’t occur, users can pretend they are using a single-user system (called isolation).

The main idea is that of a transaction, an atomic sequence of database actions that takes the DB from one consistent state to another.

Untitled

Untitled