1 / 95

DATABÁZOVÉ SYSTÉMY 01

DATABÁZOVÉ SYSTÉMY 01. MS Access. Fyzický model. Vysvětlení pojmu Je to, jakým způsobem je reálný svět vymodelován fyzický pomocí databáze Pojmy fyzického modelu Tabulka (table) Částečně odpovídá v logickém modelu pojme entita Sloupec (column) Odpovídá v logickém modelu pojmu atribut

dmitri
Download Presentation

DATABÁZOVÉ SYSTÉMY 01

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DATABÁZOVÉ SYSTÉMY 01 MS Access

  2. Fyzický model • Vysvětlení pojmu • Je to, jakým způsobem je reálný svět vymodelován fyzický pomocí databáze • Pojmy fyzického modelu • Tabulka (table) • Částečně odpovídá v logickém modelu pojme entita • Sloupec (column) • Odpovídá v logickém modelu pojmu atribut • Řádek nebo záznam (row, record) • Odpovídá v logickém modelu pojme n-tice

  3. Vztah ERD a relační model • Entita -> tabulka • Atribut -> sloupec tabulky Tabulka tedy má svůj název a minimálně jeden sloupec.

  4. E/R MODEL – fyzický model Název tabulky • Vypujcky Názvy sloupců tabulky Záhlaví tabulky Řádky – záznamy (rows, records) Tělo tabulky Hodnoty sloupce (values) Sloupce (columns)

  5. Prvky MS Access • Databáze • Tabulka • Dotaz • Formulář • Sestava

  6. Zdroje dat • Tabulka • Dotaz

  7. MS Access – vytvoření nové databáze

  8. Tabulka • Tabulka slouží k uchování informací o entitě • Do tabulky se vkládají řádky (=výskyty entity) • Na rozdíl od Excelu (nebo jiných tabulkových kalkulátorů) se během používání databáze nevkládají sloupce (ty jsou vytvořeny při návrhu databáze) • Každý sloupec musí mít definován datový typ (určující jaká informace bude v daném sloupci uložena – text, číslo, datum, obrázek…)

  9. MS Access – vytvoření první tabulky

  10. MS Access – vytvoření nové tabulky • Karta Vytvořit – ikonka – Tabulkaa dále jako na předchozím slidu

  11. Tabulka – návrhové zobrazení • Slouží pro detailní definici struktury tabulky • Pr.tl.m. nad konkrétní tabulkou – Návrhové zobrazení

  12. Datové typy sloupců • Text • Číslo • Měna • Datum/čas • ANO/NE • Objekt OLE • Hypertextový odkaz • Příloha • Průvodce s vyhledáním hodnoty

  13. Číslo • Velikost pole – celé číslo nebo desetinné • Formát – obecné číslo nebo pevný • Počet desetinných míst

  14. Nastavení sloupců • Formát – např. velké písmena textu • Velikost pole ve znacích • Definování pravidel zapisování • Záložka „Obecné“ -> „Ověřovací pravidlo“ • Záložka „Obecné“ -> „Ověřovací text“ • Výchozí hodnota • Záložka „Obecné“ -> „Výchozí hodnota“

  15. Primární klíč • Primární klíč se definuje na sloupci tabulky (nebo jako kombinace hodnot několika sloupců) • Primární klíč zajišťuje jedinečnou identifikaci každého výskytu entity (tzn. každého řádku) • Je důležitý pro práci s jednotlivými řádky – pro vyhledání jednoho konkrétního záznamu; zabraňuje uložení zdvojených záznamů do jedné tabulky

  16. Primární klíč • Realizace primárního klíče – vlastnost sloupce (skupiny sloupců) nastavená v databázovém systému (fyzicky se jedná o objekt „index“) • Velmi často se jako primární klíč používá uměle vytvořený sloupec (tzv. „ID“), do kterého se ukládá číselná řada • Tím se eliminuje nutnost volby a dodržování jedinečné hodnoty atributů v tabulce. U některých atributů to ani není možné (např. jedinečnost jména a příjmení, ale i rodné číslo, které by mělo být jedinečné, není na 100 % jedinečné…)

  17. Primární klíč Kolik primárních klíčů můžeme definovat na jedné tabulce? POUZE JEDEN (Může být i složený z více položek)

  18. Alternativní klíč (Alter key AK) • sloupec v tabulce, pomocí kterého také můžeme jednoznačně identifikovat záznam (stejně jako PK) • Na rozdíl od PK však nese reálnou hodnotu (např. RZ_vozidla) • Může být libovolného datového typu

  19. Cizí klíč (Foreign key FK) • Je to primární klíč, který realizuje vazbu do jiné tabulky. má a02kancelar a02id PK a02cislo a02patro … a01zamestnanec a01id PK a02id FK a01rc a01jmeno a01prijmeni a01ulice a01mesto …

  20. Relace v ERD • Relace = vztah • Kardinalita relace: 1:1, 1:N, M:N • M:N nelze realizovat -> nutné upravit na relace 1:N s využitím „spojovací“ tabulky

  21. Relace • Zobrazení - karta Databázové nástroje – ikonka vztahy • Vytvoření relace „škola má třídy“ (nebo také „třídy patří škole“)

  22. Relace mezi dvěma tabulkama • Relace se vytváří v nástroji, který zobrazíme „Databázové nástroje“ -> „Vztahy“ (2007) • Velmi doporučuji vytvářet relace PŘED tím, než do tabulek začneme vkládat data • Před vytvářením relací také vytvořte primární klíče

  23. Relace • Spojíte-li dvě tabulky pomocí sloupců, kde na obou sloupcích je definován primární klíč, Access vytvoří automaticky relaci 1:1 • Spojíte-li dvě tabulky pomocí sloupců, kde pouze jeden z nich je definován jako primární klíč, vytvoří vazbu 1:N • U vazby 1:N můžeme zatrhnout vytvoření „cizího klíče“

  24. Relace v MS Access 2007 • Relace se vytváří v nástroji, který spustíme v nabídce „Databázové nástroje“ -> „Vztahy“ • Nástroj pro vytvoření relace vyžaduje exkluzivní přístup do tabulek (=tabulky NESMÍ být otevřeny v návrhovém režimu!!) • Před definováním relací vytvořte v tabulkách potřebné primární klíče • Doporučuji vytvářet relace PŘED tím, než do tabulek začnete vkládat data

  25. Relace • Spojíte-li dvě tabulky pomocí sloupců, kde na obou sloupcích je definován primární klíč, Access vytvoří automaticky relaci 1:1 • Spojíte-li dvě tabulky pomocí sloupců, kde pouze jeden z nich je definován jako primární klíč, vytvoří vazbu 1:N • Poznámka: U vazby 1:N můžeme zatrhnout vytvoření „cizího klíče“ (volbou „Zajistit referenční integritu“)

  26. Úprava relace

  27. Příklad –první tabulka • Vytvořte tabulku ODBERATELE s poli: • ID_ODBERATEL (automatické číslo) • NAZEV (text) • ICO (text) • ADRESA (text)

  28. Příklad – druhá tabulka • Vytvořte tabulku PRODEJ s poli: • ID_PRODEJ (automatické číslo) • ID_ODBERATEL (číslo) • NAZEV_ZBOZI (text) • DATUM (datum) • KUSY (číslo)

  29. Příklad – vytvořte relaci • Vytvořte mezi tabulkami relaci 1:N tak aby platilo, že jeden odběratel může mít více záznamů v tabulce PRODEJ • Relaci nastavte tak, aby v tabulce PRODEJ byl cizí klíč na tabulku ODBERATEL (tzn. aby do tabulky PRODEJ nebylo možné vložit ID odběratele, který neexistuje v tabulce ODBERATEL)

  30. Příklad - relace Primární klíč na tabulce PRODEJ Cizí klíč na v tabulce PRODEJ Poklepáním myši lze vytvořenou Vazbu editovat Primární klíč na tabulce ODBERATEL

  31. Důsledek vytvoření relace • Vytvořená relace se projeví při návrhu dotazů, formulářů a sestav – průvodce pro vytvoření využije existující relace • Prostřednictvím vytvoření relace vytvoříme „cizí klíč“.

  32. K čemu je formulář? • Vkládání, úprava, zobrazení dat • Zdroj dat – tabulka nebo dotaz • Vytvoření: • Automatický formulář (Vytvořit/Formulář) • Průvodce • Návrhové zobrazení

  33. Příklad • V seznamu tabulek označte tabulku „ODBERATELE“ • Vytvořte automatický formulář • Vytvořit / Formulář • Formulář otevřete v „Návrhovém zobrazení“ • Upravte nadpis formuláře • Formulář uložte a spusťte pomocí „Otevřít“ • Zkuste vložit do tabulek data

  34. Formulář - tlačítko • Přidejte do formuláře tlačítko • Nastavte mu vlastnost „zavřít“ – kategorii, akci • Vyzkoušejte funkci tlačítka Poznámka – na tlačítku jsme pomocí průvodce definovali makro.

  35. Pole se vzorcem • Vložte do formuláře label („popisek“) s textem „počet:“ • Vložte do formuláře pole se vzorcem count(ID_ODBERATEL), které bude zobrazovat počet odběratelů

  36. Návod pro pole se vzorcem • Tlačítkem „ab“ vložte pole „nevázaný“ • Ve Vlastnostech zvolte záložku „Datové“ a v řádku „zdroj ovládacího prvku“ klepněte vpravo na tlačítku s třemi tečkami • Spustí se „Tvůrce výrazů“, kde zadejte požadovaný vzorec

  37. Vyzkoušejte • Změnit záhlaví/zápatí formuláře • Vytvořit ve formuláři rámeček • Použít podmíněné formátování (např. položku počet kusů podbarvit zvolenou barvou, je-li počet > 10) • Změnit barvu nadpisu

  38. K čemu jsou dotazy? • Zobrazení, úprava a analýza dat z tabulek • Příkaz k výběru nebo změně dat v tabulce na základě nastavených podmínek • Vytvoření dotazu: • Návrhové zobrazení • Průvodce

  39. Vytvoření dotazu • „Vytvořit“ • „Návrh dotazu“ • Vložení tabulek • Výběr polí • Nastavení vlastností dotazu (např. setřídění)

  40. Vytvoření dotazu

  41. Dotaz – vybrané tabulky

  42. Vytvoření dotazu – vložení tabulek Je využita vytvořená relace Zde definuji kritéria dotazu

  43. Kritéria dotazu • KritériaPopis >25 and <50 Toto kritérium lze použít u pole typu Číslo, jako je například pole Cena nebo JednotkyNaSkladě. Toto kritérium zahrnuje pouze záznamy, ve kterých pole Cena nebo JednotkyNaSkladě obsahuje hodnotu větší než 25 a menší než 50. • DateDiff ("rrrr", [DatumNarození], Date()) > 30 Toto kritérium je určeno pro pole typu Datum/čas, jako je například pole DatumNarození. Do výsledku dotazu jsou zahrnuty záznamy, ve kterých je počet roků mezi datem narození dané osoby a aktuálním datem větší než 30. • IsNull Toto kritérium lze použít u všech typů polí ke zobrazení záznamů s hodnotou pole Null.

  44. Příklad – dvojí kritéria současně

  45. Příklad – jedno nebo druhé kritérium

  46. Kritéria - texty • LIKE „S*“ , NOT LIKE „S*“ začíná/nezačíná na S • IS NULL je roven hodnotě NULL • NOT „hodnota“ není roven zadané hodnotě • „“ obsahuje prázdný řetězec (nikoli NULL) • OR, AND logický součet, logický součin • LIKE „[A-D]“ obsahuje písmena A,B,C,D • IN („text1“, „text2“) obsahuje pouze hodnoty text1 nebo text2 • LEN([nazev_pole]) = x délka textu v poli „nazev_pole“ je rovna x znaků • LIKE „K???“ začíná na K a má 4 znaky • Right([Země], 1) = "y„, Left([Země], 1) = „K"

  47. Kritéria - čísla • IN • Matematické operátory - =, <, >, … • BETWEEN x and y • OR, AND • LIKE

  48. Kritérium na datum • Přesně odpovídají určité hodnotě, například 2/2/2006. #2/2/2006# Vrátí záznamy transakcí provedených 2. února 2006. Nezapomeňte hodnotu data vložit mezi znaky #, aby bylo zřejmé, že jde o hodnotu kalendářního data a nikoli textový řetězec. • Neodpovídají určité hodnotě, například 3/3/2006. Not #3/3/2006# Vrátí záznamy transakcí provedených jindy než 3. března 2006. Obsahují hodnoty předcházející určitému datu, například 2/2/2006. < #2/2/2006# Vrátí záznamy transakcí provedených před 2. únorem 2006. • Chcete-li zobrazit transakce provedené k určitému datu či dříve, použijte operátor <= a nikoli operátor < .

  49. Kritéria na datum – příklady použití funkcí • DatePart("m", [DatumProdeje]) = 12 • DatePart("č", [DatumProdeje]) = 1 čtvrtletí • Date(), Now() aktuální datum • Between Date() and Date()-6 • Year([DatumProdeje]) = Year(Now()) And Month([DatumProdeje]) = Month(Now())

  50. Kritéria na přílohy • Chcete-li zahrnout záznamy, které neobsahují žádné přílohy, zadejte do řádku Kritéria hodnotu Is Null. • Chcete-li zahrnout záznamy s přílohami, zadejte hodnotu Is Not Null.

More Related