Modelovanie domény

Ciele

  1. Bleskovka.
  2. Naučiť sa používať entitno-relačný model na modelovanie domény.

Úvod

V úvode tohto cvičenia Vás čaká bleskovka na zopakovanie písania selectov. Bleskovka pozostáva z 5 úloh. Následne sa na cvičení bude precvičovať modelovanie domény pomocou entitno-relačného modelu. Budeme používať nástroj pgModeler. Zamyslite sa, ako by ste riešili dátový model pre aplikáciu evidencie zápasov na majstrovstvách sveta v hokeji.

Postup

Krok 1

Úlohy v bleskovke sa týkajú databázy Movies s nasledovnou schémou.

Relačný model databázy Movies
Obr. 1: Relačný model databázy Movies

Úloha 1.1

Vypíšte priezvisko a krtsné meno všetkých hercov z tabuľky t_person. Výsledok zoraďte abecedne podľa priezviska.

Úloha 1.2

Vypíšte názvy všetkých žánrov, ktoré sú zastúpené v nejakom filme. Výsledok zoraďte abecedne podľa názvu žánra.

Úloha 1.3

Vypíšte názvy všetkých kín spolu s ich kapacitou. Stĺpec s kapacitou pomenujte "kapacita" a záznamy podľa neho zoraďte zostupne.

Úloha 1.4

Vypíšte všetky osoby (2 stĺpce: najprv priezvisko, potom meno), ktoré sa podieľali na nejakom filme a ich priezvisko začína písmenom "B".

Úloha 1.5

Vypíšte, koľko máte v tabuľke t_person žien a koľko mužov. Stĺpec pomenujte "pocet".

Krok 2

V rámci tohto cvičenia vypracujete model domény majstrovstiev sveta v hokeji s použitím entitno-relačného diagramu.

Dátový model majstrovstiev sveta v hokeji by mal obsahovať:

  • evidenciu krajín, ktoré sa zúčastnia majstrovstiev v danom roku, v ktorej skupine sa nachádzajú,
  • evidenciu hokejových klubov, v ktorých hráči hrajú,
  • evidenciu hráčov,
  • súpisku danej krajiny v daný rok,
  • evidenciu miest, kde sa hrajú majstrovstvá,
  • rozpis zápasov a výsledkov zápasov,
  • evidenciu trestov hráčov v zápasoch.

Úloha 2.1

Oboznámte sa s nástrojom pgModeler.

Poznámka

Nástroj pgModeler je veľmi užitočný pri práci s databázou PostgreSQL. Je zdarma, dostupný pre platformy Windows, Mac alebo Linux (na Linux ho stiahnete jednoduchým príkazom sudo apt install pgmodeler).

  • Dokáže pracovať v priamom napojení na databázu.
  • Dokáže vygenerovať diagramy z existujúcej databázy.
  • Dokáže generovať skripty na synchronizáciu databázy po pridaní alebo zmene databázového objektu.
  • Dokáže exportovať do SQL súboru, PNG, SVG alebo priamo do PostgreSQL.

Poznámka

PgModeler vyžaduje kvalitný modelovací nástroj na profesionálenjšej úrovni. Jeho používanie môže byť spočiatku náročnejšie. Ako jednoduchšiu alternatívu na vytváranie vašich modelov môžete použiť ERD+.

Úloha 2.2

Vypracujte vlastný návrh dátového modelu na riešenie tohto problému.

Úloha 2.3

Spoločne na cvičení vytvoríme optimálny návrh dátového modelu pre aplikáciu evidencie zápasov na majstrovstvách sveta v hokeji.

Riešenie

Relačný model databázy Hockey
Obr. 2: Relačný model databázy Hockey

Entitno-relačný model databázy Hockey
Obr. 3: Entitno-relačný model databázy Hockey

Úloha 2.4

Pripravte skripty pre naplnenie jednotlivých tabuliek dátového modelu pre Vami zvolený rok (každý študent dostane za úlohu pripraviť inserty pre vybranú tabuľku/tabuľky).

Riešenie

My sme naplnili databázu Hockey niekoľkými záznamami z majstrovstiev v roku 2019. Dáta by mali postačovať pre úlohy na nasledujúcich cvičeniach. Skript hockey.sql dostupný na stiahnutie.

Zdroje

  1. https://www.draw.io/
  2. https://erdplus.com/#/
  3. https://pgmodeler.io/download