DATABÁZOVÉ SYSTÉMY. Databázová technológia je pojem, ktorý sa zaoberá riadením veľkého množstva perzistentných (stály), spoľahlivých a zdieľaných dát.

Size: px
Start display at page:

Download "DATABÁZOVÉ SYSTÉMY. Databázová technológia je pojem, ktorý sa zaoberá riadením veľkého množstva perzistentných (stály), spoľahlivých a zdieľaných dát."

Transcription

1 LITERATÚRA: Jaroslav Pokorný Databázová abeceda Všetky manuály: POSTGRE SQL 7.2 C.J.Date an introduction to database systems Someber A. databázové systémy, 1988 DATABÁZOVÉ SYSTÉMY Databáza súbor informácií, čísel, znakov, diagramov, ktorého systematická štruktúra umožňuje aby tieto informácie mohli byť vyhľadávané pomocou počítača. Podľa tejto definície aj množina dátových súborov by mohla byť chápaná ako databáza. Databáza obsahuje: dáta + nástroje pre prácu s týmito dátami (sql) Súčasné databázy obsahujú nielen text. Informácie ale aj zvuk, video, obrázky, mapy, atď. Databázová technológia je pojem, ktorý sa zaoberá riadením veľkého množstva perzistentných (stály), spoľahlivých a zdieľaných dát. Perzistencia dáta pretrvávajú, t.j. existujú v databáze nezávisle na programoch, tiež nezávisle na tom či s nimi užívateľ pracuje alebo nie. Spoľahlivosť databázy sú chránené užívateľskými účtami a heslami Integrity je schopnosť databázy vyhnúť sa strate konzistencie Security ochrana pred neoprávneným prístupom Retundancia nezávislosť prvkov a to, že sa v DS neopakujú zbytočne Nezávislosť znamená že programy ktoré umožňujú prístup k dátam sú nezávislé na tom ako a kde sú dáta uložené História databáz je silne spätá s praxou. Prvé systémy SRBD sa objavujú v 2.polovici 60-tych rokov, vychádzali z dvoch prístupov: 1. pomocou ukazovateľov sa vzájomne spájali záznamy súborov dát 2. vytvárali sa logicky aj fyzicky nezávislé súbory dát (relačné databázy) 1.prístup zjednodušoval programovanie väzieb medzi dátami, 2.z nich vytvoril silné jazyky na dotazovanie a aktualizáciu databáz SQL (structure query language) V 80-tych rokoch sa tabuľka alebo relácia stala základným prvkom tvorby databáz. druhá polovica 90-tych rokov vývoj a použitie objektových databáz História jazyka SQL firma IBM vyvinula sadu príkazov umožňujúcu prácu nad relačnou databázou. Tak vznikli prvé základy jazyka, ktorý sa na začiatku volal SEQL začína používať tieto príkazy aj firma ORACLE 1983 prichádza firma IBM so svojim SQL serverom DB2, INFORMIX, SYBASE 1986 je štandardizovaný jazyk SQL boli odstránené nedostatky predchádzajúceho jazyka a začína sa používať SQL 92 a používa sa dodnes SQL3 nadstavba SQL 92, nesie objektové črty objektový prístup do databáz Databázy: DB3, MY SQL, ORACLE, SYBASE, FOXPRO

2 Tabuľka základný prvok relačnej databázy. Relačné DS sú postavené na základe definície relačného modelu, ktorý v 1970 zaviedol americký matematik E.F.Codd a spolu s relačným systémom riadenia bázy dát sa stal najpoužívanejším DS. Relačný dátový model vychádzal z nasledovných požiadaviek: 1. zabezpečiť vysoký stupeň dátovej nezávislosti 2. zabezpečiť minimálnu redundanciu dát a spolu s konzistenciou podporovanou sémantikou jazyka 3. sprístupnenie databázy pomocou množinovo orientovaného neprocedurálneho jazyka 4. umožnenie jednoduchým spôsobom reštrukturalizáciu (zmena štruktúry tabuliek) a rast dátového modelu Základné prvky databázového modelu Relácia = tabuľka n-tica zodpovedá riadku tabuľky atribút zodpovedá stĺpcu tabuľky doména je množina hodnôt, ktoré môže nadobúdať atribút primárny kľúč je jednoznačný identifikátor v tabuľke reprezentovaný stĺpcom alebo skupinou stĺpcov RELAČNÁ DATABÁZA RČ Meno Priezvisko PSČ Obec Ulica /3333 Fero Felkeš Ruskalovce Mongoloidná Atribút relácie reprezentuje stĺpec relácie, určený v rámci relácie unikátnym názvom a množstvom prípustných hodnôt. Doména - je pomenovaná množina skalárnych hodnôt rovnakého typu. Skalár hodnota, ktorá predstavuje najmenšiu sémantickú hodnotu dát Doména je reprezentovaná pomocou: interval, množina Doména: jednoduchá týka sa jednoduchého atribútu a reprezentuje len hodnoty tvoriace prípustnú množinu hodnôt tohto atribútu. Doména je množina hodnôt toho istého typu pre daný atribút. Reprezentuje definičný obor príslušného atribútu. kompozitná doména typu dátum je definovaná ako kartézky súčin () hodnôt jednoduchých domén atribútov tvoriacich kompozitnú doménu doména pre typ dátum: dátum deň mesiac rok Význam domén doména majú veľký význam pri relačných operáciách. Napr. operácie spojenia, porovnávania, atď. Preto je nutné definovať rovnaké domény pre atribúty v rôznych reláciách, ktoré vyžadujú rovnaké množiny prípustných hodnôt obzvlášť v prípadoch ak sa nad hodnotami atribútov z rôznych relácií budú vykonávať operácie predpokladajúce príslušnosť do rovnakých domén. Relácia relácia R nad množinou domén d1, d2 až dn sa skladá z hlavičky a tela Hlavička stála (nemenná) množina atribútov a1, a2,.., an, taký že každému atribútu zodpovedá jedna z domén d1, d2,.., dn

3 Telo v čase sa meniaca množina n-tíc, kde každú n-ticu tvorí množina dvojíc ai, vi t.j. existuje jedna dvojica atribút, hodnota pre každý atribút ai z hlavičky Kardinalita relácie vyjadruje počet n-tíc matice Stupeň relácie znamená, ak existuje relačná schéma relácie n tak počet atribútov n uvádza stupeň relácie. Kardinalita našej tabuľky (hore) je 1 Stupeň je 6 Vlastnosti relácie: 1. relácia neobsahuje duplicitné n-tice základným predpokladom pre splnenie tohto bodu je nutná existencia primárneho kľúča v každej relácii 2. n-tice sú neusporiadané 3. m-tice atribútov sú neusporiadané (zľava doprava) táto vlastnosť hovorí o tom že k jednotlivým stĺpcom alebo hodnotám atribútu pristupujeme prostredníctvom identifikátora (mena atribútu) a nie podľa pozície v riadku. Toto umožňuje tvorbu programov nezávislých na dátach. 4. hodnoty atribútov sú atomické to znamená, každému atribútu je priradená vždy len jedna hodnota a nie množina hodnôt. Je potrebné aby všetky atribúty boli atomické, čím dosiahneme to, že v relácii sa nemôžu vyskytovať opakujúce sa skupiny atribútov, ktoré sa vyskytuje v nenormalizovaných atribútov (atribúty sa nesmú volať rovnako pre tých menej chápavých ) architektúra DBS (databázový systém) predstavuje všeobecný databázový koncept pre vysvetlenie štruktúry databázového systému. Nestačí popísať tabuľky, ale aj spojenia a vzťahy medzi nimi. Bežný typ architektúry: klient - server TIETO 4 OBRÁZKY PATRIA K TÝM ČÍSLAM 1-4 V POZNÁMKACH. NANEŠTASTIE NEVIEM, KTORÝ KDE ZARADIŤ.

4 Úrovne architektúry: externá Konceptuálna interná schéma špecifická množina dát popisujúca dátový model, aplikácie alebo jeho časti externá schéma implementačne nezávislá množina dát popisujúca užívateľské pohľady aplikácie - často predstavuje čiastočný pohľad na množinu objektov používaných užívateľom. Je často závislá na programovacom jazyku ktorý sa používa na vývoj aplikácie konceptuálna schéma tu sú dáta definované tak aká je skutočnosť. Môže byť popísaná niektorým z programovacích jazykov. Je implementačne nezávislá množstvom dát popisujúca dátový model. Interná schéma je implementačne závislá množina dát ktorá presne popisuje dátové štruktúry, prístupové metódy uloženia dát v externej pamäti. Predstavuje informácie o spôsobe uloženia dát na fyzickej úrovni. Obsahuje popisy dátových štruktúr, formáty záznamov, informácie o použití indexových súborov, hešovacích súborov. Externá úroveň - užívateľ Konceptuálna úroveň programátor, ktorý vytvára klienta Interná úroveň administrátor zálohy databázy - SRBD systém riadenia bázy dát Je množina programov zabezpečujúcich manipuláciu s dátami, ochranu dát, paralelné spracovanie, atď. Základné funkcie SRBD sú: 1. definícia dát 2. manipulácia s dátami 3. riadenie prístupu 4. integrita databázy

