Datab - PowerPoint PPT Presentation

About This Presentation
Title:

Datab

Description:

... PowerDesigner) popsat procesy dan organizace kter je nutno vz t p i e en , ... kter jsou 100% v 2.N.f. kol 15 vypi te relace dat, ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 60
Provided by: Mil392
Category:

less

Transcript and Presenter's Notes

Title: Datab


1
Databázové systémyteorie a návrh relacních
databázových systému
2
I. Všeobecný úvod
3
Základní rozlišení bází dat
  • Nestrukturované a cástecne strukturované báze dat
  • souborové báze dat orientované na FS,
  • firemní elektronická agenda v ruzných podobách
    (dokumenty, tabulky, císelná data)
  • Nerelacní báze dat a prechodné formy
  • historické souborové databáze (DBase IV)
  • tabulkove orientované databáze se zárodky
    relacního prístupu FoxPro 5, Paradox)
  • Relacní databázové systémy
  • Oracle, MSSQL Server, MS Access
  • Objektove orientované báze dat
  • XML (.)
  • Objektový databázový koncept (ODC)
  • implementace ODC v soucasných relacních
    systémech
  • využití v komunikacích (Queuing)

4
II. Relacní databázové systémy
5
Charakteristika relacního DS (RDS)
  • Hlavní požadavky
  • efektivita (HW, SW, Lidské zdroje, rychlé
    vyhledávání)
  • spolehlivost (bezpecnost dat, stabilita,
    zabezpecení proti zneužití)
  • implementace relacního modelu
  • Historie
  • teorii relacního modelu zpracoval v 60. Letech
    Dr. E. F. Codd
  • Axiomy relacního modelu (koncept)
  • data jsou reprezentována v rádcích a sloupcích
    tzv. relacích
  • všechny hodnoty obsažené v databázi jsou skalární
    tj. jednotkové neboli atomické
  • operace v databázi se provádí vždy nad celou
    relací a jejich výsledkem je jiná relace tzv.
    uzáver
  • Implementace relací
  • napr. MS Access recordset množina záznamu
  • napr. MS SQL Server resultset množina
    výsledku

6
Obecný koncept RDS
Aplikace Uživatelské rozhraní
Databázový stroj není soucástí databáze
Vlastní Databázový systém
Databáze fyzická implementace databázového
schématu
Databázové schéma implementovatelný popis dat.
modelu
Myšlenkový (konceptuální) prostor problému
Datový model myšlenkový popis daného prostoru
problému
Prostor problému definovaná cást reálného sveta
7
Možnosti implementace RDS
  • Databázové stroje - bežné

Prostredí pro definici a správu dat
Vývoj Front-end aplikací
Microsoft Accsess Visual Database Tools Microsoft
Query SQL server Enterprise Manager SQL Toad
Microsoft Accsess Visual Basic C,
C HTML ASP Java
Obj. komp. pro prístup k datum
ADO DAO / Jet DAO / ODBC RDO Oracle client BDE,
BD express
Databázové stroje
Microsoft Jet
SQL server
Oracle
8
III. Príklad rešeného problému
9
Všeobecné zadání RDS - príklad
  • První neupresnené zadání
  • Je treba vytvorit evidenci výzkumných úkolu
    studentu a pedagogu naší vysoké školy. Na škole
    probíhají výzkumné úkoly ruzné povahy. Jsou to
    napríklad vnitrní granty, granty ministerstva
    školství (MŠMT), bakalárské práce, diplomové
    práce, postgraduální výzkumné úkoly. Na
    výzkumných úkolech se podílejí jak studenti tak
    pedagogové. Studenti se podílejí na výzkumných
    úkolech jak v rámci prezencní formy studia tak i
    pri kombinovaném a postgraduálním studiu. V praxi
    je možné, že se student podílí na výzkumu i po
    ukoncení studia, ale pak se obvykle jedná se o
    zvláštní režim výzkumného úkolu. Na úkolech se
    podílejí pedagogové všech zarazení (zamestnanec,
    externista, práce na dohodu o provedení práce). V
    praxi není možné, aby se na výzkumném úkolu
    podílel pedagog který nemá v prubehu úkolu
    vyrešen pracovne právní vztah k fakulte nebo již
    tento vztah zanikl.
  • Cílem vytvárené aplikace je získat operativní
    prehled o probíhajících projektech, evidenci již
    dokoncených projektu, možnost kontrolovat
    projekty z hlediska jejich casového prubehu
    (každý typ projektu má stanoven termín zahájení a
    maximální délku trvání) a dodržování dalších
    stanovených pravidel (pravidla pro probíhající
    projekty viz zvláštní zadání). Jedním z výstupu
    aplikace by mela být možnost obeslat výzkumníky
    dle vybraných statusu jejich projektu (termín
    dokoncení ve skluzu, precerpání pridelených
    financních prostredku, dotaz pri zmene pracovního
    zarazení nebo ukoncení pracovne právního vztahu
    pedagoga, dotaz na pokracování projektu pri zmene
    nebo ukoncení formy studia studenty) a to jak
    formou mailu tak i formou doporuceného dopisu.

