2. key-value pairs
A key is a field name,
an attribute, an
identifier. The content
of that field is its
value, the data that
is being identified and
stored.
3. key-value pairs
A field name,
together with the
data entered into
that field, is a
key-value
pair.
4. a unique identifier
A key is a unique identifier,
and a value is the actual
data that is being identified.
5. show me an example
For instance, in a
Contacts database
(i.e., an address
book), each record
will have a field
called "city".
6. city: “Buffalo”
Every record contains
the key "city", and
in one particular
record its value
might be "Buffalo". It's
pretty straightforward.
7. city: “Toronto”
In another record in the same Contacts
database, the city might be "Toronto”.
Same key, different value.
8. age 19: “yes”
Now the pair above is
not well designed. The
key itself holds some
data, which is a no-no.
Data should be only be
stored in the value.
9. age 19: “yes”
And what if:
age 19 = "no” … ?
How old is the person
then?
10. consistency
In a relational
database, each record
includes the same keys.
Each record is consistent:
it is similar to its neighbor
in structure (the keys),
but different in content
(the values).
11. good questions
Consistency makes it easy to ask the database some
good questions. Often we are looking for some
particular value, and the key helps us find it.
12. good questions
In the following examples, each
record includes a field with the key
"city", and each record has a value
entered into that field. There are
all sorts of things we can ask
(query) the database.
13. who lives in Buffalo?
"George Hanna", "Lisa Durante",
"Carl Young"
"Buffalo" is the value listed in the field named
"city" in each of these three records. In other
records, another city is listed (or no city is
recorded).
15. what cities are listed in the db?
"Buffalo", "Hamilton",
"Dallas", "Toronto"
Across all the records in the database,
these city names are mentioned in the
field named "city". This database holds
twenty records. "Buffalo" is listed in
three different records.
19. when did Jim Smith live in Dallas?
Can't say. But maybe if we had included
more key-value pairs in each record, this
query could have been answered.
beginning : "1998"
ending : "2005"
20. SELECT beginning WHERE
person == "Jim Smith" &
city == "Dallas"
SELECT ending WHERE person
== "Jim Smith" & city ==
"Dallas"
21. why did Jim Smith live in Dallas?
This database is just an address book. It
does not contain the kind of data needed
to answer this query. A useful design might
include these keys:
work
hometown
spouse
22. good design
When designing a database, we should consider
what questions we will want answered. Then we
can make sure we capture the data needed to
answer those questions.
Database design starts with key-value pairs.
23. (the) Little Data Project
littledataproject.org