260 likes | 466 Views
„Úvod do databázových systémů“. Ing. Jan Šudřich j an.sudrich @mail.vsfs.cz. Úvod do databázových systémů. Cíl: Cílem je poskytnout studentům informaci o vývoji databázových systémů, základní pojmy z hlediska relačního modelu a seznámit je s prostředím MS ACCESS. Úvod do databázových systémů.
E N D
„Úvod do databázových systémů“ Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz
Úvod do databázových systémů • Cíl: • Cílem je poskytnout studentům informaci o vývoji databázových systémů, základní pojmy z hlediska relačního modelu a seznámit je s prostředím MS ACCESS.
Úvod do databázových systémů • Organizace dnešního dne: • Seznámení s vývojem databázových systémů (teorie). • Seznámení s osobním databázovým systémem MS ACCESS. • Samostatná práce v databázovém systému MS ACCESS s podporou učitele.
Úvod do databázových systémů • Literatura: • Písek S., Databáze v Accessu v rekordním čase, Praha: Grada Publishing, 2003. ISBN 80-247-0572-9. • Fikáček I., Rozehnal I., Access tvorba aplikací, podrobný průvodce programátora, Praha: Grada Publishing, 1999. ISBN 80-7169-420-7. • Kubálek T., Kubálková., Databázový systém Microsoft Office Access, verze 2007 CZ, Praha: Oeconomica, 2009. ISBN 978-80-245-1518-2. • Kruczek A., Microsoft Office Access 2007 : podrobná uživatelská příručka, Brno : Computer Press, 2007. ISBN 978-80-251-1608-1.
Úvod do databázových systémů • Podmínky pro udělení zápočtu • Navrhnout malou databázi pro osobní použití, která bude mít alespoň 2 tabulky, mezi nimiž bude nějaká relace (vazba). • Návrh databáze podložit v podobě E-R diagramu. • Převést návrh v E-R diagramu do prostředku MS Access. • Vytvořit dotaz, který bude zobrazovat data z obou tabulek. • Vytvořit sestavu z vytvořeného dotazu. • Vytvořit formulář z libovolné tabulky.
Úvod do databázových systémů • Vývoj databázových systémů v čase: • Vznik prvních papírových kartoték – operace prováděl přímo člověk, šlo určitým způsobem třídit informace podle různých kritérií. Nevýhodou byla možnost ztráty lístečků a dlouhá doba vyhledávání. • Přechod z ručního zpracování dat na stroje – souvisí s objevem děrnoštítkových strojů. Jako první velké strojové zpracování dat bývá uváděno zpracování voleb v USA v roce 1890. • Vynález tranzistoru a boom ve vývoji počítačů – jako první výpočetně náročné operace se objevovaly výpočty pro vojenské účely. Později se objevily i první systémy pro hromadné zpracování dat. Nevýhodou bylo, že data byla zpracovávána na jednom počítači, často do jednoho souboru, který nebyl použitelný pro odlišné databázové systémy. Jednalo se o tzv. „agendové zpracování“.
Úvod do databázových systémů • Vývoj databázových systémů v čase: • Oddělení dat od programu, který je zpracovává – Na počátku 60. let došlo k oddělení dat od programů, který je zpracovává. Důvodem bylo zefektivnění v používání dat více systémy a snadnější údržba systému. • Objevuje se poprvé pojem DBMS (česky SŘBD) – Došlo k tomu, že byl vybudován větší systém, který zahrnoval programovou podporu a data pod jednou střechou i když odděleně.
Úvod do databázových systémů • Systémy řízení báze dat – SŘBD, DBMS • Rozumí se tím spojení programů, které slouží k manipulaci + datové soubory. • Jedná se o soustavu programů, která umožňuje: • - organizování dat, • - efektivní správu dat, • - centrální popis dat, • - přístup k datům z různých aplikací, • - zabraňuje současné změně dat více uživateli. • Jak k datům můžeme přistupovat? • K datům je možné přistupovat výhradně jen přes SŘBD. Ten má svůj způsob jak s ním komunikovat. Nejběžnější způsob jak se SŘBD je prostřednictvím SQL. Jedná se o speciální jazyk, kdy se pomocí jednoduchých příkazů a jejich skládání můžeme dotazovat a získávat výsledky na své dotazy ze SŘBD.
Úvod do databázových systémů • Důvody pro zavedení SŘBD • Nelze do dat zanést chybu – SŘBD řídí přístup k datům sám. • 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.
Ú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í.
Ú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): • Název • Autor • Nakladatelství • Rok vydání • Edice • Souhrn těchto údajů tvoří v databázi jeden záznam
Ú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. • Na základě definice datového typu se pak kontrolují tzv. integritní omezení databáze.
Úvod do databázových systémů • Druhy datových modelů: • Hierarchický • Síťový • Relační • Objektový • Rozdělení je prováděno na základě databázové struktury
Ú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ů
Ú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
Ú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. • pes.barva....vrátí barvu objektu pes. • Často se objekty slučují do tříd, kdy mohou metody podědit ze svých tříd. Třída je typ objektu, který v sobě slučuje objekty stejných vlastností. • 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.
Ú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. V současnosti je tento model pro svou jednoduchost používán ve většině komerčních SŘBD.
Úvod do databázových systémů Relační model Struktura je dána jednoduchou tabulkou. Tabulka se skládá z řádků a sloupců. Veškeré operace, kterými jsou: CREATE INSERT UPDATE DELETE SELECT probíhají výhradně na těchto tabulkách. Řádkytvoří jednotlivé záznamy. Sloupce jsou vlastnosti, které zapisujeme do databáze.
Úvod do databázových systémů Rozdělení databází podle rozsahu Databáze pro osobní potřebu Osobní databáze, které nejsou obvykle využívány dalšími uživateli (jsou jednouživatelské), jsou malé rozsahem a nejsou náročné na souborový systém. K jejich vytvoření a využívání slouží obvykle nástroje balíku OFFICE. Často lze potkat databáze MS ACCESS, FOXPRO a FOXPRO for Windows. Rozsáhlá firemní řešení Jedná se o řešení, které se uplatňuje v podmínkách, kdy záleží na bezpečnosti dat, na ukončení probíhajících transakcí. Databázi pomocí softwarového klienta sdílí uživatel s ostatními uživateli. Typickými zástupci jsou ORACLE, INFORMIX,SAP. „Princip klient/server“
Úvod do databázových systémů • Pojmy, se kterými se potkáme v relačních databázích • 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. • E-R diagram by měl být výstupem z analýzy současného stavu u zadavatele. Je velmi výhodné E-R diagram namalovat a nechat si odsouhlasit zadavatelem, jinak se může stát, že celý databázový systém může být špatně navrhnut.
Úvod do databázových systémů Pojmy, se kterými se potkáme v relačních databázích Relace Relace je vztah mezi dvěma tabulkami. Pomocí relací můžeme vyjádřit vztah mezi entitami. Typy relací: Relace 1:1– tento typ relace znamená, že jeden záznam v tabulce jedné entity, odpovídá přesně jednomu záznamu v tabulce druhé entity. Relace 1:N– tento typ relace znamená, že jeden záznam v tabulce jedné entity, odpovídá více záznamům v tabulce druhé entity. Relace M:N– tento typ relace znamená, že více záznamů v tabulce jedné entity, odpovídá více záznamům v tabulce druhé entity.
Úvod do databázových systémů Pojmy, se kterými se potkáme v relačních databázích Integrita databáze Data v databázi splňují 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.
Úvod do databázových systémů Pojmy, se kterými se potkáme v relačních databázích 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í. Dalším zvláštním typem integritního omezení je tzv. referenční integrita. Pokud z pole v tabulce vede odkaz do jiné tabulky, musí data, na která je odkazováno opravdu existovat.
Úvod do databázových systémů Pojmy, se kterými se potkáme v relačních databázích 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.
Úvod do databázových systémů Pojmy, se kterými se potkáme v relačních databázích 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 z tzv. Rollback segmentu databáze.
Úvod do databázových systémů Jak správně navrhnout databázi? Zjištění požadavků od zadavatele (nejlépe zadavatelský list, nebo poznámky), pochopení požadavků. (fáze analýzy) Nalezení entit, jejich vlastností a znázornění do E-R diagramu. (fáze návrhu) Do E-R diagramu znázornit vztahy mezi entitami. (fáze návrhu) Převedení do vhodného databázového prostředí (ORACLE, MS ACCESS atd.). (implementace návrhu) Tvorba dotazů na data, která zajímají zákazníka. (implementace návrhu) Tvorba sestav z dotazů, které jsme si na základě požadavků zákazníka definovali. (implementace návrhu) Údržba databázového systému, administrace atd. (rutinní provoz)