Microsoft Office Access Dana Nejedlová Katedra informatiky EF TUL
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.
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
Základní databázové pojmy – Tabulka Název sloupce Sloupec = atribut Tabulka „Zákazníci“ Řádek = záznam = record = datová věta Zákazník Adresa F Liberec, … P Praha, … Položka = field 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
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 BON 4 P 3
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.
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.
Primární klíče v databázi knihovny 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íč 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?
Objekty databáze Microsoft Office Access Vše se ukládá do jediného souboru „*.mdb“.
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.
Příklad návrhu tabulky v aplikaci Microsoft Office Access Návrhové zobrazení
Příklad návrhu tabulky v aplikaci Microsoft Office Access Zobrazení datového listu
SQL Structured Query Language Standardní jazyk pro správu 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.
Databáze v MS Excel pomocí MS Query Volby v MS Excel 2003: Data 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://www.exceluser.com/explore/msquery1_1.htm http://office.microsoft.com/en-us/excel-help/use-microsoft-query-to-retrieve-external-data-HA010099664.aspx