What is a Database?
Any collection of data
Paper, spreadsheet, formal database
Goals of a Database
secure
consistent
integrity
maintained
Database Management System (DBMS)
Layer between users and data
Hides how data is stored
separates logic from data
backup/recovery
maintains constraints
role-based access
ACID
Atomicity - Transactions either happen fully or not at all
Consistency - The database is always in a valid state
Isolation - Concurrent accesses should stay independent
Durability - System failures don’t destroy the database
Schema
A description of the data model
Name of tables and columns
Instance
A snapshot of the database at a specific point in time
View
A piece of the database (or the result of a query) the user is shown