Architektura relačních databázových systémů
Vlastislav Dohnal
Cvičení
- Účast na cvičení je nepovinná a registrace do některé ze seminárních skupin není nutná pro absolvování cvičení předmětu PV003.
Na cvičení procvičujeme u počítače příkazy, které byly probrány na přednášce. Registrace do správné seminární skupiny ovšem usnadní
komunikaci cvičícího se studenty.
- Materiály ze cvičení:
- Ukončení zápočtem
- samostatně vytvořit malý projekt a
- projekt ústně prezentovat cvičícímu (prezentací rozumím krátké shrnutí o čem projekt je, popis datového modelu a dalších součástí projektu -- není třeba vytvářet prezentaci např. v PowerPoint, ale popovídat nad otevřeným zdrojákem projektu (ten stejně bude odevzdávat do IS)
- Ukončení zkouškou
- získat zápočet a
- splnit další požadavky, které má přednášející.
- Cílem prezentace projektu je přesvědčit, že jste si prakticky vyzkoušeli práci se systémem Oracle a jazykem SQL.
Pod slovem projekt si v tomto případě představuji jeden SQL skript obsahující následující:
- příkazy pro vytvoření všech tabulek s používáním referenční integrity a sekvencí
- přikazy pro naplnění tabulek testovacími daty
- definice triggerů realizující nějakou pro projekt smysluplnou činnost
- jeden PL/SQL blok s kursorem -- může být i součástí některého triggeru nebo uložené procedury/funkce
- dva příkazy select realizující smyslupný a netriviální výpis dat (tj. nikoli SELECT * FROM tabulka), použije agregační funkce, vnořené selecty, ...
- jeden select používající "group by" s agregační funkcí v části "having"
- Rozsah projektu:
- Projekty budete prezentovat v době rezervované pro cvičení -- typicky v posledních dvou týdnech semestru (výjimečně začátkem zkouškového období) nebo po předchozí dohodě dříve.
- Popis jednoduchého projektu a témata na další lze nalézt na stránce dotazů.
- Termíny prezentací projektů jsou zveřejněny v sérii "Zápočtové projekty - obhajoby" v rámci zkouškových termínů. Obhajobou/prezentací myslím 10min. povídání na otevřeným zdrojovým kódem projektu, ve které mi projekt představíte.
- Před prezentací musíte projekt odevzdat do příslušné odevzdávárny v IS
Oracle
- Vytvoření nového účtu pro Oracle (Fakultní administrativa > Počítačová síť > Databáze)
Pro přihlášení k administrativě použijete stejné heslo jako pro prihlašování k počítačům v hale.
DŮLEŽITÉ: Vygenerované heslo se Vám zobrazí pouze jednou!
změnu hesla můžeze na této stránce provést také.
- Přihlášení
Na počítači aisa
je nainstalován Oracle10 a přihlásíte se k němu pomocí stejného přihlašovacího
jména.
aisa:$ module add gqlplus
aisa:$ gqlplus <váš_login>@db10
SQL*Plus: Release 8.1.5.0.1 - Production on Tue Feb 22 14:25:48 2009
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options
SQL>
Změna hesla
Příkazem password lze změnit heslo:
SQL> password
Changing password for <váš_login>
Old password:
New password:
Retype new password:
Password changed
SQL>
Můžete použít i formulář na Fakultní administrativě.
Zrušení účtu v DB Oracle
Pokud si přejete zrušit účet v DB Oracle zadejte do prohlížeče adresu:https://fadmin.fi.muni.cz/auth/sys/ucty_db.mpl?layout=webfi2008&zrusit=or
GQLPLUS interpret
Alternativou k Oracle SQLPLUS je GNU SQLPLUS (GQLPLUS), který podporuje historii příkazů. Je dostupný na počítačích nymfeXX a aisa.
aisa:$ module add gqlplus
aisa:$ gqlplus <váš login>@db10
Další práce je již plně analogická s programem SQLPLUS. Děkuji velmi J. Šeděnkovi za zprovoznění tohoto modulu.
Další literatura
Vyčerpávající dokumentace k DB systému Oracle je na OTN
Lokální kopie dokumentace v PDF: SQL reference,
Admin guide, PL/SQL reference,
SQL*Plus reference, Pro*C guide.
Dotazy
Ukázkové vypracování projektu, možné náměty.
Lze vložit do tabulky naráz více řádků pomocí příkazu INSERT?
Lze ukončit predčasne provádění triggeru?
Jak nastavit sloupec tabulky tak, aby se automaticky vzestupně čísloval (auto increment)?
Lze se připojit k databázi Oracle "zvenčí"?
Jak vypíši seznam svých vytvořených tabulek?
Jak vyvolám historii příkazu v SQLPLUS?
Jak kaskádně odstranit z databáze záznamy svázáné integritním omezením?
Jak zobrazit na výstup pouze řádky od X-tého výše?
Lze přímo v definici tabulky zajistit převedení vkládaného řetězce na velké znaky?
Chování dvou a více seq.NEXTVAL v rámci jednoho příkazu INSERT.
Definice vyhledávaného vzoru pro příkaz LIKE obsahující '_'.
Funkce vracející tabulku.
Zrušení speciálního významu znaku & v sqlplus.
Nastavení kláves v gqlplus.
Nastavení českého prostředí.
Systémový katalog Oracle.
|