Database Fundamentals: 1File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Database
Fundamentals
Robert J. Robbins
Johns Hopkins University
rrobbins@gdb.org
Database Fundamentals: 2File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
What is a Database?
General:
• A database is any collection of related data.
Restrictive:
• A database is a persistent, logically coherent
collection of inherently meaningful data, relevant
to some aspects of the real world.
The portion of the real world relevant to the database is sometimes referred
to as the universe of discourse or as the database miniworld. Whatever it
is called, it must be well understood by the designers of the database.
Database Fundamentals: 3File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
What is a Database Management System?
A database management system (DBMS) is a
collection of programs that enables users to create
and maintain a database. According to the
ANSI/SPARC DBMS Report (1977), a DBMS
should be envisioned as a multi-layered system:
Conceptual
Schema
Physical
Database
Internal
Schema
External
View 1
• • • • •• • • • •
External
View n
External Level
(individual user views)
Conceptual Level
(Enterprise-wide view)
Internal Level
(storage view)
Storage Level
(physical storage)
Database Fundamentals: 4File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
What Does a DBMS Do?
Database management systems provide several
functions in addition to simple file management:
• allow concurrency
• control security
• maintain data integrity
• provide for backup and recovery
• control redundancy
• allow data independence
• provide non-procedural query language
• perform automatic query optimization
Database Fundamentals: 5File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Who Interacts with a DBMS?
Many different individuals are involved with a
database management system over its life:
• systems analysts
• database designers
• database administrators
• application developers
• users
Database Fundamentals: 6File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Components of a Database System
DML
Processor
Application
Programs
Direct User
Queries
Database
Description
Tables
DDL
Compiler
Database
Administrator
Concurrent
Access
Tables
Authorization
Tables
File
Manager
Database
Manager
Physical
System
Database
Metadata
Database
System
Catalog
Database Fundamentals: 7File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relational Database Model
What is a relational database?
• a database that treats all of its data as a
collection of relations
What is a relation?
• a kind of set
• a subset of a Cartesian product
• an unordered set of ordered tuples
Database Fundamentals: 8File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Basic Set Concepts
any collection of distinct entities of any
sort.
SET
a set of ordered pairs, produced by
combining each element of one set with
each element of another set.
CARTESIAN
PRODUCT
a subset of a Cartesian productRELATION
examples A = { 1,2,3,4,5,6 }
B = { H,T }
C = { R,B }
D = { Grant, Sherman, Lee }
example B x C = { <H,R>,<H,B>,<T,R>,<T,B> }
example Q = { <H,R>,<H,B> }
Note: Cartesian products may be generated by
multiplying any number of sets together.
The actual number of sets involved in a
particular case is said to be the “degree”
or “arity” of that Cartesian product.
Note: Relations may be of any degree (arity).
Database Fundamentals: 9File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Basic Set Concepts
A set is usually indicated by including a comma-
delimited list of the names its members within a
pair of wavy brackets:
R = { 1,2,3,4,5,6 }
G = { Marshall, Eisenhower, Bradley }
The members of a set are unordered. Two sets
are considered equivalent if and only if they
contain exactly the same members, without regard
for the order in which the members are listed.
R = { 1,2,3,4,5,6 }
= { 3,2,1,6,4,5 }
G = { Marshall, Eisenhower, Bradley }
= { Bradley, Marshall, Eisenhower }
Database Fundamentals: 10File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Basic Set Concepts
Order must be maintained in ordered n-tuples.
Two tuples are considered different if they contain
the same members in a different order.
S = < 2,4 > ≠≠ < 4,2 >
C = < Marshall, Eisenhower, Bradley >
≠≠ < Bradley, Eisenhower, Marshall >
An ordered double (or triple or quadruple or n-
tuple) is usually indicated by including a comma-
delimited list of the names its members within a
pair of pointed brackets:
S = < 2,4 >
C = < Marshall, Eisenhower, Bradley >
A set may consist of an unordered collection of
ordered tuples. For example, we could imagine
the set of all ordered pairs of integers, such that
the first element is the square root of the second
element.
R = { <1,1>,< 2,4 >,<3,9> ... }
As this ellipsis indicates, sets can be
infinite in size. However, sets that
are actually represented in a database
must be finite.
Database Fundamentals: 11File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Basic Set Concepts
LET B be the set of possible outcomes when rolling
a single blue die.
B = { 1,2,3,4,5,6 }
LET R be the set of possible outcomes when rolling
a single red die.
R = { 1,2,3,4,5,6 }
The Cartesian product R x B gives the set of
outcomes when the two dice are rolled
together:
THEN
R x B: <1,1>
<1,2>
<1,3>
<1,4>
<1,5>
<1,6>
<2,1>
<2,2>
<2,3>
<2,4>
<2,5>
<2,6>
<3,1>
<3,2>
<3,3>
<3,4>
<3,5>
<3,6>
<4,1>
<4,2>
<4,3>
<4,4>
<4,5>
<4,6>
<5,1>
<5,2>
<5,3>
<5,4>
<5,5>
<5,6>
<6,1>
<6,2>
<6,3>
<6,4>
<6,5>
<6,6>
{
}
Database Fundamentals: 12File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relation: Subset of a Cartesian Product
1
2
3
4
5
6
Set R
1
2
3
4
5
6
Set B
Starting two sets.
A Cartesian product of two sets
can be generated by combining
every member of one set with
every member of the other set.
This results in a complete set of
ordered pairs, consisting of
every possible combination of
one member of the first set
combined with one member of
the second set. The number of
elements in a Cartesian product
is equal to M x N, where M and
N give the number of members
in each set.
A Cartesian product of two sets,
shown as a list of ordered pairs.
<1,1>
<1,2>
<1,3>
<1,4>
<1,5>
<1,6>
<2,1>
<2,2>
<2,3>
<2,4>
<2,5>
<2,6>
<3,1>
<3,2>
<3,3>
<3,4>
<3,5>
<3,6>
<4,1>
<4,2>
<4,3>
<4,4>
<4,5>
<4,6>
<5,1>
<5,2>
<5,3>
<5,4>
<5,5>
<5,6>
<6,1>
<6,2>
<6,3>
<6,4>
<6,5>
<6,6>
1
2
3
4
5
6
1
2
3
4
5
6
A Cartesian product of two sets,
shown as a connection diagram,
with each member of the first set
connected to each member of the
other set.
Database Fundamentals: 13File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relation: Subset of a Cartesian Product
<1,1>
<1,2>
<1,3>
<1,4>
<1,5>
<1,6>
<2,1>
<2,2>
<2,3>
<2,4>
<2,5>
<2,6>
<3,1>
<3,2>
<3,3>
<3,4>
<3,5>
<3,6>
<4,1>
<4,2>
<4,3>
<4,4>
<4,5>
<4,6>
<5,1>
<5,2>
<5,3>
<5,4>
<5,5>
<5,6>
<6,1>
<6,2>
<6,3>
<6,4>
<6,5>
<6,6>
<1,1>
<2,2>
<3,3>
<4,4>
<5,5>
<6,6>
A relation, therefore, must always
be representable as a subset of some
Cartesian product.
A Cartesian product pairs every
member of the first set with every
member of the second set.
A relation pairs some
members of the first set
with some members of
the second set.
Database Fundamentals: 14File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relation: Set of Ordered Tuples
By adding sets, relations can be extended to include ordered triples, ordered
quadruples or, in general, any ordered n-tuple, as below. A relation with n
participating sets is said to be of degree n or to possess arity n.
A binary relation is a set of ordered doubles, with one element a member of the
first set and one element a member of the second set. Generally, we could
represent a set of ordered doubles as below. S1 is the first set and S2 the second.
S1 x S2
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
S1 x S2 x S3 x x Sn
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
Database Fundamentals: 15File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relations as a Database
Codd recognized that many of the files used in computerized information
systems were very similar in structured to tabularized relations.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
S1 x S2 x S3 x x Sn
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
• • • • • • • • •
An n-ary relation (i.e., a subset of a Cartesian product of n sets) could be be
represented in a computer system as an n-column tabular file, with one member
from the first set named in the first column of each record and one member of
the second set in the second column, etc.
Smith
Smith
Jones
Harris
Robert
Judy
Greg
Lloyd
1154 Elm Street
1154 Elm Street
765 Cedar Lane
2323 Maple Dr
Glendale
Glendale
Towson
Towson
MD
MD
MD
MD
21200
21200
21232
21232
L.
F.
G.
K.
Ziegler Fred 7272 Cherry Ln. Baltimore MD 21208K.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Database Fundamentals: 16File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relations as a Database
The business data file resembles a relation in a number of ways. The tabular
file itself corresponds to a relation. Each column, or attribute, in the file
corresponds to a particular set and all of the values from a particular column
come from the same domain, or set. Each row, or record, in the file
corresponds to a tuple
Smith
Smith
Jones
Harris
Robert
Judy
Greg
Lloyd
1154 Elm Street
1154 Elm Street
765 Cedar Lane
2323 Maple Dr
Glendale
Glendale
Towson
Towson
MD
MD
MD
MD
21200
21200
21232
21232
L.
F.
G.
K.
Ziegler Fred 7272 Cherry Ln. Baltimore MD 21208K.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Name-L Name-F MI address city state zip
Domains
(sets)
If such a file is to be genuinely interchangeable with a relation, certain
contraints must be met:
• every tuple must be unique
• every attribute within a tuple must be single-valued
• in in all tuples, the values for the same attribute must come from the
same domain or set
• no attributes should be null
Database Fundamentals: 17File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relations as a Database
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
P-64122
P-75642
P-70875
P-79543
P-71536
123-45-6789
001-32-6873
444-44-5555
555-12-1212
888-88-8888
Smith
Pedersen
Wilson
Grant
MacPherson
123 Main Street
1700 Cedar Barn Way
1321 North South St
808 Farragut Avenue
1617 Pennsylvania Ave
10 MAY 44
31 MAR 59
7 AUG 90
1 DEC 66
11 APR 60
patient # SS # Last Name address birth date
An essential attribute of a relation is that every tuple must be unique. This
means that the values present in some individual attribute (or set of attributes)
must always provide enough information to allow a unique identification of
every tuple in the relation. In a relational database, these identifying values
are known as key values or just as the key.
Sometimes more than one key could be defined for given table. For
example, in the table below (which represents, perhaps, a patient record file),
several columns might serve as a key. Either patient number (assigned by
the hospital) or social security number (brought with the patient) are
possibilities. In addition, one might argue that the combination of last name,
address, and birth date could collectively serve as a key.
Any attribute or set of attributes that might possibly serve as a key is known
as a candidate key. Keys that involve only one attribute are known as
simple keys. Keys that involve more than one attribute are composite keys.
In designing a database, one of the candidate keys for each relation must be
chosen to be the primary key for that table. Choosing primary keys is a
crucial task in database design. If keys need to be redesignated, the entire
system may have to be redone. Primary keys can never be null and should
never be changed. Sometimes none of the candidate keys for a relation are
likely to remain stable over time. Then, an arbitrary identifier might be created
to serve as a primary key. Such arbitrary keys are also known as surrogate
keys.
Database Fundamentals: 18File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relations as a Database
A binary relation (i.e., a subset of a Cartesian product of two sets) could be be
represented in a computer system as two-column tabular file, with one member
from the first set named in the first column of each record and one member of
the second set in the second column. For example, a binary relation could be
used to provide unique three-letter identifiers for academic departments.
Additional relations could be used to give more information about individual
departments or individual faculty members.
ZOL
CPS
BSP
CEM
PSD
Zoology
Computer Science
Biological Science
Chemistry
Political Science
Room 203
Room 714A
Room 141
Room 320
Room 303
Natural Science Bldg
Wells Hall
Natural Science Bldg
Chemistry Bldg
South Kedzie Hall
355 4640
355 5210
353 4610
355 9175
355 6590
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
999-99-9999
888-88-8888
777-77-7777
666-66-6666
Johnson
Johnson
Brown
Brown
William
William
James
Gwen
1533 Raleigh Dr.
2842 Colony Ave.
99 W. East St.
99 W. East St.
Baltimore
Baltimore
Towson
Towson
MD
MD
MD
MD
21211
21201
21232
21232
F.
F.
G.
K.
111-11-1111 Ziegler Samual 7272 Cherry Ln. Baltimore MD 21208L.
•
•
•
•
•
•
Zoology
Political Science
Computer Science
History
Accounting
ZOL
PSD
CPS
HIS
ACC
•
•
•
•
•
•
Database Fundamentals: 19File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Yet another relation could be used to show what faculty were members of what
departments. Notice that faculty member 999-99-9999 is a member of more
than one department and that, even on this short list, the department of zoology
has two members given.
SS Number• • • other fields çç Faculty Relation
Dept CodeSS NumberMember-of Relation èè
Dept Code other fields • • •Departments Relation èè
Relations of this sort, that combine identifiers from two other relations, provide
the “glue” that holds a relational database together.
Relations as a Database
Whenever the values in an attribute column in one table “point to” primary keys
in another (or the same) table, the attribute column is said to be a foreign key.
Columns containing foreign keys are subject to an integrity constraint: any
value present as a foreign key must also be present as a primary key.
999-99-9999
888-88-8888
7777-77-7777
666-66-6666
999-99-9999
ZOL
PSD
CPS
ZOL
BSP
•
•
•
•
•
•
•
•
•
Database Fundamentals: 20File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relational Database Operators
Data models consist of data structures and
permitted operations on those data structures.
Part of Codd’s genius was to recognize that
many of the standard set operators that can take
relations as operands map nicely to real data
manipulation problems:
• Cartesian product
• union
• intersection
• difference
Codd devised some additional operators to
provide extra manipulatory power:
• select
• project
• join
• divide
The operators have now been extended to
include more useful manipulations:
• outer join
• outer union
Database Fundamentals: 21File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
Relational Database Normal Forms
First Normal Form:
• A relation is in first normal form (1NF)
if and only if all underlying domains
contain atomic values only.
Second Normal Form:
• A relation is in second normal form
(2NF) if and only if it is in 1NF and
every non-key attribute is fully
dependent on the primary key.
Third Normal Form:
• A relation is in third normal form (3NF)
if and only if it is in 2 NF and the non-
key attributes are mutually
independent.
Considerable study has been made of the properties of relations as they affect
the behavior of relational databases. The results of these studies are captured in
the definition of normal forms.
Database Fundamentals: 22File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
What is the E-R Data Model?
The Entity-Relationship (E-R) data model is a
semantically rich model that can be mapped to a
relational system.
The three files represented above are all relations in the formal sense. Chen
(1976) noted that different relations may play different roles in a database and
that being able to recognize and document those roles is a key part of database
design. The “faculty” and the “department” relations above both store
information about particular real-world entities. The “member-of” relation, on
the other hand, stores information about specific relationships involving
individual pairs of real-world entities.
SS Number• • • other fields çç Faculty Relation
Dept CodeSS NumberMember-of Relation èè
Dept Code other fields • • •Departments Relation èè
Database Fundamentals: 23File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
The E-R Data Model
Physical
Database
Conceptual
Database
External
View 1
• • • • •• • • • •
External
View n
Physical data independence
occurs here.
Logical data independence
occurs here.
Implemented on physical
devices, using a commercial
database product
Definition and mapping
written in data definition
language
Different needs for access and use of the
database can be supported through different
user views
Database Fundamentals: 24File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
The E-R Data Model
Conceptual
Database
(relational)
Physical
Database
External
View 1
• • • • •• • • • •
External
View n
Conceptual
Database
(E-R)
Codd’s relational model
(1970) provided the first
formal basis for database
design.
The entity-relationship
approach (Chen, 1976)
improved the mapping
between the semantics of a
database design and that
portion of the real world
being modeled with the
data.
Layers may be added to a conceptual design in
order to increase the semantic richness available
at the top design level.
Although the E-R approach
does not require an under-
lying relational model, most
E-R models can be converted
to relational models fairly
easily.
Database Fundamentals: 25File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
The E-R Data Model
Conceptual
Database
(relational)
Physical
Database
External
View 1
• • • • •• • • • •
External
View n
Conceptual
Database
(E-R)
If a commercial RDBMS is
used, a relational conceptual
model provides a basis for
designing and implementing
an underlying physical
database.
A different conceptual model
may be necessary to capture
the semantics of the database
domain.
If a commercial relational
database system is used,
mapping from a relational
conceptual model to the
physical database should be
relatively straightforward.
Moving between conceptual
models can be difficult,
especially if automated
tools to facilitate the move
are not available.
If layered conceptual models are used, the layering may be perceived differently
by the system’s users and developers. Users often see the database only in terms
of the views that they employ. System analysts and designers may think
primarily about the E-R schema, whereas the database administrator is likely to
deal primarily with the relational schema and the physical system.
Database Fundamentals: 26File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
E-R Data Model: Graphical Conventions
Departments
CoursesClassrooms
StudentsFaculty
Departments Students
1,24,n majors
in
Sets of real-world entities are represented with
named rectangles:
Relationships between members of entity sets
are represented with named diamonds that are
connected to the rectangles of the participating
entity sets with directed arcs:
Arcs are drawn with an orientation that “points” from foreign keys to primary
keys. The min:max participation cardinality can be indicated by placing
pairs of numbers on each arc. Here, “4,n” means that every department is
required to have at least four student majors, but can have many more; “1,2”
means that each student is required to have at least one major and is permitted
to have no more than two majors. Sometimes only the maximum participation
cardinalities are shown.
Database Fundamentals: 27File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
E-R Data Model: Graphical Conventions
One-to-one:
Many-to-one:
One-to-many:
Many-to-many:
One-to-many:
(mandatory)
One-to-many:
(optional)
Entity Set A Entity Set B
11
Relates
Entity Set A Entity Set B
1n
Relates
Entity Set A Entity Set B
n1
Relates
Entity Set A Entity Set B
mn
Relates
Entity Set A Entity Set B
1:n1:1
Relates
Entity Set A Entity Set B
0:n1:1
Relates
Many different cardinalities are possible.
Documenting the cardinalities is an essential
part of database analysis and design.
Database Fundamentals: 28File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
E-R Data Model: Examples
Departments Faculty
nm member
of
Faculty and departments entities could be
related by a many-to-many “member-of”
relationship:
Departments Faculty
0,11,1 chairman
of
They could also be related by a one-to-one
“chairman-of” relationship:
The “1,1” cardinality for departments means that every department must have
one and only one chairman. The “0,1” cardinality for faculty means that not all
faculty participate in the chairman-of relationship and that no faculty member
may participate more than once. That is, not all faculty are chairmen and no one
faculty member may serve as chairman of more than one department.
Database Fundamentals: 29File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
E-R Data Model: Graphical Conventions
Combining these two relationships into a single
diagram, we would have:
Departments Faculty
nm member
of
0,11,1 chairman
of
A database design derived from the figure above
would allow a faculty member to chair a
department of which he/she was not a member.
To indicate an integrity constraint that requires
membership in a department in order to chair the
department, the E-R diagram would be modified
as below:
Departments Faculty
nm member
of
0,1
1,1 chairman
of
Database Fundamentals: 30File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
E-R Data Model: Graphical Conventions
Class hierarchies (“ISA” hierarchies) can be
indicated as below:
1:n
Untenured
1:n
Temporary
1:n
ISA
1:n
1:n
Tenured
Person
Faculty
1:n
Staff
1:n
Student
ISA
1:n
1:n
1:n
1:n
Under-
graduate
1:n
Non-
degree
1:n
ISA
1:n
1:n
Graduate
Database Fundamentals: 31File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins
E-R Data Model: Graphical Conventions
1:10:n
All Persons
Relationships may be recursive. Here, this E-R
figure represents all possible mother-child
relationships among all humans.
Recursive relationships are particularly useful for representing any data
structure that could also be represented as a directed graph. Entries in the entity
table represent nodes of the graph and entries in the relationship table represent
arcs.
mother:child
This cardinality indicates that
not all persons participate in the
relationship as mothers, but that
those who do participate may
participate one or more times.
This cardinality indicates that
all persons participate in the
relationship as child and that no
child may have more than one
mother.

