Alternative data structure models
road
• there are two basic different
data structure models with a
number of variants Parcel a
• storage of all map elements Parcel b
City limits
in a “combined” structure
with multiple attributes
associated
• storage of different map
elements associated with
different themes
Tabular data
Separation into data themes
Alternative (older) data structures
• Original structures tended to reflect basic
human conceptualization of data
• Hierarchy
– “larger” conceptual entities contained smaller
ones
• Network
– database pointers permit multiple linkages
betweel “lower level” entities and those above
General structures
database database
persons vehicles
trips
Hierarchical dbms Network DBMS
How to represent data in database
• well defined process
– universe to be modeled is defined (subset of world) but anything
that we could model
– external models defined (subset of universe)
• what do users want the database to deal with?
• Often people form different foci or departments in an enterprise
– Conceptual model
• synthesis of all external models
– schematic representations of how various parts of external models
interrelate
– this helps people figure out how differing elements relate, if there are
overlaps, gaps etc.
– often entity-relationship methods used (later)
– Logical model
• conversion of above to structures appropriate to DBMS
• data dictionary may be essential
– internal model - what computer actually does
Entity-relationship model
• entities
– the things - a parcel, a house
• classes of entities
– houses, parcels
• relationships between entities or classes of entities
– associations - house is on a parcel
• attributes of entities and relationships
– size of parcel, type of house
• cardinalities of relationships
– number of linkages
• term is degree
– one -to - one
– one - to -many
– many - to -many
• integrity constraints
Parcels have three segments
A segment can limit two parcels
or a parcel and a street
Segments have two endpoints
Relational databases
• Key ideas from Codd
• relation
– organized assembly of data that meets certain
conditions
– all relations are tables but not all tables are relations
• relational database - collection of relations
represented by statements as to contents and tables
containing instances of the relations
Relation
• R(owner, car_make, license_number)
Owner car_make license_number
Smith ford 456 SAP
Jones toyota WER 345
etc...
table nomenclature relational nomenclature
rows, cases tuple, records
column column
cell, data value cell, value in domain
domain = range of acceptable values
data type = e.g. characters, date, integers
Schema
• statements that define the structure
• keys link tables together
Owner
Parcel last_name, char 20
parcel_id, integer first name, char 20
parcel_name, character parcel_id, integer
Segments Vertices
segment_id, integer segment_id, integer
parcel_id, integer x coordinate, float
y coordinate, float