5 5. obnova databázy 6. paralelný prístup 7. ochrana dát 8. riadenie katalógov Definícia dát možnosť definovať dátové štruktúry pomocou príslušného jazyka na definíciu dát. Manipulácia s dátami SRBD musí byť schopný zabezpečiť užívateľské požiadavky na vymazanie dát, vkladanie dát, oprava dát a výber dát z databázy Riadenie prístupu SRBD musí umožňovať definovanie prístupových práv k dátam pre jednotlivých užívateľov alebo aplikácie. To znamená ohraničenie aby niektorí užívatelia mohli iba prezerať... Integrita databázy SRBD poskytuje nástroje na zabezpečenie všetkých integritných obmedzení definovaných pre dátový model. Okrem toho musí zabezpečiť integritu databázy v prípade porúch ktoré sa vyskytnú pri spracovaní aplikácie. Obnova databázy súvisí s integritou databázy, v prípade chýb ktorá je zabezpečená pomocou transakcií Poradie spracovania: 0 začiatok zapamätá si stav účtu begin 1. zober z VÚB 2. vlož do ČSOB if status=0 commit transaction else rollback paralelný prístup - SRBD musí poskytovať nástroje zabezpečujúce zdielanie dát, resp. paralélneho prístupu k dátam. Ochrana dát SRBD by mal umožňovať vytvárať archívne kópie ako aj mechanizmy kryptovania (šifrovanie) dát aby nebolo možné ich zneužitie. Riadenie katalógov SRBD má informácie o schémach uložené v špeciálnych tabuľkách nazývaných katalógy. Katalógy obsahujú dáta o dátach. Architektúry SRBD: 1. centralizované na hlavnom nositeľskom počítači sa spracovávajú všetky programy t.j. okrem SRBD na tomto počítači beží celý komunikačný software ako aj aplikácie k danému informačnému systému. Základnou výhodou centralizovaných systémov je centrálna bezpečnosť a centralizované umiestnenie veľkého rozsahu dát. Nevýhoda: vysoké náklady na údržbu a zakúpenie týchto systémov. V praxi to znamenalo, že na jednom mieste sme mali všetko (veľká rýchlosť), nevýhodou: veľmi drahé súborové systémy- tieto systémy využívajú lokálne počítačové siete s personálnymi počítačmi. Jeden z počítačov slúži ako systém na ktorom boli uložené dáta v súboroch, ktoré využívali všetci užívatelia počítačovej siete. OS počítača s týmito súbormi zaisťoval lokálny aj zdielaný prístup k dátam na diskoch ale aj k iným prostriedkom počítača. Nevýhoda: rýchlosť, bezpečnosť. Typický predstaviteľ: foxácke riešenia klient server v základnom modeli SRBD beží na serveri a čaká na požiadavky prichádzajúce od klientov. V prípade príchodu požiadavky od klienta sa požiadavka začne spracovávať a výsledok je

6 opäť poslaný klientovi. Každá požiadavka od klienta vytvorí nový proces servera, ktorý s ostatnými procesmi zdieľajú procesy i disky. V súčasných DBS sa komunikácia medzi klientom a serverom uskutočňuje pomocou jazyka SQL (structured query language) č 4. distribuované aplikácie a komunikácie bežia na strane PC.??????????????sorry ale netuším!!!?? Predtým ako začneme čokoľvek robiť s databázou musíme s inicializovať miesto uloženia na disku. Toto miesto nazývame databázový cluster (database cluster). Je to množina databáz na disku ku ktorým má prístup bežiaci databázový server. Po inicializácii bude databázový server obsahovať jedinú databázu pomenovanú template1. Ako vyplýva z názvu je určená ako šablóna na vytváranie nasledujúcich databáz a nemali by byť použitá ako pracovná databáza. Databázový cluster je potom fyzicky adresár do ktorého budú ukladané všetky dáta. Zvyčajne to býva adresár usr/local/pgsql/data alebo /var/lib/pgsql/data. Na inicializáciu DB clustera slúži príkaz initdb, ktorý sa používa s rôznymi prepínačmi a prvotné nastavenie DB clustera má potom tvar: initdb D /usr/local/pgsql/data. Tento príkaz môže vykonávať superužívateľ, ktorý má príslušné práca a tým je: ROOT, užívateľ POSTGRES Superužívateľ je postgres a s týmito DB môžu robiť aj iný užívatelia. Spúšťanie databázového servera DB server sa volá postmaster. Postmaster musí vedieť kde má uložené dáta nad ktorými má pracovať. Preto je možné DB server pustiť ako postmaster D /usr/local/pgsql/data. Väčšinou je tento DB cluster uložené v premennej PGDATA (PGDATA2) a tam je väčšinou celá táto cesta. Postmaster má tiež viacero prepínačov. Jednou z možností spúšťania: postmaster B 2048 N 1024 Ako zastaviť DB server: mal by bežať stále preto nemá špeciálne vypínanie. KILL číslosignálu čísloprocesu číslo procesu zistíme: ps ef/grep postmaster Kill -9 head 1 /usr/.../postmaster.pid Po prihlásení sa užívateľa na DB server je jeho autentifikácia kontrolovaná cez súbor pg_hba.com. Tento súbor obsahuje aj zoznam užívateľov ktorí sa môžu pripájať k danému serveru. Pripojenie k databáze PostgreSQL používa architektúru klient-server pričom postgresql je stále spustený a čaká na požiadavky klienta, ktoré spracováva a výsledky zasiela späť klientovi. Server postgresql je spustený na počítači ako nezávislý proces a užívateľ s ním nemôže komunikovať priamo, preto boli vytvorené klientské aplikácie ktoré slúžia výhradne na komunikáciu servera s užívateľom. Rozhranie psql je to typické textové rozhranie pracujúce s príkazovým riadkom. Pgaccess grafické rozhranie Spustenie psql: Spúšťame ju s konkrétnou databázou s ktorou chcem pracovať Psql template1 spustí sa rozhranie psql \h vypíše všetky položky helpu (možné príkazy) \q ukončenie \? interné príkazy \c prepínanie medzi DB \l zoznam všetkých databáz \d zoznam všetkých tabuliek

7 dva režimy: príkazový začína vždy lomítkom (podotkla Bea) sql vytvorenie databázy: psql template1 \h create database template1=# create database prva; {vytvorenie} \l {vypise ju medzi ostatnymi} drop database prva; {zmazanie} create table tab1 (cislo smallint,nazov char(30),skratka char (10)); {vytvorenie tabuľky} \d {zoznam tabuliek} drop table tab1; nemôžeme rušiť DB pokiaľ sme na ňu prepnutý (pokiaľ ju máme práve otvorenú) vytvoriť tabuľku môžeme aj cez vi editor: vi tab1.sql create table tab1 (cislo smallint; nazov char(30); skratka char (10)) \i tab1.sql {vytvorí nám tabuľku} \i file štandardné spúšťanie súborov bodkočiarka musí byť na konci príkazu (keby som to nenapísal Bea ma zbije!!!) Relačná integrita Primárny kľúč Nech R je relácia, k (a1,a2,...,an)je množina atribútov relcie potom primárny kľúč je vybraná podmnožina z atribútov takých že pre 2 n-tice neexistujú rovnaké hodnoty atribútov. Primárny kľúč slúži na odlíšenie n- tít, atribúty ktoré sú súčasťou primárneho kľúča sa nazývajú kľúčové, ostatné atribúty sú nekľúčové. Každá schéma relácie musí mať definovaný primárny kľúč (mala by mať) n-tity ktoré majú málo atribútov a niesú schopné vytvoriť primárny kľúč sa nazývajú slabé n-tity n-tity ktoré majú dostatok atribútov sa nazývajú silné n-tity Atribút stĺpec Primárny kľúč ktorý obsahuje viac ako jeden atribút sa nazýva kompozitný Pokiaľ obsahuje iba jeden atribút sa nazýva jednoduchý Jednej relácii môže byť definovaný iba jeden jediný primárny kľúč Null hodnoty Null hodnota sa objavila v atribútoch v súvislosti s chýbajúcimi informáciami. Defaultná hodnota stĺpcov v tabuľke v jazyku SQL je null hodnota. SQL zásadne rozlišuje medzi 0 a null hodnotou pre číselné hodnoty a medzi a NULL pre znakové hodnoty. V SQL jazyku je možné zakázať Null hodnoty v stĺpcoch použitím klauzuly: not NULL, napr. máme tabuľku student Create table student (RC char(10) not NULL, - teda do tohto stĺpca nikdy nezapíše nulové hodnoty,...);

8 Pokiaľ použijeme NULL hodnotu v aritmetických výrazoch výsledkok je NULL Agregačné funkcie avg, sum, max, min ignorujú NULL hodnotu a počítajú výsledok zo zvyšných hodnôt rôznych od NULL. Pokal stĺpec obsahuje same NULL hodnoty tak priemer, suma, min, max vráti NULL. Null hodnota And true false null True t f? False f f f?? f? or true false null True t t t False t f?? t?? Primárny kľúč - špecifikuje že stĺpec, stĺpce tabuľky môžu obsahovať len unikátne (nie duplicitné) hodnoty a ani NULL hodnotu. Technicky je primárny kľúč iba kombináciou unikátneho kľúča UNIQUE a not NULL atribútu čím je zabezpečené že sa iné tabuľky môžu spoľahnúť na túto množinu stĺpcov ako na unikátny identifikátor riadkov. Unikátny kľúč je špecifikovaný pravidlom podľa ktorého jeden alebo skupina viacrých stlpcov môže nadobúdať len unikátne hodnoty Tovar.sql Create table tovar (tovar integer, nazov char(60), pocet integer, vyrobene date, skup char(2), stredisko char(8), unique (nazov,vyrobene,stredisko) unique (stredisko) ); Unikátnych kľúčov môže byť v tabuľke vytvorených viac. Cudzí kľúč (foreign key) Nech R2 je základná tabuľka (relácia) potom cudzím kľúčom v R2 je podmnožina z množiny všetkých atribútov R2 pre ktoré platí že: 1. existuje relácia R1 k relácii R2 v ktorej je vytvorený primárny kľúč PK 2. po celú dobu každá hodnota cudzieho kľúča z bežných hodnôt relácie R2 je identická s hodnotami primárneho kľúča nejakej n-tice relácie R1, alebo je hodnota atribútu cudzieho kľúča prázdna. Cudzí kľúč môže byť kompozitný (môže byť viac atribútov) iba vtedy keď primárny kľúč s ktorým sa spája je tiež kompozitný. Create table mena (kod char(3), nazov char(60), krajina char(30),

9 primary key kod ); kod nazov krajina USD US Dollar USA EUR EURO EU GBP Libra Anglicko Create table listok (kod_meny char(3), datum date, predaj decimal(10.2), nakup decimal(10,2), foreign key (kod_meny) references mena ); cudzí kľúč: jednoduchý len jeden stĺpec kompozitný viac stĺpcov Pravidlá vytvárania cudzieho kľúča zahŕňajú sa do operácie podľa ktorých budú operácie modifikovania akceptované alebo odmietané. Týka sa to 2 základných operácií nad relačnou databázou a to je 1. operácia rušenia (delete) 2. operácia modifikácie (update) Možnosti jazyka postgresql sú: 1. no action vygeneruje chybu ktorá indikuje narušenie cudzieho kľúča 2. restrict to isté čo no action, archaizmus 3. cascade zruší všetky referencované riadky (pri delete) zmení hodnotu referencovaného stĺpca (pri update) podľa referencujúceho stĺpca 4. set NULL nastaví referencovaný stĺpec na NULL hodnotu 5. set DEFAULT nastaví referencovaný stĺpec na konkrétnu hodnotu create table mena (kod char(3); nazov char(60); krajina char(30); primary key kod ); create table kurz kody char(3); datum date; predaj decimal(10,2); nakup decimal(10,2); foreign key (kody) references mena ); Mena Kód Názov Krajina SKK koruna SK