More Related Content

PDF
International Journal of Engineering Research and Development
PDF
Data handling in r
PPTX
Datamining with R
PDF
XSPARQL CrEDIBLE workshop
PPTX
Binomial Heaps and Fibonacci Heaps
PPT
Normalization Accepted
PPSX
data structure(tree operations)
PDF
Binary Trees
International Journal of Engineering Research and Development
Data handling in r
Datamining with R
XSPARQL CrEDIBLE workshop
Binomial Heaps and Fibonacci Heaps
Normalization Accepted
data structure(tree operations)
Binary Trees

What's hot (19)

PPTX
SPARQL
PPT
Lossless decomposition
PPT
Normalization PRESENTATION
PDF
Tree representation in map reduce world
PPTX
Presentation on b trees [autosaved]
PPT
Ch13 Binary Search Tree
PDF
Duplicate Detection in Hierarchical Data Using XPath
PPTX
Binary tree and operations
PPTX
Data Structure & Algorithms | Computer Science
PPTX
Greenplum 6 Changes
PDF
BinarySearchTree-bddicken
PPTX
B trees
PPT
Binary trees
PPTX
Search tree,Tree and binary tree and heap tree
PPTX
Karan normalization in sql
PPTX
Normalization presentation in Database Management System
PPT
17. Trees and Graphs
PDF
Aaa ped-6-Data manipulation: Data Files, and Data Cleaning & Preparation
PPTX
Introduction To R Language
SPARQL
Lossless decomposition
Normalization PRESENTATION
Tree representation in map reduce world
Presentation on b trees [autosaved]
Ch13 Binary Search Tree
Duplicate Detection in Hierarchical Data Using XPath
Binary tree and operations
Data Structure & Algorithms | Computer Science
Greenplum 6 Changes
BinarySearchTree-bddicken
B trees
Binary trees
Search tree,Tree and binary tree and heap tree
Karan normalization in sql
Normalization presentation in Database Management System
17. Trees and Graphs
Aaa ped-6-Data manipulation: Data Files, and Data Cleaning & Preparation
Introduction To R Language
Ad

