key-value pairs (the) Little Data Project littledataproject.org
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.
key-value pairs A field name, together with the data entered into that field, is a key-value pair.
a unique identifier A key is a unique identifier, and a value is the actual data that is being identified.
show me an example For instance, in a Contacts database (i.e., an address book), each record will have a field called "city".
city: “Buffalo” Every record contains the key "city", and in one particular record its value might be "Buffalo". Its pretty straightforward.
city: “Toronto”In another record in the same Contactsdatabase, the city might be "Toronto”.Same key, different value.
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.
age 19: “yes” And what if: age 19 = "no” … ? How old is the person then?
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).
good questionsConsistency makes it easy to ask the database somegood questions. Often we are looking for someparticular value, and the key helps us find it.
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.
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 otherrecords, another city is listed (or no city isrecorded).
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.
when did Jim Smith live in Dallas? Cant say. But maybe if we had included more key-value pairs in each record, this query could have been answered. beginning : "1998" ending : "2005"
SELECT beginning WHEREperson == "Jim Smith" &city == "Dallas"SELECT ending WHERE person== "Jim Smith" & city =="Dallas"
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
good designWhen designing a database, we should considerwhat questions we will want answered. Then wecan make sure we capture the data needed toanswer those questions.Database design starts with key-value pairs.
(the) Little Data Project littledataproject.org