10 EUR Euro USD Dolár USA Kurz Kody Datum Predaj Nakup EUR USD On delete cascade zmažem všetky USD z tabuľky (každej tabuľky) On update cascade update pre všetky tabuľky, takže všade budú nové údaje USD Foreign key(meno_kluca) references Meno_tabulky On delete akcia On update akcia; Dátové typy používané pri vytváraní tabuliek: 1. numerické smallint (2B) integer (4B) bigint (8B) decimal (rozsah s desatinnou čiarkou) 10,2 znamená že celé číslo má 10 znakov vrátane čiarky, takže napr ,90 float serial ide o číslo integer ktoré vygeneruje generátor, pričom toto číslo v danej tabuľke je unikátne a nemôže mať NULL hodnotu 2. monetárne - money (4B) ,47, +2...,48 3. znakové char (n) varchar (n) v pamäti zaberie iba jeden znak ako string text string neobmedzenej dĺžky char (1) jeden jediný znak 4. dátové - date (4B) timestamp (8B) časová pečiatka time without time zone with time zone boolean true, false: možné formy: t, true, yes, y, 1 5. goniometrické - point bod box obdĺžnik circle polygon mnohouholník 6. sieťové - inet uloženie IP adresy s maskou macaddr adresa sieťovej karty 7. veľké binárne objekty - označujú sa ako BLOB (binary large object) používajú sa na obrázky, MP3,... základné príkazy jazyka SQL (1.časť) create table vydavatel (kod char(20), - čiarka, nie bodkočiarka!!! nazov char(100),

11 adresa char(50), obec char(50), PSC char(6), Kontakt char(40), Vznik date, Zanik date, ICO char(10), Primary key (kod), Unique (nazov, obec) ); create table kniha (kodk serial, nazov char(150) not NULL, - teda musí byť vyplnené (zadané) vydavatelstvo char(20), rok smallint, strany integer, autor char(100), ISBN char(20), Pocet smallint, Primary key (kodk), Foreign key (vydavatelstvo) references vydavatel On delete cascade On update cascade ); v konzole púšťame: psql template1; vkladanie dát pomocou príkazu INSERT insert into vydavatel values( V1111, mlade leta, Kukucinova 10, D.Kubín, , NULL, NULL, NULL,NULL); odstraňovanie dát pomocou príkazu DELETE pomocou príkazu delete možno rýchlo odstrániť akýkoľvek riadok alebo všetky riadky z tabuľky. Tento príkaz je nevratný. Keď raz niečo zmažeme tak sa k tomu už NIKDY nedostaneme. Delete from vydavatel; - keď nezadáme nič iné tak zmaže všetky záznamy a tabuľka je prázdna Delete from vydavatel where kod= V zmaže všetky záznamy ktoré majú túto hodnotu Update vydavatel set vznik= NULL; - celý stĺpec nastavý na NULL Update vydavatel set vznik= 2000 where nazov= cpress ; - u nás prepíše 1999 na 2000 (tabuľka dole) Update vydavatel set vznik= 2000 where nazov= cpress or vznik is NULL; - aj do prázdnych miest dá 2000 Vydavatel kod Nazov adresa obec Vznik V1111 Mladé Letá Kukučínova 10 NULL V2222 Grada Bratislava 500 BA 1995 V3333 Cpress Nitra NR 1999 Je jednoduchšie urobiť DROP TABLE VYDAVATEL ako DELETE VYDAVATEL CREATE DATABASE \c prva

12 create table ako by vyzerala databáza na evidenciu CD at home, na disku, médiách? Normalizácia databáz Pri návrhu relačnej databázy (schémy) je dôležité dodržať určité pravidlá, ktoré nazývame normálne formy. Normalizácia obvykle vedie k odstráneniu redundancií a značne z efektívňuje prácu s databázovými tabuľkami. Pre relačné databázy spravidla platí, že čím sú tabuľky vo vyšších normálnych formách, tým lepšie by sa s nimi z hľadiska logiky malo pracovať. Databázové tabuľky multidimenzionálnych databáz sú nenormalizované, hlavne tabuľky dimenzií. Prvá normálna forma Tabuľka spĺňa podmienku 1NF, keď všetky atribúty (stĺpce) sú atomické, t.j. ďalej nedeliteľné. Jeden stĺpec nesmie obsahovať viac druhov údajov, musí obsahovať skalárnu hodnotu. Hodnota stĺpca tiež nesmie byť relácia. Keď tabuľka tieto podmienky nespĺňa je v nultej normálnej forme a je potrebné ju rozložiť. Druhá normálna forma Tabuľka spĺňa podmienku 2NF, keď spĺňa podmienku 1NF a každý atribút okrem primárneho kľúča musí byť úplne závislý na celom primárnom kľúči. 2NF sa preto týka iba tabuliek, ktoré majú primárny kľúč kompozitný. Keď má tabuľka len jeden primárny kľúč jednoduchý je podmienka 2NF splnená automaticky. Tovar Dodávateľ Cena Cement? 250 Cem@?.sk Cement Žilina 280 Stav@?.sk Piesok LM 85 Piesok@?.sk piesok Žilina 75 stav@?.sk Primárny kľúč je: tovar + dodávateľ Tabuľka by spĺňala 2NF pokiaľ by neobsahovala závisí len na dodávateľovi a nie na tovare. Preto je potrebné rozdeliť tabuľku na dve časti Dodávateľ Kód Názov 001 Záv. Poruba Cem@?.sk 002 Žilina Stav@?.sk 003 LM piesok@?.sk Tovar Názov Dodávateľ Cena Cement Cement Piesok Piesok Tretia normálna forma Tabuľka je v 3NF vtedy keď je v 2NF a zároveň neexistujú závislosti nekľúčových stĺpcov tabuľky.

13 Meno RC PSC OBEC Stano / Leviatanovce Peter Mišo Peťo S Fero Felkeš Tu existujú závislosti medzi PSČ a obcou. PSČ by sme nemuseli zadávať, dal by sa vybrať z číselníka poštových smerových čísel. V tomto prípade je na mieste otázka efektívnosti pokiaľ by tabuľky spĺňali 3NF za každých okolností, mohlo by to viesť k zložitým a neprehľadným tabuľkám, v niektorých prípadoch aj ku strate výkonu Normalizované tabuľky umožňujú: 1. veľký počet paralelných prístupov 2. rýchle a operatívne zmeny údajov v tabľkách 3. využitie indexov a transakcií 4. optimalizovať štruktúru údajov s využitím normalizovaných tabuliek {vytvorte databázu programov, hudby, videa, zvuk. Záznamov uložených na záložných médiách. Dbajte na to aby vytvorené tabuľky boli v čo najvyššej normálnej forme.} su postgres heslo: ppostgres psql d template1 šablóna pre tvorenie ďalších databáz \l vypíše počet databáz create database fuser; vytvorí databázu fuser \h help \c fuser prepneme sa do databázy \d výpis všetkých tabuliek \q vyskočíme von vi nosice.sql create table nosice Tabuľka: nosiče (id_nosica serial, medium char(30), kapacita integer, prepis Boolean vyrobca char(40), primary key (ID_nosica) ); :x vyskočíme z vi editora vi druhy.sql create table druh (ID_druhu serial, skratka char(10), popis char(50), primary key(id_druhu), unique (skratka) ); :x vi krajina.sql create table krajina