10
IV. Prehled fází realizace projektu z hlediska
realizace RDS
11
Fáze realizace RDS
  • Úvodní studie
  • Cíl co nejlépe bežným jazykem popsat požadavky
    uživatele a zaznamenat všechny známé okolnosti,
    které mohou mít vliv na rešení problému
  • Procesní analýza
  • Cíl co nejlépe s využitím vhodných prostredku
    pro vizualizaci procesu (CASE, Visio,
    PowerDesigner) popsat procesy dané organizace
    které je nutno vzít pri rešení ,
  • poznámka u relativne jednoduchých nebo napr.
    historických projektu je možno i v této cásti
    ješte využít víceméne prostredky bežného jazyka.
  • Datová analýza
  • Cíl popsat s využitím vhodných obvykle
    grafických prostredku nebo prostredku prímo
    spojených s cílovou databází budoucí datový model
    RDS na abstraktní úrovni.
  • Implementace datového modelu (back-end)
  • Cíl prenesení datového modelu do konkrétního
    prostredí pro realizaci back-end cásti RDS
    (implementace vlastní databáze)
  • Implementace aplikace pro prístup k RDS
    (front-end)
  • Cíl vytvorení aplikace, která umožní uživateli
    (nebo jiným systémum) prístup ke vzniklé aplikaci
    typu RDS

12
Fáze realizace RDS zúžený pohled
  • Úvodní studie
  • Cíl co nejlépe bežným jazykem popsat požadavky
    uživatele a zaznamenat všechny známé okolnosti,
    které mohou mít vliv na rešení problému
  • Procesní analýza
  • Cíl co nejlépe s využitím vhodných prostredku
    pro vizualizaci procesu (CASE, Visio,
    PowerDesigner) popsat procesy dané organizace
    které je nutno vzít pri rešení ,
  • poznámka u relativne jednoduchých nebo napr.
    historických projektu je možno i v této cásti
    ješte využít víceméne prostredky bežného jazyka.
  • Datová analýza
  • Cíl popsat s využitím vhodných obvykle
    grafických prostredku nebo prostredku prímo
    spojených s cílovou databází budoucí datový model
    RDS na abstraktní úrovni.
  • Implementace datového modelu (back-end)
  • Cíl prenesení datového modelu do konkrétního
    prostredí pro realizaci back-end cásti RDS
    (implementace vlastní databáze)
  • Implementace aplikace pro prístup k RDS
    (front-end)
  • Cíl vytvorení aplikace, která umožní uživateli
    (nebo jiným systémum) prístup ke vzniklé aplikaci
    typu RDS

13
V. První fáze rešení problému analýza požadavku
zadavatele
14
Datová analýza zavedení pojmu datového modelu
  • Entita
  • abstraktní kategorie, popisuje cokoli (jakýkoli
    výsek reality) o kterém v systému potrebujeme
    uchovávat údaje
  • silná (regulérní) entita takový popisovaný
    výsek reality, který má smysl sám o sobe slabá
    entita takový popisovaný výsek reality, který
    má smysl pouze ve vztahu k nejaké silné entite
  • Doporucení pri odhalování entit v úvodní studii,
    slovní procesní analýze, slovním zadání
  • vypsat nebo oznacit všechna podstatná jména a
    slovesa
  • pokusit se prevést slovesa na podstatná jména
    (oznacení)
  • analýza dokumentu a požadovaných výstupu
  • sestavit seznam kandidátu entit
  • rozhodnout o kategorizaci subtypu entit
  • provést kontrolu nadbytecností (redundancí,
    duplicit a multiplicit)
  • pokusit se o zobecnení tam kde je to možné
  • Pozor, vždy je treba pocítat s tím, že v rámci
    rešení problému se bude puvodní seznam entit
    rozrustat i zužovat dle nových poznatku a dle
    zvoleného prístupu k realizaci
  • Úkol 1 z príkladového zadání vypište seznam
    entit

15
Všeobecné zadání RDS - príklad
  • První neupresnené zadání
  • Je treba vytvorit evidenci výzkumných úkolu
    studentu a pedagogu naší vysoké školy. Na škole
    probíhají výzkumné úkoly ruzné povahy. Jsou to
    napríklad vnitrní granty, granty ministerstva
    školství (MŠMT), bakalárské práce, diplomové
    práce, postgraduální výzkumné úkoly. Na
    výzkumných úkolech se podílejí jak studenti tak
    pedagogové. Studenti se podílejí na výzkumných
    úkolech jak v rámci prezencní formy studia tak i
    pri kombinovaném a postgraduálním studiu. V praxi
    je možné, že se student podílí na výzkumu i po
    ukoncení studia, ale pak se obvykle jedná se o
    zvláštní režim výzkumného úkolu. Na úkolech se
    podílejí pedagogové všech zarazení (zamestnanec,
    externista, práce na dohodu o provedení práce). V
    praxi není možné, aby se na výzkumném úkolu
    podílel pedagog který nemá v prubehu úkolu
    vyrešen pracovne právní vztah k fakulte nebo již
    tento vztah zanikl.
  • Cílem vytvárené aplikace je získat operativní
    prehled o probíhajících projektech, evidenci již
    dokoncených projektu, možnost kontrolovat
    projekty z hlediska jejich casového prubehu
    (každý typ projektu má stanoven termín zahájení a
    maximální délku trvání) a dodržování dalších
    stanovených pravidel (pravidla pro probíhající
    projekty viz zvláštní zadání). Jedním z výstupu
    aplikace by mela být možnost obeslat výzkumníky
    dle vybraných statusu jejich projektu (termín
    dokoncení ve skluzu, precerpání pridelených
    financních prostredku, dotaz pri zmene pracovního
    zarazení nebo ukoncení pracovne právního vztahu
    pedagoga, dotaz na pokracování projektu pri zmene
    nebo ukoncení formy studia studenty) a to jak
    formou mailu tak i formou doporuceného dopisu.

