2
Základní informace o Microsoft Office Access Program pro správu relačních databází
Relational database management system (RDBMS) Systém řízení báze dat (SŘBD) pro relační databáze
Vhodný pro osobní potřebu jednotlivých lidí malé podniky oddělení velkých podniků
jako klient jiných databázových programů Nevhodný pro
Client-Server aplikace současný přístup více uživatelů do společné databáze Potom je nutné zvolit například Oracle nebo Microsoft SQL
Server.
3
Základní databázové pojmy – Relace
Relační databáze databáze podle relačního modelu = databáze tvořená tabulkami (relace = tabulka)
Relace Nesprávný výklad:
relace = relation = vztah (například mezi tabulkami) MS Access to v tomto významu používá.
Správně: vztah mezi tabulkami = relationship relation = termín pouze pro tabulku dat
4
Základní databázové pojmy – Tabulka
Z hlediska návrhu je tabulka tzv. entita. Entita je objekt, který považujeme za natolik
důležitý, že jej chceme dát do naší databáze. U entity rozlišujeme její typ a výskyt.
Typ entity: Zákazníci (všichni zákazníci v jejich tabulce) Výskyt entity: konkrétní datový řádek tabulky Zákazníci
Zákazník Adresa
F Liberec, …
P Praha, …
Tabulka „Zákazníci“
Řádek = záznam = record = datová věta
Sloupec = atribut
Název sloupce
Položka = field
5
Od tabulky k relační databázi V aplikaci MS Excel jsme tvořili izolované tabulky.
Například:
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ů?
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.
Co když některé řádky zapomeneme opravit?
Zákazník Výrobek Množství
F POD 2
F BON 4
P POD 3
6
Návrh relační databáze
Snaha o odstranění redundancí Jak?
Tabulky dat se rozkládají na více tabulek, aby data byla jen na jediném místě. Adresy jsou například v tabulce zákazníků.
Tabulka nákupů zákazníků se na ni odkazuje.
MS Excel umí spravovat jednotlivou tabulku. třídění, filtrování, grafy
MS Access umí spravovat systém tabulek. Kombinuje informace z více tabulek.
7
RReellaaccee –– ppooppiiss,, ddrruuhhyy ––
Relace je vztah mezi dvěma tabulkami v relačnídatabázi. Říká nám, kolik záznamů z tabulky druhé odpovídájednomu záznamu z tabulky první a kolik záznamů ztabulky první odpovídá jednomu záznamu z tabulkydruhé.Relace je realizována pomocí cizích klíčů na stranějedné tabulky, které ukazují do tabulky druhé na jejíunikátní klíč (zpravidla primární).
8
RReellaaccee 11::nn
jednomu záznamu z první tabulkyodpovídá více záznamů z tabulkydruhé, a každému záznamu z tabulkydruhé odpovídá nejvýše jeden záznamz tabulky první
9
RReellaaccee 11::11
každému záznamu z tabulky prvnímůže odpovídat maximálně jedenzáznam z tabulky druhé a naopak
10
Př.:1 : 1Osoba – rodné čísloObjednávka - vyúčtování1 : NRežiséři - filmyTřídní - studentiŽánry - knihyPacient - návštěvyČtenář – knihyAutor – knihy(kniha může mít 1 autora)Dodavatel – produkty(produkt má 1 dodavatele)Kupující - objednávky M : NAutoři – knihy(kniha může mít několik autorů)Dodavatelé - produkty(produkt má více dodavatelůObjednávky – produkty(na produkt je více objednávek)
11
RReellaaccee mm::nn
každému záznamu z tabulky prvnímůže odpovídat více záznamů ztabulky druhé a každému záznamuz tabulky druhé může odpovídatvíce záznamů z tabulky první
12
Vlastnosti relační databáze Skládá se z jedné nebo více tabulek.
Mezi tabulkami jsou nastaveny vztahy. Každý řádek v tabulce jako celek je jiný.
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 Konzistence mezi tabulkami Například 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.
Databázový program ji sám umí kontrolovat.
13
Primární klíče v databázi knihovny
Primární klíč Primární klíč
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.
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?
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ň.
15
Základní prvky databáze• Tabulka - je souhrnem dat, které se týkají určitého objektu, např.
zaměstnanců. Záznamy se vepisují v řádcích a jednotlivá pole (struktura tabulky) jsou uvedena ve sloupcích - např. jméno, příjmení, adresa atd.
• Dotaz - je otázka, kterou pokládáme, chceme-li zjístit např. počet určitých dat, nebo vypsat pouze data obsahující zadané kritérium.
• Formulář - slouží k zadavání, opravě a vkládání dat. Data můžeme vkládat přímo do tabulky, ale pomocí formulářů je to pohodlnější.
• Sestavy - se využívají pro tiskové účely vytvořených návrhu databáze.
16
Tvorba databáze v aplikaci Microsoft Office Access
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.
18
Návrh tabulek
• Tabulek bývá v datatabázi většinou víc a jsou mezi sebou vzájemně propojeny relacemi.
19
Možnosti vytvoření tabulky
• Vytvořit tabulku v návrhovém zobrazení
• Vytvořit tabulku pomocí průvodce
• Vytvořit tabulku vložením dat
20
Otevření tabulky
• Provedeme dvojklik levým tlačítkem myši na jeho název v seznamu objektu databáze v záložce Tabulky.
21
Definování Primárního klíče
• Primárním klíčem nazýváme pole s jedinečnými hodnotami tzn. pro každý záznam.
• Pokud je pole v tabulce označeno jako primární klíč, databázový systém Access sám hlídá, aby hodnoty v tomto poli v rámci jedné tabulky byly pro každý záznam různé.
23
Vstupní maska
• Vstupní maska umožňuje pro textová a číselná pole kontrolovat vkládáne hodnoty a usnadňuje jejich zadávání. Neurčuje jejich zobrazení v poli, ale formát, ve kterém se tato pole budou zadávat.
26
Vytvoření relace
• Musíme vytvořenu databázi např. Knihovna, která obsahuje tabulky Autoři, Knihy a Klienti
• Zobrazíme si okno Databáze ve kterém máme zobrazené vytvořené tabulky, které chceme propojit.
• V řádku Nabídka si vyvoláme příkaz Nástroje - Relace.
• Po zvolení nabídky se se nám zobrazí nové okno Zobrazit tabulku, ve kterém vybíráme pro které tabulky budeme relace vytvářet. V našem případě označíme pomocí klávesy Ctrl všechny tabulky a zvolíme tlačítko Přidat a následně tlačítko Zavřít.
27
Vytvoření relace
• V dialogovém okně Relace se vybrané tabulky zobrazí ve schématické podobě (název tabulky a seznam jejich polí). Tažením levého tlačítka myši za okraje tabulky můžeme měnit jejich velikost a tažením za titulek pak jejich umístění.
28
Vytvoření relace
Postup Umístíme šipku myši na pole KodAutora v tabulce Autoři a
klikneme levým tlačítkem, za stáleho držení levého tlačítka šipku myši přesuneme na pole KodAutora v tabulce Knihy a levé tlačítko myši pustíme (při provedení tohoto postupu se nám šipka myši změní v bílý obdelníček).
Otevře se nám dialogové okno Upravit relace, které nám zobrazí vytvoření relace typu 1:N a abychom zamezili porušení pravidel propojení zaškrtneme pole Zajistit referenční integritu.
Nastavení potvrdíme tlačítkem Vytvořit.
30
Formuláře
• Formuláře slouží hlavně k zadávání nových dat, ale také jejich úpravě, prohlížení, mazání, třídění a filtrování. Formuláře by měly být sestaveny tak, aby v přehledné formě a co nejefektivněji
nabízely všechny pole jednoho záznamu najednou.
31
SQL
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.
Structured Query Language Standardní jazyk pro správu databází v SŘBD
32
Databáze v MS Excelpomocí MS Query
Volby v MS Excel: Data Importovat externí data - Nový databázový dotaz
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://www.exceluser.com/explore/
msquery1_1.htm