Informatika Flashcards

(119 cards)

1
Q

Co představuje relační datový model a jaké jsou jeho klíčové pojmy?

A

* Základní koncept:
o Uložení dat v tabulkách: Data jsou organizována do tabulek (též nazývaných relace), které představují strukturované záznamy.
o Každá tabulka reprezentuje jednu entitu (např. „Učitel“), přičemž každý řádek (n-tice) představuje jednotlivý záznam založený na souboru atributů.
o Atributy a domény: Každý sloupec má unikátní název, datový typ a určenou doménu – množinu všech hodnot, které atribut může nabývat (např. doména příjmení, funkce, kanceláře).
**
* Definice klíčových pojmů:**
o Primární klíč: Jeden nebo více atributů, které jednoznačně identifikují každý záznam v tabulce (např. v relačním schématu „Učitel (ID, jméno, příjmení, funkce, kancelář)“ může sloužit atribut ID).
o Cizí klíč: Atribut nebo kombinace atributů v jedné tabulce, který odkazuje na primární klíč jiné tabulky. Přes tyto odkazy je navázána integrita a propojenost dat napříč tabulkami.

* Pravidla relační tabulky:
o Hodnoty jsou atomické a skalární.
o V tabulce je 1 až n sloupců a 0 až m řádků; jejich pozice není významná.
o Hodnoty ve sloupcích jsou homogenní.
o Každý sloupec je jednoznačně pojmenován a každý řádek je jednoznačně rozlišitelný (primárním klíčem).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Co je relační algebra a jaké jsou její hlavní operace?

A

* Základní prostředek práce:
o Relační algebra je formální jazyk pro manipulaci s daty uloženými v relacích.
o Její operace umožňují vybírat, kombinovat a transformovat data.

* Hlavní operace:
o Projekce (project): Umožňuje vybrat pouze určité sloupce (atributy) z relace.
o Selekce (select): Slouží k výběru řádků (n-tic), které splňují určitou podmínku.
o Spojení (join): Kombinuje dvě nebo více relací na základě sdílených atributů, čímž vzniká nová relace obsahující informace z obou zdrojů.

* Relačně úplný jazyk:
o Pokud jazyk obsahuje všechny operace relační algebry, lze jím formulovat všechny dotazy nad relační databází.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Jaké jsou klíčové pojmy relační databázové terminologie?

A

* Databáze (DB):
o Systematicky organizovaná datová struktura, kterou lze představit jako soubor tabulek (relací).
* Tabulka (Relace):
o Datová struktura uspořádaná do sloupců a řádků.
* Pole:
o Průsečík řádku a sloupce; každé pole obsahuje hodnotu danou doménou sloupce.
* Sloupec (atribut):
o Definuje jeden druh informace, kterou tabulka uchovává.
* Řádek (prvek relace, záznam, n-tice):
o Obsahuje veškerou informaci o objektu popisovaném tabulkou; je jednoznačně určen primárním klíčem.
* Primární klíč a cizí klíč:
o Primární klíč jednoznačně identifikuje záznam, zatímco cizí klíče propojují tabulky.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Co jsou Coddova pravidla a jaký mají účel?

A

* Účel a význam pravidel:
o Coddova pravidla jsou souborem 13 pravidel, která určují, jak by měly fungovat relační databázové systémy, a garantují, že data budou spravována pomocí relačních operací.

* Hlavní pravidla:
o Pravidlo SŘBD: Data musí být spravována výhradně prostřednictvím relačních operací.
o Informační pravidlo: Data jsou reprezentována pouze jako hodnoty v tabulkách.
o Pravidlo zajišťující přístup: Data lze získat pomocí kombinace názvu relace, sloupce a hodnoty primárního klíče.
o Pravidlo zpracovatelnosti neznámých hodnot: Neznámé hodnoty lze získat na základě známých dat.
o Pravidlo relačního katalogu: Celá databáze musí mít svůj popis také ve formě relačního schématu (metadata).
o Pravidlo jazyka: Musí existovat alespoň jeden jazyk, který umožňuje definici dat, manipulaci s daty a práci s transakcemi.
o Pravidlo pohledů: Uživatelům musí být umožněno pracovat s pohledy na data.
o Pravidlo operací: Všechny operace pracují s tabulkami jako s celky.
o Pravidlo fyzické a logické nezávislosti: Výsledky operací nad daty nesmí být ovlivněny změnami ve fyzické struktuře databáze.
o Pravidlo nezávislosti dat na integritních omezeních: Změny v integritních omezeních nemají vliv na výsledky operací, pokud se data nemění.
o Pravidlo nezávislosti dat na distribuci: Výsledky by neměly být ovlivněny způsobem uložení dat v databázi.
o Pravidlo nenarušitelnosti DBMS: Nikdo nesmí obcházet a narušovat pravidla definovaná pro správu databáze.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Co je datová normalizace a jaké jsou její cíle, a jaký je význam redundance dat?

