You are on page 1of 37

IST 210

Databases and DBMSs


Todd S. Bacastow
January 2005

IST 210

Evolution

Ways of storing data

IST 210

Files (1960) (ancient times)


Databases

Hierarchical (1970)
Network (1970)
Relational (1980)
Object (1990)

IST 210

File terms

Record

Field

data items related to a single logical entity (e.g.


a students information) or row in a table

a place for a data item in a record (first name


field in a student record) or a column in a table

File

a sequence of records of the same type (the


table)

IST 210

File structures
A file: STUDENT

record

field

ID

Last

First

Grade

Smith

Jane

Wood

Bob

Kent

Chuck

Boone

Dan

IST 210

File organization

Serial

new records appended

Sequential

records ordered in file, usually according to


a numeric key

IST 210

File structures
Serial

list of entries in
which the order
of entry into the
list determines
the order of the
list

ID
3

Last
Smith

First
Jane

Grade
A

Wood

Bob

Kent

Chuck

Boone

Dan

File structures

IST 210

Search of a simple
list entails going
through each record
until the query is
satisfied (linear
search), which is
inefficient

ID
3

Last
Smith

First Grade
Jane
A

Wood

Bob

Kent

Chuck

Boone

Dan

File structures

IST 210

Sequential

list of entries
ordered in some
way (e.g.
numerically or
alphabetically)

ID

Last

First

Grade

Wood

Bob

Kent

Chuck

Smith

Jane

Boone

Dan

File structures

IST 210

Search of an
ordered
sequential list can
use a search
method

ID

Last

First

Grade

Wood

Bob

Kent

Chuck

Smith

Jane

Boone

Dan

IST 210

File structures
Indexes provide a reference to records based on an index
field, which is ordered
Last

Pointer

ID

Last

First

Grade

Boone

Wood

Bob

Kent

Kent

Chuck

Smith

Smith

Jane

Wood

Boone

Dan

Problems with files

IST 210

Redundancy

Inconsistency

data is updated in one


applications files, but not in
anothers

Maintenance problems

number of files grows with


applications, and data is
duplicated

changes to data structures


mean changes to many
programs

Difficulty combining data

business needs may mean


users want data from
different applications

IST 210

Other ways to organize

Data model

A data model is a particular way of conceptually organizing


multiple data files in a database

Other common models


Hierarchical
Network
Relational
Object

IST 210

Network model

IST 210

Network data model


Class

Relationships:
one-to-one
one-to-many
many-to-one
many-to-many

Student

Grade

Instructor

ID

Department

Network data model

IST 210

Advantages

flexible, fast, efficient

Disadvantages

Complex
Restructuring can be difficult because of
changing all the pointers

IST 210

Hierarchical database model

IST 210

Hierarchical data model


Class

Parent-child
relationship:

one-to-one
one-to-many

Student

Grade

Instructor

ID

Department

IST 210

Hierarchical data model

Advantages

easy to search
add new branches easily

Disadvantages

Must establish the types of search prior to


development of the hierarchical structure

IST 210

Summary

Hierarchical and network data models have


generally been replaced by the relational data
model
Relational databases dominate the database
market

Oracle
Informix
SQL Server
DB2
..

Relational database model

IST 210

Stores both

Data about real


world objects
(entities) in
tables
Relationships
between the
tables

IST 210

Relational database
Fields (columns) in the
table store attributes.

Tuples (or records or


rows) in the table store
information.

Each attribute has a


specific domain.

Each tuple is a unique


instance of an object.

Tables are composed of


a set of tuples.

A table is also called a


relation.

IST 210

Terms

Table

Column

Set of all possible values for a specific column.

Row

A specific place for one type of data relating to one type of


real world objects.

Domain

A collection of relevant data relating to one type of real


world objects.

Collection of data describing one real world object.

Primary Key

Columns, which are part of the row and uniquely identify


any one row.

IST 210

Records
Each record represents a logical entity (e.g. a
student)
Each field represents an attribute of the
logical entity
Student

ID
1

Last
Wood

First
Bob

Grade Class
C IST357

Kent

Chuck

IST115

Smith

Jane

IST357

Boone

Dan

IST357

IST 210

Keys
Each table has a primary key, one field (or a
combination of fields) that has a unique value for
each and every record in the table

ID is the primary key


in this table (two
students may share
either a last or first
name)

ID Last
1
Wood

Student
First Grade Class
Bob
C IST357

Kent

Chuck

IST115

Smith

Jane

IST357

Boone

Dan

IST357

Relating tables

IST 210

Tables can be related (joined) together based on their keys


The idea is to decompose into separate tables with no
redundancy and to provide a capability to reassemble with no
information loss

Student
ID

Last

First

Grade

Class

Wood

Bob

IST357

Kent

Chuck

IST115

Smith

Jane

IST357

Boone

Dan

IST357

Class
Name

#Stud

Instructor

IST357 48

Jones

IST115 120

Brower

IST20

120

Fountain

IST 210

Relating tables

Primary key

Foreign key

Primary key

Student

ID

Last

First

Grade

Class

Wood

Bob

IST357

Kent

Chuck

IST115

Smith

Jane

IST357

Boone

Dan

IST357

Class
Name

#Stud Instructor

IST357 48

Jones

IST115 120

Brower

IST20

120

Mennis

IST 210

Relating tables
Student

ID

Last

First

Grade

Class

Wood

Bob

IST357

Kent

Chuck

IST115

Smith

Jane

IST357

Boone

Dan

IST357

Class
Name

IST20

#Stud Instructor

120

Brower

IST115 120

Jones

IST357 48

Jones

Instructor
Name
Office
Jones
Brower

332
517

IST 210

DBMS Schema

Ultimately data in databases is stored in


files, but their structure is hidden

External Schema

The view on data used by


application programs.

Conceptual Schema

The logical model of data that is


separate from how it is used.

Internal Schema

The physical storage of data in


files and indexes.

IST 210

RDBMS Features

Data Definition Language


(DDL)
Data Manipulation Language
(DML)
Integrity Constraints
Transaction Management
Concurrency
Security
Tuning of Storage

IST 210

Data integrity and validation (Constraints)

Relationships

IST 210

Link between
entities.
A relationship may
define constraints.

E.G, a person can


only have one SSN.

IST 210

Advantages of RDBMS

Eliminate unnecessary duplication of data


Enforce data integrity through constraints
Changes to conceptual schema need not
affect external schema
Changes to internal schema need not affect
the conceptual schema
Many tools are available to manage the
database

IST 210

Disadvantages of RDBMS

To store objects (e.g., drawings) in a


relational database, the objects have to be
flattened into tables

e.g., a digital representation of a parcel must be


separated from the behaviour of other parcels

Complex objects have to be taken apart and


the parts stored in different tables
When retrieved from the database, the object
has to be reassembled from the parts in
different tables

IST 210

Other Types of DBMS

Object DBMS

store objects as objects


designed to handle complex nested objects
for graphical and multimedia applications

Object-relational DBMS

hybrid databases that can store data in


tables but can also store objects in tables

Object DBMS

IST 210

ODBMS have the


advantage that
objects can be
stored directly
Object databases
are closely linked
to programming
languages with
ways of navigating
through the
database

IST 210

Summary
Common
word

Textbook
word

Alternate
word

Object word

Table

Relation

File or Data set


(old)

Object class

Column

Attribute

Field

Object field

Domain

Domain

Range of
possible values

Datatype,
subtype

Row

Tuple

Record

Object instance

Primary key

Primary key

Key of the
record

Object identifier

You might also like