Úvodné cvičenie

Ciele

  1. Oboznámiť sa s organizáciou cvičení a podmienkami udelenia zápočtu.
  2. Obdržať tému zadania.
  3. Pripojiť sa na univerzitný účet PostgreSQL a oboznámiť sa s prostredím DataGrip.

Úvod

Na tomto cvičení budú špecifikované podmienky pre získanie zápočtu a pridelené témy pre Vaše zadania.

Postup

Krok 1

Oboznámte sa s podmienkami udelenia zápočtu a organizáciou cvičení.

Úloha 1.1

Pozorne si prečítajte podmienky udelenia zápočtu z informačnej stránky cvičení.

Krok 2

V tomto kroku Vám cvičiaci pridelí zadanie.

Krok 3

Na cvičeniach budete primárne vypracovávať úlohy podľa týchto materiálov. Budeme používať multiplatformový relačný systém riadenia bázy dát (DBMS) s otvoreným kódom PostgreSQL. V rámci cvičení budete pracovať vo vývojovom prostredí DataGrip od spoločnosti JetBrains, pomocou ktorého sa budete pripájať na diaľku k univerzitnému serveru, na ktorom máte pripravený účet a dve databázy.

Upozornenie

Univerzitný server je dostupný iba v rámci univerzitnej siete. To znamená, že sa na neho je možné pripojiť na školských počítačoch a v rámci siete eduroam, prípadne zo siete študentských domovov TUKE. Pre pripojenie z iných sietí (napr. z domu, čo v aktuálnej situácií bude väčšina z vás), je potrebné si nastaviť VPN pripojenie na TUKE podľa návodu na https://uvt.tuke.sk/wps/portal/uv/sluzby/vzdialeny-pristup-vpn. Pre Mac OS použite webovú aplikáciu https://remote.tuke.sk/.

Úloha 3.1

Spustite DataGrip a vytvorte si pripojenie na svoj PosgreSQL používateľský účet.

Poznámka

Vývojové prostredie DataGrip od spoločnosti JetBrains je možné bezplatne získať v rámci študentskej licencie. Na portály si vytvorte účet využitím overenia pomocou univerzitnej emailovej adresy. Po overení účtu, získate bezplatnú licenciu na používanie širokej škály produktov JetBrians na výučbové účely.
DataGrip je proprietárne multiplatformové IDE, vytvorené pre potreby databázových systémov. V prípade záujmu o používanie riešenia s otvoreným kódom, je dostupné oficiálne IDE pre PostgreSQL s názvom PgAdmin vyvíjané komunitou, prípadne je možné využiť populárne IDE: DBeaver.

Nové pripojenia si v nástroji vytvoríte cez kontextové menu po kliknutí na ikonu + pod adresárom Database (viď nasledujúci obrázok).

Vytvorenie nového pripojenia
Obr. 1: Vytvorenie nového pripojenia

V pripojení je potrebné uviesť konfiguráciu pripojenia a ľubovoľne ho pomenovať.

Vaše meno a heslo je vytvorené na základe univerzitného emailu. Získate ho tak, že z neho odstránite tuke doménu spolu so zavináčom a všetkými znakmi, ktoré nie sú alfanumerické.

Napríklad email janko.hrasko@student.tuke.sk, bude mať meno a heslo tvar "jankohrasko" (viď nasledujúci obrázok). V prípade, že v emailovej adrese máte za priezviskom uvedené číslo napr. janko.hrasko.2@student.tuke.sk, tak Váš účet bude v tvare "jankohrasko2" (názvy databáz asociovaných k Vášmu účtu budú taktiež obsahovať dané číslo. Viď ďalší krok.).

Poznámka

Heslo si viete zmeniť po úspešnom pripojení. Na školskom serveri máte vytvorené dve databázy. Jednu pre prácu na Vašom zadaní a jednu pre prácu na cvičeniach, na ktorú v ďalších krokoch vložíte databázu Chinook, nad ktorou budete riešiť úlohy v rámci cvičení. Databázy majú nasledujúce názvy:

  • menopriezviskodb pre Vaše zadanie,
  • menopriezviskochinook pre prácu v rámci cvičení.

Oproti predvoleným nastaveniam je potrebné vyplniť nasledujúce údaje:

  • Name: ľubovoľný názov, prípadne vygeneruje sa na základe ďalších údajov.
  • Host: dbs.kpi.fei.tuke.sk
  • User: menopriezvisko
  • Password: menopriezvisko
  • Database: menopriezviskodb resp. v druhom pripojení menopriezviskochinook

Nastavenie pripojenia
Obr. 2: Nastavenie pripojenia

Úloha 3.2

Odkliknutím tlačidla Test Connection si môžete overiť správnosť zadaných údajov. V prípade úspechu si môžete pripojenie uložiť, a rovno sa naň aj pripojiť.

Poznámka

V prípade, že sa pokúsite na svoj účet pripojiť s nesprávnym heslom 3x, účet bude automatický zablokovaný. Je potrebné kontaktovať cvičiaceho pre odblokovanie.

Krok 4

V tomto bode si môžete vyskúšať svoju prvú prácu s SQL. Pripojením sa na jedno z vytvorených pripojení (v mojom prípade s názvom "perhacdb@dbs.kpi.fei.tuke.sk") DataGrip otvorí konzolu na vytváranie a odosielanie SQL príkazov (viď nasledujúci obrázok).