Viewers also liked (16)

PDF
Ijazah
PDF
Catia V5
PPTX
Single detached House in Cavite/4BR/15% down Lipat In 60 Days/RFO/Foreclosed/...
PDF
One Piece 544
PDF
One Piece 546 Scanlation
PPT
single detached/2 storey townhouse/single detached big house for sale in cavite
PPT
Sagt och gjort
PPTX
Single detached House in Cavite/3TB/Ready for Occupancy/4BEDROOMS/affordable ...
PDF
Kekkaishi Chapter 241
PPTX
e-Rolnictwo w Adobe Connect
PDF
Basic definitions of dbms
PDF
First Aid Training
PPS
Salud y Bienestar
PPT
Strategicmanagement 120205221455-phpapp01 (1)
PPTX
relaciones de la electricidad con el Magnetismo
PPTX
Acv isquemico Manejo en urgencias
 
Ijazah
Catia V5
Single detached House in Cavite/4BR/15% down Lipat In 60 Days/RFO/Foreclosed/...
One Piece 544
One Piece 546 Scanlation
single detached/2 storey townhouse/single detached big house for sale in cavite
Sagt och gjort
Single detached House in Cavite/3TB/Ready for Occupancy/4BEDROOMS/affordable ...
Kekkaishi Chapter 241
e-Rolnictwo w Adobe Connect
Basic definitions of dbms
First Aid Training
Salud y Bienestar
Strategicmanagement 120205221455-phpapp01 (1)
relaciones de la electricidad con el Magnetismo
Acv isquemico Manejo en urgencias
 