14 (ID_krajina serial, nazov char(60), skratka char(5), mena char(5), primary key (ID_krajina) ); :x psql d fuser \i nosice.sql \i druhy.sql \i krajina.sql insert into nosice values (1, CD-R,750, F, sony ); insert into nosice values (nextval( nosice_id_nosice_seq ), CD-RW,800, T, verbatim ); select * from nosice; vypíše nám obsah tabuľky nosiče delete from nosice where ID_nosica=3; {ideme naplnat druhu tabulku - druh} insert into druh values (1, MP3, digit.zaznam pirat ); a tak dále a tak dále... to isté aj s treťou tabuľkou... {teraz treba spojiť tieto tabuľky} \q vi evidencia.sql create table evidencia (ID_polozka serial, ID_nosica integer, ID_druhu integer, Nazov char(50), Datum date, Zapisal char(20), D_zapisu timestamp, ID_krajina integer, Primary key (ID_polozka), Foreign key(id_nosica) references (nosice) on delete cascade on update cascade, Foreign key(id_druhu) references (druh) on... Foreign key(id_krajina) references (krajina)... {keby som nedal on delete tak nemôžem zmazať v hlavnej tabuľke daný záznam} insert into evidencia values (1,1,2, Alexander Velky-1, , student,now(),3); insert into evidencia values (2,1,1, Shakira, , Karol,now(),1); select [distinct] *,[stlpec] from tabulka where podmienka group by vyraz having vyraz 2 order by stlpec -distinct riadky, kt. sa opakujú viackrát vypíše iba raz - jedinečné riadky

15 [] - vyjadrujú výber z pola, v select príkazoch znamená oddelenie prvkov z výberu množiny ; - ukončenie sql príkazu -- - komentár NOTNULL, ISNULL Medzi operátori porovnávania stringov patrí: % - nahradza lubovolny znak, množinu znakov, alebo žiadny znak _ - nahrádza iba jeden znak select nazov, datum, zapisal from evidencia; select nazov, datum, zapisal from evidencia where nazov like s%, select nazov, datum, zapisal from evidencia where nazov= s% v tomto prípade to % nemá zmysel lebo ak použijeme = tak význam % padá select nazov, datum, zapisal from evidencia where datum>= and datum<= and ID_nosice between (1,3); delete from evidencia where nazov like A% and ID_polozka=3; Prístupové práva - sú na tabuľku - neexistuje ich určiť na databázu evidencia druh krajina nosice práva: update(zmeniť), insert, select, delete Vytváranie práv sa robí cez príkazy: grant, revoke Grant all on evidencia to FeroFelkes - je mu dovolené všetko Grant all on evidencia to public;!ak sme prihlásený na postgres tak máme práva na všetko! Create group zamestnanci1; Create user Ignac password ignac2 in group zamestnanci1; - vytvorenie užívateľa Create user Mirka2, in group admin; toto je správne, s tým mi to nešlo Grant all on evidencia to group admin; Grant select on evidencia to group zamestnanci1; Ak chceme zamestnanca vyhodiť zo skupiny: Alter user Agregačné funkcie jazyka SQL Užívatelia často potrebujú sumarizovať informácie z databázy, aby nemuseli prechádzať všetky riadky. Často potrebujú zistiť len ich počet alebo priemer, atď. Tomuto druhu operácií hovoríme agregácie alebo zoskupovanie. Jazyk SQL pozná 5 druhov agregácií: - count koľko je záznamov - sum - avg - min - max

16 COUNT Pracuje s celými riadkami, ostatné funkcie pracujú iba s určitými stĺpcami. Pokiaľ chceme dosiahnuť zložitejšie výsledky môžeme kombinovať agregačné funkcie s podmienkou WHERE. Napríklad: Select count(*) from nosice; - spočíta záznamy (zoznam riadkov) Väčšina agregačných funkcií ako napr. max, sum, avg nespracováva prázdne hodnoty (NULL hodnoty) ale ich ignoruje. Avšak ak stĺpec obsahuje iba prázdne hodnoty, výsledok je NULL nie nula. Funkcia count pracuje v tomto smere odlišne. Zistí počet prázdnych hodnôt pretože sa pozerá na celý riadok tabuľky cez *. Neskúma jednotlivé stĺpce ako ostatné agregačné funkcie. Oproti tomu funkcia Select count (stĺpec) zisťuje počet všetkých neprázdnych hodnôt v zadanom stĺpci (neprázdne riadky) Celkový počet odlišných hodnôt v určitom stĺpci zistíme pomocou funkcie: Select count (distinct stlpec) - celkový počet odlišných hodnôt SUM SUM (stlpec) typ musí byť integer Select sum (kapacita) from nosice; MIN,MAX,AVG nepracujú s NULL hodnotami, úplne ich ignorujú Klauzula Group by Výsledkom agregačných funkcií je jeden riadok. Často je však potrebné agregačné funkcie na skupiny riadkov. V dotazoch, ktoré používajú agregačné funkcie s klauzulou group by sa agregačná funkcia aplikuje na riadky zoskupené podľa istého stĺpca (stĺpcov) tabuľky. Select STAT, count (*) from poistenec group by STAT; Ak chceme niečo podľa abecedy tak použijeme klauzulu ORDER BY: Select STAT, count (*) from poistenec group by STAT order by STAT; Namiesto STAT môžeme napísať aj order by 2 (to znamená že stĺpec 2) 2 desc od najväčšieho po najmenšie 2 asc opačne 1 znamená v našom prípade STAT 2 znamená samostatné počty klauzula having: Having umožňuje používateľovi vykonávať podmienené testovanie na zoskupených hodnotách. Často sa používa s klauzulou group by. Pomocou having môžeme začleniť alebo vyradiť skupiny na základe zoskupených hodnôt danej skupiny. Napr. treba vybrať všetky také skupiny kde počet ľudí v skupine je menej ako Select STAT, count (*) from poistenec group by STAT having count (*) < ; Select meno, count (*) from poistenec group by meno order by meno Select priezvisko, meno, count (*) from poistenec group by 1,2 order by 1,2 Select priezvisko, meno, count (*) from poistenec group by 1,2 having count(*) = 1; - vypíše ľudí s jedinečným menom a priezviskom. Select priezvisko, meno, count (*) from poistenec group by 1,2 order by 3 desc,1,2; Kombinácie príkazov select

17 V niektorých prípadoch nemožno dosiahnuť požadovaného výsledku pomocou jediného select príkazu. Z tohto dôvodu existujú klauzuly UNION, EXCEPT, INTERSECT(prienik), ktoré umožnia zreťaziť príkazy select na zostavenie zložitejších dotazov. UNION - Umožňuje aby bol zlúčený neobmedzený počet select príkazov na vytvorenie jedného výsledku.!každý príkaz select v rámci UNIONu musí vrátiť rovnaký počet stĺpcov! (Pokiaľ napr. prvý select vráti dva stĺpce aj ostatné select príkazy musia vrátiť 2 stĺpce rovnakého typu ako prvý stĺpec). - Pri použití tejto klauzuly možno aplikovať klauzulu ORDER BY iba na konci príkazu. - UNION implicitne zamedzuje zobrazovanie duplicitných riadkov - Pokiaľ chceme povoliť duplicitné hodnoty treba použiť klauzulu UNION ALL - Najčastejšie použitie UNIONu pri spájaní dvoch tabuliek do jedného dotazu pokiaľ tabuľky niesú spojené cez spojovací lúč. Select RC,meno, priezvisko, obec, ulica, psc from poistenecrk Union Select rc, meno, priezvisko, obec, ulica, psc from poistenecpp Order by priezvisko, meno, rc Select rc, meno, priezvisko from poistenecrk where rc< and dat.n < Union. EXCEPT Umožňuje získať z jedného príkazu select všetky riadky okrem tých ktoré predstavujú výstup z druhého príkazu select. Select rc, meno, priezvisko from poistenec where rc <= Except Select rc, meno, priezvisko from poistenec where rc not in (select rc from dlznici); INTERSECT Vracia iba riadky generované select-om Select rc, meno, priezvisko from poistenec where rc <= intersect Select rc, meno, priezvisko from poistenec where rc not in (select rc from dlznici); KARTÉZSKY SÚČIN Transakčné spracovanie - majú dosť blízko k zotavovaniu sa systému. Recovery alebo zotavenie sa datového systému v prvom priblížení znamená samozotavenie, t. j. databáza sa dostane do korektného stavu po výskyte chyby alebo v prípade vzniku podozrenia z nekorektnosti databázového systému. Recovering DB systému sa využíva hlavne na veľkých, zdieľaných, viac-užívateľských databázových prostrediach. Malé jednoužívateľské DB systémy poskytujú namiesto toho drobný, príp. žiadny recorevy support. Je to skôr vecou užívateľovej zodpovednosti pri vytváraní záložných kopii, príp. vykonania spätných krokov pri vzniku chýb. Transakcia je logická jednotka práce, nie je to jeden SQL príkaz. Begin transaction začiatok transakcie. Môžem použiť v nej viacero príkazov : select, insert, delete, update, select, if (status <> 0) then goto undo; commit transaction; - potvrď transakciu, že všetko je v poriadku. rollback transaction; Transakcia je logická jednotka práce, ktorá nie je potrebná pri vykonávaní jednoduchých databázových operácii. Hlavné použitie je pre sekvenciu takých operácii, ktoré menia konzistentný stav databázy do iného konzistentného stavu bez potreby kontroly ochrany konzistencie po každej operácii. Ideálny stav nastane,

18 pokiaľ vykonané operácie budú korektné. Z pohľadu užívateľa sa buď celá transakcia uskutoční alebo neprebehne žiadna z operácii vo vnútry bloku transakcie. Tým je celé spracovanie atomické. Preto je to jednotka práce. Systémová komponenta, ktorá zabezpečuje túto atomicitu sa volá transakčný manager, ktorého činnosť ovplyvňujú kľúčové príkazy commit transaction a rollback transaction. Commit transaction signalizuje úspešný koniec transakcie. Dáva signál pre transakčný manager, že logická jednotka bola úspešne dokončená, databáza je v korektnom stave a všetky zmeny databázy sú potvrdené a permanentné. Rollback transaction znamená neúspešný koniec transakcie, DB je v nekorektnom stave a všetky zmeny v logickej jednotke sú neplatné, t.j. DB sa dostala do stavu pred transakciou. Všetky zmeny od začiatku transakcie musia byť zaznamenané na nejakom mieste. Fyzicky to zabezpečujú logy, alebo žurnalovacie pásky alebo disky. Ak nastane chyba, systém dokáže rýchlo zareágovať a vytiahnuť zo žurnálu stav objektu z pred transakcie. Základné vlastnosti transakcie sú : - A atomicita navzájom sa neprepisujú data - C konzistencia transakcia chráni konzistenciu DB - I izolácia transakcie sú oddelené jedna od druhej - D trvácnosť keď raz je úspešná transakcia na konci, všetky zmeny, data sú trváce, pokiaľ system nespadne. Chyby systému: - systémové nekonzistentný stav, alebo chyba od výrobcu, že to náš system nezohľadní. - hardwarové chyba na disku a spôsoby narušenia databázy. Úrovne izolácii transakcii set transaction isolation level nastavuje úroveň transakcie. Nesmie sa nastavovať po prvom príkaze select, delete, insert. Určuje, ktoré data sú viditeľné pokiaľ iné trasakcie bežia na tých istých dátach konkurenčne. Jedným z nich je read committed vidieť všetky riadky pred tým, ako začne transakcia. Serializable aktuálna transakcia môže vidieť riadky iba pred prvým query dotazom. Prístupové práva pridelíme cez príkaz grant a pomocou revoke ich odoberieme. Create table pom (ID smallint, nazov.char(10)); Revoke all on pom from group admir; Grant select on pom to group admir; Príkaz check- klauzula špecifikuje určité obmedzenia alebo test, ktorý musí spĺňať nový alebo modifikovaný riadok nato aby operácia INSERT alebo UPDATE bola úspešná. Každé obmedzenie musí byť výraz vracajúci booleovskú hodnotu. Pokiaľ sa takéto obmedzenie vyskytne iba pri definícii stĺpca malo by sa to obmedzenie týkať len hodnôt jedného stĺpca. Pokiaľ sa používa obmedzenie na viac stĺpcov, zvyčajne sa uvádza kľúčovým slovom CONSTRAINT za definíciami primárneho a unikátneho kľúča. Pokiaľ je boolovský výraz true, akcia INSERT a UPDATE sa vykoná úspešne, v opačnom prípade je ohlásená chybová hláška a akcia sa nevykoná. Create table: mena; (kod:char (3); Nazov:char(40) not null check (nazov <> ); Primary key (kod); ); Create table kurz; (kodm char(3); Pozn char(20); Predaj decimal(3,2)

19 Nazov char(50); Primary key (kody); Constaint const1 check (nazov <> and predaj >0) ); Zmena štruktúry tabuliek ALTER Database Stare_meno to Nove_meno premenuje databázu ALTER TABLE kurz add column Datum Date; - pridá stĺpec na koniec štruktúry, nieje možné na ľubovolné Miesto Možnosť zmeny Defaultného nastavenia stĺpca: ALTER TABLE kurz ALTER COLUMN poznamka SET DEFAULT ; ALTER TABLE kurz RENAME TO kurz2; - premenuje tabuľku ALTER TABLE druh RENAME COLUMN popis TO popis1; - dajú sa meniť aj cudzie kľúče. - Cez alter table nieje možné zrušiť stĺpce z tabuľky - cez Alter table nieje možné meniť dátový typ stĺpcov (atribútov) ani ich rušiť Manipulácia s dátami, subqeury v SELECT príkaze Príkaz select vložený do where podmienky iného select príkazu (alebo insert, delete, update) sa nazýva SUBQUERY Subquery môžu byť: korelované Nekorelované Subquery alebo vnútorný select je korelovaný, keď hodnota, ktorá je výsledkom select-u závisí od hodnoty vonkajšieho select príkazu, ktorý ho obsahuje. Ostatné druhy subquery považujeme za nekorelované. Dôležitou črtou korelovaného subquery je, že musí byť vykonávaný opakovane raz pre každú hodnotu z vonkajšieho selectu. Poddotaz alebo subquery môže vrátiť: žiadnu hodnotu Jednu hodnotu Množinu hodnôt Subquery vo where podmienke môže byť uvedený pomocou kľúčových slov IN, EXISTS, ALL, ANY Použitie operátora IN Select * from evidencia where ID_krajina IN (select ID_krajina from krajina where skratka = SK ); Alebo Select * from evidencia where ID_krajina IN (select ID_krajina from krajina where skratka like S% ); Alebo Select * from evidencia where ID_krajina IN ( Sk, SW, SI ); - nekorelovaný príkaz Prvé 2 sú korelované Použitie operátora EXISTS Select * from evidencia where EXISTS (select ID_krajina from krajina where ID_krajina < 5); Doterajšie operátory (IN, EXISTS) očakávajú len 1 hodnotu na ľavej strane a 1 hodnotu na pravej strane. Použitie operátora ANY

20 Klauzula Any vráti logickú hodnotu pravda pokiaľ operátor porovnania je pravda pre akúkoľvek hodnotu v poddotaze (subquery) Select * from evidencia where ID_krajina = ANY (1,3,5,7) Použitie operátora ALL Vyžaduje aby sa všetky hodnoty poddotazu vyhodnotili ako pravda. V praxi má častejšie použitie negácia tohto výrazu. Najčastejšie sa používa operátor IN (z týchto 4). Exists má dosť veľké použitie ak robíme Update cez inú tabuľku. Vytváranie tabuľky pomocou príkazu SELECT Select ID_krajina, nazov, zapisal into evid2 from evidencia where zapisal = student Spájanie tabuliek Evidencia krajina nosice druh ID_polozka ID_krajina ID_nosica ID_druhu ID_nosica nazov medium skratka ID_druhu skratka kapacita popis ID_zapisu mena prepis ID_krajina vyrobca Nazov Datum zapisal treba vybrať takýto select: polozka, krajina, nazov, datum, zapisal select ID_polozka, krajina.nazov, druh.skratka, evidencia.nazov from evidencia, krajina, druh where krajina.id_krajina = evidencia.id_krajina and evidencia.id_druhu = druh.id_druhu INNER JOIN Pre každý riadok r1 z tabuľky t1 existuje riadok r2 v tabuľke t2, ktorý zodpovedá Joinovacej (spájacej) podmienke r1 using (stlpec) inner join Inner join select ID_polozka, krajina.nazov, druh.skratka, evidencia.nazov from evidencia, krajina, druh where krajina.id_krajina = evidencia.id_krajina and evidencia.id_druhu = druh.id_druhu Left outer join Right outer join pokiaľ riadok existuje v T2 a neexistuje v T1 tak sa vyberie a dá sa tam hodnota NULL Full outer join Príklad: Vyberte z tabuliek evidencia, krajina všetky riadky ktoré existujú len v tabuľke evidencie Select ID_polozka, evidencia.nazov, krajina.nazov from evidencia left outer join krajina using (ID_krajina); Select ID_polozka, evidencia.nazov, krajina.nazov from krajina left outer join evidencia using (ID_krajina); Select ID_polozka, evidencia.nazov, ID_krajina, krajina.nazov from krajina left outer join evidencia using (ID_krajina);

21 Left outer join Pre každý riadok z T1 ktorému nezodpovedá žiadny riadok z T2, výsledné riadky vrátia NULL hodnoty na mieste atribútov tabuľky T2. Right outer join Pre každý riadok z T2 ktorému podľa spojovacej podmienky nezodpovedá žiadny riadok z T1 vráti výsledný riadok NULL hodnotu v atribútoch tabuľky T1 Full outer join Najprv sa vykoná inner join potom pre každý riadok z T1 ktorému podľa spojovacej podmienky nezodpovedá riadok z T2, výsledný riadok obsahuje NULL hodnotu v atríbútoch tabuľky T2 a tak isto pre každý riadok z T2, ktorému nezodpovedá podľa spojovacej podmienky žiadny riadok z T1 vytvorí riadok s NULL hodnotami v atribútoch tabuľky T1. Ak sa nevolajú rovnako položky v obidvoch stĺpcoch tak na spojenie nemôžme použiť ako v našom prípade ID_krajina ale sa to spojí pomocou ON vytváranie pohľadov views views sú dynamické okná do databázy. Je rozdiel medzi dočasnou (temporary) a pohľadom. Temporárna tabuľka odzrkadluje stav iba vo svojom vytvorení, naprotitomu view reflektuje aktuálny stav databázy a zahŕňa doň všetky zmeny. Hoci je view náhradou obyčajnej tabuľky má aj svoje obmedzenia: 1. nemôžeme vytvoriť index na view 2. pri určitých podmienkach nemôžeme modifikovať dáta v pohľade - modifikácia dát prostredníctvom view nieje možná, pokiaľ je vytváraný cez join klauzulou group by, distinct alebo agregačnými funkciami. Modifikácia dát môže byť vykonaná iba vtedy pokiaľ ide o skutočný atribút tabuľky z databázy a nie o virtuálny atribút. 3. Nad pohľadom nieje možné vykonávať: alter table, create index, update statistics. Create view v_evidencia as select count(*), id_krajina from evidencia group by id_krajina Select count(*), id_krajina into temp tmp_evidencia from evidencia group by 2; Tmp_evidencia Temporárna tabuľka je statický pohľad nad spojenie dvoch al. viacerých tabuliek Takisto ako na tabuľky prideľujeme práva aj na pohľady Import a export dát Príkaz copy umožní rýchle načítavanie alebo zápis dát do zadaného súboru. Pomocou tohto príkazu sú dáta presúvané z alebo do textového súboru. Tieto súbory je možné používať na účely zálohovania alebo prenos dát medzi systémom postgresql a inými aplikáciami. Copy evidencia to /usr/local/pgsql/data/evidencia.csv using delimiters ; /var/lib/ Mariah Carey student alebo copy evidencia from /var/lib/pgsql/data/evidencia.csv using delimiters ;

22 Spätné lomítka a prázdne hodnoty ak užívateľské dáta obsahujú znaky, ktoré sú zároveň použité ako oddeľoače stĺpcov môže dojsť k nejednoznačnostiam. Copy predchádza možným nezrovnalostiam tak, že ak je oddeľovač stĺpcov PIPE a PIPE je aj v užívateľských dátach dá sa pred dáta oddeľovač \. Prázdne hodnoty sú zastúpené špeciálnym symbolom: \n Pokiaľ chceme zmeniť prázdne hodnoty použijeme v príkaze copy klauzulu with null as?. Copy vie prenášať len celé tabuľky. Keď nechceme celú tabuľku ale len určitú časť: Select * into temp tmp_evid1 from evidencia where id_krajiny=1; Copy tmp_evid1 to var/lib/pgsql/data/evid.csv using delimiters ; Pg_dump slúži na extrahovanie databázy do skriptového súboru obsahujúceho dotazovacie príkazy. Skriptové súbory sú v textovom formáte a možno ich používať na rekonštrukciu databázy, dokonca aj na iných počítačoch s inou architektúrou. Pg_dump vytvorí dotazy nevyhnutné na opätovné generovanie všetkých užívateľských typov, funkcií, tabuliek, indexov, agregačných funkcií a operátorov. Dáta sú v textovom formáte. Keď chceme pustiť pg_dump musíme byť v príkazovom riadku a potom: Pg_dump d fuser > fuser.out Ak chceme zálohovať všetky databázy, tak použijeme príkaz: pg_dumpall Keď to chceme naloadovať zo súboru: 1) create database fuser; 2) psql d fuser f fuser.out; číslovanie riadkov každému riadku v databáze postgresql je priradené jedinečné neviditeľné číslo označované ako OID (object identification number). Po inicializácii postgresql pomocou príkazu initdb sa vytvorí čítač, ktorého hodnota sa nastaví približne na 17000, menšie hodnoty sú použité pre interné použitie. Čítač je používaný všetkými databázami, preto je vygenerované číslo vždy jedinečné v rámci celého systému postgres. Toto číslo sa objavuje na obrazovke po príkaze insert. Každá tabuľka po príkaze create table obsahuje skrytý stĺpec OID. Všetko z tabuľky vypíšeme: Select * from evidencia; Select OID, * from evidencia; - dá číslovanie aj do tabuľky (ako prvý stĺpec) Obmedzenia OID: 1. číslovanie nieje lineárne 2. OID nieje možné meniť alebo modifikovať pomocou príkazu update 3. OID nie sú implicitne zálohované, pokiaľ by sme ich chceli zachovať potrebujeme na to špeciálnu voľbu v pg_dump. Sekvencie Postgresql poskytuje ďalší spôsob jednoznačného číslovania riadkov. Sekvencie sú pomenované čítače vytvorené užívateľom. Akonáhle sú sekvencie vytvorené možno ich priradiť tabuľke ako hodnoty default stĺpca. Pomocou insert a sekvencií sa automaticky priraďujú jedinečné čísla v rámci tabuľky. Výhodou sekvencií je, že sa vyhýbajú medzerám v číselnom rade ako je to u OID!Čísla sekvencií sú jedinečné iba v rámci jednej tabuľky! Create sequence meno_sekvencie