16
Všeobecné zadání RDS - príklad
  • Zadání zvýraznení kandidáti entit
  • Je treba vytvorit evidenci výzkumných úkolu
    studentu a pedagogu naší vysoké školy. Na škole
    probíhají výzkumné úkoly ruzné povahy. Jsou to
    napríklad vnitrní granty, granty ministerstva
    školství (MŠMT), bakalárské práce, diplomové
    práce, postgraduální výzkumné úkoly. Na
    výzkumných úkolech se podílejí jak studenti tak
    pedagogové. Studenti se podílejí na výzkumných
    úkolech jak v rámci prezencní formy studia tak i
    pri kombinovaném a postgraduálním studiu. V praxi
    je možné, že se student podílí na výzkumu i po
    ukoncení studia, ale pak se obvykle jedná se o
    zvláštní režim výzkumného úkolu. Na úkolech se
    podílejí pedagogové všech zarazení (zamestnanec,
    externista, práce na dohodu o provedení práce). V
    praxi není možné, aby se na výzkumném úkolu
    podílel pedagog který nemá v prubehu úkolu
    vyrešen pracovne právní vztah k fakulte nebo již
    tento vztah zanikl.
  • Cílem vytvárené aplikace je získat operativní
    prehled o probíhajících projektech, evidenci již
    dokoncených projektu, možnost kontrolovat
    projekty z hlediska jejich casového prubehu
    (každý typ projektu má stanoven termín zahájení a
    maximální délku trvání) a dodržování dalších
    stanovených pravidel (pravidla pro probíhající
    projekty viz zvláštní zadání). Jedním z výstupu
    aplikace by mela být možnost obeslat výzkumníky
    dle vybraných statusu jejich projektu (termín
    dokoncení ve skluzu, precerpání pridelených
    financních prostredku, dotaz pri zmene pracovního
    zarazení nebo ukoncení pracovne právního vztahu
    pedagoga, dotaz na pokracování projektu pri
    zmene nebo ukoncení formy studia studenty) a to
    jak formou mailu tak i formou doporuceného
    dopisu.
  • Doporucení pri sestavování seznamu kandidátu ve
    fázi vytvárení obecného datového modelu pokud
    možno ignorujte veškerá doporucení zadavatele,
    která predjímají výsledek analýzy, tato
    doporucení je možno vzít na vedomí, ale je velmi
    nevhodné s nimi prímo pracovat, podobná
    doporucení v textu podtržena, doporucení však
    mohou obsahovat nové kandidáty

17
Seznam kandidátu entit
  • Krok 1 nezpracovaný seznam entit (dekompozice)

podíl pedagogu na úkolech zarazení
zamestnanec externista práce na dohodu o
provedení práce praxi není možné výzkumném
úkolu podílel pedagog vyrešen pracovne právní
vztah termín zahájení VÚ maximální délka
trvání VÚ stanovená pravidla (projektu) možnost
obeslat výzkumníky statusu projektu termín
dokoncení VÚ skluzu VÚ precerpání financních
prostredku VÚ zmena pracovního
zarazení ukoncení pracovne právního vztahu
pedagoga mailu doporucený dopis
výzkumné úkoly (VÚ) studenti pedagogové
vysoká škola škole výzkumné úkoly povaha
výzkumného úkolu vnitrní grant grant
ministerstva školství bakalárská
práce diplomová práce postgraduální výzkumný
úkol výzkumné úkoly studenti pedagogové studen
ti podíl na výzkumném úkolu prezencní forma
studia kombinované a postgraduální
studium student podíl na výzkumu ukoncení
studia obvykle jedná zvláštní režim VÚ
18
Seznam kandidátu entit
  • Krok 2 vyrazení kandidátu nesouvisejících s
    probl. (analýza)

podíl pedagogu na úkolech zarazení
zamestnanec externista práce na dohodu o
provedení práce praxi není možné výzkumném
úkolu podílel pedagog vyrešen pracovne právní
vztah termín zahájení VÚ maximální délka
trvání VÚ stanovená pravidla (projektu) možnost
obeslat výzkumníky statusu projektu termín
dokoncení VÚ skluzu VÚ precerpání financních
prostredku VÚ zmena pracovního
zarazení ukoncení pracovne právního vztahu
pedagoga mailu doporucený dopis
výzkumné úkoly (VÚ) studenti pedagogové
vysoká škola ? škole výzkumné úkoly povaha
výzkumného úkolu vnitrní grant grant
ministerstva školství bakalárská
práce diplomová práce postgraduální výzkumný
úkol výzkumné úkoly studenti pedagogové studen
ti podíl na výzkumném úkolu prezencní forma
studia kombinované a postgraduální
studium student podíl na výzkumu ukoncení
studia obvykle jedná zvláštní režim VÚ
19
Seznam kandidátu entit
  • Krok 3 ztotožnení kandidátu (analýza)

pracovní zarazení zamestnanec externista práce
na dohodu o provedení práce zmena pracovního
zarazení ukoncení pracovne právního vztahu
forma studia prezencní kombinované postgraduá
lní studium ukoncení studia Pravidla
vyplývající z analýzy v praxi není možné
výzkumném úkolu podílel pedagog vyrešen
pracovne právní vztah pokud student ukoncí
studium pak zvláštní režim ? stanovená pravidla
(projektu) Doposud nevyjasnené záležitosti ?
možnost obeslat výzkumníky ? možnost zaslání
mailu ? Zaslání Doporuceného dopisu
výzkumné úkoly (VÚ) povaha výzkumného
úkolu vnitrní grant grant ministerstva
školství bakalárská práce diplomová
práce postgraduální výzkumný úkol zvláštní
režim VÚ termín zahájení VÚ termín dokoncení
VÚ maximální délka trvání VÚ statusu VÚ skluz
VÚ podíl na výzkumném úkolu pedagogové studenti
studenti pedagogové financní prostredky

20
Klasifikace entit
  • Krok 4 výber entit východisko pro datový
    model (analýza)

