Weektaak 5 – CodiKoe
Doel
Oefenen met zoeken in meer tabellen. Enkele opdrachten hebben het karakter van opfrisser voor SQL-kennis.
Algemeen
Oefendatabase: informatie over melkkoeien
Aantal tabellen: 3
Datamodel
Tabel: bedrijven
| Kolom | Type | Omschrijving |
|---|---|---|
| bedr_nr | int(11) | — |
| naam | varchar(50) | — |
| adres | varchar(50) | — |
| postc | varchar(50) | — |
| woonpl | varchar(50) | — |
| tel | int(11) | Let op: dit type is in principe fout (telefoon als tekst opslaan). |
Tabel: koeien
| Kolom | Type | Omschrijving |
|---|---|---|
| levnum | int(11) | Levensnummer van de koe |
| vader | int(11) | Verwijzing naar levensnummer van een stier |
| moeder | int(11) | Verwijzing naar levensnummer van een koe |
| geb_dat | datetime | Geboortedatum |
| bedrijf | varchar(50) | Verwijzing naar een bedrijf uit bedrijven |
Tabel: jaarprod
| Kolom | Type | Omschrijving |
|---|---|---|
| levnum | int(11) | Verwijzing naar een koe uit koeien |
| jaar | int(11) | Jaar |
| kg_melk | int(11) | Kg melk |
| vetgeh | double | Vetgehalte |
| eiwitgeh | double | Eiwitgehalte |
Sleutel: dubbele sleutel nodig (levnum + jaar).
erDiagram
bedrijven ||--o{ koeien : heeft
koeien ||--o{ jaarprod : heeft
koeien }o--|| koeien : "vader van"
koeien }o--|| koeien : "moeder van"
bedrijven {
string bedr_nr PK
string naam
string adres
string postc
string woonpl
string tel
}
koeien {
int levnum PK
int vader FK
int moeder FK
datetime geb_dat
string bedrijf FK
}
jaarprod {
int levnum PK
int jaar PK
int kg_melk
double vetgeh
double eiwitgeh
}
Toegang tot de database
Ga naar: http://sql.mijn-in.nl/
Download SQL: CodiKoe
Vragen
- Wat is altijd het eerste dat je doen moet als je een vreemde database onder ogen krijgt?
- Hoeveel bedrijven komen uit de regio met postcodes tussen 1000 en 2000?
- Van wie zijn die bedrijven?
- Wat was de gemiddelde jaarproductie melk in 1968?
- Wat is het levensnummer van de koe met de hoogste totaalproductie melk (misschien zijn het er meer dan 1?) en in welk jaar was dat?
- Wie is de gelukkige eigenaar van deze koe (volgens de database)?
- Maak een lijst van koeien gevolgd door hun gemiddelde vetgehalte, van hoog naar laag gesorteerd.
- Hoeveel kinderen heeft stier 8001?
- Hoeveel verschillende koeien zijn door stier 8005 met succes gedekt?
- Maak een lijst waaruit blijkt wat de gemiddelde jaarproductie melk per koe is geweest voor alle boeren en sorteer deze lijst van hoog naar laag.
- Wat is de totale jaarproductie melk per boer?
- Welke koeien staan in de plaatsen Hasselterlee, Eimoord en Bodemplaat op stal?
- Hoeveel koeien heeft iedere boer in de database?
- Hoeveel koeien heeft iedere boer in de database? Laat alleen bedrijven zien met meer dan 5 koeien.