23 Čítač ovládame pomocou troch funkcií: 1. nextval() daj nasledujúcu hodnotu ako máš nastavenú. 2. currval() aktuálny čítač 3. setval() nastaví čítač na novú hodnotu create sequence F1_seq; select nextval( F1_seq ); select setval( F1_seq,100); Postup číslovania riadkov pomocou sekvencií je nasledovný: 1. vytvoriť sekvenciu 2. vytvoriť tabuľku obsahujúcu funkciu nextval ako počiatočnú hodnotu stĺpca 3. neposkytovať hodnotu pre sekvencovaný stĺpec behom operácie insert ale používať funkciu nextval create table ziak (ID_ziak integer default nextval( F1_seq ), meno char (30), priezvisko char (40), RC char (10), Ulica char(50), Obec char(50), Psc char (6), Primary key ID_ziak); Insert into ziak values (nextval( F1_seq, janko, hrasko ); Jednoduchší spôsob používania sekvekcera pri deklarácii tabuľky je použiť typ atribútu SERIAL. Výhody používania typu SERIAL: Zlepšený výkon, súbežnosť, štandardízácia Chýba.... FUNKCIA Funkcie na strane servera sa niekedy označujú aj ako uložené procedúry (store procedure) Funkcia vytovorená na strane servera má niekoľko výhod: 1. ak ju používa mnhoo aplikácií netreba ju vytvárať pre každú aplikáciu zvlášť. 2. Funkcie na strane servera možno volať vrámci dotazov jazyka sql 3. Centrálne nainštalované funkcie sa ľahko modifikujú. Funkcie možno vytvárať v niekoľkých jazykoch napr. sql, pl/pgsql, pl/tcl, pl/perl Funkcie jazyka sql umožňujú pomenovať istý blok príkazov a uložiť ich v databáze. Vytvárajú sa príkazom CREATE FUNCTION a odstraňujú sa DROP FUNCTION. Príkaz create function vyžaduje názov funkcie, počet argumentov funkcie, dátový typ každého argumentu, návratový typ funkcie a akcie funkcie a jazyk používaný funkciou. Create function ftoc (float) Returns float As select ($1 32.0)*5.0/9.0 ; Language sql ;

24 Funkcia nemusí vracať len jednu hodnotu ale pomocou set off vie vrátiť aj viac hodnôt. Vrámci akcií funkcie môžu byť vykonávané: insert, update, delete. Select ftoc(68); Funkcie jazyka pl/pgsql Procedurálny jazyk pl/pgsql je programovací jazyk, pokiaľ jazyk sql používal iba argumenty, pl/pgsql používa premenné, cykly, podmienky. Pokiaľ nieje implicitne nainštalovaný, treba ho doinštalovať príkazom Createlang plpgsql meno_databázy; Obsahuje niekoľko dôležitých klauzúl: declare definuje premenné používané vo funkcii select into zvláštny tvar príkazu select, pomocou ktorého možno umiestniť výsledky dotazu do premenných return ukončuje funkciu a vracia návratovú hodnotu %type udáva dátový typ, ktorý zodpovedá stĺpcu tabuľky record dátový typ do ktorého ukladá výsledok dotazu select found preddefinovaná premenná typu boolean, ktorá udáva predchádzajúci stav príkazu select into príklad: napíšte funkciu, ktorá vyhľadá z tabuľky názov štátu zadaného pomocou kódu. Create function seekstate(text) Return text As declare ret text; Begin Select into ret cast (nazov as text) From staty Where kod=$1; Return ret; End; Language pl/pgsql ; cast pretypovanie Príklad2: napíšte funkciu do ktorej zadáte názov štátu a ktorá vráti kód štátu. Funkcia ošetruje preklepy vyhľadávania zodpovedajúcich hodnôt pre časť zadaného reťazca. Najprv sa pokúsi nájsť zodpovedajúci reťazec, pokiaľ sa mu to nepodarí, vyhľadá sa jedinečný názov štátu ktorý zodpovedá 2, 4, alebo 6tim znakom až do dĺžky zadaného reťazca. Create function getcode(text) Returns text As declare state.str stat.nazov%type; Matches record; State_rec record; I, len integer; Search.str text; Begin state.str:=initcap($1); initcap zadané veci budú začínať veľkým znakom Len:=length(trim($1)); I:=2; Select into state_rec * from staty Where nazov state_str; If found then return state_rec.kod; End if; While i<=len loop Search_str:= trim(substr(state_str,1,i)) % ;

25 Select into matches count(*) From staty Where nazov like search_str; If matches.count=0 Then return null; End if; If matches.count =1 Then select into state_rec * From staty Where nazov like search_str; If found Then return state_rec.kod; End if; End if; I:=i+2; End loop; Return ; Language pl/pgsql ; Triggers Sú prostriedky na overovanie alebo modifikáciu hodnôt stĺpcov zadávaných riadkov skôr ako sa pridajú do databázy. Poskytujú alternatívny spôsob istých akcií na základe operácií insert, update, delete. Triggre volajú serverové funkcie pre každý modifikovaný riadok. Tieto špeciálne funkcie možno napísať v ľubovolnom jazyku pre programovanie na strane servera okrem jazyka sql. Serverové funkcie trigrov sú zvláštne v tom, že majú preddefinované premenné pre prístup k riadku. Pri trigroch pre insert označuje premenná new - vkladaný riadok. Pri triggroch delete premenná hold - odstraňovaný riadok a pri update new pred a hold po. Návratový typ funkcie trigger je opaque. Trigger vytvoríme príkazom - Create trigger Zrušíme drop trigger Create function ins_upd_trigger () Returns opaque As begin If new.kod!~ ^[A-Z a-z][a-z a-z]$ Then raise exception kod musi byt 2 znakovy ; End if; If new.nazov! [A-Z a-z] * $ Then raise exception nazov statu musi zacinat znakom ; End if; If length (trim (new.nazov))<3 Then raise exception stat musi mat viac ako 3 znaky! ; End if; New.kod:=upper(new.kod); New.nazov:=initcap(new.nazov); Return new; End; Language pl/pgsql ; ^ - zaciatok riadku Programové rozhrania Skriptovacie rozhrania perl, php, tcl, pyton Kompilované c, odbc, jdbc

26 Úlohy pripojení 1. pripojiť sa k databáze 2. zadanie vstupov 3. zostavenie dotazov 4. poslanie dotazu do rozhrania libpq 5. vykonanie dotazu 6. získanie výsledkov 7. ukončenie pripojenia Rozhranie odbc nieje určené pre priame programovanie ale slúži skôr na komunikáciu s ostatnými aplikáciami. Jdbc java database connectivity rozhranie vytvorené v jazyku java. Programy tohto rozhrania sa kompilujú pomocou javac a spúšťajú cez java. Jazyk java je kompilovaný. Skriptovacie jazyky. Výhody: Nemusia sa kompilovať, obsahujú výkonnejšie príkazy, automaticky deklarujú premenné, premenné môžu obsahovať ľubovolný dátový typ. Perl jazyk pre tvorbu malých aplikácií, tvorbu textových súborov a generovanie dynamických webových stránok pomocou rozhrania cgi Pyton objektovo orientovaný skriptovací jazyk, ktorého kód sa ľahko číta a upravuje. Php sprístupnenie databázy pomocou webového prehliadača Pcl umožňuje sprístupniť ďalšie aplikácie a sady nástrojov pre prácu s databázou. Je určený skôr na grafické aplikácie.

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

1 Vytvorenie tabuľky

1 Vytvorenie tabuľky Základy jazyka SQL (Structured Query Language) - vyvinula IBM začiatkom 70-tych rokov - je to deklaratívny jazyk (popisuje čo urobiť, nie ako) - je súčasťou veľkých databázových systémov (Informix, Oracle,

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Databázy (1) Prednáška 08. Alexander Šimko

Databázy (1) Prednáška 08. Alexander Šimko Databázy (1) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Subqueries (poddopyty) konštrukcia WITH Section 1 Subqueries (poddopyty) Subquery (poddopyt) Použitie SELECTu na mieste, kde sme

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Databázy (2) Prednáška 08. Alexander Šimko

Databázy (2) Prednáška 08. Alexander Šimko Databázy (2) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Funkcie Zložené typy PL/pgSQL Agregačné funkcie Funkcie Section 1 Funkcie Funkcie PostgreSQL umožňuje vytvoriť si vlastné databázové

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Normalizácia a normálne formy

Normalizácia a normálne formy Normalizácia a normálne formy normalizácia je proces, pomocou ktorého sa dá databáza zbaviť štrukturálnych vád normalizácie je súhrnom niekoľkých tzv. normálnych foriem - množín pravidiel, ktoré hovoria

More information

Programovanie v jazyku Python. Michal Kvasnica

Programovanie v jazyku Python. Michal Kvasnica Programovanie v jazyku Python Michal Kvasnica Organizačné detaily Prednášky aj cvičenia v 638 Povinná účasť na cvičeniach Hodnotenie: priebežné odovzdávanie zadaní (40% známky) záverečný projekt na skúške

More information

Vzory, rámce a webové aplikácie

Vzory, rámce a webové aplikácie Vzory, rámce a webové aplikácie Jakub Šimko jakub.simko@stuba.sk Návrhové vzory (načo slúžia?) 1. Dobré zvyky v programovaní 2. Riešia často sa opakujúce problémy praxou overeným spôsobom 3. Pomôžu nám

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Databázové systémy. 10. prednáška. NoSQL databázy Viktor Škultéty, ESTEN s.r.o.

Databázové systémy. 10. prednáška. NoSQL databázy Viktor Škultéty, ESTEN s.r.o. Databázové systémy 10. prednáška NoSQL databázy 26.4.2016 Viktor Škultéty, ESTEN s.r.o. 1 Prečo doteraz SQL a zrazu NoSQL? NoSQL - Not Only SQL znamená, že relačné systémy sú síce osvedčená technológia

More information

Kategória školenia Kurzy SQL, Oracle obsahuje kurzy:

Kategória školenia Kurzy SQL, Oracle obsahuje kurzy: Kategória školenia Kurzy SQL, Oracle obsahuje kurzy: SQL SERVER Transact - SQL Kurz SQL SERVER Transact - SQL je určený pre ľudí, ktorí potrebujú v prostredí SQL Server získavať dáta. Prehľad jazyka Transact-SQL

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Entity Framework: Úvod

Entity Framework: Úvod Entity Framework: Úvod Martin Macák Fakulta informatiky, Masarykova univerzita, Brno 29. 9. 2016 Osnova prednášky 1. Základy Entity Frameworku 2. Návrh databázy (detailnejšie Code First prístup) 3. Migrácie

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) I2AI: Lecture 04 Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) Lubica Benuskova Reading: AIMA 3 rd ed. chap. 6 ending with 6.3.2 1 Constraint satisfaction problems (CSP) We w