pracovní zarazení slabá ? reál.
ent. zamestnanec externista práce na dohodu o
provedení práce zmena pracovního zarazení
ukoncení pracovne právního vztahu forma studia
- silná reál. ent. prezencní kombinované postgr
aduální studium ukoncení studia Pravidla
vyplývající z analýzy v praxi není možné
výzkumném úkolu podílel pedagog vyrešen
pracovne právní vztah pokud student ukoncí
studium pak zvláštní režim ? stanovená pravidla
(projektu) Doposud nevyjasnené záležitosti ?
možnost obeslat výzkumníky ? možnost zaslání
mailu ? Zaslání Doporuceného dopisu
výzkumné úkoly (VÚ) silná reálná entita povaha
výzkumného úkolu vnitrní grant grant
ministerstva školství bakalárská
práce diplomová práce postgraduální výzkumný
úkol termín zahájení VÚ termín dokoncení
VÚ maximální délka trvání VÚ status VÚ ? skluz
VÚ ? podíl na výzkumném úkolu slabá abstr.
ent. podíl pedagogu podíl studentu Studenti
silná reálná entita Pedagogové silná reálná
entita financní prostredky VÚ - ???
21
Vytvárení datového modelu (DM)
  • Krok 5 stanovení entit základní krok tvorby
    DM

Definovali jsme tento seznam entit Výzkumné
úkoly (VÚ) Studenti Pedagogové Pracovní
zarazení Forma studia Podíl na výzkumném
úkolu Financní prostredky VÚ Nezapomenme, že nám
zustaly i otevrené zásadní problémy ke kterým
jsem doposud nezaujali stanovisko, k temto
problémum se vrátíme pozdeji Doposud
nevyjasnené záležitosti ? možnost obeslat
výzkumníky ? možnost zaslání mailu ? Zaslání
Doporuceného dopisu
22
Vztahy entit zavedení pojmu a symbolu
Silná entita
Entita A
Entita B
Slabá entita
vztah
Entita A
Entita A
Entita B
n m
1 x
Entita A
Entita A
Entita B
1 0, n
n x
Entita A
Entita A
0 x
Self reference (unární vztah) 0, 1 n
Entita A
1 x
Entita A
Entita B
n 1
Entita A
Entita B
1 0, 1
23
Vytvárení datového modelu (DM)
  • Krok 6 analýza vztahu entit rekapitulace entit

Do tohoto okamžiku jsme definovali tento seznam
entit Výzkumné úkoly (VÚ) Studenti Pedagogové Pra
covní zarazení Forma studia Podíl na výzkumném
úkolu Financní prostredky VÚ
Úkol 2 nakreslete schéma známých entit a
pomocí známých symbolu vyjádrete vztahy mezi
entitami
24
Vztahy entit jedna z možností rešení
Finance VÚ ?
Výzkumný úkol
Forma studia
Pracovní zarazení
?
Participace na VÚ ?
Student
Pedagog
?
Dotaz 1 jaké by byly nevýhody prímého vztahu
Student ltgt VÚ ? Dotaz 2 proc není vztah
Student ltgt Part. VÚ typu 1 n ? Dotaz 3
najdete nejaké zjevné vady stanoveného datového
modelu ? (pokud nikoli, pak na ne
možná prijdeme spolecne pozdeji)
25
Implementace entity obecné vlastnosti relace dat
Relace - Student
Atribut
Záhlaví (Header)
1 2 3 4
Telo (Body)
Vektor hodnot (Tuple)
Skalární hodnota
1 2 3 4
Kardinalita
Stupen
26
Implementace entity implementace relace datv
MS SQL Server a MS Access
Množina záznamu / Množina výsledku / Tabulka -
Student
Pole hodnot (Atribut)
Záhlaví (Caption)
Množina záznamu / množina výsledku
Záznam
Hodnota
27
Oponentura datového modelu z hlediska normalizace
Finance VÚ
Výzkumný úkol
Forma studia
Pracovní zarazení
Participace na VÚ
Student
Pedagog
Pracovní poznámka nutno doplnit pracovne
právní vztah a studium
28
Úprava datového modelu na základe oponentury
Finance VÚ
Výzkumný úkol
Forma studia
Pracovní zarazení
Studium
Pracovne právní vztah
Participace na VÚ
Student
Pedagog
29
Užitecné otázky
V okamžiku kdy se zdá, že máme vyhovující a
správný model enit je vždy namíste položit si
následující otázky Nechybí v našem modelu neco
podstatného ? tj. nezapomneli jsme zcela
(vzhledem k zadání) na nejakou entitu nebo
vztah Je náš model správne navržen ? tj. je
náš model verohodný, dostatecne podpisující
realitu nebo daný problém a je také zároven
dostatecne obecný tj. nezávislý na našem
subjektivním (nebo také zaujatém, predpojatém)
úhlu pohledu Je náš model normalizovaný z
hlediska teorie RD ? tj. je náš model
verohodný, dostatecne podpisující realitu nebo
daný problém a je také zároven dostatecne obecný
tj. nezávislý na našem subjektivním (nebo také
zaujatém, predpojatém) úhlu pohledu obsahuje
informaci o všeobecné vlastnosti,
kterou Duležitá filozofická poznámka V
reálném svete neexistuje neco jako zcela
optimální nebo objektivne správný návrh databáze.
Existují však ruzné vyzkoušené a doporucované
postupy které omezují nebo vylucují základní a
pozdeji neodstranitelné vady návrhu.
30
Užitecné otázky Chybí nám NECO ?
Jak na rešení této otázky U velkého a
komplexního projektu budeme postupovat podle
standardu UML analýzy popis procesu procesní
analýza definice aktoru vymezení úcastníku
(hrácu) procesu definice rolí vymezení úloh
aktoru vyplyne definice enit definice
programových nebo datových entit definice
vztahu entit definice vztahu a komunikací defini
ce pravidel implementace entit implementace
aplikacních a databázových struktur
(tríd) implementace vztahu entit implementace
obchodních pravidel atd. atp. V prípade
použití standardu UML (Unified Modeling Language)
je už samo korektní použití daných Case
prostredku cástecnou zárukou úplnosti a
správnosti navrženého modelu U menšího
projektu se musíme spolehnout zejména na vlastní
kritický úsudek Úkol 5 pokuste se v zadání
najít informaci, která signalizuje, že jsme
zapomneli na celou oblast, kterou je potreba
modelováním rešit
31
Všeobecné zadání RDS - príklad
  • První neupresnené zadání
  • Je treba vytvorit evidenci výzkumných úkolu
    studentu a pedagogu naší vysoké školy. Na škole
    probíhají výzkumné úkoly ruzné povahy. Jsou to
    napríklad vnitrní granty, granty ministerstva
    školství (MŠMT), bakalárské práce, diplomové
    práce, postgraduální výzkumné úkoly. Na
    výzkumných úkolech se podílejí jak studenti tak
    pedagogové. Studenti se podílejí na výzkumných
    úkolech jak v rámci prezencní formy studia tak i
    pri kombinovaném a postgraduálním studiu. V praxi
    je možné, že se student podílí na výzkumu i po
    ukoncení studia, ale pak se obvykle jedná se o
    zvláštní režim výzkumného úkolu. Na úkolech se
    podílejí pedagogové všech zarazení (zamestnanec,
    externista, práce na dohodu o provedení práce). V
    praxi není možné, aby se na výzkumném úkolu
    podílel pedagog který nemá v prubehu úkolu
    vyrešen pracovne právní vztah k fakulte nebo již
    tento vztah zanikl.
  • Cílem vytvárené aplikace je získat operativní
    prehled o probíhajících projektech, evidenci již
    dokoncených projektu, možnost kontrolovat
    projekty z hlediska jejich casového prubehu
    (každý typ projektu má stanoven termín zahájení a
    maximální délku trvání) a dodržování dalších
    stanovených pravidel (pravidla pro probíhající
    projekty viz zvláštní zadání). Jedním z výstupu
    aplikace by mela být možnost obeslat výzkumníky
    dle vybraných statusu jejich projektu (termín
    dokoncení ve skluzu, precerpání pridelených
    financních prostredku, dotaz pri zmene pracovního
    zarazení nebo ukoncení pracovne právního vztahu
    pedagoga, dotaz na pokracování projektu pri zmene
    nebo ukoncení formy studia studenty) a to jak
    formou mailu tak i formou doporuceného dopisu.