A

* Datová normalizace:
o Proces organizace struktury databáze za účelem odstranění redundance a zlepšení konzistence.
o Minimalizuje redundanci a anomálie při aktualizaci, vkládání a mazání záznamů.
o Umožňuje efektivní správu dat a zajišťuje optimální využití úložného prostoru.
o Cíl: Rozdělit tabulky tak, aby každá obsahovala pouze související data.
* Redundance dat:
o Opakovaný výskyt stejných dat napříč tabulkami.
o Nevýhody: Zvýšená velikost databáze, inkonzistence dat, vyšší riziko anomálií při operacích s databází.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Co jsou normální formy a jak se liší jednotlivé normální formy?

A

* 1. normální forma (1NF):
o Tabulka obsahuje pouze atomické (nedělitelné) hodnoty; každý atribut obsahuje pouze jednu hodnotu; všechny řádky jsou unikátní.
* 2. normální forma (2NF):
o Splňuje 1NF a všechny neklíčové atributy závisí pouze na primárním klíči, nikoliv na jeho části.
* 3. normální forma (3NF):
o Splňuje 2NF a neklíčové atributy nejsou závislé transitivně na primárním klíči, tedy eliminuje nepřímé závislosti mezi neklíčovými atributy.
* BCNF (Boyce-Coddova normální forma):
o Vylepšená 3NF, kde každý determinant je kandidátní klíč.
* 4. normální forma (4NF):
o Složený primární klíč nesmí být tvořen z nezávislých dat (řeší multi-valued dependencies).
* 5. normální forma (5NF):
o Složený primární klíč nesmí obsahovat párové cyklické závislosti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Co je integrita dat a jaké jsou druhy integritních omezení?

A

* Integrita dat:
o Zajišťuje správnost, úplnost a konzistenci dat v databázi.
o Integritní omezení chrání před neplatnými nebo nechtěnými změnami dat a jsou definována při návrhu databázového systému.
* Druhy integritních omezení:
o Entitní integrita: Primární klíče musí být jedinečné a nesmí obsahovat NULL hodnoty.
o Referenční integrita: Cizí klíče musí odkazovat na existující hodnoty v jiných tabulkách.
o Doménová integrita: Atributy musí obsahovat pouze hodnoty odpovídající jejich doméně (datový typ, rozsah apod.).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Co jsou databázové triggery, jaké typy triggerů existují a k čemu slouží?

A

* Definice triggerů:
o Automatické akce prováděné databázovým systémem při změnách dat (INSERT, UPDATE, DELETE).
o Mohou být použity k zajištění integrity dat, logování změn nebo spuštění specifických akcí.
o Jsou provedeny vždy bez ohledu na příčinu, která vyvolala změnu.
* Typy triggerů:
o Before triggers: Akce provedené před vykonáním operace.
o After triggers: Akce provedené po vykonání operace.
o Instead of triggers: Používají se místo standardních operací na pohledech (views).
* Příklad:
o Trigger, který před INSERT do tabulky „objednavky“ kontroluje, zda nové množství je větší než 0 – pokud ne, vyvolá chybu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Shrňte klíčové koncepty datové normalizace, redundance, normálních forem, integrity dat, integritních omezení a databázových triggerů.

A
  • Datová normalizace organizuje strukturu databáze za účelem odstranění redundance a zlepšení konzistence; redukuje anomálie při aktualizacích a správně využívá uložiště.
  • Redundance dat se projevuje opakovaným výskytem stejných dat napříč tabulkami, což vede k problémům s konzistencí a zvýšeným nárokům na úložný prostor.
  • Normální formy (1NF, 2NF, 3NF, BCNF, 4NF, 5NF) definují postupné odstranění redundance a anomálií v databázi.
  • Integrita dat zajišťuje správnost, úplnost a konzistenci dat prostřednictvím entitní, referenční a doménové integrity.
  • Databázové triggery jsou automatické akce aktivované při změnách dat, které slouží k udržení integrity, logování změn nebo provádění specifických akcí, přičemž existují before, after a instead of triggery.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

**Co je databázová transakce a jaký je její hlavní účel? **

A

