IS 341
Database Administration
Keith Vander Linden

"All our knowledge brings us..."
All our knowledge brings us nearer to our ignorance,
All our ignorance brings us nearer to death,
But nearness to death, no nearer to God.
Where is the Life we have lost in living?
Where is the wisdom we have lost in knowledge?
Where is the knowledge we have lost in information?
The cycles of Heaven in twenty centuries
Bring us farther from God and nearer to the Dust.
  - T. S. Eliot, The Rock, 1934

Introduction
This course     (http://cs.calvin.edu/IS/341/)
An example information system
Definitions & Characteristics (chapter 1)
History of information systems
Perspectives

An Example Information System

Definitions
Database - a collection of related data that is persistent and too large to fit into main memory
Database Management System – an automated system that maintains and provides multi-user access to a database, and whose operation is efficient, easy to use, and safe
Information System – A system (i.e., people, machines, and/or methods) to collect, manage, and use data that represent information

Data
Data comprises entity classes, attributes and relationships:

A Data Hierarchy

Persistence
Most data outlive the programs that operate on them.
The DBMS must be able to store and retrieve this data.

Database Size
Massive amounts of data are stored in databases.
How massive?
A comparison:
http://www.cacr.caltech.edu/~roy/dataquan/ (a local copy)

Multiple Users
The DBMS must support multi-user access.
There are different types of users:
Administrators
Database designers
End users
Each user should have:
their own view of the database
their own means of interacting with it

Efficiency
The operations on the data must be efficient.
The data must be stored efficiently.

Convenience
The command languages and interfaces must be easy to use.
Database applications must be insulated from changes to:
the structure of the data  - data independence
the implementation of the commands
the physical location of the data

Safety
The DBMS must protect the integrity of the database

Information Systems
Collecting information
Managing information
Using information

When not to use databases
When the hardware/software cost of a database system is too high for the application.

Database Systems History

Flat-File Databases
These are simple file-based programs.
Relationships are not stored explicitly.

Hierarchical Databases
Work at IBM:
GUAM, part of the Apollo program (1964)
IMS system (1968)
Designed to exploit disk structure
Good for 1-m relationships, bad for m-m
Query language:
getNextWithinParent(), insert(), replace()

Example: 1-to-many

Example: many-to-many

Network Databases
CODASYL-DBTG (1971)
less efficient, but handles many-many
Query language:
a "navigation" language
commands:
get (i.e., follow link),
connect (i.e. make link)
 In both cases, the queries were written algorithmically.

Example: many-to-many

Relational Databases
Proposed in 1970 by E.F. Codd
Offered in commercial systems the 1980’s (e.g., IBM’s DB2)

Object-Oriented Databases
Databases based on ideas from object-oriented programming.
Gemstone from Servio (1987)

Database Trends
Larger and larger databases:
Multimedia databases
Geographic Information Systems (GIS)
Distributed databases and Data-warehouses
Smaller and smaller databases
Continuously available, on-line databases

A Christian Perspective?
Why do we do all this stuff?
to proliferate or enhance creation
Is any of it uniquely Christian?
Not really, but both the development and use of information systems have implications