Database Analogies Notional Machines

What is a representation-based notional machine?

Database Analogy-based notional machines map from a database context to a context that is an analogy students are potentially familiar with. This allows students to reason in familar ways in the analogous space, and to transfer that reasoning to the programming space.

Some representations are handmade (e.g., a diagram drawn on a board) while others are machine-generated (e.g., a visualization produced by a tool).

We collected and organized the following 25 representation-based notional machines:

A conceptual model as a map
Database Analogies
Databases Discipline:

Conceptual Advantage

Illustrates the purpose of developing a conceptual model.

Draws Attention To

The purpose of modeling
SymbolConcept
model map (abstraction of the real world)
Collected by Xiaoying Tu
A data model as a blueprint
Database Analogies
Databases Discipline:

Conceptual Advantage

focus on structure

Draws Attention To

abstraction
SymbolConcept
Collected by Raja Sooriamurthi
Databases Discipline:

Conceptual Advantage

it clarifies the purpose and value of data modelling

Draws Attention To

importance of conceptual design (data model) preceding physical implementation, shows the potential for high costs and time delays if design flaws are discovered late in the development lifecycle
SymbolConcept
Data Model Blueprint
Database Constructed Building
Changing Design Redrawing Lines
Changing Implemented Database Rebuilding Walls, Electrical, Plumbing
Collected by Yuhan Pan
Databases Discipline:

Conceptual Advantage

helps students understand that a careful modelling can save retrieval efforts through an example close to their everyday experience (specifically tailored to the less represented gender)

Draws Attention To

motivations for learning data modelling, data structuring, indexing
SymbolConcept
resources (data) shoes
selective data access finding a pair of shoes
metadata (data describing data) photos of shoes
index mechanism that speed up search avoiding to look inside all boxes
Collected by Giovanna Guerrini
Databases Discipline:

Conceptual Advantage

Evokes a visual of how clean and curated the data is

Draws Attention To

Highlights how clean data is important for traditional systems, but not for MapReduce systems.
SymbolConcept
traditional data warehouse systems walled gardens - ingested data is pristine, curated, and has structure.
MapReduce systems process arbitrarily structured data, whether clean or dirty, curated or not. There is no loading step. This means users can store data first and consider what to do with it later.
Collected by Daphne Miedema
Database as a Telephone Book
Database Analogies
Databases Discipline:

Conceptual Advantage

it clarifies the basic concept of a database as a collection of related information

Draws Attention To

The fundamental idea of a database as a "set of related information"
SymbolConcept
Database Telephone Book
Collected by Yuhan Pan
Databases Discipline:

Conceptual Advantage

Helps readers get a high-level idea of what indexing is and how it can help speeding up queries

Draws Attention To

The advantage of indexing in speeding up queries
SymbolConcept
Database table indexing a book's index
Collected by Xiaoying Tu
Databases Discipline:

Conceptual Advantage

Relates database index to real world students may be familiar with. Note: this is dated for new students

Draws Attention To

what an index is used for
SymbolConcept
index card catalog
file/entry in file book or other resource
Collected by Martin Goodfellow
Databases Discipline:

Conceptual Advantage

Explains each step of the DB design methodology with a familiar analogy

Draws Attention To

The steps of a DB design methodology
SymbolConcept
conceptual design physical fitness
logical design strenght training
physical design speed training
Collected by Laura Farinetti
Databases Discipline:

Conceptual Advantage

Draw on the law of the instrument: "it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail"

Draws Attention To

The (previous) omnipresence of disk-based row-stores as a storage solution
SymbolConcept
Collected by Daphne Miedema
Entity as an object
Database Analogies
Databases Discipline:

Conceptual Advantage

Stresses the similarity with object oriented programming languages

Draws Attention To

The fact that entities have common properties
SymbolConcept
entity object
set of entities class
Collected by Giovanna Guerrini
fact table as "fat" table
Database Analogies
Databases Discipline:

Conceptual Advantage

The concept of a 'fat table' conjures an anthropomorphic image

Draws Attention To

How tables in a star schema can get bigger than our normal conception of 'big'.
SymbolConcept
Collected by Daphne Miedema
Databases Discipline:

Conceptual Advantage

Helps readers understand the mechanism of joining more than two tables

Draws Attention To