* Definice:
o Databázová transakce je sekvence jedné nebo více operací, která se provádí jako celek.
o Transakce zajišťuje, že data zůstanou konzistentní i při výskytu chyb, například při selhání systému.
o Transakce proběhne celá nebo vůbec.
* Účel:
o Zajistit integritu dat v případě výpadků nebo chyb.
o Umožnit bezpečné sdílení dat mezi více uživateli současně.
o Zajistit konzistenci při provádění složitých operací.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Jaké jsou varianty transakcí z hlediska rozsahu a způsobu zpracování?

A

* Rozsah:
o Lokální transakce: Probíhá v jednom uzlu.
o Globální transakce: Přesahuje rozsah jednoho uzlu.
* Způsob zpracování:
o Optimistický: Předpokládá se, že nenastane chyba – data se přepisují natvrdo.
o Pesimistický: Změny se zaznamenávají do dočasných objektů (většinou dočasné řádky tabulky, které se poté odstraní a nahradí původní hodnoty).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

**Co vyjadřují principy ACID u databázových transakcí? Co vyjadřují principy ACID u databázových transakcí? **

A

* Atomičnost:
o Všechny operace transakce proběhnou jako celek, nebo se žádná z nich neprovede.
o V případě chyby se všechny změny vrátí zpět – vše nebo nic.
* Konzistence:
o Po dokončení transakce musí být data v konzistentním stavu a splňovat všechna integritní omezení.
* Izolace:
o Současné transakce nemohou negativně ovlivnit jedna druhou; provádějí se tak, jako by byly zpracovány sériově, tedy nezávisle na jiných transakcích.
* Stálost (Durability):
o Po úspěšném dokončení transakce zůstávají změny permanentně uloženy v databázi, i když dojde k výpadku.
o Účinky transakce jsou trvalé.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

**Jaké jsou základní fáze databázové transakce? **

A
  • Začátek transakce (BEGIN): Iniciace transakce.
  • Operace v transakci: Zahrnují změny dat pomocí příkazů INSERT, UPDATE, DELETE.
  • Potvrzení (COMMIT): Zajištění trvalého uložení provedených změn.
  • Zrušení (ROLLBACK): Vrácení databáze do původního stavu při chybě.
  • SAVEPOINT: Vytvoření bodu návratu v průběhu transakce pro případ odvolání části provedených změn.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

**Jaké varianty řešení databázových transakcí existují? **

A

*** Jednoduché transakce: **
Operace probíhající v jedné databázi.

* Rozdělené transakce (Distributed Transactions):
o Transakce probíhající přes více databází nebo systémů.
o Používá se dvoufázový protokol potvrzení (Two-phase commit) pro synchronizaci.

* Zřetězené transakce:
o Transakce, které jsou logicky propojeny, kde výsledek jedné ovlivňuje následující.

* Nested Transactions (Vnořené transakce):
o Hlavní transakce obsahuje jednu nebo více podtransakcí.
o Pokud podtransakce selže, hlavní transakce se může rozhodnout pokračovat nebo selhat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Co obsahují jednotlivé úrovně návrhu (konceptuální, logický a fyzický) a jaké jsou jejich cíle?

A

* Konceptuální modelování:
o Zahrnuje identifikaci entit, vztahů mezi nimi a jejich atributů.
o Využívá grafické reprezentace, jako jsou ER diagramy, UML Class Diagram nebo ISA hierarchie.
o Hlavním cílem je vytvořit model, který je nezávislý na implementaci.

* Logický návrh:
o Transformace konceptuálního modelu do logického modelu (např. relačního).
o Popisuje tabulky, atributy, datové typy a integritní omezení.
o Zohledňuje normalizační proces pro odstranění redundance.

* Fyzický návrh:
o Zahrnuje rozhodnutí o způsobu ukládání dat na disk (indexy, klastrování, sekvenční soubory).
o Optimalizace pro výkon při dotazování a transakcích.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Jaké metody se využívají při vývoji, údržbě a rozvoji databázových systémů a jaké jsou postupy datového modelování?

A

* Techniky a metody návrhu:
o Datové a funkční modelování: Kombinuje analýzu datových struktur a jejich vztahů s funkcemi systému.
o Normalizace dat: Odstraňuje redundanci a optimalizuje strukturu databáze.
o Analýza událostí: Identifikuje klíčové operace spouštěné uživateli nebo systémem.
o Životní cyklus entit: Sleduje existenci entit od vzniku po zánik v systému.
o Nejrozšířenější metodou je datové modelování vycházející z Chenova E-R modelu.

* Vícestupňová architektura DBS:
o Externí schéma: Pohled koncového uživatele na data.
o Konceptuální schéma: Grafická reprezentace datového modelu (např. ER diagram), vztahy mezi entitami.
o Interní schéma: Jak jsou data fyzicky ukládána (např. indexy, klastrování).