32
Všeobecné zadání RDS - príklad
  • První neupresnené zadání
  • Je treba vytvorit evidenci výzkumných úkolu
    studentu a pedagogu naší vysoké školy. Na škole
    probíhají výzkumné úkoly ruzné povahy. Jsou to
    napríklad vnitrní granty, granty ministerstva
    školství (MŠMT), bakalárské práce, diplomové
    práce, postgraduální výzkumné úkoly. Na
    výzkumných úkolech se podílejí jak studenti tak
    pedagogové. Studenti se podílejí na výzkumných
    úkolech jak v rámci prezencní formy studia tak i
    pri kombinovaném a postgraduálním studiu. V praxi
    je možné, že se student podílí na výzkumu i po
    ukoncení studia, ale pak se obvykle jedná se o
    zvláštní režim výzkumného úkolu. Na úkolech se
    podílejí pedagogové všech zarazení (zamestnanec,
    externista, práce na dohodu o provedení práce). V
    praxi není možné, aby se na výzkumném úkolu
    podílel pedagog který nemá v prubehu úkolu
    vyrešen pracovne právní vztah k fakulte nebo již
    tento vztah zanikl.
  • Cílem vytvárené aplikace je získat operativní
    prehled o probíhajících projektech, evidenci již
    dokoncených projektu, možnost kontrolovat
    projekty z hlediska jejich casového prubehu
    (každý typ projektu má stanoven termín zahájení a
    maximální délku trvání) a dodržování dalších
    stanovených pravidel (pravidla pro probíhající
    projekty viz zvláštní zadání). Jedním z výstupu
    aplikace by mela být možnost obeslat výzkumníky
    dle vybraných statusu jejich projektu (termín
    dokoncení ve skluzu, precerpání pridelených
    financních prostredku, dotaz pri zmene pracovního
    zarazení nebo ukoncení pracovne právního vztahu
    pedagoga, dotaz na pokracování projektu pri zmene
    nebo ukoncení formy studia studenty) a to jak
    formou mailu tak i formou doporuceného dopisu.

