430 likes | 638 Vues
Úvod do databázových systémů B Ing. David Chudán. 2. přednáška Databáze, využití MS Excel. Obsah přednášky. Teoretické základy databázových systémů (slajdy 3- 34 ) MS Excel (slajdy 35-39 ) Příklady na cvičení (slajdy 40-41 ) Zdroje (slajd 42). 2. Co je to databáze. <<< Kartotéka.
E N D
Úvod do databázových systémů B Ing. David Chudán 2. přednáškaDatabáze, využití MS Excel
Obsah přednášky Teoretické základy databázových systémů (slajdy 3-34) MS Excel (slajdy 35-39) Příklady na cvičení (slajdy 40-41) Zdroje (slajd 42) 2
Co je to databáze <<< Kartotéka Informace neuspořádané uspořádané
Pojem databáze • Databáze (DB) = množina dat (báze dat, zakódované informace) a nástrojů, které s těmito daty manipulují. • Data jsou organizovány v tabulkách • Databáze je uložená na disku v souboru • V přeneseném smyslu pojmem databáze označuje i databázový informační systém • Databáze lze vytvářet v programech MS Access, MS SQL Server, FoxPro, Sybase, Oracle, MySQL, OpenOffice.org Base, aj.
Příklady databází • Pacienti (jméno, zdravotní stav, léky, …) • Knihy (název, autor, rok vydání, …) • Sklad (název, číselný kód, množství, …) • Obyvatelé města (jméno, bydliště, …) • Pozemky (číslo, místo, vlastník, …) • Sbírka (název, datum získání, …) • Zákazníci(jméno, nákup, …)
Role běžný uživatel pokročilý uživatel aplikační programátoři aplikační programátoři běžná uživatelka správce databáze
aplikace aplikace DATA DATA aplikace aplikace Přístup k datům Sdílení dat aplikacemi,paralelní přístup Vrstva odstiňující aplikace od ukládání dat a chránící data.
aplikační server SŘBD DATA Technologická architektura tenký klient tlustý klient SQL data SQL data SŘBD (DBMS) – systém řízení báze dat (database management system) – říká se mu databázový server – např. IBM DB2, Oracle, Informix, MS SQL Server, Sybase, …, MySQL, PostgreSQL, Firebird …
tenký klient aplikační server SQL databázový server data DATA Tenký klient : např. web browser Aplikační server: např. Apache s PHP Databázový server: např. MySQL
databázový server tlustý klient SQL DATA data Aplikační logika je v tlustém klientovi: –programován v C, Javě …,nebo v proprietárním prostředí příslušném k db serveru, nebo to může být i např. aplikace v MS Access. Databázový server může být např. Oracle…
file server operační systém „klientská databáze“ Datový soubor „Klientská databáze“ např. MS Access, Paradox, DBase
Databázový server vs. file server • Přístup k jednotlivým datovým položkám záznamů, nikoli k celému souboru • názvy pro různé objekty databázové struktury • na strukturu je možno se dotázat... • Specifická přístupová práva k jednotlivým typům záznamů pro různé uživatele • v rámci OS má k datovému souboru přístup pouze SŘBD
Databázový server vs. file server • Zajišťování integrity a konzistence dat • Validace vstupu • Obnova po poruchách až k poslednímu konzistentnímu stavu • Efektivní správa velkého objemu dat
Databázový systém • (maximální) požadavky • sdílení dat, paralelní přístup • nezávislost aplikací na fyzickém uložení dat, logický přístup k datům, centrální popis dat • ochrana před neoprávněným přístupempřed poruchami • kontrola konzistence dat • velké objemy dat
Databázová struktura obecně • Definují se typy záznamů • výčet položek, jejich typů (domén) a jmen • V typu záznamu může být určenprimární klíč • skupina položek k jednoznačné identifikaci záznamu • užití v relačních a objektových databázích • Záznamy mohou být vyhledávány navigacípodle odkazů mezi záznamy • v síťových a objektových databázích • Vyhledávat se může také sekvenčně • hierarchických databázích • když to nejde jinak
Praha 4 Jan Sládkovičova 13 690318/1478 Havlova 3 54 800 Kč Prodej 31 Sezimovo Ústí Anna Kollárova 4 855912/0671 22 400 Kč Data a vztahy mezi nimi Adresa-město Jméno Adresa-ulice Sídlo-ulice Má vedoucího Foto Je zaměstnán v Oddělení Základní plat Číslo dveří Adresa-město Jméno Je zaměstnána v Adresa-ulice Foto Základní plat
Relace, relační tabulky Cizí klíče Cizí klíče Primární klíče Relační databáze Zaměstnenec Adresa-město Jméno Základní plat RČ Adresa-ulice Foto Oddělení Oddělení Číslo dveří Název Sídlo-ulice Vedoucí
Relační databáze • Data jsou organizována do tabulek • Jeden záznam = jeden řádek nějaké tabulky • Sloupce tabulky tvoří pole/položky záznamů • Položky jsou atomické • nejsou složeny z částí, které by nesly nějaký význam (ve světě aplikace) • není v nich více údajů
Struktura relačního modelu • Data v databázi jsou organizovány v tabulkách • Jedna databáze může obsahovat i více tabulek • Vztahy a vazby mezi tabulkami popisují tzv. relace • Každá tabulka tvořena jednotlivými záznamy (řádek tabulky) • Jeden záznam pro každého pacienta, knihu, pracovníka, … • Každý záznam se skládá z určitých datových polí (sloupce tabulky), označují se též jako položky nebo atributy • Např. jméno, příjmení, datum narození, atd., pro pacienta • Struktura tabulky = jaká datová pole tabulka obsahuje • Struktura databáze = jaké tabulky (a vztahy mezi nimi) tvoří celou databázi
Relační databáze • Položky v relační databázi jsou atomické • nejsou složeny z částí, které by nesly nějaký význam (ve světě aplikace) • není v nich více údajů
Co jsou atomické položky? Nejsou atomické: Vnitřní struktura významů. Více hodnot se stejným významem.
Svět aplikace databázová struktura relační databáze
Datová pole vs. datové typy • Pole tabulky mohou být, podle charakteru údaje, který obsahují, různého druhu (datového typu): • Text • Číslo (celé, reálné) • Automatické číslo • Datum • Logická hodnota (ANO / NE) • Memo (poznámka) • Objekt OLE (např. obrázek) • Hypertextový odkaz
Vlastnosti datového pole 1 • Pole mají definovanou určitou délku, danou počtem znaků nebo míst u čísel, a taky formát • Lze také definovat masku pole, tj. jak mají zadávané hodnoty vypadat (např. rodné číslo) • S hodnotami v polích typu číslo lze provádět všechny aritmetické operace • Hodnoty v polích typu číslo, text či datum lze uspořádat (vzestupně či sestupně) • Pokud při výpočtu vznikne číslo, které se do pole nevejde, dojde k chybě • Volitelná vlastnost „Nutno zadat (required) hodnotu“
Vlastnosti datového pole 2 • „Primární klíč“ – speciální vlastnost, označení nějakého jiného pole • Obvykle celé kladné číslo nebo automatické číslo, jedinečné pro každý záznam v celé tabulce • Pole mohou mít určena omezení na zadávané hodnoty (tzv. ověřovací pravidlo) • Omezovací text se vypíše, když pravidlo není splněno • Předdefinovaná hodnota (default) • Automaticky vyplněná hodnota, uživatel ji může přepsat • Povolení nulové délky hodnoty (prázdné políčko) • Indexování podle pole • Pro rychlejší vyhledávaní
Relace • Databáze jsou tvořeny jednotlivými tabulkami, vztahujícími se k určitému předmětu (osobě, činnosti) • V DB knihovny je např. vhodné mít tabulky pro knihy, autory, apod. • Tabulky jsou mezi sebou propojeny přes určitá pole, tomuto propojení se říká relace • Relace zpřehledňuje databázi, zabraňuje vícenásobnému zadávání stejných údajů • K propojení polí v záznamech v různých tabulkách se používají tzv. sekundární klíče • V tabulce je pole, jehož hodnota se „odvolává“ na primární klíč v jiné tabulce
Typy relací • Relace 1 : 1 • 1 kniha – 1 autor (nepraktické a zbytečné) • Relace 1 : N • 1 autor – více knih • Relace M : N • Více autorů – více knih (rozšířeni relace 1 : N i „opačným“ směrem – 1 knihu může být i od více autorů) • MS Access nabízí k zobrazení relacemi propojených záznamů v tabulkách tzv. vnořené datové listy • U propojených záznamů v relaci 1 : N se po kliknutí na záznam na straně 1 relace otevřou záznamy z jiné tabulky
Význam databází • Z předešlého stručného výčtu nasazení databázových aplikaci je zřejmý jejich obrovský význam. Dnešní společnost eviduje v databázích téměř všechno. • Co není v databázích, vlastně neexistuje. (Parafráze na starý latinský výrok: „Qout non in actis est non in mundis.“) • Problematika ochrany dat v databázích je velmi závažná! • Více než 90% peněz v ekonomice nejsou fyzické peníze (bankovky, mince), ale jen čísla na účtech podniků a občanů, uložená v nějaké databázi v počítači nějaké banky. • Databáze pacientů u lékařů obsahují často citlivé údaje, které mohou být proti nim zneužity.
Význam databází • Současný rozvoj a masové rozšíření počítačů jsou v hlavní míře zásluhou nasazování DB aplikací. Vývoj počítačů stál (a stojí) stamiliardy dolarů, musela proto existovat oblast jejich nasazení, která tyto peníze byla (a je) schopna vydělat. Touto oblastí jsou právě databáze – firmy a instituce jsou za kvalitní, rychlou a dostupnou evidenci toho co potřebují ke své činnosti zaplatit nemalou částku. Žádné jiné využití (textové a tabulkové zpracování dat, grafika, multimédia, modelování a simulace, hry) by tyto částky na vývoj a hromadnou levnou velkovýrobu ICT v jejich počátcích nezajistilo.
MS Excel a databáze • MS Excel nabízí databázové funkce, pomocí kterých je možné vypočítat například sumu, průměr, maximum, minimum a počet. • Rozdíl oproti standardnímu použití těchto funkcí spočívá možnosti definovat určité podmínky, například maximum. Hodnoty nad toto maximum do výpočtu nebudou zahrnuty. • Příklad: funkce DAVERAGE
Příklad – funkce DPRŮMĚR DPRŮMĚR(databáze;pole;kritéria) • Databáze je oblast buněk, která tvoří seznam nebo databázi. Databáze je seznam souvisejících dat, ve kterých řádky souvisejících informací představují záznamy a sloupce dat jsou pole. První řádek seznamu obsahuje popisky sloupců. • Pole určuje, který sloupec je ve funkci používán. Argument pole může být zadán jako text s popiskem sloupce v uvozovkách, například "Stáří" nebo "Výnos", nebo jako číslo představující umístění sloupce v seznamu: hodnota 1 představuje první sloupec, hodnota 2 druhý sloupec atd. • Kritéria je oblast buněk, která obsahuje zadaná kritéria. Pro argument kritéria můžete použít libovolnou oblast, která zahrnuje nejméně jeden popisek sloupce a nejméně jednu buňku pod popiskem sloupce určující podmínku sloupce.
Řešený příklad, funkce DPOČET Vytvořte databázovou funkci, která vrátí počet hodnot, jejichž spotřeba je menší než 10 litrů a průměrná rychlost je větší než 55km/h.
Požadované DB funkce • DPOČET - vrátí počet buněk obsahující čísla v poli (sloupci) záznamů databáze, které splňují zadaná kritéria. • DPRŮMĚR – viz předchozí slide • DSUMA – sečte čísla v poli (sloupci) záznamů databáze, která splňují zadaná kritéria
Procvičení I. V souboru Excel_DB: • Vytvořte databázovou funkci, která vrátí počet hodnot, jejichž záznam v poli „tankováno“ je větší než 50. • Vytvořte databázovou funkci, která vrátí počet hodnot, jejichž záznam v poli „průměrná rychlost“ je menší než 50 a zároveň „spotřeba“ je větší než 11.
Procvičení II. V souboru Excel_DB: • Vytvořte databázovou funkci, která vrátí průměr hodnot sloupce „spotřeba“, jejichž záznam v poli „průměrná rychlost“ je větší než 80. • Vytvořte databázovou funkci, která vrátí součet hodnot sloupce „km“, jejichž záznam v poli „spotřeba“ je menší než 9.
Procvičení III. • Vytvořte vlastní tabulku, která bude obsahovat alespoň 4 číselné sloupce a 10 řádků. Tabulka a sloupce by měly být smysluplné, vyplněné hodnoty mohou být náhodné. Nad vytvořenou tabulkou vymyslete zadání alespoň 3 příkladů a příklady vyřešte.
Zdroje • Kubačák, Martin. Tvorba databáze &MS Access 1,2 Dostupné na: dec52.lf1.cuni.cz/~mkuba/vyuka/files/P08-INF2009-2010-Databaze.ppt • Palovská, Helena. Slajdy k předmětu Databázové systémy. Dostupné na: http://nb.vse.cz/~palovska/uds/databazove_systemy.pdf • DPRŮMĚR. MS Office Excel. Dostupné na: http://office.microsoft.com/cs-cz/excel-help/dprumer-HP005209045.aspx