Naming Standards
Data Types
Database Design
|Observer |Location |SPECIES |Date |Time | distance(m)|How recognized? | making sound| |:--------|:-----------------|:-------|:----------|:-------------------|-----------:|:---------------|------------:| |JD |Riverside |AMRO |2016-05-11 |1899-01-01 19:01:00 | 45|Visual | 0| |JD |Riverside Park |EABL |05/11/2016 |1899-01-01 19:53:00 | 90|visual | 0| |mj |Backyard |DOWO |2016-05-16 |1899-01-01 16:27:00 | 24|Visual | 1| |Jd |Backyard |AMGO |05-17-2016 |1899-01-01 06:55:00 | 53|Visual | 0| |Mj |backyard |CLSW |2016-06-03 |1899-01-01 21:43:00 | 31|visual | 0| |Mj |backyard |GHOW |06-03-2016 |1899-01-01 22:24:00 | 20|auditory | 1| |jd |Park |EABL |06/06/2016 |1899-01-01 18:28:00 | 34|visual | 0| |MJ |in Riverside park |AMRO |2016-06-17 |1899-01-01 14:43:00 | 20|heard it | 1| |MJ |Riverside |GBHE |2016-06-17 |1899-01-01 15:07:00 | 60|visual | 0| |mj |RP |PUFI |06/17/2016 |15:45:00 | 40|visual | 0| |mj |RP |EABL |2016-06-17 |16:00:00 | 34|visual | 0| |Jd |yard |AMGO |2016-06-18 |07:42:00 | 23|visual | 0|
| sighting_id| observer_id| location_id|species_id |date |visual_recognition |audio_recognition | |-----------:|-----------:|-----------:|:----------|:-------------------|:------------------|:-----------------| | 1| 492| 1|AMRO |2016-05-11 19:01:00 |yes |no | | 2| 492| 1|EABL |2016-05-11 19:53:00 |yes |no | | 3| 213| 2|DOWO |2016-05-16 16:27:00 |yes |yes | | 4| 492| 3|AMGO |2016-05-17 06:55:00 |yes |no | | 5| 213| 2|CLSW |2016-06-03 21:43:00 |yes |no | | 6| 213| 2|GHOW |2016-06-03 22:24:00 |no |yes | | 7| 492| 1|EABL |2016-06-06 18:28:00 |yes |no | | 8| 213| 1|AMRO |2016-06-17 14:43:00 |yes |yes | | 9| 213| 1|GBHE |2016-06-17 15:07:00 |yes |no | | 10| 213| 1|PUFI |2016-06-17 15:45:00 |yes |no | | 11| 213| 1|EABL |2016-06-17 16:00:00 |yes |no | | 12| 492| 3|AMGO |2016-06-18 07:42:00 |yes |no |
Suggestion: lowercase_underscore
Important People in the "R" World suggest: http://r-pkgs.had.co.nz/style.html
|Observer |Location |SPECIES |Date |Time | distance-meters|How recognized? | making sound| |:--------|:-----------------|:-------|:----------|:-------------------|---------------:|:---------------|------------:| |JD |Riverside |AMRO |2016-05-11 |1899-01-01 19:01:00 | 45|Visual | 0| |JD |Riverside Park |EABL |05/11/2016 |1899-01-01 19:53:00 | 90|visual | 0| |mj |Backyard |DOWO |2016-05-16 |1899-01-01 16:27:00 | 24|Visual | 1| |Jd |Backyard |AMGO |05-17-2016 |1899-01-01 06:55:00 | 53|Visual | 0| |Mj |backyard |CLSW |2016-06-03 |1899-01-01 21:43:00 | 31|visual | 0| |Mj |backyard |GHOW |06-03-2016 |1899-01-01 22:24:00 | 20|auditory | 1| |jd |Park |EABL |06/06/2016 |1899-01-01 18:28:00 | 34|visual | 0| |MJ |in Riverside park |AMRO |2016-06-17 |1899-01-01 14:43:00 | 20|heard it | 1| |MJ |Riverside |GBHE |2016-06-17 |1899-01-01 15:07:00 | 60|visual | 0| |mj |RP |PUFI |06/17/2016 |15:45:00 | 40|visual | 0| |mj |RP |EABL |2016-06-17 |16:00:00 | 34|visual | 0| |Jd |yard |AMGO |2016-06-18 |07:42:00 | 23|visual | 0|
Main objective: Choose one preferred format
Suggestion: If using R, look into the lubridate package
| sighting_id| observer_id| location_id|species_id |date |time |visual_recognition |audio_recognition | |-----------:|-----------:|-----------:|:----------|:-------------|:-----------|:------------------|:-----------------| | 1| 492| 1|AMRO |2016-05-11 |19:01:00 |yes |no | | 2| 492| 1|EABL |2016-05-11 |19:53:00 |yes |no | | 3| 213| 2|DOWO |2016-05-16 |16:27:00 |yes |yes | | 4| 492| 3|AMGO |2016-05-17 |06:55:00 |yes |no | | 5| 213| 2|CLSW |2016-06-03 |21:43:00 |yes |no | | 6| 213| 2|GHOW |2016-06-03 |22:24:00 |no |yes | | 7| 492| 1|EABL |2016-06-06 |18:28:00 |yes |no | | 8| 213| 1|AMRO |2016-06-17 |14:43:00 |yes |yes | | 9| 213| 1|GBHE |2016-06-17 |15:07:00 |yes |no | | 10| 213| 1|PUFI |2016-06-17 |15:45:00 |yes |no | | 11| 213| 1|EABL |2016-06-17 |16:00:00 |yes |no | | 12| 492| 3|AMGO |2016-06-18 |07:42:00 |yes |no |
Look at Jarad Niemi's RDataPackageTemplate: https://github.com/jarad/RDataPackageTemplate
What's wrong with the table below?
|Observer |Location |SPECIES |Date |Time | distance-meters|How recognized? | making sound| |:--------|:-----------------|:-------|:----------|:-------------------|---------------:|:---------------|------------:| |JD |Riverside |AMRO |2016-05-11 |1899-01-01 19:01:00 | 45|Visual | 0| |JD |Riverside Park |EABL |05/11/2016 |1899-01-01 19:53:00 | 90|visual | 0| |mj |Backyard |DOWO |2016-05-16 |1899-01-01 16:27:00 | 24|Visual | 1| |Jd |Backyard |AMGO |05-17-2016 |1899-01-01 06:55:00 | 53|Visual | 0| |Mj |backyard |CLSW |2016-06-03 |1899-01-01 21:43:00 | 31|visual | 0| |Mj |backyard |GHOW |06-03-2016 |1899-01-01 22:24:00 | 20|auditory | 1| |jd |Park |EABL |06/06/2016 |1899-01-01 18:28:00 | 34|visual | 0| |MJ |in Riverside park |AMRO |2016-06-17 |1899-01-01 14:43:00 | 20|heard it | 1| |MJ |Riverside |GBHE |2016-06-17 |1899-01-01 15:07:00 | 60|visual | 0| |mj |RP |PUFI |06/17/2016 |15:45:00 | 40|visual | 0| |mj |RP |EABL |2016-06-17 |16:00:00 | 34|visual | 0| |Jd |yard |AMGO |2016-06-18 |07:42:00 | 23|visual | 0|
A good database will (be):
Again, when making an R Data Package, look at: https://github.com/jarad/RDataPackageTemplate
A Simple Example:
Single Table Format:
| type | color | store_1_price | store_2_price | |-------|-------|---------------|---------------| | apple | red | 0.29 | 0.27 |
Database Format:
Fruits
| fruit_id | type | color | |----|-------|-------| | 29 | apple | red |
Stores
| fruit_id | price | store_id | |----|-------|----------| | 29 | 0.29 | 1 | | 29 | 0.27 | 2 |
How could this data be managed?
|Observer |Location |SPECIES_1 |Date_1 |Time_1 |SPECIES_2 |Date_2 |Time_2 | |:--------|:-----------------|:---------|:----------|:-------------------|:---------|:----------|:-------------------| |JD |Riverside |AMRO |2016-05-11 |01/01/1899 19:01:00 |EABL |2016-05-11 |01/01/1899 19:53:00 | |Jd |Backyard |AMGO |2016-05-17 |01/01/1899 06:55:00 |AMGO |2016-06-18 |01/01/1899 07:42:00 | |mj |Backyard |DOWO |2016-05-16 |01/01/1899 16:27:00 |CLSW |2016-06-03 |01/01/1899 21:43:00 | |MJ |in Riverside park |AMRO |2016-06-17 |01/01/1899 14:43:00 |GBHE |2016-06-17 |01/01/1899 15:07:00 |
Avoid using repetitive groups of columns
See dataManagement::sightings_really_bad for the full table.
| observer_id|first_name |last_name |birth_date |email | |-----------:|:----------|:---------|:----------|:-------------------| | 492|John |Doe |1987-09-03 |john.doe@gmail.com | | 213|Mary |Jane |1959-02-27 |mary.jane@gmail.com |
| location_id|location_name |street_address |city |state |country | |-----------:|:--------------|:----------------|:-----------|:-----|:-------| | 1|Riverside Park |100 State St |La Crosse |WI |USA | | 3|Backyard |418 Red Apple Dr |La Crescent |MN |USA |
| sighting_id| observer_id| location_id|species_id |date | |-----------:|-----------:|-----------:|:----------|:-------------------| | 11| 213| 1|EABL |2016-06-17 16:00:00 | | 12| 492| 3|AMGO |2016-06-18 07:42:00 |
|species_id |genus |species |common_name | |:----------|:------|:-------|:------------------| |EABL |Sialia |sialis |Eastern Bluebird | |AMGO |Spinus |tristis |American Goldfinch |
Look further at the following tables and documentation:
To view documentation for a dataset:
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.