More information

Databázové systémy. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Databázové systémy. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Databázové systémy Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Zdroje Ramez Elmasri, Shamkant B. Navathe: Fundamentals of Database Systems, Addison Wesley, 5 edition, 2006, 1168 p. ISBN

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

GridDB Advanced Edition SQL reference

GridDB Advanced Edition SQL reference GMA022C1 GridDB Advanced Edition SQL reference Toshiba Solutions Corporation 2016 All Rights Reserved. Introduction This manual describes how to write a SQL command in the GridDB Advanced Edition. Please

More information

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov D.4 Kontajner XML údajov (XMLDataContainer) Príloha č. 11 k výnosu č. 55/2014 Z. z. [pridaná novelou č. 275/2014 Z. z.,

More information

JAVA. Sieťové programovanie

JAVA. Sieťové programovanie JAVA Sieťové programovanie Sieťové programovanie Sieťová knižnica jazyka JAVA bola vytvorená podľa súborovej knižnice Zapúzdrovanie pripojení do streamov Multithreading Identifikácia počítača Každý počítač

More information

Jeden z variantov príkazu priradenia nám umožňuje zadať za sebou aj viacej vstupných hodnôt, ako napríklad

Jeden z variantov príkazu priradenia nám umožňuje zadať za sebou aj viacej vstupných hodnôt, ako napríklad Príkaz priradenia Príkaz priradenia slúži na priradenie hodnoty premennej. Má tvar premenná = výraz, kde premenná je identifikátor, znak = sa číta priraď a vyhodnotením výrazu sa získa hodnota určitého

More information

Výučbové nástroje pre relačné a objektové databázy

Výučbové nástroje pre relačné a objektové databázy Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Študijný program: Informatika Gabriel Tekeľ Výučbové nástroje pre relačné a objektové databázy Bakalársky projekt

More information

ŽILINSKÁ UNIVERZITA V ŽILINE

ŽILINSKÁ UNIVERZITA V ŽILINE ŽILINSKÁ UNIVERZITA V ŽILINE Fakulta riadenia a informatiky Spracovanie dát v rozsiahlych databázach Dizertačná práca Študijný program: Pracovisko: Školiteľ: 9.2.9 Aplikovaná Informatika Žilinská Univerzita

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

1) 2) 3) 4) 5) 6) 7) XML. 8) 9) 10) 11) CRUD