33
Užitecné otázky Chybí nám NECO ?
Odpoved Zrejme ano, chybí nám adresa bežná
pro korespondenci adresa elektronická Má neco
spolecného bežná adresa s elektronickou ? nic
podstatného jedná se o dve ruzné kategorie
popisující zcela odlišné veci v reálném svete,
mají pouze podobný název Zajímavost z hlediska
návrhu Adresa (bydlište) je jedním z nejvetších
analytických oríšku, který v žádném reálném
systému není vyrešen ani zcela obecne ani zcela
správne. Príklady toho co je velmi težké
rozhodnout Je skalárním údajem celá adresa -
muže být, ale j to velmi nepraktické Je
skalárním údajem údaj typu Date/Time Co je
správným císlem popisným Jaké telefony
zahrnout a jak je kategorizovat a jaký je
napríklad vztah císla pevné linky nebo faxu k
adrese (tj. jedná se o atribut osoby nebo
místa) Jakou konvenci zavést pro smerové
císlo atd. atp.
34
Úprava datového modelu na základe úvahy
Finance VÚ
Výzkumný úkol
Forma studia
Pracovní zarazení
Studium
Pracovne právní vztah
Participace na VÚ
Student
Pedagog
Adresa bydlište
Elektr. adresa
Úkol 6 navrhnete vztahy
35
Úprava datového modelu na základe úvahy
Finance VÚ
Výzkumný úkol
Forma studia
Pracovní zarazení
Studium
Pracovne právní vztah
Participace na VÚ
Student
Pedagog
Adresa bydlište
Elektr. adresa
Dotaz jaké výhody a nevýhody mají vztahy 1N a
11, 10,n, 10,1, mužeme si v praxi vubec
dovolit vztahy bez možnosti nuly
36
Užitecné otázky Je náš model SPRÁVNE navržen ?
Odpoved Zcela jiste NE (z minula již víme, že
prakticky není možno dosáhnout pozitivní odpovedi
na tuto otázku) Zkusme to tedy jinak Je model
obecný ? Na tuto otázku v tomto okamžiku ješte
nedokážeme odpovedet, bude nutno dukladne
prozkoumat jednotlivé entity a zjistit 1. zda
se nám nekteré entity neprekrývají tj. zda nejsou
fakticky totožné 2. zda se nám nekteré entity
nerozpadají tj. zda jedna zdánlivá entita není
vlastne více entitami Poznámka tento typ
úvahy již jsme intuitivne nekolikrát udelali (viz
napr. rozpad formy studia a studia apod.) gt
musíme zkoumat navržené entity na hlubší úrovni
jejich atributu Je model optimální z hlediska
implementace vztahu ? Podíváme-li se podrobne na
náš graf vztahu entit, zjistíme vztahu
daného typu / typ vztahu je více než n-tic
entit daného typu vztahu (prosím
spocítejte) vztahy se kríží navržené vztahy
jsou nejednoznacné (násobné) Poznámka obe
tyto skutecnosti mohou naznacovat že je v rámci
modelu nutné další zobecnení, ale nemusí tomu tak
nutne být, jedná se o indicie a na jejich základe
je to nanejvýš pravdepodobné
37
Datový model
Finance VÚ
Výzkumný úkol
Forma studia
Pracovní zarazení
Studium
Pracovne právní vztah
Participace na VÚ
Student
Pedagog
Adresa bydlište
Elektr. adresa
Úkol 7 spocítejte vztažené entity, spocítejte
vztahy a výsledek vzájemne porovnejte (nápoveda
vztahy unární, binární, ternární)
38
Užitecné otázky Je náš model SPRÁVNE navržen ?
Jak exaktne postupovat pri overování datového
modelu Nejdríve si budeme muset osvojit
následující terminologii redundance
(nadbytecnost) relací dat bezztrátová
dekompozice relací dat kandidátní klíc relace
dat primární klíc relace dat normalizace relací
dat normální (normalizovaná) forma relace
dat normalizovaný tvar relace dat 1 6
typu Jednotlivé termíny se pokusím vysvetlit na
príkladech Pro zacátek predpokládejme, že máme
hypotetickou relativne složitou množinu (relaci)
neusporádaných dat pro názornost si napríklad
predstavte excelovskou tabulku která obsahuje
následující údaje (atributy)
39
Trocha optimalizacní teorie skalární hodnota,
redundance
skalární hodnota jedinecná hodnota, práve jedna
hodnota (informace) redundance nadbytecnost
hodnot (informace), hodnota která se v relaci
opakuje bezztrátová dekompozice metoda
optimalizace dat, jejímž cílem je rozdelení
relace dat, která obsahuje datové redundance
na více relací dat, které obsahují méne
datových redundancí nebo žádné datové
redundance a to bez ztráty informace Úkol 8
najdete bunku relace dat, která neobsahuje
(relativne k jiným hodnotám daného atributu)
skalární informaci tj. jedinecnou
hodnotu Úkol 9 najdete bunky relace dat,
které obsahují redundantní (nadbytecná, zdvojená,
n-násobná) data Úkol 10 rozdelte príklad na
více relací dat, tak, aby výsledné relace
neobsahovaly žádná redundantní data se zachováním
veškeré informace
40
Trocha optimalizacní teorie klíc relace dat
kandidátní klíc atribut (jednoduchý klíc) nebo
skupina atributu (složený klíc), která v rámci
dané relace dat jednoznacne definuje konkrétní
vektor dat (záznam) jinak receno v dané relaci
dat se nesmí vyskytnout více jak jeden záznam,
s urcitou kombinací hodnot kandidátního klíce
(tj. predpokladem kandidátního klíce je
jednoznacnost) relace dat muže obsahovat více
kandidátních klícu primární klíc je zvolený z
hlediska implementace dat ireducibilní
kandidátní klíc, který je v implementaci více
vzájemne korelujících relací dat využíván jako
hlavní identifikátor urcité relace dat umelý
klíc je umele vytvorený kandidátní nebo primární
klíc objektivní potreba umelého klíce vzniká
zejména v situaci, kdy prirozený klíc je príliš
složitý nebo potencionálne nejdnoznacný
Doporucení obecne je vhodné vždy nejdríve
hledat reálný KK nebo PK, teprve pokud vyloucíme
všechny možnosti reálného klíce je vhodné
pristoupit k definici umelého klíce, pozor však
na skutecnost, že prakticky použitelné kandidátní
klíce se v reálném svete vyskytují pomerne
zrídka Úkol 11 ve vašem príkladu rozpadu
puvodní datové relace urcete všechny možné
kandidátní klíce
41
Trocha optimalizacní teorie funkcní závislost
dva atributy jsou funkcne závislé tehdy, pokud
jeden urcující atribut vyjadruje identitu vektoru
dat (tj. jedná se o kandidátní klíc) a jiný
(funkcne závislý) atribut, který již nemusí být
jednoznacný je funkcne urcen urcujícím
atributem. brrrr. Tohle urcite není
možno si zapamatovat a nejedná se ani o presnou
definici daného jevu. Presná definice toto jevu
by se musela opírat o matematickou teorii množin
(reflexivita, transitivita). Nicméne o funkcní
závislosti je potreba se zmínit alespon jako o
jevu (bez bližšího zkoumání) a to z toho duvodu,
že na tomto jevu jsou v zásade vystaveny moderní
databáze. Úkol 12 pokuse si predstavit a
osvojit predstavu funkcní závislosti atributu
na príkladu
42
Šestero prikázání RD 1. Normální forma
Normalizace instantní doporucení jak
postupovat pri vytvárení optimálního
datového modelu 1. Normální forma datovou
relaci je možno oznacit za 1NF, pokud jsou
všechny její atributy definovány nad skalárními
obory hodnot jinými slovy je nutno vyloucit
veškeré neskalární hodnoty POZOR! urcení
jednotlivosti je v praxi casto mnohem
obtížnejší než se na první pohled zdá, viz
napríklad ruzné syntetické kódy, konvence
apod. datovou relaci je možno oznacit za 1NF,
pokud neobsahuje tzv. opakované atributy
(skupiny hodnot) tj. atributy kterých muže být
v praxi n., ale model relace dat pocítá pouze s
omezeným poctem opakování POZOR! v príkladu
jsem použil opakování, které je sice teoreticky
neprípustné, ale v praxi je velmi casto a v
podstate oprávnene používáno jedná se o klasický
príklad rozporu teorie a praxe presto je
pravidlo o opakování velmi užitecným pravidlem a
v jiných prípadech platí casto témer beze zbytku
Úkol 13 vyškrtnete z príkladu veškeré
neskalární hodnoty, které neodpovídají 1.
Normálnímu tvaru relace dat Úkol 14 oznacte v
príkladu veškeré opakující se atributy hodnoty,
které neodpovídají 1. Normálnímu tvaru relace
dat
43
Šestero prikázání RD 2. Normální forma
2. Normální forma platí vzestupná hierarchie
normálních forme, tj. relace dat je v 2.
Normální forme tehdy, pokud je v 1. Normální
forme a zároven všechny její prvky jsou
závislé na celém kandidátním klíci (v
implementaci PK) jinými slovy je možno tento
požadavek charakterizovat jako prikázáníže
jedna relace dat nemá obsahovat popis více
ruzných entit Úkol 14 vypište relace dat,
které jsou 100 v 2.N.f. Úkol 15 vypište
relace dat, které jsou pravdepodobne v
2.N.f. Úkol 16 vypište relace dat, které
urcite nejsou v 2.N.f.
1
2
3
4
5
44
Šestero prikázání RD 3. Normální forma
3. Normální forma platí vzestupná hierarchie
normálních forme, tj. relace dat je v 3.
Normální forme tehdy, pokud je v 2. Normální
forme a zároven všechny její neklícové
atributy jsou vzájemne nezávislé Úkol 17
predpokládejme, že se jedná o entitu student,
které atributy je treba urcite odstranit, aby
relace byla v 3.N.f., doporucení pokud mužete
volit mezi funkcne závislým atributem a urcujícím
atributem, vždy volte odstranení závislého
atributu Úkol 18 predpokládejme, že se jedná
o entitu student, které atributy je treba
pravdepodobne odstranit, aby relace byla v
3.N.f.
1
2
3
4
5
6
7
8
45
Šestero prikázání RD 4.-6. Normální forma
Temito normalizovanými formami se zde nebudeme
zabývat, protože se týkají speciálních prípadu a
modelování složitých (a také relativne vzácných)
vztahu
46
Ješte trocha teorie a pak už více praxe
Posledním duležitým termínem je INTEGRITA
dat. Integrita dat v obecné rovine je
formální správnost a vzájemná hodnotová
korespondence dat v databázi. Pro zajištení
datové integrity existuje více (ruzne
implementovaných) mechanizmu zajištení datové
integrity Integrita je následujících typu
Doménová integrita obor hodnot (souvisí s
datovými typy, nezamenovat !) Prechodová /
stavová i. definované stavy vektoru dat
Entitová integrita PK, constrainty, triggery
Referencní integrita FK cizí klíc (sirotci)
Transakcní integrita Datová integrita
Procedurální integrita triggery (Access nemá,
respektive velmi omezené)
47
Trocha hloubání o NICEM
hodnota NULL
48
Implementace databáze atributy
Analýza entit z hlediska atributu Definicní
atribut (ID) nemá vlastní význam, zajištuje
identifikaci Proprietální (vlastní)
atribut obsahuje skalární informaci o
prirozene vlastní vlastnosti entity z
hlediska reálného sveta Popisný (volný)
atribut obsahuje informaci o všeobecné
vlastnosti, kterou definoval tvurce aplikace,
k realite má více ci méne volný vztah Statutární
atribut obsahuje informaci o statusu sledovaném
z hlediska aplikace Úkol 19 pokuste se nalézt
a definovat dostatecný pocet atributu
jednotlivých sledovaných entit, tak aby v
dostatecné míre urcovaly základní vlastnosti
techto entit Úkol 20 u všech definovaných
atributu vyznacte jejich zarazení do jedné z
kategorií viz výše
49
Hledání správných atributu definovaných entit
Úkol 21 spolecne se pokusíme navrhnout vhodné
atributy pro jednotlivé entity Úkol 22 u
navržených atributu navrhnete domény hodnot
Úkol 23 u navržených atributu navrhnete
omezení
50
Úprava datového modelu na analýzy atributu
zobecnení modelu
Finance VÚ
Výzkumný úkol
Forma studia
Pracovní zarazení
Participace na VÚ
Studium
Pracovne právní vztah
Student
Pedagog
Partner
Adresa bydlište
Elektr. adresa
51
Implementace databáze datové typy MS Access
Vybrané datové typy MS Access Autoincrement
samo-povyšující se císlo typu Long (-2109 -
2109 ) Integer / Int císlo typu Integer
(-3104 - 3104 ) Long císlo typu Long (-2109
- 2109 ) Number císlo s dvojitou
presností SmallInt malé celé císlo typu Integer
(cca 9999 - 9999) Float císlo s plovoucí
rádovou cárkou String textový retezec typu
Varchar Date dlouhé datum Money presný
financní formát Bit booleovské hodnoty True
/ False Memo neomezene dlouhý formátovaný
text Image binární data / obrázek URL URL
adresa a nekteré další. Omezení Null / No Null
Hodnota Null trístavová logika
(podrobneji dále)
52
ANSI SQL
Pohádka o standardu který témer nikdo nedodržuje,
ale i presto se jedná o jeden z nejužitecnejších
standardu v oblasti IT o jazyku SQL Základ
jazyka SQL neprocedurální jazyk pro
množinovou správu dat relacních
databází Nástavby jazyka SQL T-SQL, PL SQL
obecne všechny procedurální rozšírení SQL Typy
dotazu SQL Dotaz pro náhled / zpracování
výsledku dat DDL dotaz vytvárecí dotaz DML
dotaz modifikacní dotaz
53
DDL Data Definition Language vytvárecí dotazy
Dotazy DDL slouží k vytvárení, rušení a
modifikaci datových struktur datových
omezení indexu pohledu triggeru
(spouští) procedur pro manipulaci s daty
54
DDL Data Definition Language vytvárecí dotazy
CREATE TABLE database_name. owner .
owner. table_name ( lt column_definition
gt column_name AS computed_column_expres
sion lt table_constraint gt
CONSTRAINT constraint_name
PRIMARY KEY UNIQUE ,...n ) lt
column_constraint gt CONSTRAINT
constraint_name NULL NOT NULL
PRIMARY KEY UNIQUE
FOREIGN KEY REFERENCES
ref_table ( ref_column ) ON
DELETE CASCADE NO ACTION
ON UPDATE CASCADE NO ACTION

