> For the complete documentation index, see [llms.txt](https://felienne.gitbook.io/codasium/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://felienne.gitbook.io/codasium/module-3.4-databases/les-5/les-5b.md).

# Les 5b

**Opdracht 1a) Maak de tabel personen**

Deze tabel krijgt de kolommen: nummer, voornaam en geslacht. Kopieer deze code en vul deze zelf aan op de streepjes.

```sql
create table __(
  Persoonsnummer __,
  __ TEXT,
  __ TEXT
);
```

Tip! deze code print alle tabellen uit. Als je het goed doet, komt er **personen** in beeld.

```sql
.tables
```

**Opdracht 1b) Maak de andere metro-tabellen**

Maak nu de andere tabellen voor de metroreizen

Het moet er zo uitzien:

Tabel: **personen** met kolommen: nummer, voornaam en geslacht

Tabel: **stations** met kolommen: nummer en naam

Tabel: **reizen** met kolommen: persoonsnummer, datum, tijd, van, naar

Vul deze code weer aan op de streepjes:

```sql

CREATE TABLE personen(
  __ __,
  __ __,
  __ __
);

CREATE TABLE stations(
  __ __,
  __ __
);

CREATE TABLE reizen(
  __ __,
  datum DATE,
  tijd TIME,
  __ __,
  __ __
);
```

Gebruik weer .`tables` om je tabellen te bekijken om te zien of alles gelukt is. Als je het goed doet, komt er **personen reizen stations** in beeld.

**2) Data toevoegen**

Nu we de tabellen hebben gemaakt kunnen we de tabellen vullen met data. Werk verder in je programma van opdrachten 1a en 1b.

Begin met deze code, en voeg in iedere tabel nog minstens 5 rijen toe. Je mag de data zelf verzinnen of overnemen uit de [slides van les 3](https://slides.com/felienne/pidk-k3-m2-l3#/19).

```sql
insert into personen values(1, _, _);

insert into stations values(38, __);

insert into reizen values('09/06/20', '10:48:00', __, __, __);
```

:warning: Tip? Ben je klaar? Gebruik deze codes om je tabellen te bekijken:

```sql
-- select *
-- from personen;

-- select *
-- from stations;

-- select *
-- from reizen;
```

**Opdracht 3) Voetbaltabellen**

Begin nu een nieuw programma voor de voetbaldata.

Maak daarin de drie tabellen aan voor de voetbalwedstrijden. Je moet nu zelf de kolommen allemaal invullen

Tabel: **teams**, kolommen: teamnummer en Naam

Tabel: **scheidsrechters**, kolommen: nummer en Naam

Tabel: **wedstrijden**, kolommen: date, time, scheidsrechtersnummer, team\_1, team\_2, goals\_1, goals\_2

Verzin zelf de code. Als je het goed doet, komt er na het commando `.tables` dit in beeld: **scheidsrechters teams wedstrijden**

**4) Tabellen vullen voetbal**

Vul nu ook de voetbaltabellen met data. Verzin de data zelf of gebruik de laatste echte wedstrijden uit de eredivisie of het WK!

**5) Even terug naar het koppelen van data (X)**

Ga terug naar je programma over de metrodata.

Koppel nu jouw eigen drie tabellen van de metroreizen aan elkaar.

Koppel 1x reizen aan personen om de naam van reizigers op te zoeken, en 2x reizen aan stations om de namen van stations te zoeken.

Selecteer ook de juiste kolommen! Als je dan een select schrijft, moet er zoiets uitkomen (maar dan natuurlijk voor jouw eigen data):

**Jan, Nesselande, Beurs**

**Piet, Coolhaven, Oostplein**

:warning: Tip? Je moet stations twee keer in from zetten omdat het twee keer gekoppeld moet worden. Geef de tabel twee keer een andere naam.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://felienne.gitbook.io/codasium/module-3.4-databases/les-5/les-5b.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