DataGrip konzola
Obr. 3: DataGrip konzola

DataGrip je profesionálne vývojové prostredie. Odporúčam si preštudovať nasledujúce tipy a triky, ktoré uľahčujú prácu používateľom.

Úloha 4.1

Zistite ako je možné v SQL zmeniť heslo používateľa.

Poznámka

Na zmenu údajov o používateľovi slúži v SQL príkaz ALTER USER. Detaily toho, ako sa dá heslo v danom databázovom systéme zmeniť, sa líšia od rôznych implementácií. Aj keď manažment používateľov pre nás v rámci tohto predmetu nemá až takú prioritu, pokúste sa na cvičení preštudovať dokumentáciu tohto príkazu pre PostgreSQL na nasledujúcej linke a z nej odvoďte ako je možné heslo zmeniť na tomto databázovom systéme: ALTER USER.

Poznámka

Všimnite si, že pre väčšinu úloh, ktoré budete na cvičeniach potrebovať urobiť, existuje pomoc v podobe online dokumentácie. Aj keď je vzhľadom na skúšku dôležité, aby ste sa potrebné príkazy naozaj naučili, bude pre Vás veľmi užitočné naučiť sa pracovať aj s dostupnou dokumentáciou.

Príkazy napísane v DataGripe sa spúšťajú dvoma spôsobmi a to buď kliknutím na zelenú šipku alebo klávesovou skratkou ctrl + enter (Windows, Linux) resp. command + enter (Mac OS). Pre otestovanie môžete spustiť príkaz:

SELECT version();

ktorý vráti číslo nainštalovanej verzie PostgreSQL (viď nasledujúci obrázok).

Spúšťanie príkazov a skriptov
Obr. 4: Spúšťanie príkazov a skriptov

Úloha 4.2

Zmeňte si svoje heslo.

Poznámka

Po úspešnom zmenení hesla budete odpojení z Vášho pripojenia. Aktualizujte nastavenia pripojenia.

Úloha 4.3

Otvorte si nakonfigurované pripojenie na databázu s názvom menopriezviskochinook. Pomocou SQL skriptu chinook.sql (ktorý si stiahnite lokálne) ju naplníte údajmi.

Vo svojom pripojení kliknite pravým tlačidlom napr. na priečinok "Databases" a z kontextového menu zvoľte možnosť "Run script" (viď nasledujúci obrázok).

Priame spúšťanie skriptov
Obr. 5: Priame spúšťanie skriptov
Daný SQL skript obsahuje 15 639 príkazov. Z tohto dôvodu beh skriptu môže chvíľu trvať (u mňa to bolo cez 10 sekúnd). Po úspešnom vykonaní skriptu Vaša databáza obsahuje 11 tabuliek (viď nasledujúci obrázok). Nad touto databázou budete pracovať v rámci cvičení. V prípade, že svojou prácou narušíte schému tejto databázy, možete ju kedykoľvek zmazať a znova vytvoriť prostredníctvom tohto skriptu.
IDE po vykonaní skriptu chinook.sql
Obr. 6: IDE po vykonaní skriptu chinook.sql

Zdroje

  1. Prednáška 01: DBS introduction
  2. Prednáška 02: ER modelovanie

Doplňujúce úlohy

Úloha A.1

Aj napriek tomu, že je možné na univerzitnom serveri PostgreSQL pracovať z domu, je odporúčané si nainštalovať databazový systém PostgreSQL lokálne. Na oficiálnej stránke DBMS PostgreSQL v menu Downloads si stiahnite inštalačný súbor (OS Windows) na základe Vášho operačného systému. Najpoužívanejšie Linuxové distribúcie obsahujú inštalačné balíčky pre PostgreSQL priamo vo svojich repozitároch. Tak isto je možné PostgreSQL nainštalovať aj z populárnych repozitárov pre Mac OS. Na webovej stránke pre stiahnutie tohto DBMS, je uvedený podrobný návod inštalácie z repozitárov, zároveň je možné si stiahnuť príslušné balíčky pre konkrétne Linuxové distribúcie a ako aj pre Mac OS. Vďaka lokálnej inštalácii budete môcť pracovať na zadaní v režime off-line. Zároveň nebude potrebné sa pripájať do univerzitnej siete prostredníctvom VPN. Pri inštalácii je potrebné nastaviť heslo pre používateľa "postgres", ktorý je správcom DBMS. S týmto účtom budete môcť pracovať hneď po inštalácii.

Poznámka

Po lokálnej inštalácii si môžete v DataGripe vytvoriť ďalšie pripojenie, ktoré sa bude pripájať na Váš lokálny počítač. Host v pripojení bude "localhost".

Úloha A.2

Po úspešnej lokálnej inštalácii PostgreSQL, máte k dispozícii interaktívneho klienta v príkazovom riadku resp. termináli psql. Prostredníctvom tohto klienta je možné pracovať s lokálnou inštaláciou, tak isto sa pripojiť aj k vzdialenému serveru. Preštudujte dokumentáciu klienta psql. Pripojte sa k Vášmu účtu a databáze na univerzitnom serveri a vyskúšajte spustiť SQL príkaz pre zistenie aktuálnej verzie PostgreSQL.