Řízení databáze – SQL
Pro řízení relačních databází byl vyvinut „Structured Query Language“ (SQL), který má části:
– jazyk pro definici datových struktur (Data Definition Language – DDL)
– jazyk pro manipulaci s daty (Data Manipulation Language – DML)
– jazyk pro řízení databáze (Data Control Language – DCL)
SQL
– definice dat (ve smyslu základních relací odpovídajících relačnímu schématu) a jejich aktualizace – příkazy jazyka typu DDL
– výběry a aktualizace dat – příkazy jazyka typu DML
– přidělování přístupových práv, potvrzování změn v databázi – jazyk DCL
Data Definition Language (DDL)
– vytvoření tabulky (CREATE TABLE)
– změna struktury tabulky (ALTER TABLE)
– zrušení tabulky (DROP TABLE)
ð návrhové zobrazení tabulky
Datové typy
– textové – CHAR (n), VARCHAR (n)
– číselné – SMALLINT, LONGINT, INTEGER, FLOAT, REAL, DECIMAL (m, n)
– datové – DATE, TIME, DATETIME, TIMESTAMP
– speciální – obrázky, soubory…
Naplňování tabulek daty
Po vytvoření definic tabulek jsou tyto prázdné (bez dat) a je třeba do tabulek data vložit.
Příkazy: INSERT INTO – umožní vložit do jmenované tabulky a potřebných položek data.
Příklady:
INSERT INTO zákazník VALUES („123456“; „Jan“; „Novák“);
INSERT INTO objednávka (kod_obj, kod_zak) VALUE („545467“; „123456“)
Pokud dojde k chybě při vkládání, je nutno opravit v návrhovém zobrazení.
V návrhovém zobrazení vložíme do tabulky údaje (volba otevřít, dvojklik na objekt tabulka)
V praxi se často plní databáze:
a) pomocí formulářů – vkládáme jednotlivé záznamy
b) ze souborů pořízeným prostřednictvím jiné aplikace – větší objemy dat
Dotazy – SQL
– návrhového zobrazení – není standardním prostředím databázových systémů
– MS Access – menu – volba „Dotazy“
– příkazy SQL – jednoduchá syntaxe
– MS Access – menu „Zobrazit“ – volby: Návrhové zobrazení, SQL, Datový list (výsledek dotazu – data, která jsou výsledkem dotazu)
Práva uživatelům a skupinám = Menu: Nástroje – Zabezpečení – Práva uživatelů a skupin
ER diagram – Knihovna
„Exemplář“ je kus knihy (kopie) v knihovně, „kniha“ je druh knihy (ISBN, Autor, Titul).
„Čtenář“ má vypůjčeno (záznam) nebo má záznam (rezervace).
Jeden čtenář může mít více záznamů, může mít půjčeno i více exemplářů
Získání celé tabulky
SELECT Isbn, inv_č, d_nákupu, cena, země_vydání
FROM Exemplář
Zjednodušení: SELECT * FROM Exemplář
Projekce (výběr sloupců x restrikce = výběr řádků)
SELECT Země_vydání FROM Exemplář;
SELECT DISTINCT Země_vydání (bude pouze jednou) FROM Exemplář
(DISTINCT omezí duplicity – vybraný údaj se bude vyskytovat pouze jednou)
Vypočítaná položka
SELECT Isbn, Inv_č., D_nákupu, Cena, Cena/1.05 AS bez_DPH, Země_vydání
FROM Exemplář
Selekce (restrikce = výběr řádku)
SELECT * FROM Exemplář WHERE Země_vydání = „GB“;
=; != nebo <>, <m <=, >, >=, AND, OR, NOT
SELECT * FROM Exemplář
WHERE Země_vydání = „GB“ OR Země_vydání = „USA“
Výčet hodnot: SELECT * FROM Exemplář, WHERE Země_vydání IN („GB“, „USA“)
Interval: SELECT * FROM Exemplář, WHERE Cena BETWEEN 300 AND 900
Výběr podle vzoru
SELECT * FROM Exemplář WHERE Země_vydání LIKE ´G%´;
=> vyber text začínající písmenem G
SELECT * FROM Exemplář WHERE Země_vydání LIKE ´G_´;
=> vyber text začínající písmenem G o dvou znacích (tedy GB)
SELECT * FROM Exemplář WHERE Země_vydání LIKE ´U_ _´;
=> vyber text začínající písmenem U o třech znacích
– platí tedy, že „%“ nahrazuje posloupnost znaků, „_“ nahrazuje jeden znak
– místo „LIKE“ lze napsat „NOT LIKE“ (tedy „není podobné“) = negace LIKE
– je umožněna proměnná délka řetězce textu
Test prázdné hodnoty
SELECT * FROM Exemplář WHERE Země_vydání IS NULL;
=> položka „hodnota atributu“ není vyplněna (NULL není „0“, není „ “…)
SELECT * FROM Exemplář WHERE Země_vydání IS NOT NULL;
=> položka „hodnota atributu“ je vyplněna
Řazení
SELECT * FROM Exemplář ORDER BY Cena;
=> seřadit vše z hodnoty „Exemplář“ podle ceny
SELECT * FROM Exemplář ORDER BY Cena Desc;
=> seřadit vše z hodnoty „Exemplář“ podle ceny sestupně (descending)
=> pokud chce uživatel seřadit vzestupně (Asc) = není nutné zadávat
SELECT * FROM Exemplář ORDER BY Země_vydání, Cena
=> seřadit vzestupně podle země vydání, dále podle ceny
Principy vyhodnocování (časová posloupnost)
- FROM – najde a vybere tabulku (tabulky)
- ORDER BY – setřídí vybrané řádky
- SELECT – vybere požadované sloupce
Agregované funkce
COUNT = počet hodnot ve sloupci (počet řádků)
SUM = součet hodnot ve sloupci
AVG = průměr hodnot z daného sloupce
MIN = minimální hodnota
MAX = maximální hodnota
SELECT COUNT(*) AS z_GB FROM Exemplář WHERE Země_vydání = ´GB´
=> kolik exemplářů bylo vydáno ve Velké Británii
SELECT COUNT(DISTINCT Země_vydání) AS různých zemí FROM Exemplář
=> z kolika zemí jsou exempláře (v kolika zemích celkem) – odstraní duplicity
SELECT SUM(CENA) AS za_kolik_z_GB FROM Exemplář WHERE Země_vydání = ´GB´
=> sečte cenu všech exemplářů z Velké Británie
Seskupování
SELECT COUNT (Inv_č), SUM(Cena) AS celkem, Země_vydání FROM Exemplář GROUP BY Země_vydání ORDER BY Země_vydání
=> vytvoří souhrn hodnot knih z jednotlivých zemí
SELECT COUNT (Inv_č), SUM(Cena) AS celkem, Země_vydání FROM Exemplář GROUP BY Země_vydání HAVING COUNT (Inv_č) > 2 ORDER BY Země_vydání
=> skupina má více než dva členy
Agregované funkce ve vnořeném selektu
Vypiš zaměstnance, kteří mají nadprůměrný plat a uveď o kolik:
SELECT Číslo_zam, Jméno, Funkce, Plat – (SELECT AVG(Plat) FROM Zaměst) AS nad_průměr FROM Zaměst WHERE plat > (SELECT AVG(Plat) FROM Zaměst);
ORDER BY nesmí být ve vnořeném selektu použito
Vnořený SELECT musí obsahovat jméno jednoho sloupce nebo výraz (vyjma EXIST),
Jméno sloupce se vztahuje k tabulce uvedené ve vnořeném selektu,
Jestliže je vnořený selekt jedním ze dvou operandů, musí být uveden na pravé straně
Sjednocení
UNION – sjednocení dvou tabulek se stejnými sloupci
Najdi čísla čtenářů, kteří mají vypůjčené či rezervované knihy do 31.12.2003:
SELECT Č_čt FROM Výpůjčka WHERE D_zpět <´31.12.2003´ UNION SELECT Č_čt FROM Rezervace WHERE D_rez <´31.12.2003´;
INTERSECT – průnik
EXCEPT – rozdíl
Projekce, restrikce, průnik, sjednocení = základní operace s tabulkami v databázi
Spojení – SELECT přes více tabulek 1:N
Najdi čísla čtenářů a knihy, které mají vypůjčeny:
SELECT a,Č_čt, Inv_č FROM Čtenář a, Výpůjčka b WHERE a,Č_čt = b,Č_čt;
– FROM Čtenář a JOIN Výpůjčka b ON a,Č_čt = B,Č_čt;
– FROM Čtenář JOIN Výpůjčka USING Č_čt;
– FROM Čtenář NATURAL JOIN Výpůjčka
– nepoužije-li se WHERE, získá se kartézský součin pomocí JOIN
– vygenerovaný SQL = používá JOIN, nikoliv WHERE
Najdi čísla čtenářů a názvy knihy, které mají rezervovány.
SELECT a,Č_čt, Název FROM Čtenář a, Rezervace b, Kniha c WHERE a,Č_čt = b,Č_čt AND b,ISBN = c,ISBN
LEFT, RIGHT a FULL spojení
– zahrnuje i neporovnatelné řádky ze spojení (reakce na povinnou či nepovinnou vazbu)
SELECT a,* ,b,* FROM Čtenář a LEFT JOIN Výpůjčka b ON a,Č_čt = b,Č_čt
LEFT JOIN poskytne nejen ty čtenáře, ke kterým byla nalezena výpůjčka, a to každého tolikrát, kolik výpůjček mají, ale i ty čtenáře, kteří výpůjčku nemají. Hodnoty z Výpůjčky jsou NULL.
Obecně: LEFT JOIN připojí i ty řádky, které z levé (první) tabulky nemají v pravé (druhé) relaci (tabulce) odpovídající prvek (řádku).
– RIGHT JOIN – připojuje neporovnatelné řádky z pravé (druhé) tabulky
– FULL JOIN – připojuje neporovnané řádky jak z první tak ze druhé tabulky
Nulové hodnoty a tříúrovňová logika
Jakékoliv porovnání s null vrátí unknown
– například 5 < null nebo null < > null nebo null = null
Tříúrovňová logika s použitím hodnoty unknown:
– OR: (unknown or true) = true, (unknown or false) = unknown, (unknown or unknown) = unknown
– AND: (true and unknown) = unknown, (false and unknown) = false, (unknown and unknown) = unknown
– NOT: (not unknown) = unknown
Výsledek výroku klauzule where je považován za false pokud je vyhodnocen jako unknown.
Nulové hodnoty a agregační funkce
– suma všech půjček: SELECT SUM(castka) FROM pujcka
– tato formulace ignoruje nulové hodnoty
– výsledek je null, pokud ve sloupci není žádný nenulový záznam
– všechny agregační operace mimo COUNT(*) ignorují záznamy s nulovou hodnotou v agregovaných atributech
Jen jeden výskyt hodnoty:
SELECT DISTINCT Země_původu FROM Exemplář
DISTINCT – odlišný, jedinečný
Jeden výskyt hodnoty podle abecedy:
SELECT DISTINCT Země_původu FROM Exemplář ORDER BY Země_původu
Výběr jen několika řádků:
SELECT TOP 10 Cena, Země_původu FROM Exemplář
Setříděných prvních deset…:
SELECT TOP 10 Země_původu FROM Exemplář ORDER BY Země_původu
Horních 15 podle abecedy:
SELECT DISTINCT TOP 15 Země_původu FROM Exemplář ORDER BY Země_původu
Posledních 8 podle abecedy:
SELECT DISTINCT TOP 8 Země_pův FROM Exemplář ORDER BY Země_pův DESC
Principy vyhodnocování
- FROM – najde a vybere tabulku (tabulky)
- WHERE – vybere vyhotovující řádky
- ORDER BY – setřídí vybrané řádky
- SELECT – vybere požadované sloupce
DISTINCT – zahodí duplicitní řádky
TOP – ponechá jen několik prvních řádků
Shrnutí – otázky:
- SQL – základní prostředek pro práci s databází
- Členění – DDL, DML, DCL
- Část DDL – definice objektů, datové typy
- Část DML – dotazy
1. základní konstrukt SELECT – FROM
2. Restrikce (výběr řádek) a projekce (výběr sloupců) pomocí tohoto konstruktu
3. Řazení
4. Seskupování
Transakce
Transakce je logická jednotka zpracování dat, která se skládá z jednoho nebo více SQL příkazů provedených jedním uživatelem.
Transakce končí buď příkazem commit, tedy promítnutím změn do databáze, nebo rollbackem, vrácením databáze do původního stavu, resp. neprovedením změn naakumulovaných v průběhu transakce. Cílem tedy je, aby byly ostatními paralelně pracujícími uživateli vidět buď všechny změny, nebo žádná.
Rekonstrukce konzistentního stavu databáze
– například při výpadku proudu – všechny nepotvrzené commit transakce jsou zrušeny a databáze vrácena do původního stavu, kdy ani jedna z transakcí není neukončená
Autocommit
Většina databázových serverů dovoluje uživateli přepnout se do „autocommit“ neboli „unchained“ módu, kdy je každý SQL příkaz implicitně okamžitě potvrzen jako commit (změna je uložena na disk).
Paralelní přístup více uživatelů – krátkou transakci je vhodné pro zvýšení celkového výkonu serveru ošetřit vestavěným mechanismem správy násobných verzí dat raději než uzamčením celé tabulky či části databáze.
COMMIT
Příkaz pro potvrzení změn provedených v aktuální transakci
COMMIT[WORK] [COMMENT ´text´]
WORK – nepovinné slovo; COMMENT – komentář
ROLLBACK
Příkaz pro odvolání změn provedených v aktuální transakci
ROLLBACK [WORK] [TO[SAVEPOINT] savepoint_work]
savepoint_work – identifikátor označující pozici v aktuální transakci, po kterou mají být změny odvolány
Práva uživatelů
GRANT – umožňuje přiřadit či změnit oprávnění:
GRANT{SELECT|UPDATE} TO uživatel | PUBLIC
REVOKE – pomocí příkazu REVOKE lze odebrat oprávnění uživateli:
REVOKE systémové_právo FROM uživatel |PUBLIC ;
Uživatelská práva v Accessu – menu: Nástroje- Zabezpečení – Práva uživatelů a skupin
Úvod do informačních systémů
Co jsou to informační systémy
– poskytují informační služby – funkce IS
– je nutné zajistit informační zdroje (tedy data)
– následuje transformace dat (prostřednictvím procedur s daty)
Co zajímá běžného uživatele? => informační služby
Informační služby nejsou v kompetenci IT profesionálů. Zajištění zdrojů a transformace dat již je v kompetenci IT profesionálů.
Jaké požadujeme informační služby
– co chceme
– kdy a kde to chceme
– jak mají vypadat konkrétní odpovědi systému
– forma poskytnutých informací
Jaká mohou být data
– strukturovaná – ceníky, evidence skladu, jízdný řády…
– nestrukturovaná – struktury, smlouvy, fotografie, hlasové záznamy…
HCI = human computer interface = možnost například uložení dat v hlasové podobě…
Historie informačních systémů
– poslové, papír a tužka
– podniková organizační struktura (kartotéka, účetní knihy…)
– hromadné zpracování dat (60. léta – velké počítače)
– informační systémy pro řízení (70. léta – PC, workstation)
– strategické informační systémy (80. léta – user friendly)
Informační technologie
Informační technologie = všechny prostředky, kterých se využívá k pořízení, uchování, zpracování, prezentaci a přenosu dat.
Prostředky lze zhruba rozdělit na:
– technické prostředky (hardware)
– programové prostředky
V dnešní době je možné přijmout i jiné pohledy (například oddělení komunikačních technologií…).
Vztah informačních systémů a informačních technologií
– v současné době se klade důraz na vyvážený přístup k rozvoji IS a IT
– informační strategie (součástí vrcholového řízení firmy jsou i informatici)
Architektura informačního systému
– grafické a písemné vyjádření celkové koncepční představy informačního systému, které v sobě zahrnuje představy o:
– struktuře IS v návaznosti na organizační struktury organizace
– funkcích, které bude IS zabezpečovat v návaznosti na procesy organizaci
– provozu a bezpečnosti celého systému
– vazbách IS na okolí
– vedle celkové architektury IS se obvykle uvádí dílčí architektury, které navrhují a zajišťují různí specialisté
– funkční a procesní architektura (podílí se i uživatelé)
– datová architektura (podílí se částečně uživatelé)
– architektura programových prostředků (práce výhradně IT specialistů)
– architektura technických prostředků (práce IT specialistů)
– technologická architektura (IT specialisté, případně trochu uživatelé)
Obecné schéma architektury IS/IT
Strategický řízení => Vrcholový management
Taktické řízení => Střední – taktický management
Operativní řízení => Operativní management, řadoví pracovníci
(realizace rutinních výkonů (výrobní i administrativní)
– výroba, služby, obchod…)
Úrovně řízení z informačního pohledu
EIS – ředitelé, náměstci… – informační podpora strategického řízení
MIS – vedoucí odborů, útvarů… – informační podpora taktického řízení
TPS – mistři, vedoucí kolektivů – podpora rutinních činností (transakční zpracování dat)
EIS – executive IS, MIS – management IS, TPS – transaction processing systems
Typy úloh v informačních systémech
EIS – Executive Information Systém
– podpora globálních a strategických rozhodnutí
– využívá všech dostupných informačních zdrojů z nižších úrovní IS
– modelování analytických a rozhodovacích procesů
MIS – Management Information Systém
– systém činností vytvořených za účelem shromažďování, analýzy a vyhodnocování informací zbytných pro kvalitnější plánování, organizování, řízení a kontrolu marketingových aktivit
– taktická úroveň řízení
– okruhy činností: marketingové a logistické, finančně účetní, personální a kvalifikační
– opírají se o datovou základnu tvořenou v TPS
TPS – Transaction Processing Systém
– informační podpora výrobních činností a služeb
– vzniká zde převážná část prvotních dat
OIS – Office Information Systém
– podpora kancelářských činností, výměna dokumentů…
EDI – Electronic Data Interchange; DSS – Decision Support Systém; KWS – Knowledge Work Systems; CIS – Customer Information Systém, RIS – Reservation Information Systém, GIS – Geographical Information Systém, CAD – Computer Aided Design; CAM – Computer Aided Manufacturing
Zdroje informací
Vnitřní zdroje
– informace, které má firma k dispozici nebo si je sama zjišťuje
– informace z účetnictví, statistických evidencí, ekonomických rozborů
Vnější informace
– informace, které nejsou pro firmy běžně dostupné a je potřeba je získat
– informace získané ze statistických přehledů, články z odborných časopisů, z výzkumu…
– čím vyšší je úroveň řízení, tím je více vnějších zdrojů informací (EIS = nejvíce)
Primární a sekundární informace
Primární informace
– informace získané speciálně pro potřeby a využití v marketingu
Sekundární informace
– informace byly vytvořeny pro jiné účely než pro potřeby marketingu a jejich vypovídající schopnost není taková, jako u primárních informací
Definice informačního systému
Informační systém (IS) je uspořádaný souhrn prvků a činností, spolu s jejich vlastnostmi a vztahy, který transformací dat vytváří informace pro uživatele.
Informační systém představuje uspořádaný soubor lidí, technických prostředků a metod zabezpečující sběr, přenos, uchování a zpracování dat za účelem tvorby a prezentace informací pro potřeby uživatelů činných v systémech řízení.
Informační infrastruktura
Informační infrastruktura je prostředím pro rozvoj IS/IT v podniku a její úroveň je dána úrovní jejich jednotlivých komponent a vždy by měla trvale předbíhat současný stav.
Komponenty informační infrastruktury jsou:
IS=HW+SW+DW+PW+OW
HW (hardware) je výkonná výpočetní a komunikační technika. SW (software) je vhodné programové vybavení. DW (dataware) jsou správná data. PW (peopleware) jsou informačně gramotní pracovníci. OW (orgware) je vhodná a správná organizace IS/IT.
Současné trendy IS/IT
– totální digitalizace (převádění dat do elektronické podoby)
– od dat k informacím resp. znalostem
– integrace / komunikace horizontální (na úrovni podniku), vertikální (například od vlády k podniku), interní, externí
– důraz na rozvoj informační infrastruktury
– re-engineering procesů
– dodavatelské řešení / outsourcing
Se zvyšující se úrovní řízení roste neurčitost i význam rozhodnutí.
Vlastnosti TS a MIS
Manažerské informační systémy – poskytují model chování systému tj.
– práci s agregátními ukazateli
– selektivní přístup k operačním datům
– sledování trendů
– analýzu struktur a jejich vývoj, analýzu souvislostí
– kontrolu signálních hodnot
– what if analýzu
Požaduje se flexibilita, univerzálnost, intuitivní ovládání, personalizace…
Transakční systémy – poskytují model stavu systému
Požaduje se vysoká rychlost odezvy, velká kapacita, integrita a konsistence dat.
Funkční architektura ISP
Internet = veřejná síť
Intranet = vnitřní síť
Extra net = vnitřní síť + odběratelé…
McFarlanova aplikační struktura ISP z roku 2001
|
Strategické |
Potenciální |
budoucnost |
Aplikace, které jsou kritické pro dosažení cílů společnosti – např. marketingový IS, manažerské IS, finanční analýza… | Aplikace, které mohou být důležité pro dosažení cílů společnosti, např. expertní systémy, elektronické prototypy, EDI apod. |
|
Klíčové |
Podpůrné |
současnost |
Aplikace, které jsou kritické pro chod společnosti, např. saldokonto, kalkulace, řízení výroby, skladů… | Aplikace, které jsou důležité, ale ne kritické pro chod společnosti, např. účetnictví, elektronická pošta… |
|
nutnost |
možnost |
V dnešní době, to co je v budoucnosti – už je dnešní současnosti, možnost se stává nutností (vyjma expertních systémů).
Členění aplikací IS/IT dle užití
– pro řízení technologických procesů – process automation
– pro jednotlivé funkční oblasti podniku – departmental systems
– pro automatizaci kancelářských prací, interní a externí komunikace – office automation
– pro řízení informatiky v podniku – metainformation systém
Vrstvená architektura
- vrstva technologická, kterou rozumíme vymezení jednotlivých komponent IT, zejména technických prostředků, základního SW (operační a databázové systémy) a jejich vnitřní struktura a vzájemné vazby
- vrstva aplikační, do které zahrnujeme veškerý aplikační SW jeho funkční a datovou specifikaci), provozované i řešené projekty a jejich dokumentaci
- vrstva prostředí (uživatelská), zahrnující podnikatelské prostředí, organizační strukturu podniku a jeho procesy, lidské zdroje (jejich kvalifikaci, motivaci a zkušenosti s používáním IT)
Vrstva technologická je jádrem, další vrstvou je vrstva aplikační a další vrstva prostředí. Mezi jednotlivými vrstvami je nutné rozhraní (interface). Mezi vrstvou technologickou a aplikační je důležitá kompatibilita.
Současné problémy dat
Velký podíl (až 90 %) dat vyměňovaných v rámci podniků nebo mezi nimi tvoří nikoliv data s přesně (a explicitně) popsanou pevnou strukturou, ale semistrukturovaná data a dokumenty:
– faktury, objednávky
– dotazníky, marketingové materiály, katalogy (zboží)
– webové prezentace…
Semistrukturovaná data jsou definována jako data, která jsou neuspořádaná či neúplná, jejich struktura se může měnit, dokonce nepredikovatelným způsobem.
Problémy dat a komunikačních technologií
Rutinní používání globálních sítí: potřeba najít intuitivní, otevřený, volně přístupný a jednoduchý standard lidsky čitelných a strojově zpracovatelných dat, přenositelné a zpracovatelné stávající síťovou infrastrukturou (protokoly, www servery, prohlížeče…).
Stávající HTML formát nevyhovuje (omezen na specifikaci formátování dokumentu pro prezentaci).
Definice pojmu EDI (Electronic Data Interchange)
EDI je způsob mezifiremní komunikace, jedná se o elektronickou výměnu předdefinovaných zpráv mezi aplikacemi bez manuálního zásahu partnerů, jedná se o možný základ elektronického obchodu.
Jiné způsoby elektronické výměny dat
– email či fax
– nejedná se o EDI v pravém smyslu slova
– přenášejí se nestrukturované informace
– nepoužívají se předdefinované a standardizované formáty
– nepodporují výměnu počítač-počítač, IS-IS
Standardy EDI
– definují se pro hardware, software, komunikaci, data
– datové standardy existují ve formě sborníků
Sborníky datových prvků
– pro obchod UNTED (United Nations Trade Data Elements Directory)
– UN/EDIFACT (United Nation / Electronic Data Interchange for Administration, Commerce and Transport)
– ODETTE v automobilovém průmyslu
– SWIFT (BIC) v bankovnictví (Society for Worldwide Interbank Financial Telecommunication, Bank Identifier Code)
VAN (Value Added Networks)
– privátní sítě s přidanou hodnotou
– záruky za dopravu nezkreslené informace, zálohování a archivace zpráv
– vystupování jako třetí nezávislá strana v případných sporech partnerů…
Problémy implementace EDI
– záležitost technologická (technické vybavení)
– záležitost organizační (vše je evidováno, sekretářka nemůže podepsat pana ředitele…)
– záležitost ekonomická
– záležitost legislativní (neexistuje vhodný legislativní rámec)
Přínosy EDI
– integrace zákazníků, dodavatelů, dopravců a bank ovlivňuje rozvoj elektronického obchodu
– zrychlení obchodního cyklu (nabídka – objednávka – potvrzení objednávky – faktura)
– snížení dodací lhůt (urychlení celního odbavení, snížení čekací doby na překladištích…)
– snížení nákladů na poštovné, zrychlení platebního styku
– snížení chybovosti (opakovaný vstup dat je potencionální zdroj chyb)
– schopnost přijímat nové techniky jako například Just In Time (snížení úrovně zásob)
XML – eXtensible Markup Language
– východiskem z mnoha problémů je XML, jedná se o rozšířený značkovací jazyk
– start: leden 1998 – konsorcium W3C ustavilo základní standard XML 1.0
– XML je standard, jak tvořit vlastní značkovací jazyky pro výměnu, ukládání, zpracování a prezentaci dat (příslušná aplikační doména si definuje jazyk – formát – specifický pro danou problémovou oblast)
– XML umožňuje definovat flexibilní, přitom ale dobře rozpoznatelné a zpracovatelné struktury dat (dokumentů)
Použitelnost XML
– XML je od počátku použitelný pro dokumenty v různých národních jazycích a kódováních
– konceptuálně vychází ze SGML (Structured Generalized Markup Language)
– příbuzný s HTML (Hyper Text Markup Language) => vhodný pro výměnu dat na internetu
– významné aplikace XML – věda, výzkum, technické obory, například:
– přírodní vědy (značkovací jazyk pro zápis vzorců v matematice – MathML, chemii…)
– humanitní vědy (např. genealogický ML)
– technické obory (například technická grafika)
– informační systémy (např. modelovací jazyk XMI)
– komunikace (např. WML – Wireless Markup Language)
Struktura XML dat
– XML data jsou semistrukturovaná – struktura může být dána
– explicitně (např. DTD nebo Schematem – vně nebo přímo uvnitř dokumentu)
– implicitně (přímo strukturou dokumentu)
– DTD (Document Type Definition, definice typu dokumentu) je jazyk pro popis struktury XML případně SGML dokumentu. Omezuje množinu přípustných dokumentů spadajících do daného typu nebo třídy. DTD tak například vymezuje jazyky HTML a XHTML.
– nejsou k dispozici žádné primitivní datové typy kromě typu #PCDATA (#PCDATA(parsed character data). ~ textové řetězce – String) pro textové obsahy elementů a hodnoty atributů.
– není žádná možnost vytvářet vlastní typy a neexistují žádné kolekce
– u hodnot atributů mohou být přípustné hodnoty stanovené výčtem (vč. default hodnoty)
– nelze definovat integritní omezení – až na odkazy IDREF, IDREFS, které se odkazují na primární klíč nějakého elementu
Dotazování nad XML daty (DML pro XML)
– dotazovací jazyky pro XML data:
– velký počet, není standard
– společné rysy
– značná vyjadřovací síla (minimálně srovnatelná s SQL)
– příbuzná syntaxe jako SQL
– často doplněno o prvky fulltextového vyhledávání
– XML jako databáze => zcela nové problémové okruhy:
– efektivní ukládání, indexování, transformace…
Standard pro mikroplatby
– obvykle pro „per-fee-links“ a jiné drobné platby
– nelze použít jiných způsobů elektronického placení, nižší nároky na zabezpečení
– pracovní skupina při W3C
Standardy WAP a WML pro mobilní komunikaci
– cílem je přizpůsobit internetové technologie možnostem mobilních zařízení
– elektrický organizér, handheld, palmtop, mobilní telefon
– standard WML (Wireless Markup Language) – jazyk typu XML
– jazyk WML Script (obdoba JavaScriptu)
– protokol WAP (Wireless Application Protocol)
VoiceXML – jazyk popisu hlasové informace
– vytvořen společnostmi AT&T, IBM, Lucent Technologies, Motorola, Intel
– přijat jako standard VoiceXML 1.0 konsorciem W3C
– cílem je vytvoření obsáhlé platformy značkovacích jazyků pro dialogy, gramatiky přirozených jazyků, syntézu řeči, sémantiku přirozených jazyků, multimodální dialogy a množinu standardizovaných znovupoužitelných dialogů
– integrované informační služby (portály) na bázi XML – využívají XHTML, WML, VoiceXML…
Problémy XML
1. bezpečnost
– standard XML 1.0 nedefinuje žádné prostředky pro zajištění bezpečnostní funkcionality (integritu, důvěrnost, možnost vzájemného ověření totožnosti odesílatele a příjemce…)
– bezpečnost se řeší na jiných aplikačních úrovních (například SSL)
– to ale nezajišťuje „pokročilejší“ bezpečnostní služby
– je možné využít některých dílčích standardů pro zabezpečení XML dat – např. elektronického podpisu části nebo celých dokumentů ve formátu XML
Problémy XML – bezpečnost
Standard XML 1.0 nedefinuje žádné prostředky pro zajištění základní bezpečnostní funkcionality (integritu, důvěrnost, možnost vzájemného ověření totožnosti odesílatele a příjemce…). Bezpečnost se řeší na jiných aplikačních úrovních (například. SSL)
XML se díky jednoduchosti a otevřenosti stane klíčovou součástí většiny aplikací, kde jde o výměnu dat mezi nezávislými systémy různých výrobců – zdaleka ne jen na Internetu.
Klíčovou vlastností nastupujících informačních systémů budovaných na bázi XML bude především schopnost zvládnout poskytování mnohostranných informačních služebna celé řadě úrovní, ať už horizontálních (web, WAP) nebo vertikální (B2B, B2C, middleware).
Middleware je technologický software zabezpečující komunikaci mezi bázemi dat, servery…
Vývoj databázových modelů
– síťový, hierarchický (60. léta) – SŘBD – síťové, hierarchické
– relační (70. léta) – SŘBD – relační
– objektový, multidimenzionální, objektově-relační (90. léta) – SŘBD relační, data warehouse, objektově-relační
– od roku 2000 – nástup XML