55
DDL Data Definition Language vytvárecí dotazy
ALTER TABLE ALTER TABLE table ALTER
COLUMN column_name      new_data_type (
precision , scale )          NULL NOT
NULL           ADD          lt
column_definition gt           column_name AS
computed_column_expression          ,...n
     WITH CHECK WITH NOCHECK ADD
         lt table_constraint gt ,...n
     DROP          CONSTRAINT
constraint_name              COLUMN column
,...n      CHECK NOCHECK CONSTRAINT
         ALL constraint_name ,...n
     ENABLE DISABLE TRIGGER         
ALL trigger_name ,...n lt
column_definition gt      column_name
data_type      DEFAULT constant_expression
WITH VALUES      IDENTITY (seed ,
increment ) NOT FOR REPLICATION
              ROWGUIDCOL      COLLATE lt
collation_name gt      lt column_constraint gt
...n
. lt column_constraint gt     
CONSTRAINT constraint_name      NULL NOT
NULL          PRIMARY KEY UNIQUE
             CLUSTERED NONCLUSTERED
             WITH FILLFACTOR fillfactor
             ON filegroup DEFAULT
                      FOREIGN KEY
            REFERENCES ref_table ( ref_column
)              ON DELETE CASCADE NO
ACTION                       CHECK NOT
FOR REPLICATION             (
logical_expression )      lt table_constraint gt
     CONSTRAINT constraint_name     
