2. přednáška databáze, využití ms excel
DESCRIPTION
Ú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.TRANSCRIPT
2. přednáška Databáze, využití MS Excel
Úvod do databázových systémů B
Ing. David Chudán
2
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)
Co je to databáze
<<< Kartotéka
Informace
uspořádanéneuspořá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, …)
správce databáze
aplikační programátoři
aplikační programátoři
běžný uživatel
běžná uživatelka
pokročilý uživatel
Role
DATA
DATA
aplikace
aplikace
aplikace
aplikace
Přístup k datům
Vrstva odstiňující aplikace od ukládání dat a chránící data.
Sdílení dat aplikacemi, paralelní přístup
aplikační server
SQL
SQ
Lda
ta
tenký klient
tlustý klient
dataDATA
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 …
Technologická architektura
DATA
SQL
data
tenký klient
aplikační server
Tenký klient : např. web browser
Aplikační server: např. Apache s PHP
Databázový server: např. MySQL
DATASQL tlustý
klientdata
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…
Datový soubor
„klientská databáze“
file server
„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řístupem
před poruchami– kontrola konzistence dat – velké objemy dat
Různé modely pro databázovou strukturu
síťový, hierarchický síťové, hierarchické
relační
relační
objektový objektové
1960
1970
1980
1990
databázové modely SŘBD
síťové, hierarchické
relační relační
objektový objektové
objektový
data warehouse
1960
1970
1980
1990
1960
1970
1980
1990
databázové modely SŘBD databázové modely SŘBD databázové modely SŘBD
multidimenzionální
objektově-relační objektově-relační
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čen primá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
Data a vztahy mezi nimi
855912/0671
Sezimovo Ústí
Kollárova 4
Anna
22 400 Kč
690318/1478
Praha 4
Sládkovičova 13
Jan
54 800 Kč
31
Havlova 3
Prodej
Sídlo-ulice
Číslo dveří
Oddělení
Jméno Adresa-město
Adresa-ulice
Základní plat
Foto
Jméno Adresa-město
Adresa-ulice
Základní plat
Je zaměstnán v
Je zaměstnána v
Má vedoucího
Foto
Cizí klíčeCizí klíčePrimární klíče
Relační databáze
690318/1478 Jan Praha 4 Sládkovičova 13 54 800 Kč Prodej
855912/0671 Anna Sezimovo Ústí Kollárova 4 22 400 Kč Prodej
Prodej Havlova 3 31 690318/1478
Zaměstnenec
Oddělení
Jméno Adresa-město Adresa-ulice Základní plat Foto
Sídlo-uliceČíslo dveří
RČ
Název Vedoucí
Oddělení
Relace, relační tabulky
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
Tabulka
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?
Vysoká škola ekonomická
W.Churchilla 4, 130 00 Praha 3
224-095-111
Vysoká škola finanční a správní
Estonská 500, 101 00 Praha 10
210-088-800271-741-597
Nejsou atomické:
Vnitřní struktura významů. Více hodnot se stejným
významem.
Kód zákazníka Firma Adresa Město Země
RICAR Ricardo Adocicados Av. Copacabana, 267 Rio de Janeiro Brazílie
RICSU Richter Supermarkt Grenzacherweg 237 Ženeva Švýcarsko
ROMEY Romero y tomillo Gran Vía, 1 Madrid Španělsko
Číslo objednávky Zákazník Zaměstnanec Datum objednávky Dodat dne
11074 SIMOB King, Robert 06.05.1998 03.06.1998
11075 RICSU Callahan, Laura 06.05.1998 03.06.1998
11076 BONAP Peacock, Margaret 06.05.1998 03.06.1998
Číslo objednávky Výrobek Jednotková cena Množství Sleva
11074 16 436,25 Kč 14 5,00%
11075 2 475,00 Kč 10 15,00%
11075 46 300,00 Kč 30 15,00%
11075 76 450,00 Kč 2 15,00%
11076 6 625,00 Kč 20 25,00%
11076 14 581,25 Kč 20 25,00%
11076 19 230,00 Kč 10 25,00%
Číslo výrobku
Název výrobku Dodavatel
1 Chai Aux joyeux ecclésiastiques
2 Chang Exotic Liquids
…
46 Spegesild Lyngbysild
…
76 Lakkalikööri Karkki Oy
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
32
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ĚRDPRŮ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.
Řešený příklad
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:1. Vytvořte databázovou funkci, která vrátí
počet hodnot, jejichž záznam v poli „tankováno“ je větší než 50.
2. 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:3. 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.
4. 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.
5. 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