NOVINKA: Kurz kybernetickej bezpečnosti teraz už od 0 €. Staň sa žiadaným profesionálom. Zisti viac:
NOVINKA: Staň sa dátovým analytikom od 0 € a získaj istotu práce, lepší plat a nové kariérne možnosti. Viac informácií:

6. diel - Dátové formáty XML a SQL

V minulej lekcii, Práca vo VS Code s CSV a JSON, sme si ukázali prácu s CSV súbormi vo VS Code a predstavili sme si formát JSON a prácu s ním.

V dnešnom tutoriáli dátovej analýzy budeme pokračovať opisom najčastejších formátov súborov pre dátovú analýzu.

XML

XML (Extensible Markup Language – rozšíriteľný značkovací jazyk) je textový formát na uchovávanie a prenos štruktúrovaných dát. Používa takzvané tagy, čo sú textové značky ohraničené špicatými zátvorkami < a >. Každý tag má svoj význam a zvyčajne tvorí dvojicu – napríklad <title> a </title> – medzi ktoré sa zapisuje konkrétna hodnota. Vďaka tomu môžeme presne opísať význam každej časti dát. XML sa často používa v podnikových systémoch, dátových prenosoch a pri výmene dokumentov medzi rôznymi aplikáciami.

XML súbory bývajú väčšie než napríklad JSON a ich spracovanie môže byť pomalšie. Preto sa XML nehodí na prácu s obrovským množstvom dát, kde je rýchlosť a efektivita kľúčová.

Štruktúra XML

XML má podobu stromovej štruktúry. Táto hierarchia umožňuje logicky a prehľadne usporiadať aj veľmi zložité dátové celky. Opäť si ukážme príklad s uložením dvoch osôb, tentoraz do XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<people>
    <person>
        <name>John</name>
        <surname>Smith</surname>
        <street>31 Queen Street</street>
        <city capital="no">Liverpool</city>
        <zip_code>13</zip_code>
    </person>
    <person>
        <name>Jane</name>
        <surname>Davis</surname>
        <street>19 Park Avenue</street>
        <city capital="no">Leeds</city>
        <zip_code>28</zip_code>
    </person>
</people>

Vidíme, že XML je najčitateľnejšie, ale aj najukecanejšie. Prvý riadok zvyčajne definuje verziu a kódovanie súboru. Ďalej nasleduje jediný koreňový element. Element je zvyčajne definovaný otváracou a zatváracou značkou, ktoré píšeme pomocou špicatých zátvoriek, napr. <tag> a </tag>, kde značka začínajúca lomkou je zatváracia. Vo vnútri týchto značiek sa nachádza obsah elementu, čo sú buď ďalšie vnorené elementy, alebo text. Dáta môžeme zapisovať aj do atribútov elementu, napr. mesto vyššie má atribút capital.

Keď má element len málo dát, môžeme ich všetky zapísať iba do jeho atribútov. Element potom nemusí mať žiadny obsah. Taký element sa môžeme rozhodnúť definovať ako nepárový a nemá potom zatváraciu značku. Jeho značka potom musí končiť lomkou:

<website url="www.itnetwork.sk" />

Ukážka XML súboru

Opäť si vyskúšame otvoriť nejaký vzorový dataset, tentoraz z výukovej dokumentácie Microsoftu. Súbor sme vám pripravili na stiahnutie na konci tejto lekcie. Stiahnite si ho a potom sa vráťte späť na toto miesto. Alternatívne si ho môžete skopírovať ako text zo stránok MS a uložiť ako books.xml.

Súbor books.xml otvoríme vo VS Code:

Skopírované dáta vložíme do súboru - Úvod do dátovej analýzy a obchodného rozhodovania

Visual Studio Code nám umožňuje prehľadne pracovať s celou štruktúrou dokumentu, ľahko odhaliť chyby a mať kontrolu nad každým prvkom. Opäť vidíme, že obsah je prehľadne zafarbený.

