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.
|
|
- Victor Phelps
- 5 years ago
- Views:
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) 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 informationJazyk 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 informationDatabá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 informationDatabá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 informationRegistrá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 information1 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 informationAplikač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 information1 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 informationPoradové 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 informationRieš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 informationDatabá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 informationVYLEPŠ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 informationTextový 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 informationCopyright 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 informationAnycast. Ľ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 informationObsah. 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 informationDatabá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 informationManuá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 informationkucharka 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 informationNormalizá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 informationProgramovanie 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 informationVzory, 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 informationTP-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 informationDatabá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 informationKategó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 informationRecipient 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 informationEntity 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 informationProblé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 informationConstraint 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 informationDatabá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 informationOchrana 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 informationGridDB 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 D.4 Kontajner XML údajov (XMLDataContainer) Príloha č. 11 k výnosu č. 55/2014 Z. z. [pridaná novelou č. 275/2014 Z. z.,
More informationJAVA. 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 informationJeden 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 informationVý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 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 informationSpô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 information1) 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 informationVyhodnocovanie 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 informationTvorba 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 informationDesatinné čí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 informationRý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 informationVLSM 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 informationVnorené 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 informationBGP - 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 informationOLYMP 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 informationNá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 informationNovinky 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 informationREPORT 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 informationCrestron 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 informationLL 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 informationSú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 informationTestovanie bieleho šumu
Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N
More informationE-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 information1.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 informationWEBOVÝ 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 information2.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 informationPrinciples 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 information618 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 informationAzure 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.
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 informationDatabá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 informationUNIVERZITA 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 informationKapitola 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 informationNIKY 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 informationMalé 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 informationMesač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 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 informationPortá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 informationSysté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 informationMS 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 informationEkonomický 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 informationSql 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 informationNá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 information2. 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 informationXHTML1folie.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 informationMesač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 informationVYSOKÉ 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 informationXML 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 informationD.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 informationVendor: 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 informationOchrana 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 informationAko 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 informationPx 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 informationFuzzy 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 informationMicrosoft 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 informationUNIVERZITA 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 informationPočí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 informationSieť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á!!!
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 information5 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 informationAR6181-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 informationZá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 informationTriedy 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 informationCourse 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 informationPL/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 informationVYSOKÉ 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 informationNormalizá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 informationApliká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