Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz 1.
Cíl předmětu: Úvod do databázových systémů Poskytnutí informací o vývoji databázových systémů Seznámení s nejčastějšími databázovými systémy Vysvětlení používaných databázových pojmů Ukázka způsobu práce v systému MS Access Podmínky zápočtu 2.
Organizace dnešní výuky: Vývoj DB systémů v čase, modely, pojmy (65 minut) Seznámení s MS Access (25 minut) Společná práce v MS Access se vzorovými daty (90 minut) 3.
Aleš Kruczek: MS Office Access 2010 Podrobná uživatelská příručka, CP 2010 Slavoj Písek: Access 2010 Podrobný průvodce, Grada 2011 Josef Pecinovský: Excel a Access 2010 efektivní zpracování dat na počítači, Grada 2011 Adrew Oppel: Databáze bez předchozích znalostí, CP 2006 4.
Podmínky pro udělení zápočtu 1. Navrhnout nějakou malou databázi 2. Návrh databáze podložit E-R diagramem 3. Převést návrh v E-R diagramu do prostředku MS Access 4. Vytvořit dotaz, který bude zobrazovat data z obou tabulek 5. Vytvořit sestavu z vytvořeného dotazu 6. Vytvořit formulář z libovolné tabulky 5.
Vývoj databázových systémů v čase: Vznik prvních papírových kartoték Přechod z ručního zpracování dat na stroje První polovodiče - tranzistor Oddělení dat od programu, který je zpracovává Objevuje se poprvé pojem DBMS (česky SŘBD) Relační SŘBD Objektové SŘBD 6.
Systémy řízení báze dat SŘBD 1. Programy pro manipulaci s daty 2. Datové soubory Vše tvoří jeden celek! Jak k datům můžeme přistupovat? Přístup je možný jen prostřednictvím SŘBD 7.
Důvody pro zavedení SŘBD Nelze do dat zanést chybu Systém zaručuje dodržení přístupových práv k datům Umí data uložit na souborové systémy efektivně, umožňuje jejich kompresi a dekompresi Zajistí efektivní vyhledání pomocí optimálních algoritmů 8.
Druhy datových modelů: Hierarchický Síťový Objektový Relační Relačně-objektový Rozdělení je prováděno na základě databázové struktury 9.
Hierarchický model Data jsou organizována do stromové struktury. Každý záznam představuje uzel ve stromové struktuře, vzájemný vztah mezi záznamy je typu rodič/potomek. Použití hierarchického modelu je vhodné tam, kde i zájmová realita má hierarchickou strukturu. Nalezení dat v hierarchické databázi vyžaduje navigaci přes záznamy směrem dolů (potomek), nahoru (rodič) a do strany (další potomek). Nevýhody modelu: v některých případech nepřirozená organizace dat složité operace vkládání a rušení záznamů 10.
Síťový model Síťový model dat je v podstatě zobecněním hierarchického modelu dat, který doplňuje o mnohonásobné vztahy. Tyto vztahy jsou označovány jako C-množiny neboli Sets. Tyto sety propojují záznamy různého či stejného typu, přičemž spojení může být realizováno na jeden nebo více záznamů. Nevýhody modelu: obtížná změna jeho struktury 11.
Objektový model Vznikl na základě rozmachu objektově orientovaných programovacích jazyků. Data nejsou uložena ve formě tabulek ale do objektů, které mají stěnu z metod. Uvnitř objektu jsou data, stěna objektu tvoří metody, co s nimi lze dělat. Nevýhody modelu: Obtížná změna jeho struktury, náročnější na správu. Bohužel zatím nedošlo k jejich vyladění do podoby, aby je bylo možno použít jako náhradu za relační databáze. 12.
Relační model Jedná se o nejmladší databázový model, který popsal matematik Edgar Fred Codd. V roce 1948 se přestěhoval z Velké Británie do USA a s drobnou přestávkou pracoval v IBM. V roce 1970 popsal relační databázový model. Definoval 12 pravidel pro relační datový model. V současnosti je tento model pro svou jednoduchost používán ve většině komerčních SŘBD. Výhoda: Jazyk SQL 13.
Definice pojmu data Jedná se o údaje, které o daném objektu něco vypovídají. Musí mít nějaký informační smysl. Není vůbec rozhodující v jaké jsou formě (tabulky, grafy..). Data jsou rozdělena na atributy, můžeme tím porozumět vlastnosti objektu (entity), o které vypovídají. 14.
Definice pojmu záznam - record Někdy bývá označován pojmem databázová věta, anglicky také record. Jedná se o zápis v databázi o jedné konkrétní entitě. Příklad (kniha): 1. Název 2. Autor 3. Nakladatelství 4. Rok vydání 5. Edice Souhrn těchto údajů tvoří v databázi jeden záznam 15.
Definice pojmu datový typ Každá položka v databázi musí mít definovaný datový typ Jedná se typ údaje, který v databázi uchováván: Textový typ - obyčejný textový vstup. Číselné typy- pro uložení celých a reálných čísel s pevnou i plovoucí desetinnou tečkou. Logický typ - slouží k uložení logické hodnoty (True/False, Yes/No). Memo - pro uložení textu měnící se délky. Nepleťte prosím s textovým typem. Datumový typ - pro uložení datumu nebo datumu a času. 16.
Relační model Obecné operace pro relační model: SELEKCE výběr řádků PROJEKCE výběr sloupců SPOJENÍ spojení řádků z více tabulek na základě stejné hodnoty Výběrem vlastnosti-sloupce (projekce) a hodnoty-řádku (selekce) jsou nalezeny sloupce, které odpovídají podmínce. 17.
Relační model Struktura je dána jednoduchou tabulkou. Tabulka se skládá z řádků a sloupců. Operace pro práci se záznamy, kterými jsou: CREATE INSERT UPDATE DELETE SELECT probíhají výhradně na těchto tabulkách. Řádky tvoří jednotlivé záznamy. Sloupce jsou vlastnosti, které zapisujeme do databáze. 18.
Rozdělení databází podle rozsahu 1. Databáze pro osobní potřebu 2. Rozsáhlá firemní řešení databázových potřeb 19.
Důležité pojmy spojené s relačními databázemi E-R Diagram Jedná se o základní zobrazení entit a vztahů mezi nimi (tzv. relací), proto relační. Entita je znázorněna obdélníčkem s názvem entity (podstatné jméno). Vztah je znázorněn kosočtvercem (sloveso). Atribut znázorněn u entity pomocí kroužku a jména atributu. 20.
21.
Relace Relace je vztah mezi dvěma tabulkami. Pomocí relací můžeme vyjádřit vztah mezi entitami. Relace 1:1 jeden záznam v tabulce jedné entity, odpovídá přesně jednomu záznamu v tabulce druhé entity. Relace 1:N jeden záznam v tabulce jedné entity, odpovídá více záznamům v tabulce druhé entity. Relace M:N více záznamů v tabulce jedné entity, odpovídá více záznamům v tabulce druhé entity. 22.
Integrita databáze Data v databázi musí splňovat tzv. "integritní omezení". Nelze zadat data nesmyslná, neodpovídající nadefinovaným datovým typům. Pokud dojde k výmazu jedné hodnoty, na kterou jsou vázány jiné, dojde k odmazání i těchto hodnot. Integrita je ověřována při příkazu update a její ověření provádí SŘBD. 23.
Integritní omezení Nejčastěji je definuje uživatel při návrhu databáze. Například do textového údaje nelze vyplnit číselnou hodnotu, nebo omezení rozsahu zadávaných hodnot. Například známka musí být v rozsahu 1 až 5, jiné zadání je zjevně nesmyslné. Zvláštním typem integritního omezení je unikátnost hodnot. Obvykle je vyžadována při aplikaci "tzv. primárního klíče". Tj. například ID záznamu, které je pro každý záznam unikátní. 24.
Referenční integrita Pokud z pole v tabulce vede odkaz do jiné tabulky, musí data, na která je odkazováno opravdu existovat. 25.
Funkce klíče Primární klíč Primární klíč zajišťuje stav, kdy je každý řádek tabulky jednoznačně identifikovaný. Nejlepší je používat nějaký identifikátor (ID), nebo údaj, který řádek identifikuje. Není možné mít v tabulce dva řádky se stejnou hodnotou v primárním klíči. Vlastní klíč Klíč, který je vytvořen na vlastní tabulce. Cizí klíč Klíč, který je v cizí tabulce a je to odkaz z hlavní tabulky. 26.
Transakce Úvod do databázových systémů Transakce je operace, která se provede jako celek, nebo se neprovede vůbec a je odrolována. To je velmi důležitá vlastnost, pokud nedojde k potvrzení celé akce, je akce jakoby odmazána a data vrácena zpět. 27.
Jak správně navrhnout databázi? 1. Zjištění požadavků od zadavatele (analýza) 2. Definice entit a vlastností (analýza) 3. E-R diagram (návrh) 4. Převedení do vhodného databázového prostředí (implementace) 5. Tvorba dotazů na data, která zajímají zákazníka (implementace) 6. Tvorba sestav z dotazů (implementace návrhu) 7. Údržba databázového systému, administrace atd. (rutinní provoz) 28.
Praktické využití relačních databázových systémů: Pro potřeby řešení vztahů se zákazníky - CRM systémy: Oracle Siebel CRM Oracle CRM OnDemand Microsoft Dynamics CRM 2011 On Premise Microsoft Dynamics CRM 2011 Online Cíle: Zaznamenání zájmu zákazníka, nákupní zvyklosti Uchování informací o zákazníkovi, společnosti Vedení kampaní Poprodejní servis 29.
MS ACCESS Úvod do databázových systémů 1. Relační databáze s objektovými prvky 2. Databáze pro malá řešení 3. Možnost propojení s ORACLE, MS SQL SERVER 4. Aktuální verze je 2010 5. Možnost vytvořit tzv. webovou databázi 6. Nový tvůrce maker 7. Možnost propojení s aplikací SharePoint 8. Nové datové typy (pole více hodnot, datový typ příloha..) 9. Vylepšená kontrola pravopisu 30.