Ad

Similar to Db fund (20)

PPT
Database System Introductory Concepts and All
PDF
Remembering Edgar Frank “Ted” Codd - Founder of Relational Databases
PDF
Databasell
PPTX
Relational Database Design
PPT
joijoiiiiiiiiiiiiiiiiiiiiijoijiojoijoijoijoij
PPTX
Database.pptx
DOCX
COMPUTERS Database
PPT
25.2.14
PPT
PPT
Pertemuan 5_Relation Matriks_01 (17)
PPT
Relational algebra.pptx
PPT
Dbms relational model
PPT
Relational Algebra.ppt
PPT
D B M S Animate
PPT
databases_an data connection_computers(2).ppt
PPT
Relational_Database_managementsystem.ppt
PPT
Relational_Intro_1.ppt
PPT
jklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll...
PPT
Relational database management Introduction.ppt
Database System Introductory Concepts and All
Remembering Edgar Frank “Ted” Codd - Founder of Relational Databases
Databasell
Relational Database Design
joijoiiiiiiiiiiiiiiiiiiiiijoijiojoijoijoijoij
Database.pptx
COMPUTERS Database
25.2.14
Pertemuan 5_Relation Matriks_01 (17)
Relational algebra.pptx
Dbms relational model
Relational Algebra.ppt
D B M S Animate
databases_an data connection_computers(2).ppt
Relational_Database_managementsystem.ppt
Relational_Intro_1.ppt
jklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll...
Relational database management Introduction.ppt