* Postupy datového modelování:
o Zdola nahoru:
Použití univerzální relace s analýzou závislostí mezi atributy (omezeno na malé databázové modely).

o Shora dolů:

  1. Specifikace entit a množin atributů.
  2. Definování vztahů (kardinalita, povinnost).
  3. Přidělení primárních klíčů.
  4. Transformace konceptuálního modelu na logickou strukturu.
  5. Prověření z hlediska normalizace a přidělení domén a pravidel manipulace se záznamy.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Jaké jsou dotazovací jazyky, jejich předpoklady a principy?

A

* Dotazovací jazyky:
o Umožňují přístup k datům uloženým v databázi.
o Jsou standardizovanými nástroji komunikace mezi aplikacemi a databází a slouží k vytváření dotazů, manipulaci a řízení dat.
o Rozdělují se na deklarativní (např. SQL, QBE) a procedurální (např. relační algebra, COBOL – vyžaduje specifikaci algoritmu).
o Neprocedurální jazyky specifikují pouze podmínky požadovaného výstupu.

* Principy dotazovacích jazyků:
o Strukturovaný přístup k datům s podporou základních operací: selekce, projekce, join, agregační funkce.
o Umožňují manipulaci s daty (vkládání, aktualizace, mazání).

* Předpoklady:
o Databáze musí být správně navržena (normalizovaná) se zajištěnou konzistencí a integritou dat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Co je SQL, jaké jsou jeho základní části a jaká je historie standardizace SQL?

A

* Definice SQL:
o SQL (Structured Query Language) je standardizovaný deklarativní jazyk pro správu a dotazování relačních databází.

* Části SQL:
o DDL (Data Definition Language):
 Definice schématu (CREATE, ALTER, DROP); například CREATE TABLE (vytvoření tabulky), DROP TABLE (zrušení tabulky), CREATE VIEW (přidání pohledu), DROP VIEW (smazání pohledu).

o DML (Data Manipulation Language):
 Manipulace s daty (SELECT, INSERT, UPDATE, DELETE); například SELECT pro výběr dat, INSERT pro vložení záznamu, UPDATE pro úpravu záznamu, DELETE pro odstranění záznamu.

o DCL (Data Control Language):
 Správa práv pomocí příkazů GRANT a REVOKE.

o TCL (Transaction Control Language):
 Řízení transakcí pomocí příkazů COMMIT a ROLLBACK.

* Standardizace SQL:
o SQL bylo poprvé standardizováno v roce 1986 (ANSI) a pozdější verze jsou SQL-92, 1999, 2003, 2008, 2011.
o Hlavní rysy standardu zahrnují zpětnou kompatibilitu, postupnou integraci nových technologií (XML, OOP prvky) a zajištění konzistence napříč implementacemi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Co je QBE a v čem spočívá jeho využití?

A

* Definice QBE (Query By Example):
o Neprocedurální dotazovací jazyk, který umožňuje vytvářet dotazy pomocí grafických symbolů.

* Použití QBE:
o Vhodný pro uživatele bez znalosti syntaxe klasických dotazovacích jazyků.
o Podporuje dotazy podle pravidel relační algebry a umožňuje třídění, výpočet součtů a logické vazby (např. v MS Access).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Jaké jsou nevýhody a výhody SQL?

A

* Nevýhody SQL:
o Některé implementace mají odchylky od standardu, což může vést ke kompatibilitním problémům.
o Omezené možnosti při práci se složitými datovými strukturami.
o Relativně nízká efektivita při provádění specifických operací na velkých objemech dat (někdy je nutná optimalizace na úrovni fyzického návrhu).
o Není vhodné pro kompletní programování aplikací (SQL slouží pouze pro dotazy).
o Nelze definovat vlastní funkce a proměnné.

* Výhody SQL:
o Intuitivní syntaxe, blízká angličtině.
o Podpora práce s velkými objemy dat.
o Flexibilita v konstrukci dotazů.
o Nízké náklady na zaškolení a přenositelnost mezi aplikacemi.
o Dlouhá životnost a konzistence aplikací.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Jaké jsou základní charakteristiky relačních databázových řešení, jak probíhá uložení dat, přístup k datům a jejich ochrana?

A

* Charakteristika:
o Vycházejí z relačního modelu definovaného E. F. Coddem.
o Data jsou ukládána do tabulek (relací) ve formě řádků (záznamů) a sloupců (atributů).
o Standardizace probíhá podle ANSI a ISO norem.

* Uložení dat, datový model:
o Strukturovaná data jsou ukládána do tabulek, kde každý atribut má definovanou doménu (rozsah povolených hodnot).
o Atributy mají atomické hodnoty, což eliminuje redundanci.

