Úvod do databázových systémů
Ing. Jan Šudřich
[email protected] 1.
Úvod do databázových systémů Cíl předmětu: • 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů
21.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů Referenční integrita Pokud z pole v tabulce vede odkaz do jiné tabulky, musí data, na která je odkazováno opravdu existovat.
25.
Úvod do databázových systémů 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.
Úvod do databázových systémů Transakce 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.
Úvod do databázových systémů Jak správně navrhnout databázi? 1. 2. 3. 4.
Zjištění požadavků od zadavatele (analýza) Definice entit a vlastností (analýza) E-R diagram (návrh) 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.
Úvod do databázových systémů 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.
Úvod do databázových systémů MS ACCESS 1. 2. 3. 4. 5. 6. 7. 8. 9.
Relační databáze s objektovými prvky Databáze pro malá řešení Možnost propojení s ORACLE, MS SQL SERVER Aktuální verze je 2010 Možnost vytvořit tzv. webovou databázi Nový tvůrce maker Možnost propojení s aplikací SharePoint Nové datové typy (pole více hodnot, datový typ příloha..) Vylepšená kontrola pravopisu
30.