400 likes | 519 Views
Manažerská informatika. Inovace bakalářského studijního programu v kontextu Boloňského procesu s důrazem na výsledky učení CZ.2.17/3.1.00/32599 Vysoká škola regionálního rozvoje Praha. Databázové systémy. 1. Úvod 2. Historie vývoje db 3. Datové modely 4. SŘBD 5. Závěr.
E N D
Manažerská informatika Inovace bakalářského studijního programu v kontextu Boloňského procesu s důrazem na výsledky učení CZ.2.17/3.1.00/32599 Vysoká škola regionálního rozvoje Praha
1. Úvod 2. Historie vývoje db 3. Datové modely 4. SŘBD 5. Závěr Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 3
1. Úvod agendové zpracování oddělení dat od programu db systém vzniká spojením systému řízení báze dat (SŘBD,DBMS) a vlastní báze dat uspořádaná množina informací (dat) uložená na paměťovém médiu moderní společnost je postavena na db systémech, od evidence občanů, přes zdravotnictví, hospodářství, školství, až po letectví, výzkum, nebo síť mobilních telefonů. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 4
2. Historie Předchůdcem databází byly papírové kartotéky převedení zpracování dat na stroje (1890 USA) další rozvoj databází byl překotný vývoj počítačů v padesátých letech 20. století 1960 konference CODASYL publikovaná první verze jazyka COBOL 1965 na konferenci CODASYL koncepce db systémů první síťové SŘBD na sálovýchpočítačích Charles Bachman Ing. Josef Brzák, CSc 5
1971 DBTG Report pojmy : schéma db, jazyk pro definici schématu, subschéma, popsána celá architektura síťového db systému Ve stejné době byly vyvíjeny i hierarchické databáze (IMS) pro program letu na Měsíc 1970 začínají zveřejněním článku E. F. Codda první relační db,data jako tabulky 1974 se vyvíjí první verze dotazovacího jazyka SQL Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 6
1970 začínají zveřejněním článku E. F. Codda první relační databáze, data jako na tabulky 1974 se vyvíjí první verze dotazovacího jazyka SQL 90. leta 20. století se začínaly objevovat první objektově orientované databáze filozofie byla přebírána z objektově orientovaných jazyků vznikla kompromisní objektově-relační technologie Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 7
Databáze jako soubor dat, který slouží pro popis reálného světa Entita je prvek reálného světa je popsán svými charakteristikami (atributy) Vazba mezi entitami. Jednotlivé entity odpovídající prvkům z reálného světa, mají mezi sebou určitý vztah Další pojem je db model jako prostředek pro popis db (hierarchický,síťový, relační) Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 8
3. Datové modely Z hlediska způsobu ukládání dat a vazeb mezi nimi můžeme db rozdělit do základních typů: Souborové databáze Hierarchické databáze Síťové databáze Relační databáze Databáze objektové Embedded databáze Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 9
Souborové db - soubory se ukládají do složek Hierarchické db - data organizována ve formě stromu. Každá entita místěná v tomto stromu je charakterizována svými specif. atributy a dále atributy, které zdědila od své nadřízené entity. Síťové db – zobecnění hierarchického modelu dat, který doplňuje o mnohonásobné vztahy Tyto vztahy jsou označovány jako C-množiny neboli Sets, spojení může být realizováno na jeden nebo více záznamů. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 10
Relační db - nejčastěji využíván u komerčních SŘBD. Relační db model má jednoduchou strukturu (E-R model, entita-relace). Data jsou organizována v tabulkách, které se skládají z řádků a sloupců (Codd 1970) Objektové db – dataorganizována v tabulkách, které se skládají z řádků a sloupců data sdružena spolu s funkcemi, nejsou zde tabulky, záznam je naprosto oddělený element, nese všechny atributy, predikáty, funkce - existuje zde hierarchie prvků : rodič – potomek Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 11
Embedded db - tvoří přesný opak architektury klient-server.Místo aby využívaly pro přístup k datům vyhrazený db server, běží v adresovém prostoru aplikace, která je využívá. Embedded databáze je knihovna, která se přilinkuje k aplikaci, a aplikace se tak stává sama svým miniaturním db serverem - přistupuje prostřednictvím knihovny přímo k souborům s daty (jednouživatelský přístup). Důvody používání: jednoduchost, rychlost, min. údržba, snadná instalace. Nemají přístupová práva. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 12
Normalizace Relační databáze. Základním pojmem je relace. Relaci, bez zavádění jakékoliv matematické definice, si lze představit jako tabulku, která se skládá ze sloupců a řádků. Sloupce odpovídají jednotlivým vlastnostem (atributům) entity. Údaje v jednom řádku tabulky zobrazují aktuální stav světa. Tvorba "dobře navržených" tabulek je klíčový a důležitý úkol zejména z hlediska dlouhodobého Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 13
Tabulka je základním stavebním kamenem pro budování celé databáze. Relace tedy odpovídá celé tabulce a prvku relace odpovídá jeden konkrétní řádek. Jeden řádek bývá často nazýván databázovým záznamem. Soubor tabulek (relací) pak tvoří celou databázi (relační schéma). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 14
Primární klíč. (jeho hodnota je jedinečná) • Funkční závislost ( plat>funkce) • Správně vytvořené tabulky splňují tři základní normální formy. • První, nejjednodušší, normální forma (značíme 1NF) říká, že všechny atributy jsou nedělitelné Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 15
Tabulka ADRESA (popis reálného světa) • Č_PR JMÉNO PŘÍJMENÍ ADRESA FCE PLAT ODDEL 1 Jan Novák Ostravská Praha 6000 technik 15000 dílna 2 Petr Nový Svitavská Brno 6140 vedoucí 25000 kancel 3 Jan Nováček Karlova Plzen 7900 správce 12000 sklad Atribut ADRESA není atomický Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 16
1. normální forma (1NF) • Tato tabulka respektuje 1NF jedna databázová položka jedna hodnota (určitého databázového typu). • Č_PR JMÉNO PŘÍJMENÍ ULICE MĚSTO PSČ FCE PLAT ODDEL 1 Jan Novák Ostravská Praha 6000 technik 15000 dílna 2 Petr Nový Svitavská Brno 6140 vedoucí 25000 kancel 3 Jan Nováček Karlova Plzeň 7900 technik 12000 dílna Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 17
2. normální forma (2NF) • Tabulka splňuje 2NF, právě když splňuje 1NF a navíc každý atribut, který není primárním klíčem je na primárním klíči úplně závislý. Pokud tabulka nesplňuje 2NF, dochází často k redundanci. • Č_PR JMÉNO PŘÍJMENÍ Č_FCE PLAT ODDĚL 1 Jan Novák 10 15000 dílna 2 Petr Nový 15 25000 kancel 3 Jan Nováček 10 12000 dílna • Č_FCE FCE 10 technik 15 vedoucí • Byla provedena dekompozice relačního schématu. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 18
3. normální forma (3NF) • Relační tabulky splňují třetí normální formu (3NF), jestliže splňují 2NF a žádný atribut, který není primárním klíčem, není tranzitivně závislý na žádném klíči • Tranzitivita : Č-PR- > Č_FCE a Č_FCE->PLAT, …Č-PR->PLAT. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 19
ZAMĚSTNANEC: Č_PR JMÉNO PŘÍJMENÍ Č_FCE Č_ODD 1 Jan Novák 10 127 2 Petr Nový 15 121 3 Jan Nováček 10 127 • PLATY: Č_PR PLAT 1 21500 2 27500 3 15000 Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 20
ODDĚLENÍ: Č_ODD ODDEL 127 dílna 121 kancel • FUNKCE: Č_FCE FCE 10 technik 15 vedoucí Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 21
Reprezentace vazeb1:N (1:1) Není tedy pochyb, že všechny čtyři tabulky spolu nějakým způsobem souvisí. Všechny čtyři dohromady uchovávají všechny informace, které potřebujeme. Primárními klíči v každé tabulce našeho příkladu je vždy sloupec Č_PR;Č_FCE;Č_ODD. Hodnoty v tomto sloupci jsou v rámci každé tabulky jedinečné. Mezi těmito čtyřmi tabulkami existují následující vazby : - ZAMESTNANEC ;Č_PR ->PLATY;Č_PR - ZAMESTNANEC ;Č_FCE ->FUNKCE;Č_FCE - ZAMESTNANEC ;Č_ODD-> ODDĚLENI;Č_ODD Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 22
To znamená, že jeden zaměstnanec pracuje právě na jednom oddělení, ale na jednom oddělení pracuje více zaměstnanců . Cizí klíč (spolu s primárním klíčem) zprostředkovává vazbu mezi tabulkami. Jeho hodnota pak odpovídá v jiné tabulce (která je odkazovaná) hodnotě primárního klíče Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 23
4. Systémy řízení báze dat SŘBD je programový produkt, který slouží pro manipulaci s bází dat. Systém řízení báze dat (SŘBD) lze chápat jako souhrn procedur a datových struktur, které zajišťují nezávislost databázových aplikací na detailech vytváření, výběru, uchování, modifikaci a zabezpečení ochrany databází na fyzických paměťových strukturách počítače. Pro práci s daty SŘBD podporují zejména tyto funkce: vytvoření báze dat (CREATE), vkládání dat (INSERT), aktualizace dat (UPDATE), rušení dat (DELETE), výběr z báze dat (SELECT). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 24
Dále je podporována tvorba formulářů (vstupních obrazovek, Forms), výstupních sestav (Reports) a aplikačních programů. První SŘBD, které vznikaly na konci 60. let, se vyznačovaly úzkou provázaností fyzického a logického formátu dat. U novějších SŘBD pak dochází k hierarchickému rozvrstvení dat do těchto úrovní, přičemž jednotlivé úrovně jsou relativně nezávislé. Nejdůležitější je zejména nezávislost logického schématu báze dat od interního, fyzického a externího schématu . Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 25
Logické schéma vzniká implementací konceptuálního modelu do konkrétního SŘBD (návrh struktury datových vět). Struktura tohoto schématu je určena použitým datovým modelem v daném SŘBD (hierarchický, síťový, relační). Interní schéma-data jsou uložena v typových souborech, přístup k jednotlivým větám souborů je organizován vhodným mechanismem (primární a sekundární indexy, atd.). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 26
Fyzické schéma úzce souvisí s použitým operačním systémem (konkrétní organizace souborů na disku, jejich rozložení na sektory a clustry určité délky atd.). Externí schéma je rozdílné pro každou skupinu uživatelů. Umožňuje virtuální pohledy na zvolenou část báze dat (pomocí konkrétních formulářů, výstupních sestav, ale také přístupových práv k datům). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 27
Dotazovací jazyky - Pro komunikaci s db se často používají dotazovací jazyky. Valná většina SŘBD obsahuje jako své jádro dotazovací jazyk a je vybavena více či méně složitým uživatelským rozhraním. Mezi nejznámější dotazovací jazyky patří Structured Query Language (SQL) a Query By Example (QBE). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 28
Počítačové systémy, na kterých jsou provozovány databáze lze rozdělit do následujících základních kategorií, čili platforem: Centralizované databáze. Systémy na sítích osobních počítačů. Databáze v lokální síti PC (File server). Databázové systémy klient/server. Databáze na WEBu. Systémy distribuovaného zpracování Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 29
Centralizovanédb- V centralizovaném systému se na hlavním hostitelském počítači zpracovávají všechny programy: SŘBD, databázovou aplikaci i komunikační software (data mezi počítačem a uživ. terminály). V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická pro terminálovou síť, kdy se po síti přenáší vstupní údaje z terminálu na centrální počítač do příslušné aplikace, výstupy z této aplikace se přenáší na terminál Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 30
Systémy na sítích osobních počítačů - První úspěšný operační systémy byl CP/M Digital Research. První úspěšný SŘBD byl dBase II Ashton-Tate. IBM v r. 1981 PC s MSDOS. Běží-li SŘBD na PC, pracuje PC současně jako hostitelský počítač i jako terminál (funkce SŘBD a databázových aplikací spojeny do jednoho programu). Databázové aplikace na PC zpracovávají vstup od uživatele, výstup na obrazovku,přístup k datům na disku. SŘBD tím získá značnou mohutnost, flexibilitu a rychlost za cenu snížení bezpečnosti integrity dat. PC se propojují do lokálních sítí (LAN – Local Area Network). V LAN jsou data uložena na serveru souborů (File server). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 31
Db v lokální síti PC (File server)- SŘBD a příslušné databázové aplikace jsou provozovány na jednotlivých počítačích, data jsou umístěna na file-serveru a mohou být sdílena. Aby nedocházelo ke kolizím při přístupu více uživatelů k jedněm datům, musí SŘBD používat vhodný systém zamykání (položek nebo celých tabulek). Komunikace uživatele se systémem probíhá následujícím způsobem: - uživatel zadá dotaz, - SŘBD přijme dotaz, zasílá požadavky na data file-serveru, - file-server posílá bloky dat na lokální počítač kde jsoudata zpracovávána podle zadaného dotazu (vyhledávání, setřídění atd.) - Výsledek dotazu se zobrazí na obrazovce počítače. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 32
Db systémy klient/server- Dotaz se dále předává pomocí jazyka SQL (Structured Query Language) na databázový server, který jej vykoná a vrátí výsledky zpět na personální počítač. Databázový server je tedy nejvíce zatíženým prvkem systému a musí být tvořen dostatečně výkonným počítačem. Celá komunikace probíhá tímto způsobem: - uživatel zadává dotaz (buď přímo v SQL, nebo musí být do tohoto jazyka přeložen), - dotaz je odeslán na databázový server, - databázový server vykoná dotaz, - výsledek dotazu je poslán zpět na vysílací počítač, kde jezobrazen. Architektura klient-server redukuje přenos dat po síti, protože dotazy jsou prováděny přímo na databázovém serveru a na personální počítač jsou posílány pouze výsledky. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 33
MS Access a WinBase602- platformy Windows, možnost vytvářet databázi, vykonávat dotazy, aktualizovat data přes klikání a zadávání dat do formulářů. V menší míře můžeme zadávat SQL příkazy přímo. Oba dva systémy podporují vzdálené připojení databázové aplikace. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 34
Systémy distribuovaného zpracování - Velmi rozsáhlé db se občas nachází na několika různých počítačích. Uživateli se však jeví jako jedna velká db. Takovým db se říká db distribuované. Distribuovanou db je možno využívat prostřednictvím počítačové sítě. V síti Internet existuje celá řada distribuovaných db. Pro práci s distribuovanou db je potřeba použít zvláštní metody a specializované systémy pro řízení báze dat. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 35
Distribuovanou db - charakterizujeme třemi vlastnostmi: 1. Transparentnost - z pohledu klienta se zdá, že všechna data jsou zpracovávána na jednom serveru v lokální db. Uživatel používá syntakticky shodné příkazy pro lokální i vzdálená data, nespecifikuje místo uložení dat, o to se stará distribuovaný SŘBD. 2. Autonomnost - s každou lokální bází dat zapojenou do distribuované databáze je možno pracovat nezávisle na ostatních db. Lokální databáze je funkčně samostatná, propojení do jiné části distribuované db se v případě potřeby zřizují dynamicky. V distribuované db neexistuje žádný centrální uzel nebo proces odpovědný za vrcholové řízení funkcí celého systému, což výrazně zvyšuje odolnost systému proti výpadkům jeho částí. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 36
3. Nezávislost na počítačové síti - jsou podporovány různé typy architektur lokálních i globálních počítačových sítí (LAN, WAN). V jedné distribuované db tedy mohou být zapojeny počítače i počítačové sítě různých architektur, pro komunikaci se používá jazyk SQL. Technika uzamykání (uživatelé mohou z tabulky číst, ale ne ji měnit). Jsou možné varianty : - trvale nebo dočasně zamknout celou tabulku - řádek tabulky - jednotlivé položky Může dojít k “zamrznutí” systému (deadlock). Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 37
5. Závěr Databází myslíme pouze ono skladiště dat, ve kterých jsou data uložena a zpracovávána nezávisle na aplikačních programech. Historicky se vyvinuly tři hlavní databázové modely, a to síťový, hierarchický a relační. Nejstarší z uvedených je hierarchické modelování databází. Toto pojetí pochází z reálného uspořádání světa. Pro hierarchické modelování je typická práce se stromy, kdy ve stromu jsou realizovány vztahy 1:N. Příkladem hierarchické databáze může být IMS od firmy IBM či M-systém od firmy Micronetics. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 38
Variací hierarchického modelu je síťový model databáze. V síťovém modelování je možné vyjadřovat vedle vztahů 1:N i vztahy M:N. Fyzická realizace síťového modelu je ale náročná a aktualizace obvykle komplikovaná. Základní výhodou hierarchického a síťového modelu je efektivnost zpracování, tj. rychlost přístupu k datovým záznamům. Na druhé straně mezi nevýhody patří to, že je nesnadné jednou nadefinované stromy a vazby mezi nimi měnit. Nejsou uzpůsobeny pro dotazy. Z teoretického hlediska je nejpropracovanější relační model databáze, který byl vyvinut doktorem E. F. Coddem už v šedesátých letech minulého století. Teoretická práce E. F .Codda sice poněkud předběhla dobu, ale naštěstí nezmizela v propadlišti dějin před svým praktickým použitím. Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 39
Relační model definuje způsob, jakým je možné reprezentovat strukturu dat, způsoby jejich ochrany a operace, které můžeme nad daty provádět. Relační databáze je sestavená z řady tabulek, jejichž sloupce jsou vázány na sloupce v jiných tabulkách. Takto propojená datová pole jsou na sobě určitým způsobem závislá. Jejich vztahy jsou založeny na klíčových hodnotách uložených v příslušných sloupcích. U relačních databází je základní výhodou relativně snadná modifikace a propojování tabulek a s nimi spojená možnost dotazů. Slabým místem je nízká efektivnost zpracování, což se projevuje v tom, že řada příkazů vyžaduje velké množství přístupů na disk a tím se zpomaluje zpracování Ing. Josef Brzák, CSc Ing. Josef Brzák, CSc 40