Cvičení 1

Opakování z přednášky

Pojmy z přednášky: atribut, doména, schéma, n-tice, relace, skalární typ, typ řádku, řádek, null, záhlaví sloupce, typ tabulky, tabulka, tabulka reprezentující relaci, tabulková proměnná a relační proměnná.

PostgreSQL

Open-source databázový systém. Pokrývá většinu klíčových vlastností SQL. Zkušenosti přenositelné i na jiné databázové systémy (Microsoft SQL Server, Oracle database, …). Více na jejich webu, zejména se podívejte na dokumentaci.

Na cvičení (i mimo něj) k dispozici na serveru database.inf.upol.cz. Přístup přes SSH - loginy a hesla rozdány na tomto cvičení. Jako první si po přihlášení změňte heslo - každý zodpovídá za zabezpečení svého účtu!

Připojení na server

Server database.inf.upol.cz.

Připojte se přes SSH nebo putty. Login jako do portálu, heslo jste obdrželi na cvičení. Heslo si ihned po přihlášení změňte!

K dispozici je standardní sada nástrojů. Pokud něco chybí, ozvěte se.

Pro správu databáze používejte psql. Login do databáze je stejný jako do systému, výchozí heslo taktéž. I toto heslo si ihned změňte!

Každý má k dispozici svou databázi (jméno stejné jako login) a k tomu je společná databáze shared. V databázi shared můžete dělat cokoliv, co chcete. Stejně jako všichni ostatní, tedy ji nepoužívejte pro důležité věci, ale na experimentování. Do vaší databáze můžete jen vy.

PSQL

Klient k databázi PostgreSQL s konzolovým rozhraním.

Spustíme jej příkazem psql v příkazové řádce. Login je stejný jako do systému, heslo je stejné jako původní heslo do systému.

Důležité příkazy PSQL

Klávesové zkratky:

Interní příkazy:

Dostanete-li se do interaktivního módu, kdy místo promptu můžete procházet nějaký soubor/text (např. po použití \? ), tak jej můžete opustit stiskem q.

Budete-li používat externí editor a neznáte žádnou z možností, tak vyberte nano. Je nejjednodušší na ovládání.

VS code s doplňky (či jiný editor)

Chcete-li se vyhnout pravidelnému používání psql, lze se na server připojit i z různých editorů a pracovat vzdáleně. Nejsnazší je asi VS code s doplňkem PostgreSQL (Chris Kolkman).

Práce s PostgreSQL

Datové typy

Pokud není uvedeno jinak, tak každý sloupec může obsahovat ještě hodnotu NULL reprezentující neexistující hodnotu. Více se dozvíte na přednáškách.

Více k typům v PostgreSQL zde.

Příkazy CREATE TABLE, INSERT INTO, DROP TABLE

Dokumentace ke CREATE TABLE.
Dokumentace k INSERT INTO.
Dokumentace k DROP TABLE.

Seznam všech příkazů PostgreSQL.

Problémy na které možná narazíte:

Všechny příkazy mají přepínač --help (tj. např ls --help), který ukáže nápovědu k danému příkazu.

Pokud je výstup nějakého příkazu moc dlouhý a nevleze se na obrazovku, můžete přidat | less na konec příkazů (např ls --help | less). Poté se lze výstupem interaktivně pohybovat. Interaktivní mód opustíte stiskem q.

Něco chybí? Ozvěte se!

Úkoly

  1. Vytvořte si tabulku pro jednoduchý seznam zaměstnanců obsahující následující informace:
    • jméno
    • příjmení
    • datum narození
    • datum nástupu do zaměstnání
    • číslo kanceláře
    • email
    • web
    • počet dětí
    • pohlaví
  2. Předchozí tabulku naplňte alespoň pěti záznamy.
  3. Zkuste se připojit k databázi některého kolegy.
  4. Vytvořte nějakou tabulku v databázi shared.
  5. Vypište si seznam všech tabulek databáze shared.
  6. Přidejte nějaké záznamy do nějaké tabulky v databázi shared.