Recently uploaded (20)

PDF
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
PPTX
curriculumandpedagogyinearlychildhoodcurriculum-171021103104 - Copy.pptx
PPT
12 Things That Make People Trust a Website Instantly
PPTX
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
PPTX
Edit gdasgdkhagfhgfgfasdghhdgfhdgfj.pptx
PDF
Alethe Consulting Corporate Profile and Solution Aproach
PDF
Containerization lab dddddddddddddddmanual.pdf
PPTX
Reading as a good Form of Recreation
PPTX
AI_Cyberattack_Solutions AI AI AI AI .pptx
PDF
Public for study about wiring to confirm.
PPSX
AI AppSec Threats and Defenses 20250822.ppsx
PPTX
MY PRESENTATION66666666666666666666.pptx
PPTX
Basic understanding of cloud computing one need
PPTX
Top Website Bugs That Hurt User Experience – And How Expert Web Design Fixes
PPTX
Concepts of Object Oriented Programming.
PDF
Paper PDF The World Game (s) Great Redesign.pdf
PPTX
Networking2-LECTURE2 this is our lessons
PPTX
Powerpoint slides: Eco Economic Epochs.pptx
PDF
Top 8 Trusted Sources to Buy Verified Cash App Accounts.pdf
PDF
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
curriculumandpedagogyinearlychildhoodcurriculum-171021103104 - Copy.pptx
12 Things That Make People Trust a Website Instantly
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
Edit gdasgdkhagfhgfgfasdghhdgfhdgfj.pptx
Alethe Consulting Corporate Profile and Solution Aproach
Containerization lab dddddddddddddddmanual.pdf
Reading as a good Form of Recreation
AI_Cyberattack_Solutions AI AI AI AI .pptx
Public for study about wiring to confirm.
AI AppSec Threats and Defenses 20250822.ppsx
MY PRESENTATION66666666666666666666.pptx
Basic understanding of cloud computing one need
Top Website Bugs That Hurt User Experience – And How Expert Web Design Fixes
Concepts of Object Oriented Programming.
Paper PDF The World Game (s) Great Redesign.pdf
Networking2-LECTURE2 this is our lessons
Powerpoint slides: Eco Economic Epochs.pptx
Top 8 Trusted Sources to Buy Verified Cash App Accounts.pdf
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf

Db fund

  • 1. Database Fundamentals: 1File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Database Fundamentals Robert J. Robbins Johns Hopkins University [email protected]
  • 2. Database Fundamentals: 2File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins What is a Database? General: • A database is any collection of related data. Restrictive: • A database is a persistent, logically coherent collection of inherently meaningful data, relevant to some aspects of the real world. The portion of the real world relevant to the database is sometimes referred to as the universe of discourse or as the database miniworld. Whatever it is called, it must be well understood by the designers of the database.
  • 3. Database Fundamentals: 3File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins What is a Database Management System? A database management system (DBMS) is a collection of programs that enables users to create and maintain a database. According to the ANSI/SPARC DBMS Report (1977), a DBMS should be envisioned as a multi-layered system: Conceptual Schema Physical Database Internal Schema External View 1 • • • • •• • • • • External View n External Level (individual user views) Conceptual Level (Enterprise-wide view) Internal Level (storage view) Storage Level (physical storage)
  • 4. Database Fundamentals: 4File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins What Does a DBMS Do? Database management systems provide several functions in addition to simple file management: • allow concurrency • control security • maintain data integrity • provide for backup and recovery • control redundancy • allow data independence • provide non-procedural query language • perform automatic query optimization
  • 5. Database Fundamentals: 5File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Who Interacts with a DBMS? Many different individuals are involved with a database management system over its life: • systems analysts • database designers • database administrators • application developers • users
  • 6. Database Fundamentals: 6File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Components of a Database System DML Processor Application Programs Direct User Queries Database Description Tables DDL Compiler Database Administrator Concurrent Access Tables Authorization Tables File Manager Database Manager Physical System Database Metadata Database System Catalog
  • 7. Database Fundamentals: 7File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relational Database Model What is a relational database? • a database that treats all of its data as a collection of relations What is a relation? • a kind of set • a subset of a Cartesian product • an unordered set of ordered tuples
  • 8. Database Fundamentals: 8File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Basic Set Concepts any collection of distinct entities of any sort. SET a set of ordered pairs, produced by combining each element of one set with each element of another set. CARTESIAN PRODUCT a subset of a Cartesian productRELATION examples A = { 1,2,3,4,5,6 } B = { H,T } C = { R,B } D = { Grant, Sherman, Lee } example B x C = { <H,R>,<H,B>,<T,R>,<T,B> } example Q = { <H,R>,<H,B> } Note: Cartesian products may be generated by multiplying any number of sets together. The actual number of sets involved in a particular case is said to be the “degree” or “arity” of that Cartesian product. Note: Relations may be of any degree (arity).
  • 9. Database Fundamentals: 9File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Basic Set Concepts A set is usually indicated by including a comma- delimited list of the names its members within a pair of wavy brackets: R = { 1,2,3,4,5,6 } G = { Marshall, Eisenhower, Bradley } The members of a set are unordered. Two sets are considered equivalent if and only if they contain exactly the same members, without regard for the order in which the members are listed. R = { 1,2,3,4,5,6 } = { 3,2,1,6,4,5 } G = { Marshall, Eisenhower, Bradley } = { Bradley, Marshall, Eisenhower }
  • 10. Database Fundamentals: 10File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Basic Set Concepts Order must be maintained in ordered n-tuples. Two tuples are considered different if they contain the same members in a different order. S = < 2,4 > ≠≠ < 4,2 > C = < Marshall, Eisenhower, Bradley > ≠≠ < Bradley, Eisenhower, Marshall > An ordered double (or triple or quadruple or n- tuple) is usually indicated by including a comma- delimited list of the names its members within a pair of pointed brackets: S = < 2,4 > C = < Marshall, Eisenhower, Bradley > A set may consist of an unordered collection of ordered tuples. For example, we could imagine the set of all ordered pairs of integers, such that the first element is the square root of the second element. R = { <1,1>,< 2,4 >,<3,9> ... } As this ellipsis indicates, sets can be infinite in size. However, sets that are actually represented in a database must be finite.
  • 11. Database Fundamentals: 11File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Basic Set Concepts LET B be the set of possible outcomes when rolling a single blue die. B = { 1,2,3,4,5,6 } LET R be the set of possible outcomes when rolling a single red die. R = { 1,2,3,4,5,6 } The Cartesian product R x B gives the set of outcomes when the two dice are rolled together: THEN R x B: <1,1> <1,2> <1,3> <1,4> <1,5> <1,6> <2,1> <2,2> <2,3> <2,4> <2,5> <2,6> <3,1> <3,2> <3,3> <3,4> <3,5> <3,6> <4,1> <4,2> <4,3> <4,4> <4,5> <4,6> <5,1> <5,2> <5,3> <5,4> <5,5> <5,6> <6,1> <6,2> <6,3> <6,4> <6,5> <6,6> { }
  • 12. Database Fundamentals: 12File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relation: Subset of a Cartesian Product 1 2 3 4 5 6 Set R 1 2 3 4 5 6 Set B Starting two sets. A Cartesian product of two sets can be generated by combining every member of one set with every member of the other set. This results in a complete set of ordered pairs, consisting of every possible combination of one member of the first set combined with one member of the second set. The number of elements in a Cartesian product is equal to M x N, where M and N give the number of members in each set. A Cartesian product of two sets, shown as a list of ordered pairs. <1,1> <1,2> <1,3> <1,4> <1,5> <1,6> <2,1> <2,2> <2,3> <2,4> <2,5> <2,6> <3,1> <3,2> <3,3> <3,4> <3,5> <3,6> <4,1> <4,2> <4,3> <4,4> <4,5> <4,6> <5,1> <5,2> <5,3> <5,4> <5,5> <5,6> <6,1> <6,2> <6,3> <6,4> <6,5> <6,6> 1 2 3 4 5 6 1 2 3 4 5 6 A Cartesian product of two sets, shown as a connection diagram, with each member of the first set connected to each member of the other set.
  • 13. Database Fundamentals: 13File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relation: Subset of a Cartesian Product <1,1> <1,2> <1,3> <1,4> <1,5> <1,6> <2,1> <2,2> <2,3> <2,4> <2,5> <2,6> <3,1> <3,2> <3,3> <3,4> <3,5> <3,6> <4,1> <4,2> <4,3> <4,4> <4,5> <4,6> <5,1> <5,2> <5,3> <5,4> <5,5> <5,6> <6,1> <6,2> <6,3> <6,4> <6,5> <6,6> <1,1> <2,2> <3,3> <4,4> <5,5> <6,6> A relation, therefore, must always be representable as a subset of some Cartesian product. A Cartesian product pairs every member of the first set with every member of the second set. A relation pairs some members of the first set with some members of the second set.
  • 14. Database Fundamentals: 14File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relation: Set of Ordered Tuples By adding sets, relations can be extended to include ordered triples, ordered quadruples or, in general, any ordered n-tuple, as below. A relation with n participating sets is said to be of degree n or to possess arity n. A binary relation is a set of ordered doubles, with one element a member of the first set and one element a member of the second set. Generally, we could represent a set of ordered doubles as below. S1 is the first set and S2 the second. S1 x S2 • • • • • • • • • • • • • • • • • • • • • • • • • • • S1 x S2 x S3 x x Sn • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
  • 15. Database Fundamentals: 15File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relations as a Database Codd recognized that many of the files used in computerized information systems were very similar in structured to tabularized relations. • • • • • • • • • • • • • • • • • • S1 x S2 x S3 x x Sn • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • An n-ary relation (i.e., a subset of a Cartesian product of n sets) could be be represented in a computer system as an n-column tabular file, with one member from the first set named in the first column of each record and one member of the second set in the second column, etc. Smith Smith Jones Harris Robert Judy Greg Lloyd 1154 Elm Street 1154 Elm Street 765 Cedar Lane 2323 Maple Dr Glendale Glendale Towson Towson MD MD MD MD 21200 21200 21232 21232 L. F. G. K. Ziegler Fred 7272 Cherry Ln. Baltimore MD 21208K. • • • • • • • • • • • • • • • • • • • • • • • •
  • 16. Database Fundamentals: 16File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relations as a Database The business data file resembles a relation in a number of ways. The tabular file itself corresponds to a relation. Each column, or attribute, in the file corresponds to a particular set and all of the values from a particular column come from the same domain, or set. Each row, or record, in the file corresponds to a tuple Smith Smith Jones Harris Robert Judy Greg Lloyd 1154 Elm Street 1154 Elm Street 765 Cedar Lane 2323 Maple Dr Glendale Glendale Towson Towson MD MD MD MD 21200 21200 21232 21232 L. F. G. K. Ziegler Fred 7272 Cherry Ln. Baltimore MD 21208K. • • • • • • • • • • • • • • • • • • • • • • • • Name-L Name-F MI address city state zip Domains (sets) If such a file is to be genuinely interchangeable with a relation, certain contraints must be met: • every tuple must be unique • every attribute within a tuple must be single-valued • in in all tuples, the values for the same attribute must come from the same domain or set • no attributes should be null
  • 17. Database Fundamentals: 17File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relations as a Database • • • • • • • • • • • • • • • • • • P-64122 P-75642 P-70875 P-79543 P-71536 123-45-6789 001-32-6873 444-44-5555 555-12-1212 888-88-8888 Smith Pedersen Wilson Grant MacPherson 123 Main Street 1700 Cedar Barn Way 1321 North South St 808 Farragut Avenue 1617 Pennsylvania Ave 10 MAY 44 31 MAR 59 7 AUG 90 1 DEC 66 11 APR 60 patient # SS # Last Name address birth date An essential attribute of a relation is that every tuple must be unique. This means that the values present in some individual attribute (or set of attributes) must always provide enough information to allow a unique identification of every tuple in the relation. In a relational database, these identifying values are known as key values or just as the key. Sometimes more than one key could be defined for given table. For example, in the table below (which represents, perhaps, a patient record file), several columns might serve as a key. Either patient number (assigned by the hospital) or social security number (brought with the patient) are possibilities. In addition, one might argue that the combination of last name, address, and birth date could collectively serve as a key. Any attribute or set of attributes that might possibly serve as a key is known as a candidate key. Keys that involve only one attribute are known as simple keys. Keys that involve more than one attribute are composite keys. In designing a database, one of the candidate keys for each relation must be chosen to be the primary key for that table. Choosing primary keys is a crucial task in database design. If keys need to be redesignated, the entire system may have to be redone. Primary keys can never be null and should never be changed. Sometimes none of the candidate keys for a relation are likely to remain stable over time. Then, an arbitrary identifier might be created to serve as a primary key. Such arbitrary keys are also known as surrogate keys.
  • 18. Database Fundamentals: 18File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relations as a Database A binary relation (i.e., a subset of a Cartesian product of two sets) could be be represented in a computer system as two-column tabular file, with one member from the first set named in the first column of each record and one member of the second set in the second column. For example, a binary relation could be used to provide unique three-letter identifiers for academic departments. Additional relations could be used to give more information about individual departments or individual faculty members. ZOL CPS BSP CEM PSD Zoology Computer Science Biological Science Chemistry Political Science Room 203 Room 714A Room 141 Room 320 Room 303 Natural Science Bldg Wells Hall Natural Science Bldg Chemistry Bldg South Kedzie Hall 355 4640 355 5210 353 4610 355 9175 355 6590 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 999-99-9999 888-88-8888 777-77-7777 666-66-6666 Johnson Johnson Brown Brown William William James Gwen 1533 Raleigh Dr. 2842 Colony Ave. 99 W. East St. 99 W. East St. Baltimore Baltimore Towson Towson MD MD MD MD 21211 21201 21232 21232 F. F. G. K. 111-11-1111 Ziegler Samual 7272 Cherry Ln. Baltimore MD 21208L. • • • • • • Zoology Political Science Computer Science History Accounting ZOL PSD CPS HIS ACC • • • • • •
  • 19. Database Fundamentals: 19File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Yet another relation could be used to show what faculty were members of what departments. Notice that faculty member 999-99-9999 is a member of more than one department and that, even on this short list, the department of zoology has two members given. SS Number• • • other fields çç Faculty Relation Dept CodeSS NumberMember-of Relation èè Dept Code other fields • • •Departments Relation èè Relations of this sort, that combine identifiers from two other relations, provide the “glue” that holds a relational database together. Relations as a Database Whenever the values in an attribute column in one table “point to” primary keys in another (or the same) table, the attribute column is said to be a foreign key. Columns containing foreign keys are subject to an integrity constraint: any value present as a foreign key must also be present as a primary key. 999-99-9999 888-88-8888 7777-77-7777 666-66-6666 999-99-9999 ZOL PSD CPS ZOL BSP • • • • • • • • •
  • 20. Database Fundamentals: 20File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relational Database Operators Data models consist of data structures and permitted operations on those data structures. Part of Codd’s genius was to recognize that many of the standard set operators that can take relations as operands map nicely to real data manipulation problems: • Cartesian product • union • intersection • difference Codd devised some additional operators to provide extra manipulatory power: • select • project • join • divide The operators have now been extended to include more useful manipulations: • outer join • outer union
  • 21. Database Fundamentals: 21File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins Relational Database Normal Forms First Normal Form: • A relation is in first normal form (1NF) if and only if all underlying domains contain atomic values only. Second Normal Form: • A relation is in second normal form (2NF) if and only if it is in 1NF and every non-key attribute is fully dependent on the primary key. Third Normal Form: • A relation is in third normal form (3NF) if and only if it is in 2 NF and the non- key attributes are mutually independent. Considerable study has been made of the properties of relations as they affect the behavior of relational databases. The results of these studies are captured in the definition of normal forms.
  • 22. Database Fundamentals: 22File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins What is the E-R Data Model? The Entity-Relationship (E-R) data model is a semantically rich model that can be mapped to a relational system. The three files represented above are all relations in the formal sense. Chen (1976) noted that different relations may play different roles in a database and that being able to recognize and document those roles is a key part of database design. The “faculty” and the “department” relations above both store information about particular real-world entities. The “member-of” relation, on the other hand, stores information about specific relationships involving individual pairs of real-world entities. SS Number• • • other fields çç Faculty Relation Dept CodeSS NumberMember-of Relation èè Dept Code other fields • • •Departments Relation èè
  • 23. Database Fundamentals: 23File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins The E-R Data Model Physical Database Conceptual Database External View 1 • • • • •• • • • • External View n Physical data independence occurs here. Logical data independence occurs here. Implemented on physical devices, using a commercial database product Definition and mapping written in data definition language Different needs for access and use of the database can be supported through different user views
  • 24. Database Fundamentals: 24File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins The E-R Data Model Conceptual Database (relational) Physical Database External View 1 • • • • •• • • • • External View n Conceptual Database (E-R) Codd’s relational model (1970) provided the first formal basis for database design. The entity-relationship approach (Chen, 1976) improved the mapping between the semantics of a database design and that portion of the real world being modeled with the data. Layers may be added to a conceptual design in order to increase the semantic richness available at the top design level. Although the E-R approach does not require an under- lying relational model, most E-R models can be converted to relational models fairly easily.
  • 25. Database Fundamentals: 25File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins The E-R Data Model Conceptual Database (relational) Physical Database External View 1 • • • • •• • • • • External View n Conceptual Database (E-R) If a commercial RDBMS is used, a relational conceptual model provides a basis for designing and implementing an underlying physical database. A different conceptual model may be necessary to capture the semantics of the database domain. If a commercial relational database system is used, mapping from a relational conceptual model to the physical database should be relatively straightforward. Moving between conceptual models can be difficult, especially if automated tools to facilitate the move are not available. If layered conceptual models are used, the layering may be perceived differently by the system’s users and developers. Users often see the database only in terms of the views that they employ. System analysts and designers may think primarily about the E-R schema, whereas the database administrator is likely to deal primarily with the relational schema and the physical system.
  • 26. Database Fundamentals: 26File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins E-R Data Model: Graphical Conventions Departments CoursesClassrooms StudentsFaculty Departments Students 1,24,n majors in Sets of real-world entities are represented with named rectangles: Relationships between members of entity sets are represented with named diamonds that are connected to the rectangles of the participating entity sets with directed arcs: Arcs are drawn with an orientation that “points” from foreign keys to primary keys. The min:max participation cardinality can be indicated by placing pairs of numbers on each arc. Here, “4,n” means that every department is required to have at least four student majors, but can have many more; “1,2” means that each student is required to have at least one major and is permitted to have no more than two majors. Sometimes only the maximum participation cardinalities are shown.
  • 27. Database Fundamentals: 27File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins E-R Data Model: Graphical Conventions One-to-one: Many-to-one: One-to-many: Many-to-many: One-to-many: (mandatory) One-to-many: (optional) Entity Set A Entity Set B 11 Relates Entity Set A Entity Set B 1n Relates Entity Set A Entity Set B n1 Relates Entity Set A Entity Set B mn Relates Entity Set A Entity Set B 1:n1:1 Relates Entity Set A Entity Set B 0:n1:1 Relates Many different cardinalities are possible. Documenting the cardinalities is an essential part of database analysis and design.
  • 28. Database Fundamentals: 28File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins E-R Data Model: Examples Departments Faculty nm member of Faculty and departments entities could be related by a many-to-many “member-of” relationship: Departments Faculty 0,11,1 chairman of They could also be related by a one-to-one “chairman-of” relationship: The “1,1” cardinality for departments means that every department must have one and only one chairman. The “0,1” cardinality for faculty means that not all faculty participate in the chairman-of relationship and that no faculty member may participate more than once. That is, not all faculty are chairmen and no one faculty member may serve as chairman of more than one department.
  • 29. Database Fundamentals: 29File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins E-R Data Model: Graphical Conventions Combining these two relationships into a single diagram, we would have: Departments Faculty nm member of 0,11,1 chairman of A database design derived from the figure above would allow a faculty member to chair a department of which he/she was not a member. To indicate an integrity constraint that requires membership in a department in order to chair the department, the E-R diagram would be modified as below: Departments Faculty nm member of 0,1 1,1 chairman of
  • 30. Database Fundamentals: 30File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins E-R Data Model: Graphical Conventions Class hierarchies (“ISA” hierarchies) can be indicated as below: 1:n Untenured 1:n Temporary 1:n ISA 1:n 1:n Tenured Person Faculty 1:n Staff 1:n Student ISA 1:n 1:n 1:n 1:n Under- graduate 1:n Non- degree 1:n ISA 1:n 1:n Graduate
  • 31. Database Fundamentals: 31File: N_drive:jhuclass1995db-fund.ppt © 1994, 1995 Robert Robbins E-R Data Model: Graphical Conventions 1:10:n All Persons Relationships may be recursive. Here, this E-R figure represents all possible mother-child relationships among all humans. Recursive relationships are particularly useful for representing any data structure that could also be represented as a directed graph. Entries in the entity table represent nodes of the graph and entries in the relationship table represent arcs. mother:child This cardinality indicates that not all persons participate in the relationship as mothers, but that those who do participate may participate one or more times. This cardinality indicates that all persons participate in the relationship as child and that no child may have more than one mother.