1) 2) 3) 4) 5) 6) 7) XML. 8) 9) 10) 11) CRUD OBSAH 1) Úvod do SQL Server, množinové operácie 2) Uložené procedúry, funkcie 3) Pohľady a CTE 4) Rekurzia a transitívny uzáver 5) Triggery. Transakcie. 6) Kurzory.Pivot tabuľky 7) XML. B-stromy a indexy

More information

Vyhodnocovanie výrazov relačnej algebry v odpovedníkoch IS

Vyhodnocovanie výrazov relačnej algebry v odpovedníkoch IS MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Vyhodnocovanie výrazov relačnej algebry v odpovedníkoch IS Bakalárska práca Brno 2012 Roman Mačor Prehlasujem, že táto práca je mojím pôvodným autorským dielom,

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

Vnorené SQL. Autor prezentácie: Peter Šípoš

Vnorené SQL. Autor prezentácie: Peter Šípoš Vnorené SQL Autor prezentácie: Peter Šípoš Literatúra Programmatic SQL od Pearson Ed Embedded SQL: http://download.oracle. com/docs/cd/b10501_01/appdev.920/a97269/pc_06sql.htm Oracle Dynamic SQL: http://download.oracle.

More information

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky BGP - duálne prepojenie AS (primary + backup spoj), s IBGP, cez virtuální L2 linky Peter Jašica Abstrakt: Cieľom tohto projektu je zhotoviť a otestovať funkčnosť BGP s dvojitým prepojením Autonómnych systémov.

More information

OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ. 2 INŠTALÁCIA Microsoft SQL Servera 2008 R2 3 PREVOD DATABÁZY OLYMPU NA SQL

OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ. 2 INŠTALÁCIA Microsoft SQL Servera 2008 R2 3 PREVOD DATABÁZY OLYMPU NA SQL OLYMP na MS SQL OBSAH 1 AKO POSTUPOVAŤ 1.1 Základné informácie k inštalácii Microsoft SQL servera 2008 R2, cesta k inštalačnému programu, možné obmedzenia, licencia programu Olymp 1.2 Aké sú hardvérové

More information

Názov prednášky: Databázy, výbery z databáz a dopyty

Názov prednášky: Databázy, výbery z databáz a dopyty Priestorové analýzy a modelovanie Prednáška 2 Názov prednášky: Databázy, výbery z databáz a dopyty Osnova prednášky: Základné pojmy Databázový systém Typy databázových systémov Typy systémov riadenia databázy

More information

Novinky vo Windows Azure & Scenáre. Ľubomír Goryl Solution Professional Microsoft Slovakia, s.r.o

Novinky vo Windows Azure & Scenáre. Ľubomír Goryl Solution Professional Microsoft Slovakia, s.r.o Novinky vo Windows Azure & Scenáre Ľubomír Goryl (lgoryl@microsoft.com) Solution Professional Microsoft Slovakia, s.r.o Obsah Scenáre Virtual machines BackUp Web, Aplikácie Virtual Machines Produkčné prostredie

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

Súborový systém. Ing. Viliam Solčány, PhD. ZS 2011/2012. Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn.

Súborový systém. Ing. Viliam Solčány, PhD. ZS 2011/2012. Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. Súborový systém Ing. Viliam Solčány, PhD. ÓÐ ÒÝ Øº ØÙ º ZS 2011/2012 Viliam Solčány, FIIT STU Bratislava Operačné systémy 2011/12 Predn. 12 1 / 42 Osnova Viliam Solčány, FIIT STU Bratislava Operačné systémy

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

E-R diagrams and database schemas. Functional dependencies. Definition (tuple, attribute, value). A tuple has the form

E-R diagrams and database schemas. Functional dependencies. Definition (tuple, attribute, value). A tuple has the form E-R diagrams and database schemas Functional dependencies Definition (tuple, attribute, value). A tuple has the form {A 1 = v 1,..., A n = v n } where A 1,..., A n are attributes and v 1,..., v n are their

More information

1.T DB modely, tabuľky, SQL dopyty

1.T DB modely, tabuľky, SQL dopyty 1.T DB modely, tabuľky, SQL dopyty 1) DB 2) Modely DB 2) SQL 3) Príklady 1) DB Údaj vs. informácia Údaj môže byť text, číslo, obrázok, zvuk, video Informácia je zaznamenaný a overený údaj (správa) ktorý

More information

WEBOVÝ MODUL NA SPRÁVU DOVOLENKY

WEBOVÝ MODUL NA SPRÁVU DOVOLENKY WEBOVÝ MODUL NA SPRÁVU DOVOLENKY Róbert Lanák Ústav informatizácie, automatizácie a matematiky Oddelenie informatizácie a riadenia procesov Fakulta chemickej a potravinárskej technológie Slovenská Technická

More information

2.1 DATA MODELS, SCHEMAS, AND INSTANCES

2.1 DATA MODELS, SCHEMAS, AND INSTANCES Sémantika význam; valid platný; integrita celistvosť a konzistentnosť dôslednosť bez protirečení, anomálií; 2.1 DATA MODELS, SCHEMAS, AND INSTANCES A data model - is the description of the structure of

More information

Principles of Data Management

