DBMS - Part 1 - Introduction
DBMS - Part 1 - Introduction
Crash recovery
◦ Integrity problems
Integrity constraints (e.g. account balance > 0) become
“buried” in program code rather than being stated explicitly
Hard to add new constraints or change existing ones
Drawbacks of using file systems (cont.)
◦ Atomicity of updates
Failures may leave database in an inconsistent state
with partial updates carried out
Example: Transfer of funds from one account to another
should either complete or not happen at all
◦ Concurrent access by multiple users
Concurrent accessed needed for performance
Uncontrolled concurrent accesses can lead to
inconsistencies
Example: Two people reading a balance and updating it
at the same time
◦ Security problems
Hard to provide user access to some, but not all, data
Relational model
Order 1 Order 2
Order
files pointers
Order 1 Order 2
Entry points
Customer(CustomerID, Name, …)
17
of
15
More frequent than pure object-oriented
systems
Architecture:
◦ Database is relational
◦ Objects are created in main memory according to
class diagram and business rules, and populated by
data from the relational databases (data access
layer in system sequence diagrams)
◦ System operations, then, performed by objects
18
of
15
A data model is a collection of concepts for
describing data.
Physical schema:
◦ Relations stored as unordered files.
◦ Index on first column of Students.
Old Modern
1950s and early 1960s:
◦ Data processing using magnetic tapes for storage
Tapes provide only sequential access
◦ Punched cards for input
Late 1960s and 1970s:
◦ Hard disks allow direct access to data
◦ Network and hierarchical data models in
widespread use
◦ Ted Codd defines the relational data model
Would win the ACM Turing Award for this work
IBM Research begins System R prototype
UC Berkeley begins Ingres prototype
◦ High-performance (for the era) transaction
processing
1980s:
◦ Research relational prototypes evolve into commercial
systems
SQL becomes industry standard
◦ Parallel and distributed database systems
◦ Object-oriented database systems
1990s:
◦ Large decision support and data-mining applications
◦ Large multi-terabyte data warehouses
◦ Emergence of Web commerce
2000s:
◦ XML and XQuery standards
◦ Automated database administration
◦ Increasing use of highly parallel database systems
◦ Web-scale distributed data storage systems