1 / 26

Aplikační a programové vybavení

Aplikační a programové vybavení. Databáze (obecně). Pojmy. data – údaje získané pozorováním, měřením informace – interpretace dat a vztahů mezi nimi (data, která snižují míru entropie) databáze / báze dat (DB) – obecná struktura pro uchovávání dat

janice
Download Presentation

Aplikační a programové vybavení

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplikační a programové vybavení Databáze (obecně)

  2. Pojmy • data – údaje získané pozorováním, měřením • informace – interpretace dat a vztahů mezi nimi (data, která snižují míru entropie) • databáze / báze dat(DB) – obecná struktura pro uchovávání dat • systém řízení báze dat (SŘBD) – programové prostředky pro správu dat v databázi • databázový systém (DBS) – databáze a systém řízení báze dat • rozhraní – prostředky k propojení systémů

  3. Hromadné zpracování dat • Cílem HZD je získat z dat informace. • Nejvíce aplikací pro hromadné zpracování dat tvoří informační systémy: • podnikové IS • specializované (speciální) IS • Podnikový informační systém je tvořen množstvím agend (např: sklad, účetnictví, mzdy, výroba, evidence docházky). • Specializovaný IS je úzce zaměřený na konkrétní činnost.

  4. Hromadné zpracování dat - agendy • Často bývá spojená datová a aplikační vrstva. • Informační systém je tvořen souborem nezávislých programů – agend. • IS je tvořen souborem několika specializovaných ISů. • Formát a struktura dat jsou definované potřebami každé agendy. • problémy: • závislost dat a programu (agendy) • nekompatibilita a izolovanost • redundance a nekonzistence

  5. Hromadné zpracování dat - agendy • izolovanost a nekompatibilita dat – datový formát definuje aplikace, jiná aplikace nemůže data využívat • redundance (nadbytečnost) – jedny údaje jsou uloženy na několika místech • nekonzistence (rozpory) – vzniká při neúplné aktualizaci redundantních dat • špatné možnosti zabezpečení dat • pro neplánované dotazy je potřeba nová aplikace • problém zajištění integrity dat

  6. Integrita dat • integrita (celistvost) – stav databáze, ve kterém jsou všechna data úplná a korektní • příklady: • věk je kladné číslo • každý člověk má věk (pole věk nesmí být prázdné) • každý občan ČR má trvalé bydliště • k porušení integrity může dojít: • špatným ošetřením vstupních dat • chybnou definicí databáze (chybou aplikace) • chybou databázového serveru

  7. Hromadné zpracování dat - agendy • Důvody použití: • Historie – nerozvinuté prostředky pro databázové systémy • Paralelní vývoj více aplikací a nerozvinutá systémová integrace: • Různé aplikace v průběhu vývoje mohou začít požadovat stejná data • Sloučení společností s různými informačními systémy • Jednodušší počáteční vývoj, mělo by se ale počítat s budoucí integrací

  8. Hromadné zpracování dat - databáze • Často jsou spojené s třívrstvou architekturou. • Data jsou uložena a spravována centrálně. • Datové soubory mají jednotnou vnitřní strukturu, skrytou vnějším aplikacím. • K datům je možno přistupovat jen prostřednictvím rozhraní databázového systému (SŘBD). • Je vyřešen současný přístup více klientů, oprávnění, integrita dat atd. • Operace v DBS jsou optimalizované, mají malou časovou složitost.

  9. Datový model • soubor prostředků k modelování a popisu dat • výstupem je databázové schéma – deklarace databáze (šablona databáze) • různé prostředky: • funkce • množiny • grafy • relace • objekty • Databáze je něco, do čeho se dají uložit data. • Databázové schéma je popis struktury databáze.

  10. Hierarchický model • Data jsou organizována ve stromových strukturách. • Mezi záznamy je pouze vztah rodič-potomek: • potomek má jednoho rodiče • rodič může mít více potomků • Pro databáze není příliš výhodné a obecně se nepoužívá. • Speciální využití: • DNS, LDAP • Souborové systémy • XML . cz com mendelu seznam

  11. Síťový model • Vznikl rozšířením hierarchického modelu. • Každá datová položka (uzel) může být propojena a libovolným počtem jiných položek. • Umožňuje vazby 1:N, N:M i cyklické vazby. • Jedná se spíš o koncept, který již není příliš funkční: • univerzální a velice flexibilní • těžko popsatelný a implementovatelný • Někdy je mezi síťové modely zařazován HTML DOM (Document Object Model)

  12. Relační model • popis dat pomocí relací (tabulek) • navržen v roce 1970 (E. F. Codd, v rámci projektu IBM) • je postaven na matematickém aparátu - relační algebře • využívá standardizovaný dotazovací jazyk SQL • velmi rozšířený: • Adaptive Server Enterprise (Sybase) • DB2 (IBM) • Firebird • MySQL • Oracle Database • PostgreSQL • SQL Server (Microsoft)

  13. Objektově relační model • kombinace relačního a objektového modelu: • dotazovací jazyk SQL nebo jiný • relační implementace struktury • modelování dat pomocí objektů • zapouzdření • hierarchie tříd • rychlejší • dobře podporuje vícehodnotové atributy • místo záznamů se pracuje s instancemi objektů • existují i čistě objektové databáze • není zatím úplně rozšířené

  14. Relace – definice • Množina n-tic ve tvaru (a1, a2, a3, ..., an) • ai – hodnota atributu v dané n-tici, ai in Di • Di – doména atributu (množina hodnot, kterých může atribut nabývat) • Ai – jméno i-tého atributu (textový řetězec) • Příklad: • OSOBA(RČ: STRING, VĚK: INTEGER, JMÉNO: STRING) • klíč atribut je podtržen • domény není povinné uvádět

  15. Relace • Na chvíli budeme předpokládat, že platí: • relace – tabulka • schéma / relační schéma– jméno a záhlaví tabulek (definice tabulek) • pojmy relace, schéma a tabulka jsou v praxi často zaměňovány, ale neznamenají totéž • prvek relace – řádek tabulky • atribut – sloupec tabulky • doména atributu – datový typ sloupce tabulky • příklad: • OSOBA(RČ: STRING, VĚK: INTEGER, JMÉNO: STRING) • OSOBA(RČ, VĚK, JMÉNO)

  16. Relační algebra • popis datových struktur pomocí matematické logiky • úsporný, jednoduchý a ověřený koncept • umožňuje pracovat s daty (tabulkami) před vytvořením programu • postavený na množinových operacích • součin, sjednocení, průnik, rozdíl, … • základ pro dotazovací jazyk SQL

  17. Relační algebra – operace • standardní množinové operace: • kompatibilní sloupce: • sjednocení (union) • rozdíl (difference) • průnik (intersection) • kartézský součin (Cartesian product) • speciální operace • projekce (projection) • selekce (selection) / restrikce (restriction) • Θ-spojení (Θ-join) • přirozené spojení (natural join)

  18. Relační algebra – množinové operace

  19. Relační algebra –operace

  20. Relační algebra – operace

  21. http://kantorek.webzdarma.cz/

  22. Klíč • Definice relace vyžaduje jednoznačnou identifikaci. • Klíč je minimální množina vlastností, které jednoznačně identifikují každou entitu. • Příklad – identifikace osoby: • jméno + příjmení + datum narození (složený klíč) • rodné číslo (jednoduchý klíč) • číslo osoby (jednoduchý klíč) • Obecně je nejbezpečnější využívat umělé (dumb) atributy, i když to představuje více práce. • Klíč je nejzákladnější integritní omezení – tj. každá relace musí mít klíč.

  23. Klíč • Klíčů může být v tabulce více: • OSOBY(ID, RČ, JMÉNO, PŘÍJMENÍ, ČOP) • Jeden z klíčů označíme jako primární. • Volba primárního klíče není důležitá z hlediska analýzy, ale z hlediska implementace. • primární klíč by měl být co nejmenší (z hlediska ukládání) • hodnoty primárního klíče by měly být snadno porovnatelné • nejvhodnější volbou je jeden atribut typu integer • nejvýhodnější pro stroje, lidé s databázemi nepracují

  24. Cizí klíč • referenční integritní omezení (foreign key) • atribut jedné relace (R2), který je označen jako cizí klíč, musí mít: • prázdnou hodnotu • hodnotu primárního klíče jiné relace (R1) • R1 – hlavní relace (master, parent) • R2 – vedlejší relace (detail, dependent) • Příklad: • VZTAHY(ID_VZTAHY, ID_OSOBY1, ID_OSOBY2, DATUM) • ID_OSOBY1 a ID_OSOBY2 jsou cizí klíče

  25. http://kantorek.webzdarma.cz/

More Related