Přejít na obsah

Cvičení – připrav data pro relační databázi

Cvičení – připrav data pro relační databázi

Práce v Excelu • tabulky, záznamy, primární a cizí klíče

Cíl: pochopit, že databázová tabulka není jen obrázek schématu, ale obsahuje skutečné záznamy. V Excelu připravíš data pro stejné tabulky, se kterými pracuješ v databázových diagramech.

 

1. Jak máš soubor připravit

Vytvoř jeden sešit a v něm šest listů: student, studentska_karta, trida, zak, predmet a zapis. První řádek každého listu bude obsahovat názvy polí přesně podle zadání níže.

Každý řádek pod záhlavím představuje jeden záznam. Každý sloupec představuje jedno pole. Uvnitř datových tabulek neslučuj buňky a nepřidávej prázdné řádky.

Důležité: Pro propojení tabulek nepoužívej jméno člověka, ale ID. Primární klíč musí být v tabulce jedinečný a cizí klíč musí odkazovat na existující ID v jiné tabulce.

 

Barevná orientace v zadání: žlutě = primární klíč   •   modře = cizí klíč

2. Data pro relaci 1 : 1 – student a studentská karta

Do listu student zapiš následující data:

student_id

jmeno

prijmeni

1

Adam

Novotný

2

Barbora

Svobodová

3

David

Král

4

Eva

Veselá

5

Filip

Procházka

Do listu studentska_karta zapiš:

karta_id

student_id

cislo_karty

platnost_do

101

1

STU-2026-001

30. 9. 2027

102

2

STU-2026-002

30. 9. 2027

103

3

STU-2026-003

30. 9. 2027

104

4

STU-2026-004

30. 9. 2027

105

5

STU-2026-005

30. 9. 2027

Zkontroluj: každý student_id z listu studentska_karta musí existovat také v listu student. V tomto příkladu má každý student právě jednu kartu.

3. Data pro relaci 1 : N – třída a žák

Do listu trida zapiš:

trida_id

nazev

obor

1

3.A

Mechanik elektronických zařízení

2

3.B

Informační technologie

3

3.C

Elektrotechnika

Do listu zak zapiš:

zak_id

jmeno

prijmeni

email

trida_id

1

Jan

Novák

[email protected]

1

2

Petra

Malá

[email protected]

1

3

Tomáš

Veselý

[email protected]

2

4

Eva

Králová

[email protected]

2

5

Adam

Dvořák

[email protected]

3

6

Lucie

Svobodová

[email protected]

1

Zkontroluj: hodnota trida_id u každého žáka musí odpovídat některému trida_id v listu trida. Jedna třída se proto může objevit u více žáků.

4. Data pro relaci M : N – žák a předmět

Pro tuto část použij stejné žáky z listu zak. Do listu predmet zapiš:

predmet_id

nazev

1

Databáze

2

Počítačové sítě

3

Programování

4

Operační systémy

Do spojovacího listu zapis zapiš:

zapis_id

zak_id

predmet_id

skolni_rok

datum_zapisu

1

1

1

2026/2027

1. 9. 2026

2

1

2

2026/2027

1. 9. 2026

3

2

1

2026/2027

1. 9. 2026

4

2

4

2026/2027

1. 9. 2026

5

3

2

2026/2027

2. 9. 2026

6

3

3

2026/2027

2. 9. 2026

7

4

1

2026/2027

2. 9. 2026

8

4

3

2026/2027

2. 9. 2026

9

5

4

2026/2027

3. 9. 2026

10

6

1

2026/2027

3. 9. 2026

11

6

2

2026/2027

3. 9. 2026

Jeden řádek v listu zapis znamená: tento žák má zapsaný tento předmět. Stejný zak_id se může objevit vícekrát a stejný predmet_id se může objevit vícekrát – právě tím vzniká vztah M : N.

5. Úkoly nad vytvořenými daty

Úkol

Otázka

1

Která studentská karta patří Barboře Svobodové? Uveď karta_id i cislo_karty.

2

Kolik žáků patří do třídy 3.A? Napiš jejich jména.

3

Do které třídy patří Tomáš Veselý? Zjisti to pouze pomocí trida_id.

4

Které předměty má zapsané Jan Novák? Postupuj přes tabulku zapis.

5

Kteří žáci mají zapsaný předmět Databáze?

6

Vysvětli jednou větou, proč je tabulka zapis potřeba.

6. Vlastní doplnění dat

Přidej jednoho nového žáka do existující třídy a přidej mu dva zápisy předmětů. ID zvol tak, aby se neopakovalo. Potom přidej nového studenta s novou studentskou kartou. Všechny cizí klíče musí odkazovat na existující záznamy.

Kontrola před odevzdáním: Máš 6 listů, správná záhlaví, jedinečná ID, platné cizí klíče, žádné sloučené buňky a dokážeš vysvětlit, co znamená jeden řádek v každé tabulce.

 

7. Co si máš z cvičení odnést

Řádek

jeden záznam

Sloupec

jedno pole / vlastnost

Primární klíč

jedinečně určuje záznam

Cizí klíč

odkazuje do jiné tabulky

Smyslem není jen data opsat, ale pochopit, jak se z hodnot ID pozná, které záznamy k sobě patří.

V tomto kurzu nejsou povoleny komentáře.