Relan databze na pkladu aplikace Microsoft Access Dana
Relační databáze na příkladu aplikace Microsoft Access Dana Nejedlová Katedra informatiky EF TUL 1
Základní informace o Microsoft Office Access l Program pro správu relačních databází l Relational database management system (RDBMS) l l l Existence alternativních řešení (No. SQL databáze pro big data) viz Přednáška na téma Aplikovaná informatika, snímky „Trendy datových skladů“ a „Vývojové směry v BI“. Vhodný pro l l l osobní potřebu jednotlivých lidí malé podniky oddělení velkých podniků l l Systém řízení báze dat (SŘBD) pro relační databáze jako klient jiných databázových programů Nevhodný pro l Client-Server aplikace s velkým počtem přístupů do společné databáze l Potom je nutné zvolit například RDBMS Oracle nebo Microsoft SQL Server s daty umístěnými na serveru. § § § Na serveru mohou být uloženy větší databáze než v MS Access. Na server jsou posílány klientskými aplikacemi databázové dotazy a ze serveru jsou posílány jejich výsledky. https: //support. office. com/en-us/article/ways-to-share-an-access-desktop 2 database-03822632 -da 43 -4 d 8 f-ba 2 a-68 da 245 a 0446
Základní databázové pojmy – Relace l Relační databáze l l l databáze podle relačního modelu = databáze tvořená tabulkami (relace = tabulka) Relation (relace) l l Obsah databázové tabulky Vznik termínu viz l l https: //twobithistory. org/2017/12/29/codd-relational-model. html Relationship l Vztah mezi tabulkami l l https: //support. office. com/en-us/article/guide-to-tablerelationships-30446197 -4 fbe-457 b-b 992 -2 f 6 fb 812 b 58 f V české literatuře je často překládán jako „relace“. l https: //support. office. com/cscz/article/p%C 5%99%C 3%ADru%C 4%8 Dka-krelac%C 3%ADm-mezi-tabulkami-30446197 -4 fbe-457 b-b 9922 f 6 fb 812 b 58 f 3
Základní databázové pojmy – Tabulka Název Sloupec = Tabulka „Zákazník“ Řádek = záznam = record = datová věta sloupce atribut Jméno Adresa F Liberec, … P Praha, … Položka l l Z hlediska návrhu je tabulka tzv. entita. U entity rozlišujeme její typ a výskyt. l Typ entity (entity type) l l l objekt, kterému je věnována celá databázová tabulka například „Zákazník“ jako název tabulky a šablona pro jeho data Výskyt entity (instance of an entity type or entity type instance) l konkrétní datový řádek tabulky „Zákazník“, tedy data konkrétního zákazníka jako konkrétní hodnoty jeho atributů (vlastností v jednotlivých sloupcích tabulky) 4
Od tabulky k relační databázi l V aplikaci MS Excel jsme tvořili izolované tabulky. l l Například: Zákazník Výrobek Množství F POD 2 F BON 4 P POD 3 Tato tabulka vyjadřuje to, že si zákazník koupil výrobek. Zákazník i výrobek se může v tabulce opakovat. Jak evidovat adresy zákazníků a parametry výrobků? l l Přidáme do tabulky další sloupce. Takže v řádcích se stejným zákazníkem bude stejná adresa. Tím vznikne redundance neboli nadbytečnost dat. Oprava adresy by znamenala přepsání více řádků tabulky. l Co když některé řádky zapomeneme opravit? § Data potom budou nekonzistentní. 5
Návrh relační databáze l l Snaha o odstranění redundancí Jak? l Tabulky dat se rozkládají na více tabulek, aby data byla jen na jediném místě. l Adresy jsou například v tabulce zákazníků. § l MS Excel umí spravovat jednotlivou tabulku. l l Tabulka nákupů zákazníků se na ni odkazuje. vzorce, třídění, filtrování, grafy MS Access umí spravovat systém tabulek. l Kombinuje informace z více tabulek. 6
Vlastnosti relační databáze l Skládá se z jedné nebo více tabulek. l l Každý řádek v tabulce jako celek je jiný. l l Mezi tabulkami jsou nastaveny vztahy. To lze zajistit přidáním speciálního sloupečku nebo výběrem určitého sloupečku s jedinečným atributem, který se nazývá primární klíč. Referenční integrita l l l Konzistence mezi tabulkami Databázový program ji sám umí kontrolovat. Například l l l nejdříve je nutné dát zákazníka do tabulky zákazníků a potom teprve je možné dát záznam o objednávce od tohoto zákazníka do tabulky objednávek, není možné vymazat zákazníka z tabulky zákazníků, když má záznam v tabulce objednávek, není možné dát do tabulky zákazníků dva zákazníky se stejným primárním klíčem. 7
Primární klíče v databázi knihovny Primární klíč Jeden čtenář si může půjčit víc knížek zároveň, ale jednu knížku si nemůže půjčit víc čtenářů zároveň. Primární klíč zvaný Kompozitní klíč, protože se skládá z více atributů (sloupků) a zároveň Cizí klíč, protože se skládá z primárních klíčů v nadřízených tabulkách. l Proč je v tabulce „Výpůjčky“ nejvhodnějším primárním klíčem právě kombinace Inventárního čísla a Datumu výpůjčky? 8
Objekty databáze Microsoft Office Access l Vše se ukládá do jediného souboru „*. mdb“ nebo počínaje aplikací Access 2007 „. accdb“. 9
Tvorba databáze v aplikaci Microsoft Office Access l l Návrh tabulek a vztahů mezi nimi Import dat do tabulek nebo jejich ruční plnění Tvorba dotazů, formulářů a sestav Jednou vytvořený dotaz či sestava se automaticky aktualizují podle aktuálních dat ve zdrojových tabulkách, takže je stačí vytvořit jen jednou. 10
Příklad návrhu tabulky v aplikaci Microsoft Office Access l Návrhové zobrazení 11
Příklad návrhu tabulky v aplikaci Microsoft Office Access l Zobrazení datového listu 12
SQL l l l Structured Query Language Standardní jazyk pro správu relačních databází v SŘBD Byl navržen počátkem 70. let 20. století a používá se dodnes. Píší se v něm příkazy a SŘBD je vykonává. MS Access jej automaticky generuje podle akcí uživatele. 13
Databáze v MS Excel pomocí MS Query a Power Query l Volby v MS Excel 2003: Data l l l l Importovat externí data - Nový databázový dotaz Volby v MS Excel 2007 a 2010 Uživatel vybere tabulky a jejich sloupečky. Uživatel nastaví relace. Automaticky se vytvoří dotaz (query). Výsledek dotazu se uloží jako tabulka do Excelu a lze jej dodatečně upravovat. http: //office. microsoft. com/en-us/excel-help/usemicrosoft-query-to-retrieve-external-data. HA 010099664. aspx https: //support. office. com/cs-cz/article/%C 3%9 Avodk-Microsoft-Power-Query-pro-Excel-6 e 92 e 2 f 4 -20794 e 1 f-bad 5 -89 f 6269 cd 605 14
- Slides: 14