* Přístup k datům:
o Přístup probíhá přes dotazovací jazyk SQL, který umožňuje selekci, manipulaci a třídění dat.
o Umožňuje práci s velkým objemem dat a složitými dotazy.

* Ochrana dat:
o Zajištěna autentizací a autorizací uživatelů.
o Integritní omezení chrání konzistenci dat (např. unikátní klíče, kontrola odkazů mezi tabulkami).
o Datová bezpečnost je doplněna šifrováním.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Jaké jsou hlavní charakteristiky objektových databázových řešení, jak probíhá uložení dat, přístup k datům a jak je zajištěna jejich ochrana?

A

* Charakteristika:
o Kombinují prvky objektově orientovaného programování a databázových schopností.
o Nejsou standardizována, což umožňuje větší flexibilitu v implementaci.

* Uložení dat:
o Data jsou ukládána jako objekty dle definovaných tříd, což umožňuje práci se složitými datovými strukturami a vztahy.
o Každý objekt má jedinečný identifikátor, který je neměnný po dobu jeho existence.

* Přístup k datům:
o Přístup pomocí ukazatelů (pointers) nebo objektově orientovaných jazyků (např. Java, C#).
o Lze využívat i jazyk SQL; umožňuje efektivní práci s velkým množstvím dat o jednotlivých objektech bez potřeby rozsáhlých dotazů.

* Ochrana dat:
o Přístup k datům je možný pouze přes metody definované v třídě objektu, což eliminuje přímou manipulaci s datovou strukturou.
o Integritní omezení zajišťují správnost a konzistenci uložených dat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Co představují objektově-relační databázová řešení a jaké jsou jejich hlavní výhody?

A
  • Kombinují aspekty relačních i objektových databází.
  • Snaží se sjednotit výhody obou přístupů: standardizaci SQL a flexibilitu a rozšířitelnost objektově orientovaného modelu.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Jaký je účel a princip značkovacích jazyků?

A

* Účel:
o Značkovací jazyky slouží k rozšíření textu o dodatečné informace, které určují jeho strukturu, význam a způsob zobrazení.
* Jak fungují:

o Používají značky (tagy) a atributy, které poskytují návod k interpretaci a vykreslení obsahu.
* Výhoda:
o Umožňují systematickou organizaci obsahu a přenositelnost mezi různými systémy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
**Jaké jsou hlavní důvody vzniku značkovacích jazyků?**
*** Historický vývoj:** o Původně určeny k formátování lineárních textů (založeno na SGML). *** Rozšíření funkcí:** o Později se rozšířily do popisu uživatelských rozhraní a grafických kreseb. o Umožnily vytváření specializovaných nástrojů pro popis webových služeb, vektorovou grafiku (SVG, DOT) a konfiguraci systémů. *** Jednotný standard:** o Potřeba jednotného a rozšiřitelného přístupu k popisu obsahu, který umožňuje interakci mezi různými platformami.
26
**Které značkovací jazyky jsou dnes nejrozšířenější a jaký je jejich účel?**
*** HTML:** o HyperText Markup Language slouží pro tvorbu a strukturování webových stránek; vychází ze SGML a je vyvíjeno W3C. *** XML:** o eXtensible Markup Language je flexibilní jazyk pro serializaci a přenos dat, nikoliv pro jejich zobrazení. *** Další:** o V praxi se používají i jiné formáty, například JSON pro výměnu dat (přesto HTML a XML patří mezi nejrozšířenější).
27
**Co je HTML5, jaká je jeho sémantika a jak vypadá základní struktura webové stránky?**
*** HTML5:** o Moderní standard s finální specifikací z roku 2014; obsahuje významné změny oproti HTML4, včetně podpory multimédií a offline aplikací. *** Sémantika: ** o Zavádí nové elementy (např.
,
,
,
,
28
**Co je XML, jakou ma syntaxi a validaci?**
**o Obecný značkovací jazyk**: XML, založený na SGML, je určen k uchovávání a přenosu strukturovaných dat. **o Flexibilita: **Umožňuje vytváření vlastních značkovacích jazyků a využívá se v případech, kdy JSON či YAML také soutěží o pozornost. **o Syntaxe a validace:** Vyžaduje správné vnoření, uzavírání tagů a deklaraci atributů. Validaci lze provádět pomocí DTD nebo XML Schema (XSD). **o Příklad XML receptu:** xml Jednoduchý chleba Mouka Kvasnice Horká voda Sůl Smíchejte všechny přísady dohromady a dobře prohněťte Zakryjte tkaninou a nechejte hodinu v teplé místnosti. Znovu prohněťte, umístěte na plech a pečte v troubě.
29
**Jaký je účel definičních nástrojů pro XML dokumenty?**
* Slouží k definování struktury, obsahu a omezení XML dokumentu pomocí formálních jazyků. * Zaručují, že XML dokumenty jsou: o **Well-formed: ** Správně syntakticky strukturované. o **Valid**: Splňují požadavky daného schématu (např. DTD, XSD). * Klíčové pro interoperabilitu a zpracování XML dokumentů různými systémy.
30
**Jaké podmínky musí splňovat XML dokument, aby byl „well-formed“?**
* **Jediný kořenový element:** Dokument musí mít jeden kořenový element, pod kterým jsou všechny ostatní elementy hierarchicky uspořádány. *** Správné uzavírání tagů:** Každý otevřený tag musí mít odpovídající uzavírací tag nebo být self-closing. *** Správné vnoření:** Elementy musí být správně vnořeny, nesmí se překrývat. *** Atributy:** Hodnoty atributů musí být uzavřeny v uvozovkách. *** Značkovací syntaxe:** Dokument nesmí obsahovat syntaktické chyby (např. neplatné znaky).
31
**Co znamená, že XML dokument je „valid“?**
* Validní XML dokument je: **o Well-formed:** Správně strukturovaný podle základních syntaktických pravidel XML. **o Validní:** Odpovídá specifikaci definované pomocí DTD, XML Schema (XSD), Relax NG nebo Schematron. * Validace zajišťuje, že dokument splňuje požadavky na strukturu a obsah.
32
**Co je DTD a jaké jsou jeho výhody a omezení?**
*** Popis:** o První standard pro definování struktury XML dokumentů, publikovaný v 90. letech. o Definuje seznam povolených elementů, jejich hierarchii a atributy. *** Výhody:** o Jednoduchý a široce podporovaný. *** Omezení:** o Nelze detailně definovat datové typy (např. čísla, datumy). o Omezené možnosti specifikace počtu výskytů prvků.
33
**Co je XML Schema (XSD) a jaké jsou jeho hlavní výhody?**
*** Popis:** o Standard W3C pro definování struktury XML dokumentů pomocí XML syntaxe. o Umožňuje definovat datové typy (čísla, datumy, řetězce) a složitější integritní omezení. *** Výhody:** o Rozsáhlá podpora pro datové typy a regulární výrazy. o Podpora namespaces (nezbytné při integraci více XML dokumentů). o Validace pomocí XSD validátorů. *** Omezení:** o Složitější syntaxe a vyšší náročnost tvorby.
34
**Co je RELAX NG a jaké jsou jeho výhody?**
*** Popis:** o Alternativa k XSD s flexibilnější a čitelnější syntaxí. o Nabízí XML syntax nebo kompaktní zápis. *** Výhody:** o Intuitivní a snadno čitelný zápis. o Vhodný pro projekty vyžadující jednoduchost a rychlou adaptaci změn. *** Omezení:** o Méně rozšířený a omezená podpora nástrojů.
35
**Co je Schematron a jak se liší od ostatních definičních nástrojů?**
*** Popis:** o Zaměřuje se na logické a kontextové kontroly namísto detailního definování struktury. o Používá pravidla založená na logice (např. „pokud je element X přítomen, atribut Y musí být v určitém rozsahu“). *** Výhody:** o Umožňuje komplexní logické kontroly a podrobné zprávy o chybách. *** Omezení:** o Neřeší detailní strukturu ani datové typy.
36
**Jaké jsou hlavní definiční nástroje pro XML a jejich klíčové vlastnosti?**
* **DTD**: Jednoduchý, široce podporovaný, ale omezený v definici datových typů. * **XML** Schema (XSD): Detailní definice typů, podpora namespaces, složitější syntaxe. * **RELAX** **NG**: Flexibilní a intuitivní, vhodný pro rychlé změny, méně rozšířený. * **Schematron**: Zaměřený na logické kontroly, umožňuje podrobné zprávy o chybách. * Tyto nástroje zajišťují, že XML dokumenty jsou dobře formované a validní, což je zásadní pro interoperabilitu a správné zpracování dat. **
37
**Jaký je účel transformačních nástrojů pro XML a kde se využívají?**
*** Účel:** o Transformace XML umožňují převést XML dokumenty z jednoho formátu do jiného nebo změnit jejich strukturu a obsah. o Slouží k efektivnímu využití stejných datových zdrojů pro různé aplikace či cílové platformy. *** Využití:** o Generování webových stránek (např. transformací XML do HTML). o Vytvoření PDF dokumentů. o Export dat do textových souborů a konfigurace systémů.
38
**Jaké jsou hlavní transformační technologie pro XML a jaký je jejich účel**
* **XSLT** (Extensible Stylesheet Language Transformations): o Oficiální standard pro transformaci XML pomocí stylopisů definovaných v jazyce XSL. o Umožňuje převod XML dokumentů do HTML, textu či jiných formátů pomocí šablon, podmínek a cyklů. * **XPath** (XML Path Language): o Jazyk pro navigaci ve struktuře XML. o Umožňuje vybírat uzly (elementy, atributy, text) pomocí cest a podmínek. o Je základním kamenem XSLT a XQuery. * **XQuery**: o Jazyk pro dotazování a manipulaci s daty v XML dokumentech. o Umožňuje komplexní zpracování, filtrování a agregaci informací z XML.
39
**Jaké jsou rozdíly mezi DOM a SAX při zpracování XML dokumentů?**
*** DOM (Document Object Model):** o API, které načte celý XML dokument do paměti jako stromovou strukturu. o Umožňuje komplexní manipulaci s jednotlivými uzly a jejich vlastnostmi. o Výhoda: Umožňuje pokročilou a náhodnou manipulaci s daty. o Omezení: Vysoká paměťová náročnost, neručí o vhodnosti pro velmi velké dokumenty. *** SAX (Simple API for XML):** o Streamovací API, které zpracovává XML „on-the-fly“ bez načítání celého dokumentu do paměti. o Výhoda: Nízká paměťová náročnost, vhodné pro velké soubory. o Omezení: Obtížnější kontrola kontextu a nevhodné pro náhodný přístup k datům.
40
**Shrňte hlavní technologie pro transformaci XML a uveďte jejich výhody a omezení.**
*** XSLT:** o Účel: Transformace XML do HTML, textu, PDF apod. o Výhody: Flexibilní, podporuje komplexní transformace, široká podpora. o Omezení: Může být složitý, výkonnostní problémy u velkých dokumentů. *** XPath:** o Účel: Navigace a výběr uzlů v XML. o Výhody: Jednoduchý, rychlý; základ pro XSLT a XQuery. o Omezení: Neposkytuje transformaci, slouží pouze k výběru dat. *** XQuery:** o Účel: Dotazování a zpracování XML dokumentů. o Výhody: Výkonný, umožňuje složité dotazy a agregace. o Omezení: Méně rozšířený, složitější ladění a optimalizace dotazů. *** DOM:** o Účel: Načítání XML jako stromové struktury pro pokročilou manipulaci. o Výhody: Umožňuje komplexní manipulaci s daty. o Omezení: Vyšší paměťové nároky. *** SAX**: o Účel: Streamové zpracování XML bez načítání celého dokumentu. o Výhody: Nízká paměťová náročnost. o Omezení: Obtížnější kontrola kontextu, neumožňuje náhodný přístup k datům.
41
**Jaký je účel XML jazyků pro práci s obsahem?**
* Umožňují vytvářet strukturovaný a sémantický obsah, který lze použít pro webové stránky, grafiku nebo sdílení dat. * Poskytují flexibilitu při transformaci dat do různých výstupních formátů (HTML, PDF, text apod.).
42
**Co je XHTML a k čemu se používá?**
* XHTML (eXtensible HyperText Markup Language) rozšiřuje klasické HTML integrací XML syntaxe. * Zvýrazňuje konzistenci a rigoróznost zápisu díky přísnějším pravidlům (uzavírání tagů, správné vnoření). * Používá se k tvorbě strukturovaných webových stránek.
43
**Co je SVG a jaké jsou jeho klíčové vlastnosti**
* SVG (Scalable Vector Graphics) je značkovací jazyk pro vektorovou grafiku, který umožňuje kreslení grafických prvků (kruh, čáry, tvary). * Umožňuje libovolné zvětšení nebo zmenšení bez ztráty kvality. * Je vhodný pro interaktivní grafiku, animace a zejména pro mapy.
44
**Jaký je účel RSS a Atom a v čem se liší?**
RSS a Atom jsou formáty pro syndikaci webového obsahu, které umožňují uživatelům automaticky získávat aktualizace z různých webových stránek bez nutnosti je manuálně procházet. *** RSS (Really Simple Syndication):** o Používá se pro syndikaci a distribuci obsahu (novinky, blogy, podcasty). o Umožňuje publikovat kanály s pravidelnými aktualizacemi, je široce podporován agregátory. *** Atom:** o Modernější formát pro syndikaci webového obsahu, podobný RSS. o Nabízí rozšířenou integraci a flexibilitu při práci s metadaty. o Používá se především pro zobrazování článků a novinek.
45
**Shrňte hlavní myšlenky o XML jazycích pro práci s obsahem.**
* XML jazyky pro práci s obsahem umožňují tvorbu strukturovaného a sémantického obsahu, což usnadňuje jeho transformaci do různých formátů (HTML, PDF, text). * XHTML zajišťuje precizní strukturování webových stránek s přísnými pravidly syntaxe. * SVG slouží k tvorbě škálovatelné vektorové grafiky a interaktivních animací. * RSS a Atom jsou klíčové pro syndikaci a distribuci obsahu – RSS je jednodušší a široce podporovaný, zatímco Atom nabízí modernější a flexibilnější řešení pro práci s metadaty.
46
**Jaký je účel XML dokumentů?**
* XML dokument slouží jako univerzální formát pro uchovávání, výměnu a přenos strukturovaných dat. * Používá se v konfiguracích, datových výměnách, integraci mezi systémy a jako zdroj pro transformace do jiných formátů (např. HTML, PDF).
47
**Jaké základní vlastnosti by měl splňovat dobře vytvořený XML dokument a jaká doporučení se k jeho tvorbě vztahují?**
*** Well-formed dokument:** o Musí mít jeden kořenový element. o Všechny tagy jsou správně uzavřené a správně vnořené. o Atributy musí být vždy uzavřeny uvozovkami. *** Validní dokument:** o Má definovanou strukturu pomocí schématu (DTD, XML Schema, RelaxNG). o Splňuje omezení jako seznam povolených elementů, datové typy a počet výskytů. *** Sémantika a srozumitelnost:** o Používejte významné a popisné názvy elementů a atributů. o Rozhodněte, zda data ukládat jako elementy nebo atributy. *** Namespace:** o Používejte XML namespaces k oddělení elementů z různých zdrojů a zabránění konfliktů. *** Modularita a údržba:** o Navrhujte dokumenty tak, aby byly snadno rozšiřitelné a udržovatelné. o Dokument by měl být čitelný pro vývojáře a snadno validovatelný pomocí nástrojů.
48
**Jaká jsou doporučení pro tvorbu správně strukturovaných a kompatibilních XML dokumentů?**
*** Struktura dokumentu:** o Jasně definovaná hierarchie elementů: jeden kořenový element a správně uzavřené, nevzájemně překrývající se tagy. *** Výběr názvů:** o Používejte výstižné, srozumitelné a obvykle anglické názvy elementů a atributů, vyhýbejte se diakritice. *** Standardy:** o Zajistěte, aby dokument odpovídal aktuálním standardům (např. XML 1.0, XML Schema). *** Validace:** o Validujte dokument pomocí nástrojů (DTD, XSD, RelaxNG, Schematron), aby byla zaručena správná struktura a integrita. *** Kódování:** o Používejte UTF-8, které podporuje širokou škálu jazyků a zajišťuje správné zobrazení textu ve vícejazyčném prostředí.
49
**Jaké jsou běžné příklady využití XML dokumentů?**
* Výměna dat mezi systémy (webové služby, API). * Konfigurační a nastavení soubory. * Export a sdílení informací v semistrukturované podobě. * Reprezentace obsahu v dokumentech – např. v publikacích (DocBook) nebo grafice (SVG).
50
**Co je CSS a jaký je jeho účel? **
* CSS (Cascading Style Sheets) – kaskádové stylopisy – je jazyk určený pro vizuální úpravu HTML dokumentů. * Slouží k definování vzhledu webových stránek (barvy, fonty, layout, animace, pozice elementů, chování při změně rozměrů obrazovky). * Hlavním cílem je oddělit obsah (HTML) od prezentace (CSS), což vede k lepší udržitelnosti, čitelnosti a znovupoužitelnosti kódu. * Umožňuje přizpůsobit obsah různým zařízením (PC, mobil, například i Braille) a nabízí rozsáhlé možnosti formátování.
51
**Jaká je základní syntaktická struktura CSS a jaké existují způsoby připojení CSS? **
* **Syntaxe**: Pravidlo se zapisuje ve tvaru: selektor { vlastnost: hodnota; } – Selektor určuje, na které HTML elementy se styl aplikuje. – Vlastnost určuje, co se má měnit (např. color, font-size, display). – Hodnota specifikuje konkrétní vzhled (např. red, 16px, flex). *** Způsoby připojení:** o **Inline**: Styl přímo v HTML značce (např.

Text

), ale nevhodné pro větší projekty. o **Internal**: Styl definovaný uvnitř