1. Infinite Relational Databases
Download
Report
Transcript 1. Infinite Relational Databases
History of Database Systems
• File systems (before mid 1960s)
Problems: Data redundancy
update anomalies
no abstract data model
requires knowledge of storage
details
no standard query language
Hierarchical Databases (mid
1960s)
Developed by North American Rockwell and IBM
as the IMS (Information Management System)
Based on a tree structure
Example: A Product assembled from components,
which are assembled from subcomponents
Problems: Changes in data structure require changes
in application programs that access that structure
No Many-to-Many relationships
Programmers must be thoroughly familiar with the
database structure.
Network Databases
• Extension of the hierarchical data model
• Standardized (1971) by the CODASYL
group (Conference on Data Systems
Languages)
Advantage: Many-to-Many relationships are
implemented
Problems: “Navigation” is even harder
Relational Databases
Proposed in 1970 by E.F. Codd while working at
IBM.
“IBM largely ignored his work, as the company
was investing heavily at the time in
commercializing IMS databases….
It was not until 1978 that Frank T. Cary, then
chairman and CEO of IBM ordered the
company to build a product based on Dr.
Codd’s ideas.
But IBM was beaten to the market by
Lawrence J. Ellison, a Silicon Valley
entrepreneur, who used Dr. Codd’s papers as
the basis of a product around which he built a
start-up company that has since become the
Oracle Corporation.”
New York Times April 23, 2003
Obituary of E. F. Codd (1923-2003)
1. Relational Databases
Data Abstraction- allows people to forget
unimportant details
View Level – a way of presenting data to a
group of users
Logical Level – how data is understood to be
when writing queries
1.1 The View Level
Examples:
• Charts
• Graphs
• Drawings
• Maps
1.2 The Logical Level
Example:
Infinite relational data model
•
•
•
•
Relation – table
Relational schema – top row / list of attributes
Arity – number of attributes
Database schema – set of relation names and
schemes
• Tuple / Point – each row below the scheme
• Instance – the set of tuples in a table
Relation schemes are usually fixed
Relation instances change with updates
Example Scheme:
Taxrecord(SSN,Wages,Interest,Capital_gain)
Taxtable(Income,Tax)
Example:
Streets(Name, X, Y )
Streets contains pairs of street names and (x,y)
points such that the point belongs to the street.
There are an infinite number of (x, y) locations
associated with each street.
Example:
Crops(Corn,Rye,Sunflower, Wheat)
Crops contains all possible combinations of four
crops that a farmer could plant. There are an
infinite number of tuples in any instance of this
relation.
1.3 Abstract Data Types
Domain – range of values for an attribute.
string, integers or real numbers
Scalar Domain – always a single value
(ex: string, integer or real
number)
Abstract data type domains – composed of
scalar
domains.
Example:
Vertices(Cities)
The domain of Cities is a set of
strings.
Example:
Streets(Name, Extent)
The domain of Extent is a set of (x,y)
points.