The fact that each additional table is joined with the intermediate resulting table, just like the snowball gets bigger when rolling down the hill.
SymbolConcept
snowball the "intermediate table" after joining each additional table
Collected by Xiaoying Tu
JSON as "schema on read"
Database Analogies
Databases Discipline:

Conceptual Advantage

Draws parallels to processing as done in relational databases.

Draws Attention To

How reading from JSON is similar to RDBMS projection
SymbolConcept
JSON structure schema
defining what to see at runtime projection operation
schema on read relational operation"
Collected by Daphne Miedema
Databases Discipline:

Conceptual Advantage

reduce data redundancy and eliminate modification anomalies, by relating it to a familiar concept from English grammar

Draws Attention To

highlights the design principle of decomposition
SymbolConcept
Database Table Paragraph
Data "Themes" Paragraph Themes
Normalisation Reorganising/Breaking up paragraphs
Collected by Yuhan Pan
ordered index
Database Analogies
Databases Discipline:

Conceptual Advantage

familiar concept (book index)

Draws Attention To

ease of retrieval/indentification
SymbolConcept
Collected by Raja Sooriamurthi
Databases Discipline:

Conceptual Advantage

helps students understand what data clustering and querying flexibility means through an example close to their everyday experience

Draws Attention To

Efficiency if access can be predetermined, flexibility for unanticipated access
SymbolConcept
Data Clustering / Locality of Reference (efficiency) All Xmas decorations in the same box since they will be needed again at the same time (next Xmas)
Query Flexibility Off-Season Ornament Hunting (I just need a red bauble and I am still able to get it) [could be related to indexing if it can be anticipated]
Disk Storage room (basement/garage)
Collected by Giovanna Guerrini
Databases Discipline:

Conceptual Advantage

Highlights the fact that relational models consist of only one type of building blocks: the relations. This is in contrast to conceptual models which typically consist of different types of building blocks (entities, relationships, multiplicities, inheritance, etc.)

Draws Attention To

Relational models consist of relations only
SymbolConcept
Lego bricks relations
Collected by Xiaoying Tu
Relationships as glue
Database Analogies
Databases Discipline:

Conceptual Advantage

Stresses the idea that relationships connect entities

Draws Attention To

The connections among the ER model components
SymbolConcept
Relationship glue among entities
Collected by Laura Farinetti
Table as a spreadsheet
Database Analogies
Databases Discipline:

Conceptual Advantage

brings similarity with the familiar concept of spreadsheet

Draws Attention To

the row/column structure
SymbolConcept
table spreadsheet
Collected by Giovanna Guerrini
Databases Discipline:

Conceptual Advantage

helps user understanding ternary (and n-ary) relationships as sets of triples (n-uples)

Draws Attention To

An instance of the entity might or might not participate to the relationship A instance of the relationship always requires one instance of each related entity
SymbolConcept
relationship instance table
entity instance leg
Collected by Giovanna Guerrini
Tuple as an index card
Database Analogies
Databases Discipline:

Conceptual Advantage

(supposed) familiarity of index cards

Draws Attention To

How each tuple carries its own (independent) set of data
SymbolConcept
relational database filing cabinet
Collected by Daphne Miedema
Databases Discipline:

Conceptual Advantage

helps students understanding the role of external/mixed identifiers referring to person identities (movie character)

Draws Attention To

how cardinality constraints and external/mixed identifiers for weak entities are related (case of multiple participation to identifyingn relationship)
SymbolConcept
weak entity instance person (Mr Robot)
identifier person's identity
Collected by Giovanna Guerrini
Databases Discipline:

Conceptual Advantage

helps students understanding the role of external/mixed identifiers referring to person identities (movie character)

Draws Attention To

how cardinality constraints and external/mixed identifiers for weak entities are related (case of optional participation to identifying relationship)
SymbolConcept
weak entity instance person (Jason Bourne)
identifier person's identity
Collected by Giovanna Guerrini
Databases Discipline:

Conceptual Advantage

helps user understanding the role of external/mixed identifiers referring to person identities issues (Italian book character)

Draws Attention To

how cardinality constraints and external/mixed identifiers for weak entities are related (should be single and mandatory)
SymbolConcept
weak entity instance person (Pirandello's Vincenzo Moscarda)
identifier person's identity
Collected by Giovanna Guerrini