Principles of Data Management Principles of Data Management Alvin Lin August 2018 - December 2018 Structured Query Language Structured Query Language (SQL) was created at IBM in the 80s: SQL-86 (first standard) SQL-89 SQL-92 (what

More information

618 Index. BIT data type, 108, 109 BIT_LENGTH, 595f BIT VARYING data type, 108 BLOB data type, 108 Boolean data type, 109

618 Index. BIT data type, 108, 109 BIT_LENGTH, 595f BIT VARYING data type, 108 BLOB data type, 108 Boolean data type, 109 Index A abbreviations in field names, 22 in table names, 31 Access. See under Microsoft acronyms in field names, 22 in table names, 31 aggregate functions, 74, 375 377, 416 428. See also AVG; COUNT; COUNT(*);

More information

Azure SQL Database. Od A po Z. Miroslav Kubovčík Vývojársky špecialista, DX Microsoft Česká Republika a Slovensko

Azure SQL Database. Od A po Z. Miroslav Kubovčík Vývojársky špecialista, DX Microsoft Česká Republika a Slovensko Azure SQL Database Od A po Z Miroslav Kubovčík Vývojársky špecialista, DX Microsoft Česká Republika a Slovensko Azure SQL Database Server nie je virtuál/fyzický server Architektúra Azure SQL Database Aplikácie

More information

Ďakujem pánovi RNDr. Tomášovi Skopalovi Ph.D. za odborné vedenie, za ochotu a čas, ktorý mi venoval počas písania tejto bakalárskej práce.

Ďakujem pánovi RNDr. Tomášovi Skopalovi Ph.D. za odborné vedenie, za ochotu a čas, ktorý mi venoval počas písania tejto bakalárskej práce. Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Viliam Sabol Demonstrační aplikace vyhodnocování dotazu v relačním kalkulu Katedra softwarového inženýrství Vedoucí bakalářské

More information

Databázy (2) Prednáška 03. Alexander Šimko

Databázy (2) Prednáška 03. Alexander Šimko Databázy (2) Prednáška 03 Alexander Šimko simko@fmph.uniba.sk Contents I Databázové transakcie Section 1 Databázové transakcie Transakcie Transakcia je postupnosť príkazov, ktoré vystupujú ako celok Databázové

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Kapitola 8 Začíname s programom Base

Kapitola 8 Začíname s programom Base Začíname s programom LibreOffice 4.2 Kapitola 8 Začíname s programom Base Vytváranie vstavanej plochej databázy Autorské práva Tento dokument je duševným vlastníctvom dokumentačného tímu LibreOffice Copyright

More information

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV NIKY a NIKY S JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ ŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV Ideálna ochrana pre malé kancelárie a domáce kancelárske aplikácie. Tento rad ponúka

More information

Malé velké databázy III. / 1. cast

Malé velké databázy III. / 1. cast Malé velké databázy III. / 1. cast Hovorí sa, že tam, kde sa nieco koncí, iné sa zacína. Oficiálny školský rok sa blíži k úspešnému koncu, ale my zacíname. Preto vás vítam na vysokej škole databáz. Ako

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Úvod do Databázových Systémov

Úvod do Databázových Systémov Úvod do Databázových Systémov Ján Šturc Matematicko-fyzikálna fakulta UK Bratislava, zima 2005 Copyright, 1997 Ján Šturc. Literatúra: J.D. Ullman: Database and knowledgebase systems computer science press,

More information

Portál pre odborné publikovanie ISSN

Portál pre odborné publikovanie ISSN 1 Portál pre odborné publikovanie ISSN 1338-0087 PRADO framework Liner Lukáš Informačné technológie, Študentské práce 08.02.2013 PRADO framework je objektovo orientovaný framework, určený na rýchly vývoj

More information

Systém pre podporu výuky teórie programovacích jazykov

Systém pre podporu výuky teórie programovacích jazykov Mendelova univerzita v Brně Provozně ekonomická fakulta Systém pre podporu výuky teórie programovacích jazykov Diplomová práca Vedúci práce: doc. Ing. Dr. Jiří Rybička Bc. Petra Pavlačičová Brno 2012 Ďakujem

More information

MS Exchange 2010 Prechod Ing. Peter Záhradník

MS Exchange 2010 Prechod Ing. Peter Záhradník MS Exchange 2010 Prechod Ing. Peter Záhradník Gratex Support Center support@gratex.com Exchange 2010 o com to bude? Tato prezentacia bude pre ludi co uvazuju nad prechodom na novy Exchange zopar otazok

More information

Ekonomický pilier TUR

Ekonomický pilier TUR Názov indikátora: HDP na obyvateľa Zaradenie indikátora v DPSIR štruktúre: Základné informácie: SR Definícia Hrubý domáci produkt vyjadrovaný ako celková peňažná hodnota statkov a služieb vytvorených za

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

Návod na odstránenie certifikátov so zrušenou platnosťou

Návod na odstránenie certifikátov so zrušenou platnosťou Návod na odstránenie certifikátov so zrušenou platnosťou Dátum zverejnenia: 7. 11. 2017 Verzia: 1 Dátum aktualizácie: Popis: Tento dokument je určený používateľom, ktorí elektronicky podpisujú dokumenty

More information

2. Týždeň MySQL - dátové typy a funkcie num. a reťazcové

2. Týždeň MySQL - dátové typy a funkcie num. a reťazcové 2. Týždeň MySQL - dátové typy a funkcie num. a reťazcové 1. Prvky jazyka MySQL http://dev.mysql.com/doc/refman/5.7/en/language-structure.html 2. Typy a pretypovanie http://dev.mysql.com/doc/refman/5.7/en/data-types.html

More information

XHTML1folie.doc XHTML Čo bolo predtým?

XHTML1folie.doc XHTML Čo bolo predtým? XHTML1folie.doc 1 1.1 XHTML 1.1.1 Čo bolo predtým? XHTML - nová definícia jazyka HTML vo forme XML. Vývoj HTML: r. 1995 HTML 2.0 (základné formátovanie a štruktúrovanie, obrázky, formuláre). V r. 1995

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS IMPLEMENTACE

More information

XML databázy. Jana Dvořáková Pokročilé databázové technológie, FIIT STU

XML databázy. Jana Dvořáková Pokročilé databázové technológie, FIIT STU XML databázy Jana Dvořáková 3.12.2010 Pokročilé databázové technológie, FIIT STU Obsah XML a XML databáza Design XML databázy Dotazovanie nad XML databázou Typy XML databáz Zhrnutie a diskusia XML a XML

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

Vendor: PostgreSQL. Exam Code: PGCES-02. Exam Name: PostgreSQL CE 8 Silver. Version: Demo

Vendor: PostgreSQL. Exam Code: PGCES-02. Exam Name: PostgreSQL CE 8 Silver. Version: Demo Vendor: PostgreSQL Exam Code: PGCES-02 Exam Name: PostgreSQL CE 8 Silver Version: Demo QUESTION: 1 Select two suitable statements regarding the following SQL statement: CREATE TRIGGER trigger_1 AFTER UPDATE

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

Ako na zálohu a obnovu doménových radičov

Ako na zálohu a obnovu doménových radičov Ako na zálohu a obnovu doménových radičov Mgr. Michal Dobšovič MCP MCSA MCTS MCT whoami Trainer @ IT LEARNING SLOVAKIA Day-to-day experience: IT LEARNING SLOVAKIA ~ 100 workstations ~ 20 servers (MS, Linux)

More information

Px Framework v for Delphi Programers to Asp.Net application. Px Framework v.1.07 for ASP.NET Komponenty pre rýchlu prácu z databázou

Px Framework v for Delphi Programers to Asp.Net application. Px Framework v.1.07 for ASP.NET Komponenty pre rýchlu prácu z databázou Px Framework v.1.07.02 for Delphi Programers to Asp.Net application Px Framework v.1.07 for ASP.NET Komponenty pre rýchlu prácu z databázou OBSAH 1.Základné komponenty Px Frameworku (Px Controls), stručný

More information

Fuzzy teoria a jazyk SQL

Fuzzy teoria a jazyk SQL Fuzzy teoria a jazyk SQL Jazyk SQL používa Booleovu algebru, čo prináša jeden veľký problém. V otázke typu A and B and C and... Z, je nesprávnosť z uhla pohľadu v tom, že otázke nevyhovujú údaje, ktoré

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

UNIVERZITA KARLOVA V PRAZE MATEMATICKO-FYZIKÁLNÍ FAKULTA. Katedra softwarového inženýrství

UNIVERZITA KARLOVA V PRAZE MATEMATICKO-FYZIKÁLNÍ FAKULTA. Katedra softwarového inženýrství UNIVERZITA KARLOVA V PRAZE MATEMATICKO-FYZIKÁLNÍ FAKULTA BAKALÁŘSKÁ PRÁCE Jaroslav Pastorek Informační systém pro obchodníka s cennými papíry Katedra softwarového inženýrství VEDOUCÍ BAKALÁŘSKÉ PRÁCE:

More information

Počítačové siete Bezpečnosť

Počítačové siete Bezpečnosť Počítačové siete Bezpečnosť Bezpečnostné problémy v sieťach dôvernosť integrita a autentickosť dostupnosť autentifikácia používateľov systémov riadenie prístupu 2 Bezpečnostné mechanizmy fyzická ochrana

More information

Sieťové prepínače. Pavol Sokol / /

Sieťové prepínače. Pavol Sokol / / Sieťové prepínače Pavol Sokol 9.5.2018 / 15.5.2018 / 16.5.2018 Sieťový prepínač zariadenie spojovej vrstvy: má aktívnu úlohu ukladá a rozposiela Ethernet rámce (frames) preskúmava MAC adresu prichádzajúcich

More information

/* toto je viacriadková poznámka */ ako v Delphi, len sa rozlišujú malé a veľké písmená!!!

/* toto je viacriadková poznámka */ ako v Delphi, len sa rozlišujú malé a veľké písmená!!! Organizácia programu #include using namespace std; int main() return 0; // jednoriadková poznámka Identifikátor Dátové typy int (long), unsigned, float (double), bool 0,1, char, trieda

More information

5 SYSTÉMY RIADENIA BÁZY DÁT

5 SYSTÉMY RIADENIA BÁZY DÁT INFORMAČNÉ SYSTÉMY Spracoval Ing. Peter Nagy 5 SYSTÉMY RIADENIA BÁZY DÁT V počiatočnej fáze vývoja počítačového spracovania sa používal spôsob spracovania dát, pri ktorom používateľ vo svojom programe

More information

AR6181-MX, AR6182-MX Čítačky MIFARE kariet

AR6181-MX, AR6182-MX Čítačky MIFARE kariet AR6181-MX, AR6182-MX Čítačky MIFARE kariet ISO14443-A, ISO14443-B a ISO15693 Systém kontroly vstupu 13,56 MHz proximity technológia Jednoduchá konfigurácia čítačky použitím konfiguračnej karty Možnosť

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

Triedy v C++ 1. Úvod do tried

Triedy v C++ 1. Úvod do tried 1. Úvod do tried Používanie nového dátového typu ktorý budeme oht class trieda nás dovedie k využívaniu objektových vlastností jazyka C++. Tento nový typ programov OOP objektovo orientované programovanie

More information

Course Outline and Objectives: Database Programming with SQL

Course Outline and Objectives: Database Programming with SQL Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,

More information

PL/SQL - procedurálny jazyk

PL/SQL - procedurálny jazyk PL/SQL - procedurálny jazyk Dátové typy ZNAKOVÉ DÁTOVÉ TYPY --- CHAR, NCHAR, VARCHAR2, NVARCHAR2 + LONG CHAR(dĺžka) [BYTE CHAR] Parameter dĺžka je z intervalu 1-2000. Slúži na reťazec pevnej dĺžky. NCHAR(dĺžka)

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULITMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Normalizácia relačných databáz (Bakalárska práca)

Normalizácia relačných databáz (Bakalárska práca) Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava Normalizácia relačných databáz (Bakalárska práca) Martin Vlčák Vedúci: Dr. Tomáš Plachetka Bratislava, 2009

More information

Aplikácia na monitorovanie prípravy obhajoby dizertácie MARTIN BIES

Aplikácia na monitorovanie prípravy obhajoby dizertácie MARTIN BIES Aplikácia na monitorovanie prípravy obhajoby dizertácie MARTIN BIES 2008 Aplikácia na monitorovanie prípravy obhajoby dizertácie BAKALÁRSKA PRÁCA Martin Bies UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information