- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Zjednodušená ukázka:
Stáhnout celý tento materiálDatabáze Databázová technologie
Databázový systém = Databáze + SŘBD Databázový systém (DS) systém řízení bází dat (SŘBD, anglicky DBMS – DataBase Management System) = programové vybavení, které udržuj kolekci dat (databázi)
databázový systém je spojení SŘBD a dat uložených v databázi
aplikace vyvíjené pod konkrétním SŘBD: informační systém (IS), systém pro podporu rozhodování (SPPR) atd. Nástroje DS každý databázový systém musí obsahovat (v rámci SŘBD) nástroje pro:
vytvoření, vyhledání, aktualizaci a rušení uživatelských dat,
definici struktury dat,
definici a zajištění integrity dat,
zajištění fyzické a logické nezávislosti dat
rovněž může obsahovat nástroje pro:
podporu práce více uživatelů (zejména definici transakcí a přístupových práv),
zálohování dat
Historie DS na počátku: hromadné zpracování dat v podnicích, vývoj informačních systémů pomocí specializovaných jazyků (např. COBOL) svázanost dat s programy a jejich redundance
DS = řešení redundance a svázanosti dat s programy (nejprve pro sálové počítače a později i pro osobní počítače)
první databázové systémy pro PC vznikly v 80. letech, např. dBASE (obsahoval i vlastní jazyk, spojující JDD a JMD) nebo FoxBase (FoxPro) Základní pojmy I Aplikace (databázová aplikace) = program, napsaný v některém z programovacích jazyků, který slouží pro výběr, prezentaci, zpracování a tisk dat, uložených v databázi
Fyzická nezávislost dat = oddělení způsobu fyzického uložení dat (například na disku) od způsobu práce s nimi
Logická nezávislost dat = změna logické struktury dat nevyžaduje úpravu již existujících programů nebo dotazů pracujících s daty Základní pojmy II Integrita databáze (konzistence dat) = data věrně zobrazují reálný stav, který popisují
základní předpoklad udržení dat v konzistentním tvaru = kvalitně navržená datová základna (datový model)
nekonzistence mezi realitou a daty, které ji popisují, mohou vznikat z těchto důvodů:
Nedostatečná aktualizace dat: v případě, že se vlastnost objektu změní, musí být změna provedena ve všech datových souborech
Referenční integrita
na model dat se často kladou tzv. integritní omezení, která nějakým způsobem zužují množinu přípustných hodnot (např. rozsah hodnot) Základní pojmy III Jazyk pro definici dat (JDD):
slouží pro definici databáze (definice dat jsou nezávislé na aplikačním prostředí)
kromě běžných typů dat zahrnují prostředky JDD i možnosti vytváření složitějších struktur (vazby mezi záznamy, omezení na data atd.)
Jazyk pro manipulaci s daty (JMD):
slouží k manipulaci s daty v databázi, zajišťuje operace jako je vkládání, editace a mazání dat
speciální typ manipulace s daty – výběr dat z databáze – se realizuje pomocí dotazovacího jazyka, který je buď součástí JMD nebo figuruje samostatně
Jazyk SQL (Structured Query Language - strukturovaný dotazovací jazyk) v sobě zahrnuje JDD i JMD Uživatelé DS správce databáze: je zodpovědný za autorizovaný přístup do databáze (práva přístupu pro jednotlivé uživatele), vyhodnocuje využívání databáze, modifikuje přístupové cesty k datům apod.
aplikační programátoři: vytvářejí uživatelské aplikace
příležitostní uživatelé: ovládají dotazovací jazyk
naivní (parametričtí) uživatelé: spokojují se s předdefinovanými dotazy, k nimž přistupují pomocí menu Architektura DS z hlediska rozdělení služeb
centrální architektura
architektura file server
architektura klient-server BÁZE DAT SŘBD APLIKACE 1 APLIKACE 2 … Terminál Terminál Terminál Minipočítač VSTUPY VÝSTUPY Centrální architektura data i SŘBD jsou uložené v centrálním počítači
typická architektura pro terminálovou síť po síti se 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áší zase zpátky na terminál
aplikační program i vlastní zpracování probíhá na centrálním počítači (většinou zpracovává více úloh) odezvy na dotazy mají určité zpoždění BÁZE DAT NETWORK SOFTWARE PC PC PC File Server I/O POŽADAVKY BLOKY DAT SŘBD SŘBD SŘBD Architektura 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
souvisí zejména s rozšířením osobních počítačů a sítí LAN
SŘBD musí používat vhodný systém zamykání dat, aby nedocházelo ke kolizím při přístupu více uživatelů k jedněm datům
komunikace uživatele se systémem probíhá takto:
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 jsou data zpracovávána podle zadaného dotazu
výsledek dotazu se zobrazí na obrazovce osobního počítače Architektura klient-server využívá síť LAN, osobní počítače a databázový server
na osobních počítačích běží program (aplikace) podporující např. vstup dat, formulaci dotazu apod.
pro komunikaci s databázovým serverem se využívá jazyk SQL
databázový systém je 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 odesílán na databázový server
databázový server vykoná dotaz
výsledek dotazu je poslán zpět na osobní počítač, kde je zobrazen BÁZE DAT SŘBD Server SQL DOTAZY DATA (VÝSL. DOTAZŮ) PC APL. -KLIENT PC APL. -KLIENT PC APL. -KLIENT Architektura klient-server dotazy jsou prováděny přímo na databázovém serveru a na osobní počítač jsou posílány pouze výsledky architektura klient-server redukuje přenos dat po síti
Distribuovaná databáze Distribuovaná databáze = množina databází, která je uložena na několika počítačích, ale uživateli se však jeví jako jedna velká databáze Distribuovaná databáze - vlastnosti Transparentnost = z pohledu klienta se zdá, že všechna data jsou zpracovávána na jednom serveru v lokální databázi
Autonomnost = s každou lokální bází dat zapojenou do distribuované databáze je možno pracovat nezávisle na ostatních databázích
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), přičemž v jedné distribuované databázi mohou být zapojeny počítače i počítačové sítě různých architektur (pro komunikaci se používá jazyk SQL) Umístění dat v databázových systémech Centrální databáze
Distribuovaná databáze (klasický přístup)
Distribuovaná replikovaná databáze
pojmy:
transakce = ukončená změna nad množinou dat tvořící logický celek
globální transakce = transakce nad daty, která jsou umístěna v databázích fyzicky různých uzlů sítě
dvoufázový potvrzovací protokol = potvrzení všech transakcí v uzlech sítě, které se globální transakce účastní Centrální databáze všechna data jsou uložena na jediném místě (bez redundance)
správa dat je organizována centralizovaně
možnost globálního pohledu je snadná
požadavky jsou zpracovávány v centru, z čehož vyplývá velká zátěž komunikačních cest do centra Distribuovaná databáze (klasický přístup) data jsou rozptýlena na různých místech (bez redundance)
správa dat je organizována decentralizovaně pomocí komunikace a mechanizmu dvoufázového potvrzování transakce
globální, logicky centralizovaný pohled je možný jen za cenu komunikace
základním předpokladem jsou rychlé komunikace typické pro sítě LAN Distribuovaná replikovaná databáze jeden logický objekt lze nalézt na několika uzlech s lokální autonomií (existuje redundance)
existuje logicky centralizovaný pohled na data (s globálním řízením)
problémy s přístupovou rychlostí jsou řešeny redundancí dat a zpracováváním požadavků v lokální databázi
globální transakce jsou zabezpečeny systémovou koordinací v rámci jednotlivých WAN-aplikací
celková spolehlivost a provozuschopnost je zvýšená Model SŘBD model = souhrn pravidel pro reprezentaci logické organizace dat v SŘBD
existuje mnoho modelů dat – hierarchický, síťový, hvězdicový, relační atd., přičemž každý má určité přednosti pro specifickou třídu úloh
nejpoužívanějším modelem SŘBD je díky své flexibilitě a efektivitě relační model Hierarchický model data jsou organizována do stromové struktury
každý záznam představuje uzel ve stromové struktuře
vzájemný vztah mezi záznamy je typu rodič/potomek. Hierarchický model použití hierarchického modelu je vhodné tam, kde i zájmová realita má hierarchickou strukturu
nalezení dat v hierarchické databázi vyžaduje navigaci přes záznamy směrem dolů (potomek), nahoru (rodič) a do strany (další potomek)
mezi nevýhody hierachického modelu patří:
v některých případech nepřirozená organizace dat (zejména obtížné znázornění vztahu M:N, který se řeší např. pomocí virtuálních záznamů),
složité operace vkládání a rušení záznamů. Síťový model je zobecněním hierarchického modelu dat, který doplňuje o mnohonásobné vztahy (jsou označovány jako C-množiny neboli Sets)
sety propojují záznamy různého či stejného typu, přičemž spojení může být realizováno na jeden nebo více záznamů
přístup k propojeným záznamům je přímý bez dalšího vyhledávání, k dispozici jsou tyto operace:
nalezení záznamu podle klíče,
posun na prvního potomka v dílčím setu,
posun stranou na dalšího potomka v setu,
posun nahoru z potomka na jeho rodiče v jiném setu.
nevýhodou síťové databáze je zejména nepružnost a obtížná změna její struktury Síťový model Síťový model Relační databázový model poprvé publikován v r. 1969 výzkumným pracovníkem firmy IBM E. F. Coddem, který pohlédl na strukturu souboru jako na relaci a tak měl k dispozici matematický aparát pro práci s relacemi (relační algebru a relační kalkul)
jednoduchá struktura, ve které jsou data organizována v tabulkách (tzv. relacích), které se skládají z řádků a sloupců, a všechny databázové operace jsou prováděny na těchto relacích Vektor souřadnic Atribut Záhlaví Tělo Relace Relace jednotlivý řádek dat je n-rozměrný vektor hodnot neboli souřadnic (anglicky tuple), tzv. záznam
počet řádků souřadnic neboli hodnot v relaci určuje její kardinalitu
každý sloupec ve vektoru souřadnic se nazývá atribut
počet atributů v relaci se nazývá stupeň
relace lze rozdělit do dvou hlavních částí:
záhlaví, tvořené nadpisy sloupců (název atributu, doménu-obor hodnot)
tělo – jednotlivé vektory hodnot (záznamy) Vlastnosti relace homogenita sloupců = v každém sloupci jsou všechny položky stejného typu
jednoznačnost = v relaci neexistují dva stejné řádky
pořadí řádků je nevýznamné, protože jednotlivé řádky jsou identifikovatelné pomocí primárního klíče
pořadí sloupců (atributů) je nevýznamné, protože sloupce jsou označeny názvem Primární klíč v tabulce vždy existuje alespoň jeden primární klíč, který je v nejhorším případě tvořen všemi položkami dané tabulky
řada SŘBD umožňuje vytvořit zvláštní položku, která nabývá hodnot pořadových čísel záznamů Datový model Datový model = myšlenkový (pojmový) popis daného prostoru problému (nejabstraktnější část návrhu databáze)
datové modely se vyjadřují pomocí entit, atributů, domén (obor hodnot) a vztahů
Entita (angl. entity) = nějaký objekt reálného světa, který je schopen nezávislé existence, např. nějaký člověk, věc, událost
Množina (třída) entit = souhrn entit, majících jednu nebo více společných charakteristik, např. všichni studenti, knihy, autoři
Atribut (angl. attribute) = jistá skutečnost (údaj), který se u příslušné entity (třídy entit) zaznamenává a sleduje; určuje nějakou podstatnou vlastnost entity, např. pro studenta jako entitu budou atributy jeho jméno, příjmení, rodné číslo, adresa bydliště, adresa koleje atd.
Doména = obor hodnot, který popisuje typ dat, jež daný atribut reprezentuje – množina všech přípustných platných hodnot, kterých smí daný atribut nabývat (na rozdíl od datového typu, což je pojem fyzický, je obor hodnot pojem logický) "číslo" je datový typ, "věk" je obor hodnot
Vztah (relace, angl. relationship) = určitá souvislost (vztah) mezi entitami nebo množinami entit, např. zařazení studenta do studijní skupiny Návrh datového modelu identifikace tříd entit jako tříd objektů stejného typu. Příkladem je STUDENT, UČITEL, ZÁKAZNÍK, PŘEDMĚT, VĚC, VÝROBEK apod.
identifikace (typů) vztahů, do kterých uvedené entity mohou vstupovat, např.STUDENT (entita) MÁ_ZAPSÁN (vztah) PŘEDMĚT (entita)UČITEL (entita) UČÍ (vztah) PŘEDMĚT (entita)
určení charakteristických vlastnosti entit i vztahů, neboli atributů. Atributem entity STUDENT je např. JMÉNO, PŘÍJMENÍ, ROD_ČÍSLO, BYDLIŠTĚ.
definování integritních omezení (I0), upřesňujících navrhované schéma ve vztahu k reálnému světu. Např. atribut DATUM_ZÁPISU musí být datumového typu.
každá entita musí být jednoznačně identifikovatelná musí existovat jeden (případně i více) atribut, který jednoznačně identifikuje konkrétní entitu - primární klíč, např. ROD_ČÍSLO pro entitu STUDENT Zápis datového E-R modelu – lineární textový zápis Zápis datového E-R modelu – grafické zobrazení používá grafickou metodu, podobnou vývojovým diagramům v programování
pro zápis konceptuálního schématu se používáme následující značky: Grafické zobrazení E - R diagramu - příklad učitel, který je charakterizován jménem, příjmením, rodným číslem, adresou a katedrou, na které pracuje, vyučuje předmět, charakterizovaný názvem předmětu, číslem předmětu a semestrem Typy vztahů podle jejich kardinality patří mezi významná IO
předpokládejme typ vztahu:
ve vztahu STUDENT a CIZÍ JAZYK mohou existovat tyto tři případy:
vztah 1:1
vztah 1:N
vztah M:N Vztah 1:1 určitý student umí maximálně jeden jazyk
daný jazyk umí maximálně jeden student
vztah 1:1 může zahrnovat i případy vztahů 1:0 a 0:1 Vztah 1:N určitý student umí víc než jeden jazyk
daný jazyk umí maximálně jeden student
vztah 1:N může obecně zahrnovat i vztahy 1:1, 1:0 a 0:1
u tohoto vztahu je významný směr Vztah M:N (síťový vztah) určitý student může umět více než jeden cizí jazyk
daný jazyk může umět více studentů
vztah M : N může zahrnovat i případy vztahů 0:1 , 1:0, 1:1 , 1:N, N:1 Kardinalita vztahu v E-R diagramu Konstrukce E-R diagramů shora dolů: vychází se z globálního pohledu na doménu aplikace a z postupného zjemňování pojmů a tím i postupného vytváření podrobnějšího E-R diagramu
zdola nahoru: vychází se z jednotlivých typů objektů na nejnižší úrovni, tj. vlastně z atributů, které se seskupují tak, aby vznikly typy entit Relační algebra je tvořena souhrnem operací, aplikovatelných nad relacemi, s jejichž pomocí odvozujeme nové relace z relací výchozích
operace relační algebry je možno rozdělit do dvou skupin:
klasické množinové operace: sjednocení, průnik, množinový rozdíl, symetrický rozdíl, kartézský součin
speciální množinové operace: projekce, restrikce, spojení a dělení
každá z klasických množinových operací má dva operandy (dvě relace) je nutno splnit kompatibilitu obou relací (neplatí pouze pro kartézský součin):
relace jsou kompatibilní tehdy, když jsou stejného stupně a každý i-tý atribut z každé relace (pro i = 1, 2, ...., n) je definován na stejné doméně Relace - příklad na katedře vysoké školy jsou pracovníci, kteří se zabývají pouze výukovou činností, další pak pouze výzkumnou činností, ale jsou samozřejmě i tací, kteří se zabývají oběma činnostmi
rozdělíme tyto pracovníky na dvě množiny, tj. na pracovníky, kteří se zabývají výukou a na ty, kteří se zabývají výzkumnou činností
relace navrhneme jako kompatibilní - stejného stupně, stejné atributy Relace - příklad Klasické množinové operace sjednocení
průnik
množinový rozdíl
symetrický rozdíl
kartézský součin Sjednocení znamená vytvořit relaci (tabulku), která bude obsahovat všechny n-tice obou relací při zachování podmínky, že každá n-tice bude ve výsledné relaci pouze jednou
příklad: vytvořit relaci, která bude obsahovat údaje o všech pracovnících (pedagogických i výzkumných) Průnik znamená vytvořit relaci (tabulku), která obsahuje stejné n-tice (záznamy) obou vstupních relací
příklad: vytvořit relaci, která bude obsahovat pracovníky katedry, kteří se zabývají pedagogickou činností a současně výzkumem Množinový rozdíl znamená vytvořit relaci (tabulku), která bude obsahovat ty n-tice první relace, které nejsou obsaženy ve druhé relaci
příklad: vytvořit relaci, která obsahuje pracovníky, kteří se zabývají pouze pedagogickou činností Symetrický rozdíl znamená vytvořit relaci, která bude obsahovat n-tice, jež se vyskytují pouze v jedné ze dvou vstupních relací
příklad: vytvořit relaci, která bude obsahovat pracovníky katedry, kteří se zabývají bud' jen výukou, nebo jen výzkumnou činností Kartézský součin výsledná tabulka se vytvoří tak, že se zřetězí každá n-tice (záznam) první relace s každou n-ticí druhé relace
je-li první relace stupně m , druhá stupně n, potom výsledná relace je dána součinem mxn
pro tuto množinovou operaci není nutno splnit podmínku kompatibility obou vstupních relací Kartézský součin - příklad Speciální relační operace projekce
restrikce
spojení Projekce znamená vytvořit relaci, která bude obsahovat pouze vertikální podmnožinu výchozí relace (budou přeneseny pouze určité atributy relace)
příklad: vytvořit relaci, která bude obsahovat pouze jméno a příjmení pracovníka z relace UČITEL Restrikce znamená vytvořit relaci, která bude stejného stupně jako relace výchozí, bude však obsahovat menší počet n-tic
výsledná relace je horizontální podmnožinou výchozí relace a obvykle závisí na splnění určité podmínky Restrikce - příklad vytvořit relaci, která bude obsahovat jména a příjmení pracovníků, mladších 40 let (na relaci UČITEL) Spojení (JOIN) znamená vytvořit relaci, jejíž n-tice jsou zřetězením n-tic jedné relace se všemi n‑ticemi druhé relace, přičemž vytvořené n-tice musí splňovat určitou podmínku
podmínka je specifikována výrazem (R[A?B]S), kde ? je podmínkový operátor, porovnávající dva kompatibilní atributy (A,B), přičemž každý z těchto atributů náleží do jiné výchozí relace (A je atributem relace R, B je atributem relace S)
v podstatě se jedná o vytvoření určité podmnožiny kartézského součinu obou výchozích relací
v případě, že podmínkový operátor je operátorem rovnosti (=), potom mluvíme o ekvispojení (equijoin) Spojení - příklad Spojení - příklad relace UČITEL a UČÍ obsahují srovnatelné atributy (Osobní číslo a Číslo_učitele) a proto je možno s těmito relacemi provést spojení (ekvispojení) Normalizace v databázovém návrhu normalizace poskytuje metodiku návrhu uspořádání informací v databázi, která pomáhá odstranit zbytečnou duplicitu uložení údajů a přitom zachovává možnost vhodného spojováni údajů do podoby potřebné pro jejich zpracování
jednotlivé normální formy:
první normální forma (1NF)
druhá normální forma (2NF)
třetí normální forma (3NF) Normalizace - příklad báze dat, ve které chceme evidovat informace o studentech (jméno, adresa, č_oboru) a jejich hodnoceni z jednotlivých předmětů
potřebujeme informaci o fakultě, na které student studuje, což je informace, která je jednoznačně závislá na oboru, který si student zvolil
všechny potřebné údaje jsou zachyceny v TABULCE1 (tučně vytištěné názvy položek tvoří primární klíč) TABULKA1 První normální forma relace je v první normální formě, pokud její položky jsou jednoduché (atomické), tj. nejsou opět relacemi
nepřipouští se vzájemné zahnízdění relací
příklad:
TABULKA1 je v první normální formě
když lze v atributu "Autoři" uložit více než jedno jméno autora, potom relace obsahující tento záznam nesplňuje 1NF: Normalizace - funkční závislosti atribut B je funkčně závislý na atributu A, pokud v čase existuje ke každé hodnotě atributu B nejvýše jedna hodnota atributu A. Funkční závislost atributu B na atributu A se zapisuje A→B
atribut B je silně funkčně závislý na atributu A, když je na něm funkčně závislý a zároveň neexistuje žádná podmnožina A' složeného atributu A taková,
Vloženo: 26.04.2009
Velikost: 1,32 MB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Skupina předmětu DBS - Databázové systémy
Reference vyučujících předmětu DBS - Databázové systémy
Podobné materiály
- BIST - Bezpečnost IS/IT - Upravené přednášky z roku 07
- DSZ - Daňové systémy v zahraničí - Přednášky Minaříková
- VF - Veřejné finance - Veřejné finance přednášky
- ZF - Základy financování - Všechny přednášky ve wordu
- NDA - Nepřímé daně - Přednášky z DPH r.2008
- DFM - Datové a funkční modelování - Přednášky
- DPF - Daň z příjmu fyzických osob - Přednášky
- FA - Finanční analýza a plánování - Přednášky (2)
- FA - Finanční analýza a plánování - Přednášky
- FP - Finance podniku - Přednášky
- KIB - Kryptografie a informační zabezpečenost - Přednášky
- MIK - Mikroekonomie - Přednášky (2)
- MIK - Mikroekonomie - Přednášky
- MPO - Manažerské poradenství - Přednášky
- NDA - Nepřímé daně - Přednášky 2008
- P - Právo - Přednášky
- PSI - Počítačové sítě - Přednášky
- RPV - Řízení projektů vývoje IT/IS - Přednášky předělané do wordu
- SRKE - Soudní řízení, konkurz a exekuce - Přednášky
- TWS - Tvorba WWW stranek - Všechny přednášky
- UIKP - Úloha informací v komunikaci podniku - Přednášky
- VPC - Výstavba PC - Všechny přednášky
- ZM - Základy marketingu - Přednášky marketing
- NOP_2 - Nauka o podnikání - Přednášky
- ADS - Aplikace daňové soustavy - přednášky
- MAK - Makroekonomie - přednášky
- MAK - Makroekonomie - přednášky
- MAK - Makroekonomie - přednášky
- MAK - Makroekonomie - přednášky
- MAK - Makroekonomie - přednášky
- OOPP - Občanské, obchodní a pracovní právo - přednášky
- U1_1 - Základy účetnictví - přednášky
- Bep1P - Ekonomika podniku 1 - přednášky all of them
- Kmak1P - Makroekonomie 1 - přednášky
Copyright 2025 unium.cz