Vysvetlíme si, čo jednotlivé značky znamenajú:

  • <catalog> – koreňový element celého dokumentu, obsahuje všetky knihy,
  • <book> – záznam jednej knihy, má atribút id (napr. id="bk101"),
  • <author> – autor knihy,
  • <title> – názov knihy,
  • <genre> – žáner knihy,
  • <price> – cena v dolároch,
  • <publish_date> – dátum vydania,
  • <description> – stručný popis obsahu knihy.

XML entity

Keďže XML používa vo svojej syntaxi znaky <, >, &, nemôžeme ich len tak zapísať do dát elementov. Znaky je potrebné nahradiť takzvanými entitami (napr. < zapíšeme v dátach ako &lt; alebo ako &#60;). Inak môže dôjsť k chybnej interpretácii štruktúry XML.

Ak by mala osoba v našom ukážkovom XML napr. namiesto mena prezývku Joker ]:>, museli by sme pravú špicatú zátvorku zapísať takto:

<name>Joker ]:&gt;</name>

Entitami možno okrem špeciálnych znakov používaných v XML syntaxi zapísať aj ďalšie znaky, ktoré sa inak ťažko píšu, napr. copyright ©. Ukážme si základné entity, ktoré v XML dátach použijeme, ak chceme zapísať špeciálny znak:

Znak Popis Zástupné entity
  nedeliteľná medzera &nbsp; &#160;
< menšie než &lt; &#60;
> väčšie než &gt; &#62;
& ampersand &amp; &#38;
" dvojitá úvodzovka &quot; &#34;
' jednoduchá úvodzovka &apos; &#39;
¢ cent &cent; &#162;
£ libra &pound; &#163;
¥ jen &yen; &#165;
euro &euro; &#8364;
© copyright &copy; &#169;
® registrovaná známka &reg; &#174;
ochranná známka &trade; &#8482;

Kompletný zoznam všetkých takýchto značiek nájdeme napr. na Wikipédii.

SQL

Štruktúrovaný dopytovací jazyk SQL (Structured Query Language) sa používa na prácu s dátami uloženými v databázachumožňuje vyberať, upravovať aj ukladať dáta pomocou presne definovaných dopytov. Tabuľky v databáze majú stĺpce a riadky, podobne ako napr. tabuľky v Exceli. S týmto formátom sa v kurze zoznámime neskôr, keď budeme pracovať práve s databázami. Zatiaľ si ukážme len to, ako taký dátový súbor vyzerá. Ide o sériu príkazov INSERT, ktoré do databázy vložia jednotlivé riadky. Pre naše osoby by vyzeral SQL súbor nasledovne:

INSERT INTO people (name, surname, street, city, zip_code) VALUES
  ('John', 'Smith',  '31 Queen Street', 'Liverpool', 13),
  ('Jane', 'Davis',  '19 Park Avenue', 'Leeds', 28);

Nad príkazmi môže byť ešte kód na vytvorenie databázovej tabuľky a ďalšie nastavenia, môže vyzerať napr. takto:

CREATE TABLE IF NOT EXISTS people (
    id       SERIAL PRIMARY KEY,
    name     VARCHAR(50)  NOT NULL,
    surname  VARCHAR(50)  NOT NULL,
    street   VARCHAR(100) NOT NULL,
    city     VARCHAR(50)  NOT NULL,
    zip_code INTEGER      NOT NULL
);

VARCHAR a INTEGER sú dátové typy, ide o text (v zátvorke sa definuje maximálna dĺžka) a celé číslo.

V ďalšej lekcii, Databázy a tabuľky, sa oboznámime so základnou štruktúrou databázových tabuliek.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 258x (4.44 kB)

 

Predchádzajúci článok
Práca vo VS Code s CSV a JSON
Všetky články v sekcii
Úvod do dátovej analýzy a obchodného rozhodovania
Preskočiť článok
(neodporúčame)
Databázy a tabuľky
Článok pre vás napísal Jan Rypáček
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Jan Rypáček
Aktivity