- 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
Hromadně přidat materiály
opory
BU04 - Informační technologie a systémová analýza
Hodnocení materiálu:
Popisek: opory Kutínová, Macur: Informační technologie a systémová analýza, rok vydání 2006
Zjednodušená ukázka:
Stáhnout celý tento materiálzy, nebo může být použit jako součást
hostitelského jazyka pro přístup k datům, zatímco zbývající část aplikace je
napsaná v jiném programovacím jazyce. SQL je tvořen v porovnání s jinými
jazyky pouze několika příkazy, zato však velmi výkonnými. S jeho pomocí
lze definovat data (definovat strukturu tabulky), aktualizovat data (přidávat
a mazat řádky a sloupce, vkládat data z vnějšího souboru), ale hlavní síla je
v příkazu SELECT pro formulaci dotazů. SQL dnes představuje standardní
metodou přístupu k databázi. Obliba a rozšíření jazyka SQL vedlo k jeho
standardizaci, nicméně implementace různých producentů SŘBD se od to-
hoto standardu vždy poněkud liší.
• Skupinu jazyků, která nezapadá do žádné z předchozích, bychom mohli
nazvat ostatní jazyky. Patří sem např. jazyky maker, což ve skutečnosti není
programovací jazyk, protože pouze automatizuje provádění různých akcí
uživatele jako posloupnost stisků kláves. Nebo sem můžeme zahrnout jazyk
QBE (Query By Example), přeloženo znamená dotaz prostřednictvím pří-
kladu. Zase to není programovací jazyk, ale spíš uživatelské rozhraní, které
dovoluje definovat dotazy intuitivním způsobem bez znalosti jazyka SQL.
Mezi jiné jazyky než procedurální bychom mohli zařadit také objektově ori-
entované jazyky, jako je C++, VisualBasic, Turbo Pascal, protože přistupují
k programování ne přes definici procedur, ale popisem akcí, které jsou reali-
zovány na různých objektech.
19
4. Základní pojmy
4.1. Data versus informace
Než se pustíme do databázové teorie a terminologie, zamysleme se nad rozdí-
lem pojmů data a informace. Obecná definice počítače často zní: počítače jsou
stroje na zpracování informací ve formě dat. Počítače tedy umožňují ukládat
data a následně z těchto uložených dat získávat informace. Data, tedy předsta-
vují statické hodnoty pocházející z jakékoli oblasti lidské činnosti, které je tře-
ba uložit. Například údaje popisující rozměry, materiál a zatížení nějaké kon-
strukce nebo osobní údaje charakterizující určitou osobu. Z těchto uložených
dat se různými způsoby manipulace s nimi získávají výstupní údaje, jež mají
charakter informací. Jedním ze způsobů této manipulace je např.
u numerických úloh zpracování vstupních dat programem podle nějakého algo-
ritmu a zobrazení informací ve formě číselných nebo graficky zpracovaných
výsledků. Jiným typem zpracování, typickým pro databázové systémy, jsou
různé výběry z uložených dat, jejich seskupování nebo filtrování podle zada-
ných kritérií.
4.2. Co je to databáze?
Jak uvidíme dále, pojem databáze se někdy užívá v několika různých souvis-
lostech. Lze však říci, že obecně si pod tímto pojmem představíme soubor ulo-
žených dat, jež popisují nějakou oblast lidské činnosti, na základě kterých jsme
schopni o této oblasti čerpat informace. Může se např. jednat o databázi odbě-
ratelů zboží z nějaké velkoprodejny a údaje o nich mohou sloužit k rozesílání
nabídek na různé reklamní akce nebo k vyhodnocování jejich nákupů. Přitom
na formě databáze nezáleží. Většinou sice předpokládáme, že jde o data ulože-
ná v počítači, ale ještě i dnes existuje mnoho databází v papírové formě ulože-
ných v různých pořadačích. Např. mnoho obvodních lékařů si stále údaje
o pacientech zapisuje do karet a jediným nástrojem pro efektivní vyhledávání
informací je jejich řazení podle abecedy. To samozřejmě velmi urychlí vyhle-
dání určitého pacienta, ale při požadavku zjistit pacienty se stejnou chorobou,
se bude muset lékař spolehnout na svoji paměť nebo projít karty všech pacien-
tů. Na databázi se tedy můžeme dívat jako na velkou skříň s informacemi a jde
o to, aby práce s ní byla efektivní a umožňovala rychlé vyhledávání, filtrování
a seskupování údajů podle požadavků uživatele.
4.3. Zdroje dat
Jestliže už víme, jak si představit databázi, měli bychom se zamyslet nad tím,
co může být zdrojem dat, která shromažďuje. Stále častěji se setkáváme
s informačními systémy, které zpřístupňují veřejné nebo privátní informace
z nejrůznějších institucí a firem. Každý informační systém je vybudován na
nějaké databázi. A jestliže tyto instituce a firmy se mohou zabývat jakýmikoli
okruhy činnosti, pak právě zde leží zdroje dat, které je třeba shromažďovat pro
potřeby získávání informací. Zdrojem dat jsou tedy informace z libovolných
předmětových oblastí, což mohou být nejrůznější druhy výrobních, správních,
vzdělávacích, vojenských nebo jiných organizací a institucí. Příklady uvádí
následující tabulka:
20
Informační technologie a systémová analýza
Oblast Zdroj dat
Výrobní podnik Výrobky, suroviny, dodavatelé, odběratelé, zaměstnanci…
Letecká doprava Lety, posádky, cestující, zaměstnanci, rezervace míst…
Realitní kancelář Klienti, realitní objekty, poptávka, nabídka, zaměstnanci
Zdravotnické za-
řízení
Pacienti, diagnózy, lůžka, zdravotnický materiál, lékaři…
Banka Účty, klienti, půjčky, úvěry, jiné služby, zaměstnanci…
Tab. 4.1 Příklady předmětových oblastí a datových objektů, které je popisují
4.4. Objekty dat
Z tabulky nahoře vidíme, že zdrojem dat jsou objekty (entity), které danou
předmětovou oblast popisují. Tímto objektem může být člověk, předmět, udá-
lost, místo nebo pojem. Každý objekt je možno popsat datovými údaji, které jej
charakterizují pro určitou předmětovou oblast. Některé objekty jsou specifické
pro určitou předmětovou oblast (pacient pro zdravotnickém zařízení), jiné mů-
žeme najít v mnoha oblastech (klienti, zaměstnanci). Přesto tyto stejné objekty
pravděpodobně nebudou v různých předmětových oblastech popsány naprosto
stejnými údaji. Např. u zaměstnance – pilota (letecká doprava) budeme sledo-
vat kromě osobních údajů třeba počet nalétaných hodin, zatímco
u zaměstnance – lékaře (zdravotnické zařízení) zase počet atestací a podobně.
4.5. Atributy dat
Datové údaje, které charakterizují objekt pro danou předmětovou oblast, nazý-
váme atributy (vlastnosti těchto objektů). Například zaměstnanec je specifiko-
ván svým jménem, příjmením, bydlištěm a dalšími údaji potřebnými např. pro
zpracování mezd. Projekt zase svým názvem, identifikačním číslem, cenou,
termínem.
4.6. Hodnota dat
Jestliže atributy představují vlastnosti objektů, které chceme v dané předměto-
vé oblasti sledovat, pak tyto atributy pro každý prvek tohoto objektu nabývají
konkrétních hodnot. Například atribut příjmení může nabývat konkrétních
hodnot Novák, Vopršálek nebo Novotná, atribut plat 10 000, 15 000. Obecně
mohou být hodnoty dat kvalitativní (popisné), jako je třeba právě příjmení za-
městnance či název projektu nebo kvantitativní (počitatelné), to znamená, že
vyjadřují množství, počet nějakých jednotek. Tyto dva druhy hodnot předsta-
vují dva základní datové typy ukládaných dat: textový řetězec a číslo. Většina
databází rozšiřuje tyto základní datové typy ještě o typ datum a logickou hod-
notu ano/ne (oba jsou ovšem podmnožinou typu číslo). Moderní databáze
v souvislosti s velikostí ukládaných dat rozlišují množství podtypů těchto zá-
kladních typů.
21
4.7. Struktura databáze
Strukturou databáze nazýváme množinu datových prvků, které požadovaným
způsobem popisují sledovaný objekt. Např. objekt ZAMESTNANEC bude
popsán řadou atributů různého typu jako např. jméno, příjmení, RČ, plat, atd.,
z nichž některé budou nabývat kvalitativní jiné kvantitativní hodnoty různého
rozsahu. Definování struktury databáze, představuje vytipování objektů
a určení atributů a jejich oborů hodnot potřebných pro popsání určité předmě-
tové oblasti. Je velmi důležitou částí návrhu databáze a může mít podstatný
vliv na její správné fungování.
4.8. Záznam dat
Datovým záznamem rozumíme množinu hodnot souvisejících prvků jednoho
datového objektu. Tedy všechny údaje o konkrétním zaměstnanci, projektu
nebo půjčce. Ve formě těchto datových záznamů jsou potom data většinou
uchovávána na paměťových médiích.
4.9. Klíčové prvky dat
Některé prvky dat (atributy) mají zajímavé vlastnosti. Na základě znalosti je-
jich hodnot lze totiž zjistit i hodnoty ostatních souvisejících prvků dat. Tyto
prvky, podle nichž lze určit i ostatní datové prvky téhož záznamu, nazýváme
klíčovými atributy. Např. známe-li ISBN nějaké knihy, můžeme jednoznačně
určit o jaký titul jakého autora se jedná, kdy a kým byla kniha vydána. Pokud
bychom nepotřebovali sledovat informace o vydání knihy, mohla by k její
identifikaci postačit znalost jejího názvu a autora, což by sice nebylo ideální,
ale pro potřeby jednoduchého systému by to mohlo být postačující. Atributů,
které jednoznačně identifikují záznam, může být tedy v objektu definováno
více. Mluvíme o tzv. kandidátních klíčích. Je na projektantovi konkrétní da-
tabáze, aby rozhodl, který z nich bude použit pro přístup k datům záznamu.
4.10. Vazby mezi objekty
V tabulce 4.3.1 jsme viděli, že informace o určité předmětové oblasti jsou vět-
šinou popsány pomocí několika objektů. Každý objekt představuje ucelené
informace o jeho vlastnostech. Tyto objekty však spolu vzájemně souvisí,
vždyť při popisu reality říkáme: „Učitel vyučuje předměty, studenti navštěvují
přednášky, přednáška probíhá v určité místnosti.“ Mezi daty tak mohou vznikat
různé druhy vazeb. Rozlišujeme tři základní vztahy:
• Vztah jeden k jednomu
• Vztah jeden k mnoha
• Vztah mnohý k mnoha
22
Informační technologie a systémová analýza
Např. v předmětové oblasti (FIRMA) mohou existovat datové objekty popisu-
jící tuto oblast, jako ZAMESTNANEC, ODDELENI, PROJEKT,
ODBERATELE, a podobně. Vztahy, které mezi nimi existují, lze popsat slov-
ně jako: zaměstnanec je zařazen do oddělení, zaměstnanec pracuje na nějakém
projektu, projekt se vytváří pro určitého odběratele. Podrobíme-li tyto vztahy
rozboru, můžeme určit jejich typ, jako u následujících objektů:
ZAMESTNANEC
ODBORAR
Vztah jeden k jednomu
je
Vztah 1 : 1 je nejjednodušší, ale nejméně obvyklý vztah. Každému prvku jed-
noho objektu odpovídá pouze jeden prvek druhého objektu. Většinou se jedná
o jakýsi „podobjekt“, jako v tomto případě, kdy o odborářích chceme sledovat
další informace (jako např. funkce v odborech, datum vstupu apod.). Každý
zaměstnanec však nemusí být odborářem. Je tedy zbytečné rozšiřovat objekt
ZAMESTNANEC o atributy odboráře, protože u mnoha zaměstnanců nebudou
mít význam a zůstanou nenaplněné.
ODDELENI ZAMESTNANEC
Vztah jeden k mnoha
pracuje
Nejobvyklejší vztah, ve kterém s jedním prvkem jednoho objektu lze spojit
více (jako zvláštní případ jeden nebo žádný) prvků druhého objektu. Zaměst-
nanec je standardně zařazen do jednoho oddělení a toto oddělení má většinou
více zaměstnanců. Tento vztah však připouští, aby existovalo i oddělení
s jedním zaměstnancem nebo dokonce bez zaměstnanců.
ZAMESTNANEC
PROJEKT
Vztah mnohý k mnoha
zpracovává
Tento typ vztahu je v reálném světě velmi běžný. Jak vidíme na příkladu, jeden
zaměstnanec může pracovat na více projektech a projekt je současně zpracová-
ván několika zaměstnanci. Nebo čtenář si může půjčit více knih a kniha může
být půjčena více čtenářům. Jak uvidíme dále, v relačních databázích jej nelze
realizovat přímo, ale je třeba jej rozložit na jednodušší vztah 1 : n pomocí tzv.
vazebné tabulky.
Příklad .1 4
Pokuste se vytipovat objekty, které by bylo třeba popsat pro vytvoření data-
bázového systému knihovny.
Základní objekty KNIHA a ČTENÁŘ jsou patrně jasné už z velmi lakonické-
ho popisu činností odehrávajících se v knihovně: čtenář si půjčuje knihy.
Z této věty můžeme odvodit i nutnost dalšího objektu – VYPUJČKA, protože
23
je třeba vědět, kdo si jakou knihu půjčil, kdy to bylo a zda ji vrátil. Dál už
bude záležet o jakou knihovnu se bude jednat. Pro naši domácí knihovnu to
může být postačující, pro veřejnou knihovnu bude třeba se podrobněji se-
známit s činnostmi, které se tu odehrávají, aby bylo možno splnit úkoly, kte-
ré má systém plnit. Dalšími objekty, které tak bude třeba sledovat mohou
být např. SKLAD pro popis umístění knih, VYDAVATELSTVÍ pro sledování
kontaktů na vydavatele, ŽÁNR pro zatřídění knih, BESEDA pro organizaci
besed s autory a další.
5. Datový model
Datový model popisuje strukturu databáze na konceptuální, tedy logické úrov-
ni. Jedná se o formální popis uživatelské aplikace, tedy toho, jak databáze fun-
guje. K zajištění úkolů, které má DB systém plnit a na základě analýzy daného
prostoru problému, se provádí strukturalizace dat a popis vzájemných vztahů
mezi nimi. Důležité je, že konceptuální schéma, které na této úrovni vzniká, je
nezávislé na konkrétních implementačních nástrojích, tedy programech
(SŘBD), které definované funkce a procesy realizují vlastními (poněkud odliš-
nými) prostředky.
Podle toho jak jsou data organizována a zpřístupňována uživateli
a programátorovi, bylo rozpracováno několik DB modelů této organizace. Nut-
no podotknout, že databáze mají bohatou a dlouhou historii úzce spojenou
s praxí. Vždy šlo o to, jak zpracovat data co nejefektivněji pro řešení konkrét-
ního problému, a proto vznikaly aplikace založené na určitých modelech orga-
nizace dat, aniž by tyto byly vždy předem teoreticky definovány a popsány.
Z historického hlediska byl pouze relační model teoreticky propracován dříve,
než byl vyvinut SŘBD tohoto typu, ostatní modely pouze dodatečně teoreticky
popisují DB systémy, které již byly prakticky několik let používány.
Dá se říct, že existující DB modely vycházejí ze tří základních přístupů organi-
zace dat:
• Soubory dat jsou vzájemně spojeny pomocí ukazatelů.
Na tomto principu jsou založeny síťové a hierarchické databáze, které před-
stavují základy databázové technologie. První SŘBD založené na těchto
modelech se objevily v druhé polovině 60. let a jsou použity na velmi roz-
sáhlých projektech jako např. vesmírný program Apollo. Pracují efektivně
a rychle při vyhledávání, lze pomocí nich dobře modelovat vztahy, i když
u hierarchických databází je složitý vztah M : N problematický. Dodatečná
změna jednou navržené struktury je však u nich velmi obtížná, protože vede
k nutnosti předefinovat vztahy celého systému.
• Soubory dat jsou vzájemně logicky nezávislé.
Tento přístup se uplatňuje u relačního modelu, který chápe data jako více
méně nezávislé tabulky, se kterými se manipuluje pomocí operací relační
algebry. Zakladatelem tohoto modelu je E. F. Codd, který na počátku 70. let
publikoval články, v nichž popsal model založený na matematickém pojmu
relačních množin. V průběhu 70. let vznikly první relační SŘBD, které pro-
šly v dalších letech obdobím zdokonalování a v současnosti platí, že většina
dnešních komerčních produktů jsou systémy založené na relačním modelu.
24
Informační technologie a systémová analýza
• Soubory dat představují objekty.
Principy objektově orientovaného programování (OOP) pronikly i do oblasti
databází. Objektový přístup nabízí možnost lépe popsat objekty reálného
světa než relační model, který popisuje pouze vlastnosti objektů, tedy static-
ká data. Na rozdíl od tabulek v relačním modelu mohou mít objekty kromě
vlastností i metody, které představují funkce a procedury, které s nimi ma-
nipulují. Na základě společných rysů, lze vytvářet třídy objektů, které své
vlastnosti a metody mohou dědit. Zdá se, že objektově orientované principy
jsou pro modelování reality ideální, nicméně teoreticky objektově oriento-
vaný model dosud není dostatečně popsán a standardizován, což je důvodem
pomalejšího pronikání OOSŘBD do praxe. Spíše se projevují trendy rozšířit
relační model o prvky a principy OOP, takže můžeme mluvit o objektově-
relační technologii.
Každý datový model má pro určitou oblast úloh jisté přednosti, které opodstat-
ňují jeho použití. Nicméně díky své efektivitě, flexibilitě a propracovanosti je
relační model v současnosti nejpoužívanější, a proto se v tomto textu věnujeme
právě a pouze relačním databázím.
6. Relační DB systémy
Relační DB model, jak už bylo řečeno výše, vychází z teorie množin. Souvise-
jící data tvoří množinu údajů, relaci. Relace je uspořádána v tabulce a tvoří její
řádky. Od těchto relací je odvozen název DB modelu, nikoli od termínu relace,
který se často v relačních databázových systémech používá pro vyjádření vzta-
hu mezi tabulkami.
Jelikož relaci tvoří související údaje, je jasné, že k popsání určitého prostoru
problému nebude stačit jediná relace, tedy tabulka. Jak jsme viděli
v tabulce 4.1, je každá předmětová oblast popsána řadou objektů a minimálně
údaje o těchto objektech budou uloženy v samostatných tabulkách. Většinou je
v systému tabulek daleko víc, některé nemusejí reprezentovat žádný reálný
objekt. Pro získání pohledu na data z různých úhlů, je většinou třeba pracovat
s daty uloženými ve více tabulkách. Pro práci s takto chápanými daty jsou
k dispozici prostředky relační algebry a kalkulu.
Shrneme-li předcházející odstavce, můžeme pro relační databázový model sta-
novit základní charakteristické vlastnosti:
• všechna data mají pravidelnou strukturu a ukládají se v tabulkách
• pro práci s daty existuje databázový jazyk, který umožňuje provádět opera-
ce relační algebry
6.1. Uložení dat
Právě jsme se dověděli, že v relačním DB modelu se data ukládají do tabulek.
Rozeberme si jednotlivé její prvky na následujícím příkladu.
Příklad .1 6
Ukažme si příklad tabulky pro uložení údajů o zaměstnancích. Může vypa-
dat např. takto:
25
ID
číslo
Příjmení
text, 20 z.
Jméno
text,10 z
Bydliště
text, 30 z
Plat
číslo
Narozen
datum
Odborář
log. hodn.
Oddělení
text, 30 z
Děti
číslo.
1 Prouza Jan Brno, Úzká 3 15000 2.4.1974 ano Projekční 3
2 Novák Adam Brno, Cejl 24 18000 9.5.1960 ne Osobní 1
3 Bílá Dana Kyjov, Trh 7 16000 3.7.1969 ne Prodejní 2
4 Tesař Ivo Podomí 259 12000 6.6.1982 ano Osobní 0
Tab. 6.1 Data v tabulce ZAMĚSTNANEC
Tabulka (entita)
Data popisující vlastnosti jednoho druhu reálného objektu se shromažďují
v tabulce. Při práci s datovým modelem mluvíme o tabulkách jako o entitách.
Tabulky se většinou pojmenovávají jednotným číslem objektu, jehož data
uchovávají. V rámci jednoho DB systému musí být názvy tabulek jedinečné.
Záhlaví
Jistě pozorujeme, že první řádek tabulky se liší od ostatních. To není u tabulek
nic neobvyklého, první řádek tabulky obvykle obsahuje záhlaví, které vyjadřu-
je obecný popis údajů nacházejících se v jednom sloupci. U relační tabulky
mluvíme o záhlaví jako o struktuře tabulky, která definuje atributy a obor
hodnot, jichž mohou nabývat. Každá tabulka je vytvořena již definicí své struk-
tury. Nemusí obsahovat žádné údaje, ale pokud jsou pojmenovány sloupce
a stanoveno, jaký typ údajů bude do nich vkládán, tabulka již existuje.
Řádek (záznam, record)
Řádek tabulky obsahuje všechny údaje definované ve struktuře pro jeden prvek
objektu, který tabulka představuje; v našem případě všechny sledované údaje
o jednom zaměstnanci. Přitom na pořadí řádků nezáleží. Můžete podotknout,
že byste chtěli vidět seznam zaměstnanců seřazený abecedně podle příjmení.
Na to vám namítnu, že mě by zajímal jejich seznam podle stáří. Pro splnění
těchto požadavků však existují jiné nástroje, než je uspořádání řádků v tabulce.
Mnohem důležitější je vědět, jak si zpřístupním určitý řádek, který např. obsa-
huje údaje o osobě, která mě zajímá. V kapitole 4.9 jsme se dověděli, že toto
umožňují klíčové atributy a že jich může existovat víc. V relační tabulce se
atribut, který byl zvolen jako jednoznačný identifikátor řádku tabulky, nazývá
primární klíč. V tabulce může být definován pouze jeden primární klíč, při-
čemž to neznamená, že nemůže být tvořen více atributy, p
Vloženo: 23.11.2010
Velikost: 826,05 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Skupina předmětu BU04 - Informační technologie a systémová analýza
Reference vyučujících předmětu BU04 - Informační technologie a systémová analýza
Podobné materiály
- BO01 - Konstrukce a dopravní stavby - opory-modul 1
- BO01 - Konstrukce a dopravní stavby - opory-modul 2
- BO01 - Konstrukce a dopravní stavby - opory-modul 3
- CV73 - Hodnotové inženýrství - Opory
- BL12 - Betonové mosty I - opory
- BO04 - Kovoé konstrukce I - opory
- BO09 - Kovové mosty I - opory
- CH01 - Stavební akustika a denní osvětlení budov - opory MO1
- CH01 - Stavební akustika a denní osvětlení budov - opory MO2
- CL01 - Předpjatý beton - Elektronické opory CL01
Copyright 2025 unium.cz