PRIMARY KEY UNIQUE          ( column
,...n )             FOREIGN KEY
             ( column ,...n )
            REFERENCES ref_table ( ref_column
,...n )              ON DELETE CASCADE
NO ACTION          DEFAULT
constant_expression              FOR column
WITH VALUES             CHECK NOT FOR
REPLICATION             ( search_conditions )
    
56
DDL Data Definition Language další vytvárecí
dotazy - strucne
CREATE INDEX CREATE TRIGGER CREATE
PROCEDURE CREATE VIEW DROP
INDEX, TRIGGER, PROCEDURE. atd.
57
DML Data Modification Language aktualizacní
dotazy
UPDATE INSERT. DELETE. Aktualizacní
dotazy slouží k zmenám množin dat
58
DML Data Selection Language výberové dotazy
SELECT HAVING. UNION.
ORDER. GROUP. Aktualizacní dotazy
slouží k zmenám množin dat
59
Implementace databáze
V tuto chvíli již víme dost na to, abychom
se mohli pokusit implementovat reálný príklad
funkcní relace dat na základe našeho
príkladového zadání. Úkol 21 pokuste se
pomocí rádkových vytvárecích dotazu postupne
implementovat veškeré potrebné datové entity,
veškeré vytvárecí dotazy si postupne ukládejte
jako vzestupne ocíslované dotazy, v první fázi
nerešte otázky datové integrity a vazeb Úkol
22 u definovaných entit stanovte a
implementujte PK Úkol 23 u definovaných
entit stanovte a implementujte FK Úkol 24
implementujte potrebné indexy Úkol 25 v
prípade potreby pomocí vizuálního návrháre
doplnte hodnotová omezení Úkol 26 do
realizovaných datových struktur zadejte urcitý
vzorek reálných dat
Write a Comment
User Comments (0)
About PowerShow.com