Author
liang
View
22
Download
1
Embed Size (px)
DESCRIPTION
Databázové systémy teorie a návrh relačních databázových systémů. I. Všeobecný úvod. Základní rozlišení bází dat. Nestrukturované a částečně strukturované báze dat souborové báze dat orientované na FS, firemní elektronická agenda v různých podobách (dokumenty, tabulky, číselná data) - PowerPoint PPT Presentation
Databzov systmyteorie a nvrh relanch databzovch systm
I. Veobecn vod
Zkladn rozlien bz datNestrukturovan a sten strukturovan bze datsouborov bze dat orientovan na FS, firemn elektronick agenda v rznch podobch (dokumenty, tabulky, seln data)
Nerelan bze dat a pechodn formyhistorick souborov databze (DBase IV)tabulkov orientovan databze se zrodky relanho pstupu FoxPro 5, Paradox)
Relan databzov systmyOracle, MSSQL Server, MS Access
Objektov orientovan bze datXML (.)Objektov databzov koncept (ODC)implementace ODC v souasnch relanch systmechvyuit v komunikacch (Queuing)
II. Relan databzov systmy
Charakteristika relanho DS (RDS)Hlavn poadavkyefektivita (HW, SW, Lidsk zdroje, rychl vyhledvn)spolehlivost(bezpenost dat, stabilita, zabezpeen proti zneuit)implementace relanho modelu
Historieteorii relanho modelu zpracoval v 60. Letech Dr. E. F. Codd
Axiomy relanho modelu (koncept)data jsou reprezentovna v dcch a sloupcch tzv. relacchvechny hodnoty obsaen v databzi jsou skalrn tj. jednotkov neboli atomickoperace v databzi se provd vdy nad celou relac a jejich vsledkem je jin relace tzv. uzvr
Implementace relacnap. MS Access recordset mnoina zznamnap. MS SQL Server resultset mnoina vsledk
Obecn koncept RDSProstor problmu definovan st relnho svtaDatov model mylenkov popis danho prostoru problmuDatabzov schma implementovatelnpopis dat. modeluDatabze fyzick implementace databzovho schmatuDatabzov stroj nen soust databzeAplikace Uivatelsk rozhranVlastn Databzov systmMylenkov (konceptuln) prostor problmu
Monosti implementace RDSDatabzov stroje - bn
Prosted pro definici a sprvu datMicrosoft AccsessVisual Database ToolsMicrosoft QuerySQL server Enterprise ManagerSQL+ToadVvoj Front-end aplikacMicrosoft AccsessVisual BasicC++, C#HTMLASPJavaObj. komp. pro pstup k datmADODAO / JetDAO / ODBCRDOOracle clientBDE, BD expressDatabzov strojeMicrosoft JetSQL serverOracle
III. Pklad eenho problmu
Veobecn zadn RDS - pkladPrvn neupesnn zadnJe teba vytvoit evidenci vzkumnch kol student a pedagog na vysok koly. Na kole probhaj vzkumn koly rzn povahy. Jsou to napklad vnitn granty, granty ministerstva kolstv (MMT), bakalsk prce, diplomov prce, postgraduln vzkumn koly. Na vzkumnch kolech se podlej jak studenti tak pedagogov. Studenti se podlej na vzkumnch kolech jak v rmci prezenn formy studia tak i pi kombinovanm a postgradulnm studiu. V praxi je mon, e se student podl na vzkumu i po ukonen studia, ale pak se obvykle jedn se o zvltn reim vzkumnho kolu. Na kolech se podlej pedagogov vech zaazen (zamstnanec, externista, prce na dohodu o proveden prce). V praxi nen mon, aby se na vzkumnm kolu podlel pedagog kter nem v prbhu kolu vyeen pracovn prvn vztah k fakult nebo ji tento vztah zanikl. Clem vytven aplikace je zskat: operativn pehled o probhajcch projektech, evidenci ji dokonench projekt, monost kontrolovat projekty z hlediska jejich asovho prbhu (kad typ projektu m stanoven termn zahjen a maximln dlku trvn) a dodrovn dalch stanovench pravidel (pravidla pro probhajc projekty viz zvltn zadn). Jednm z vstup aplikace by mla bt monost obeslat vzkumnky dle vybranch status jejich projekt (termn dokonen ve skluzu, peerpn pidlench finannch prostedk, dotaz pi zmn pracovnho zaazen nebo ukonen pracovn prvnho vztahu pedagoga, dotaz na pokraovn projektu pi zmn nebo ukonen formy studia studenty) a to jak formou mailu tak i formou doporuenho dopisu.
IV. Pehled fz realizace projektu z hlediska realizace RDS
Fze realizace RDSvodn studie Cl: co nejlpe bnm jazykem popsat poadavky uivatele a zaznamenat vechny znm okolnosti, kter mohou mt vliv na een problmuProcesn analza Cl: co nejlpe s vyuitm vhodnch prostedk pro vizualizaci proces (CASE, Visio, PowerDesigner) popsat procesy dan organizace kter je nutno vzt pi een , poznmka: u relativn jednoduchch nebo nap. historickch projekt je mono i v tto sti jet vyut vcemn prostedky bnho jazyka.Datov analzaCl: popsat s vyuitm vhodnch obvykle grafickch prostedk nebo prostedk pmo spojench s clovou databz budouc datov model RDS na abstraktn rovni. Implementace datovho modelu (back-end)Cl: penesen datovho modelu do konkrtnho prosted pro realizaci back-end sti RDS (implementace vlastn databze)Implementace aplikace pro pstup k RDS (front-end)Cl: vytvoen aplikace, kter umon uivateli (nebo jinm systmm) pstup ke vznikl aplikaci typu RDS
Fze realizace RDS zen pohledvodn studie Cl: co nejlpe bnm jazykem popsat poadavky uivatele a zaznamenat vechny znm okolnosti, kter mohou mt vliv na een problmuProcesn analza Cl: co nejlpe s vyuitm vhodnch prostedk pro vizualizaci proces (CASE, Visio, PowerDesigner) popsat procesy dan organizace kter je nutno vzt pi een , poznmka: u relativn jednoduchch nebo nap. historickch projekt je mono i v tto sti jet vyut vcemn prostedky bnho jazyka.Datov analzaCl: popsat s vyuitm vhodnch obvykle grafickch prostedk nebo prostedk pmo spojench s clovou databz budouc datov model RDS na abstraktn rovni. Implementace datovho modelu (back-end)Cl: penesen datovho modelu do konkrtnho prosted pro realizaci back-end sti RDS (implementace vlastn databze)Implementace aplikace pro pstup k RDS (front-end)Cl: vytvoen aplikace, kter umon uivateli (nebo jinm systmm) pstup ke vznikl aplikaci typu RDS
V. Prvn fze een problmu analza poadavku zadavatele
Datov analza zaveden pojm datovho modeluEntitaabstraktn kategorie, popisuje cokoli (jakkoli vsek reality) o kterm v systmu potebujeme uchovvat daje
siln (regulrn) entita takov popisovan vsek reality, kter m smysl sm o sob slab entita takov popisovan vsek reality, kter m smysl pouze ve vztahu k njak siln entit
Doporuen pi odhalovn entit v vodn studii, slovn procesn analze, slovnm zadn:vypsat nebo oznait vechna podstatn jmna a slovesapokusit se pevst slovesa na podstatn jmna (oznaen)analza dokument a poadovanch vstupsestavit seznam kandidt entitrozhodnout o kategorizaci subtyp entitprovst kontrolu nadbytenost (redundanc, duplicit a multiplicit)pokusit se o zobecnn tam kde je to mon
Pozor, vdy je teba potat s tm, e v rmci een problmu se bude pvodn seznam entit rozrstat i zuovat dle novch poznatk a dle zvolenho pstupu k realizaci
kol 1 z pkladovho zadn vypite seznam entit
Veobecn zadn RDS - pkladPrvn neupesnn zadnJe teba vytvoit evidenci vzkumnch kol student a pedagog na vysok koly. Na kole probhaj vzkumn koly rzn povahy. Jsou to napklad vnitn granty, granty ministerstva kolstv (MMT), bakalsk prce, diplomov prce, postgraduln vzkumn koly. Na vzkumnch kolech se podlej jak studenti tak pedagogov. Studenti se podlej na vzkumnch kolech jak v rmci prezenn formy studia tak i pi kombinovanm a postgradulnm studiu. V praxi je mon, e se student podl na vzkumu i po ukonen studia, ale pak se obvykle jedn se o zvltn reim vzkumnho kolu. Na kolech se podlej pedagogov vech zaazen (zamstnanec, externista, prce na dohodu o proveden prce). V praxi nen mon, aby se na vzkumnm kolu podlel pedagog kter nem v prbhu kolu vyeen pracovn prvn vztah k fakult nebo ji tento vztah zanikl. Clem vytven aplikace je zskat: operativn pehled o probhajcch projektech, evidenci ji dokonench projekt, monost kontrolovat projekty z hlediska jejich asovho prbhu (kad typ projektu m stanoven termn zahjen a maximln dlku trvn) a dodrovn dalch stanovench pravidel (pravidla pro probhajc projekty viz zvltn zadn). Jednm z vstup aplikace by mla bt monost obeslat vzkumnky dle vybranch status jejich projekt (termn dokonen ve skluzu, peerpn pidlench finannch prostedk, dotaz pi zmn pracovnho zaazen nebo ukonen pracovn prvnho vztahu pedagoga, dotaz na pokraovn projektu pi zmn nebo ukonen formy studia studenty) a to jak formou mailu tak i formou doporuenho dopisu.
Veobecn zadn RDS - pkladZadn zvraznn kandidti entitJe teba vytvoit evidenci vzkumnch kol |student a pedagog na vysok koly. Na kole probhaj vzkumn koly rzn povahy. Jsou to napklad vnitn granty, granty ministerstva kolstv (MMT), bakalsk prce, diplomov prce, postgraduln vzkumn koly. Na vzkumnch kolech se podlej jak studenti tak pedagogov. Studenti se podlej na vzkumnch kolech jak v rmci prezenn formy studia tak i pi kombinovanm a postgradulnm studiu. V praxi je mon, e se student |podl na vzkumu i po ukonen studia, ale pak se obvykle jedn se o zvltn reim |vzkumnho kolu. Na kolech se podlej pedagogov vech zaazen (zamstnanec, externista, prce na dohodu o proveden prce). V praxi |nen mon, aby se na vzkumnm kolu |podlel |pedagog kter nem v prbhu kolu vyeen pracovn prvn vztah k fakult nebo ji tento vztah zanikl. Clem vytven aplikace je zskat: operativn pehled o probhajcch projektech, evidenci ji dokonench projekt, monost kontrolovat projekty z hlediska jejich asovho prbhu (kad typ projektu m stanoven termn zahjen a maximln dlku trvn) a dodrovn dalch stanovench pravidel (pravidla pro probhajc projekty viz zvltn zadn). Jednm z vstup aplikace by mla bt monost obeslat vzkumnky dle vybranch status jejich projekt (termn dokonen ve skluzu, peerpn pidlench finannch prostedk, dotaz pi zmn pracovnho zaazen nebo ukonen pracovn prvnho vztahu |pedagoga, dotaz na pokraovn projektu pi zmn nebo ukonen formy studia studenty) a to jak formou mailu tak i formou doporuenho dopisu.
Doporuen pi sestavovn seznamu kandidt: ve fzi vytven obecnho datovho modelu pokud mono ignorujte veker doporuen zadavatele, kter pedjmaj vsledek analzy, tato doporuen je mono vzt na vdom, ale je velmi nevhodn s nimi pmo pracovat, podobn doporuen v textu podtrena, doporuen vak mohou obsahovat nov kandidty
Seznam kandidt entitKrok 1 nezpracovan seznam entit (dekompozice)vzkumn koly (V)studentipedagogov vysok kolakolevzkumn kolypovaha |vzkumnho koluvnitn grantgrant ministerstva kolstvbakalsk prcediplomov prcepostgraduln vzkumn kolvzkumn kolystudentipedagogovstudentipodl na vzkumnm koluprezenn forma studiakombinovan a postgraduln studiumstudentpodl na vzkumuukonen studiaobvykle jedn |zvltn reim Vpodl pedagog na kolechzaazen |zamstnanecexternistaprce na dohodu o proveden prcepraxi |nen mon |vzkumnm kolu |podlel |pedagog |vyeen pracovn prvn vztah termn zahjen Vmaximln dlka trvn Vstanoven pravidla (projekt)monost obeslat vzkumnkystatus |projekttermn dokonen V skluzu Vpeerpn finannch prostedk Vzmna pracovnho zaazenukonen pracovn prvnho vztahu |pedagogamailu doporuen dopis
Seznam kandidt entitKrok 2 vyazen kandidt nesouvisejcch s probl. (analza)vzkumn koly (V)studentipedagogov vysok kola ?kolevzkumn kolypovaha |vzkumnho koluvnitn grantgrant ministerstva kolstvbakalsk prcediplomov prcepostgraduln vzkumn kolvzkumn kolystudentipedagogovstudentipodl na vzkumnm koluprezenn forma studiakombinovan a postgraduln studiumstudentpodl na vzkumuukonen studiaobvykle jedn |zvltn reim Vpodl pedagog na kolechzaazen |zamstnanecexternistaprce na dohodu o proveden prcepraxi |nen mon |vzkumnm kolu |podlel |pedagog |vyeen pracovn prvn vztah termn zahjen Vmaximln dlka trvn Vstanoven pravidla (projekt)monost obeslat vzkumnkystatus |projekttermn dokonen V skluzu Vpeerpn finannch prostedk Vzmna pracovnho zaazenukonen pracovn prvnho vztahu |pedagogamailu doporuen dopis
Seznam kandidt entitKrok 3 ztotonn kandidt (analza)vzkumn koly (V)povaha |vzkumnho koluvnitn grantgrant ministerstva kolstvbakalsk prcediplomov prcepostgraduln vzkumn kolzvltn reim Vtermn zahjen Vtermn dokonen Vmaximln dlka trvn Vstatus Vskluz V
podl na vzkumnm kolupedagogovstudenti
studenti
pedagogov
finann prostedky V
pracovn zaazenzamstnanecexternistaprce na dohodu o proveden prcezmna pracovnho zaazen ukonen pracovn prvnho vztahu
forma studiaprezennkombinovanpostgraduln studiumukonen studia
Pravidla vyplvajc z analzyv praxi |nen mon |vzkumnm kolu |podlel |pedagog |vyeen pracovn prvn vztahpokud student ukon studium pak zvltn reim ? stanoven pravidla (projekt)Doposud nevyjasnn zleitosti:? monost obeslat vzkumnky? monost zasln mailu ? Zasln Doporuenho dopisu
Klasifikace entitKrok 4 vbr entit vchodisko pro datov model (analza)vzkumn koly (V) siln reln entitapovaha |vzkumnho koluvnitn grantgrant ministerstva kolstvbakalsk prcediplomov prcepostgraduln vzkumn koltermn zahjen Vtermn dokonen Vmaximln dlka trvn Vstatus V ?skluz V ?
podl na vzkumnm kolu slab abstr. ent.podl pedagogpodl student
Studenti siln reln entita
Pedagogov siln reln entita
finann prostedky V - ???
pracovn zaazen slab ? rel. ent.zamstnanecexternistaprce na dohodu o proveden prcezmna pracovnho zaazen ukonen pracovn prvnho vztahu
forma studia - siln rel. ent.prezennkombinovanpostgraduln studiumukonen studia
Pravidla vyplvajc z analzyv praxi |nen mon |vzkumnm kolu |podlel |pedagog |vyeen pracovn prvn vztahpokud student ukon studium pak zvltn reim ? stanoven pravidla (projekt)Doposud nevyjasnn zleitosti:? monost obeslat vzkumnky? monost zasln mailu ? Zasln Doporuenho dopisu
Vytven datovho modelu (DM)Krok 5 stanoven entit zkladn krok tvorby DMDefinovali jsme tento seznam entit:Vzkumn koly (V)StudentiPedagogovPracovn zaazenForma studiaPodl na vzkumnm koluFinann prostedky V
Nezapomeme, e nm zstaly i oteven zsadn problmy ke kterm jsem doposud nezaujalistanovisko, k tmto problmm se vrtme pozdji:
Doposud nevyjasnn zleitosti:? monost obeslat vzkumnky? monost zasln mailu ? Zasln Doporuenho dopisu
Vztahy entit zaveden pojm a symbolSiln entitaSlab entitaEntita AEntita BvztahEntita A1 : xEntita An : xEntita A0 : xEntita A1 : xEntita AEntita Bn : 1Entita AEntita Bn : mEntita AEntita B1 : 0, nEntita ASelf reference(unrn vztah)0, 1 : nEntita AEntita B1 : 0, 1
Vytven datovho modelu (DM)Krok 6 analza vztah entit rekapitulace entit
Do tohoto okamiku jsme definovali tento seznam entit:Vzkumn koly (V)StudentiPedagogovPracovn zaazenForma studiaPodl na vzkumnm koluFinann prostedky Vkol 2 nakreslete schma znmch entit a pomoc znmch symbol vyjdete vztahy mezi entitami
Vztahy entit jedna z monost eenVzkumn kolParticipace na V ?
StudentPedagogForma studiaPracovn zaazenFinance V ???Dotaz 1 jak by byly nevhody pmho vztahu Student V ?Dotaz 2 pro nen vztah Student Part. V typu 1 : n ?Dotaz 3 najdete njak zjevn vady stanovenho datovho modelu ? (pokud nikoli, pak na n mon pijdeme spolen pozdji)
Implementace entity obecn vlastnosti relace datRelace - StudentAtributZhlav (Header)Tlo (Body)Vektor hodnot (Tuple)1234Kardinalita1 2 3 4StupeSkalrn hodnota
Implementace entity implementace relace datv MS SQL Server a MS AccessMnoina zznam / Mnoina vsledk / Tabulka - StudentPole hodnot (Atribut)Zhlav (Caption)Mnoina zznam / mnoina vsledkZznamHodnota
Oponentura datovho modelu z hlediska normalizaceVzkumn kolParticipace na V
StudentPedagogForma studiaPracovn zaazenFinance VPracovn poznmka nutno doplnit pracovn prvn vztah a studium
prava datovho modelu na zklad oponenturyVzkumn kolParticipace na V
StudentPedagogForma studiaPracovn zaazenFinance VStudiumPracovn prvn vztah
Uiten otzkyV okamiku kdy se zd, e mme vyhovujc a sprvn model enit je vdy namst poloit si nsledujc otzky:
Nechyb v naem modelu nco podstatnho ?tj. nezapomnli jsme zcela (vzhledem k zadn) na njakou entitu nebo vztahJe n model sprvn navren ?tj. je n model vrohodn, dostaten podpisujc realitu nebo dan problm a je tak zrove dostaten obecn tj. nezvisl na naem subjektivnm (nebo tak zaujatm, pedpojatm) hlu pohleduJe n model normalizovan z hlediska teorie RD ? tj. je n model vrohodn, dostaten podpisujc realitu nebo dan problm a je tak zrove dostaten obecn tj. nezvisl na naem subjektivnm (nebo tak zaujatm, pedpojatm) hlu pohledu obsahuje informaci o veobecn vlastnosti, kterou
Dleit filozofick poznmka:V relnm svt neexistuje nco jako zcela optimln nebo objektivn sprvn nvrh databze. Existuj vak rzn vyzkouen a doporuovan postupy kter omezuj nebo vyluuj zkladn a pozdji neodstraniteln vady nvrhu.
Uiten otzky Chyb nm NCO ?Jak na een tto otzky:U velkho a komplexnho projektu budeme postupovat podle standardu UML analzy:popis proces procesn analzadefinice aktorvymezen astnk (hr) procesdefinice rolvymezen loh aktorvyplyne definice enitdefinice programovch nebo datovch entitdefinice vztah entitdefinice vztah a komunikacdefinice pravidelimplementace entitimplementace aplikanch a databzovch struktur (td)implementace vztah entitimplementace obchodnch pravidelatd. atp.V ppad pouit standardu UML (Unified Modeling Language) je u samo korektn pouit danch Case prostedk stenou zrukou plnosti a sprvnosti navrenho modelu
U menho projektu se musme spolehnout zejmna na vlastn kritick sudek
kol 5 pokuste se v zadn najt informaci, kter signalizuje, e jsme zapomnli na celou oblast, kterou je poteba modelovnm eit
Veobecn zadn RDS - pkladPrvn neupesnn zadnJe teba vytvoit evidenci vzkumnch kol student a pedagog na vysok koly. Na kole probhaj vzkumn koly rzn povahy. Jsou to napklad vnitn granty, granty ministerstva kolstv (MMT), bakalsk prce, diplomov prce, postgraduln vzkumn koly. Na vzkumnch kolech se podlej jak studenti tak pedagogov. Studenti se podlej na vzkumnch kolech jak v rmci prezenn formy studia tak i pi kombinovanm a postgradulnm studiu. V praxi je mon, e se student podl na vzkumu i po ukonen studia, ale pak se obvykle jedn se o zvltn reim vzkumnho kolu. Na kolech se podlej pedagogov vech zaazen (zamstnanec, externista, prce na dohodu o proveden prce). V praxi nen mon, aby se na vzkumnm kolu podlel pedagog kter nem v prbhu kolu vyeen pracovn prvn vztah k fakult nebo ji tento vztah zanikl. Clem vytven aplikace je zskat: operativn pehled o probhajcch projektech, evidenci ji dokonench projekt, monost kontrolovat projekty z hlediska jejich asovho prbhu (kad typ projektu m stanoven termn zahjen a maximln dlku trvn) a dodrovn dalch stanovench pravidel (pravidla pro probhajc projekty viz zvltn zadn). Jednm z vstup aplikace by mla bt monost obeslat vzkumnky dle vybranch status jejich projekt (termn dokonen ve skluzu, peerpn pidlench finannch prostedk, dotaz pi zmn pracovnho zaazen nebo ukonen pracovn prvnho vztahu pedagoga, dotaz na pokraovn projektu pi zmn nebo ukonen formy studia studenty) a to jak formou mailu tak i formou doporuenho dopisu.
Veobecn zadn RDS - pkladPrvn neupesnn zadnJe teba vytvoit evidenci vzkumnch kol student a pedagog na vysok koly. Na kole probhaj vzkumn koly rzn povahy. Jsou to napklad vnitn granty, granty ministerstva kolstv (MMT), bakalsk prce, diplomov prce, postgraduln vzkumn koly. Na vzkumnch kolech se podlej jak studenti tak pedagogov. Studenti se podlej na vzkumnch kolech jak v rmci prezenn formy studia tak i pi kombinovanm a postgradulnm studiu. V praxi je mon, e se student podl na vzkumu i po ukonen studia, ale pak se obvykle jedn se o zvltn reim vzkumnho kolu. Na kolech se podlej pedagogov vech zaazen (zamstnanec, externista, prce na dohodu o proveden prce). V praxi nen mon, aby se na vzkumnm kolu podlel pedagog kter nem v prbhu kolu vyeen pracovn prvn vztah k fakult nebo ji tento vztah zanikl. Clem vytven aplikace je zskat: operativn pehled o probhajcch projektech, evidenci ji dokonench projekt, monost kontrolovat projekty z hlediska jejich asovho prbhu (kad typ projektu m stanoven termn zahjen a maximln dlku trvn) a dodrovn dalch stanovench pravidel (pravidla pro probhajc projekty viz zvltn zadn). Jednm z vstup aplikace by mla bt monost obeslat vzkumnky dle vybranch status jejich projekt (termn dokonen ve skluzu, peerpn pidlench finannch prostedk, dotaz pi zmn pracovnho zaazen nebo ukonen pracovn prvnho vztahu pedagoga, dotaz na pokraovn projektu pi zmn nebo ukonen formy studia studenty) a to jak formou mailu tak i formou doporuenho dopisu.
Uiten otzky Chyb nm NCO ?Odpov:Zejm ano, chyb nm:adresa bn pro korespondenciadresa elektronick
M nco spolenho bn adresa s elektronickou ?nic podstatnho jedn se o dv rzn kategorie popisujc zcela odlin vci v relnm svt, maj pouze podobn nzev
Zajmavost z hlediska nvrhu:Adresa (bydlit) je jednm z nejvtch analytickch ok, kter v dnm relnm systmu nen vyeen ani zcela obecn ani zcela sprvn.
Pklady toho co je velmi tk rozhodnout:Je skalrnm dajem cel adresa - me bt, ale j to velmi nepraktickJe skalrnm dajem daj typu Date/TimeCo je sprvnm slem popisnmJak telefony zahrnout a jak je kategorizovat a jak je napklad vztah sla pevn linky nebo faxu k adrese (tj. jedn se o atribut osoby nebo msta)Jakou konvenci zavst pro smrov sloatd. atp.
prava datovho modelu na zklad vahyVzkumn kolParticipace na V
StudentPedagogForma studiaPracovn zaazenFinance VStudiumPracovn prvn vztahAdresa bydlitElektr. adresakol 6 navrhnte vztahy
prava datovho modelu na zklad vahyVzkumn kolParticipace na V
StudentPedagogForma studiaPracovn zaazenFinance VStudiumPracovn prvn vztahAdresa bydlitElektr. adresaDotaz jak vhody a nevhody maj vztahy 1:N a 1:1, 1:0,n, 1:0,1, meme si v praxi vbec dovolit vztahy bez monosti nuly
Uiten otzky Je n model SPRVN navren ?Odpov:Zcela jist NE (z minula ji vme, e prakticky nen mono doshnout pozitivn odpovdi na tuto otzku)
Zkusme to tedy jinakJe model obecn ?Na tuto otzku v tomto okamiku jet nedokeme odpovdt, bude nutno dkladn prozkoumat jednotliv entity a zjistit1. zda se nm nkter entity nepekrvaj tj. zda nejsou fakticky toton2. zda se nm nkter entity nerozpadaj tj. zda jedna zdnliv entita nen vlastn vce entitamiPoznmka: tento typ vahy ji jsme intuitivn nkolikrt udlali (viz nap. rozpad formy studia a studia apod.) => musme zkoumat navren entity na hlub rovni jejich atribut
Je model optimln z hlediska implementace vztah ?Podvme-li se podrobn na n graf vztah entit, zjistme: vztah danho typu / typ vztahu je vce ne n-tic entit danho typu vztahu (prosm spotejte)vztahy se k navren vztahy jsou nejednoznan (nsobn)
Poznmka: ob tyto skutenosti mohou naznaovat e je v rmci modelu nutn dal zobecnn, ale nemus tomu tak nutn bt, jedn se o indicie a na jejich zklad je to nanejv pravdpodobn
Datov modelVzkumn kolParticipace na V
StudentPedagogForma studiaPracovn zaazenFinance VStudiumPracovn prvn vztahAdresa bydlitElektr. adresakol 7 spotejte vztaen entity, spotejte vztahy a vsledek vzjemn porovnejte (npovda vztahy unrn, binrn, ternrn)
Uiten otzky Je n model SPRVN navren ?Jak exaktn postupovat pi ovovn datovho modeluNejdve si budeme muset osvojit nsledujc terminologii:redundance (nadbytenost) relac datbezztrtov dekompozice relac datkandidtn kl relace datprimrn kl relace datnormalizace relac datnormln (normalizovan) forma relace datnormalizovan tvar relace dat 1 6 typu
Jednotliv termny se pokusm vysvtlit na pkladech:Pro zatek pedpokldejme, e mme hypotetickou relativn sloitou mnoinu (relaci) neuspodanch dat; pro nzornost si napklad pedstavte excelovskou tabulku kter obsahuje nsledujc daje (atributy):
Trocha optimalizan teorie skalrn hodnota, redundance
skalrn hodnotajedinen hodnota, prv jedna hodnota (informace)
redundancenadbytenost hodnot (informace), hodnota kter se vrelaci opakuje
bezztrtov dekompozicemetoda optimalizace dat, jejm clem je rozdlen relace dat, kter obsahuje datov redundance na vce relac dat, kter obsahuj mn datovch redundanc nebo dn datov redundance a to bez ztrty informace
kol 8 najdte buku relace dat, kter neobsahuje (relativn k jinm hodnotm danho atributu) skalrn informaci tj. jedinenou hodnotu
kol 9 najdte buky relace dat, kter obsahuj redundantn (nadbyten, zdvojen, n-nsobn) data
kol 10 rozdlte pklad na vce relac dat, tak, aby vsledn relace neobsahovaly dn redundantn data se zachovnm veker informace
Trocha optimalizan teorie kl relace datkandidtn klatribut (jednoduch kl) nebo skupina atribut (sloen kl), kter v rmci dan relace dat jednoznan definuje konkrtn vektor dat (zznam); jinak eeno v dan relaci dat se nesm vyskytnout vce jak jeden zznam, s uritou kombinac hodnot kandidtnho kle (tj. pedpokladem kandidtnho kle je jednoznanost); relace dat me obsahovat vce kandidtnch kl
primrn klje zvolen z hlediska implementace dat ireducibiln kandidtn kl, kter je v implementaci vce vzjemn korelujcch relac dat vyuvn jako hlavn identifiktor urit relace dat uml klje umle vytvoen kandidtn nebo primrn kl; objektivn poteba umlho kle vznik zejmna v situaci, kdy pirozen kl je pli sloit nebo potencionln nejdnoznan; Doporuen: obecn je vhodn vdy nejdve hledat reln KK nebo PK, teprve pokud vyloume vechny monosti relnho kle je vhodn pistoupit k definici umlho kle, pozor vak na skutenost, e prakticky pouiteln kandidtn kle se v relnm svt vyskytuj pomrn zdka
kol 11 ve vaem pkladu rozpadu pvodn datov relace urete vechny mon kandidtn kle
Trocha optimalizan teorie funkn zvislostdva atributy jsou funkn zvisl tehdy, pokud jeden urujc atribut vyjaduje identitu vektoru dat (tj. jedn se o kandidtn kl) a jin (funkn zvisl) atribut, kter ji nemus bt jednoznan je funkn uren urujcm atributem.
brrrr.
Tohle urit nen mono si zapamatovat a nejedn se ani o pesnou definici danho jevu. Pesn definice toto jevu by se musela oprat o matematickou teorii mnoin (reflexivita, transitivita).
Nicmn o funkn zvislosti je poteba se zmnit alespo jako o jevu (bez bliho zkoumn) a to z toho dvodu, e na tomto jevu jsou v zsad vystavny modern databze.
kol 12 pokuse si pedstavit a osvojit pedstavu funkn zvislosti atribut na pkladu
estero pikzn RD 1. Normln formaNormalizace instantn doporuen jak postupovat pi vytven optimlnho datovho modelu
1. Normln forma datovou relaci je mono oznait za 1NF, pokud jsou vechny jej atributy definovny nad skalrnmi obory hodnot; jinmi slovy je nutno vylouit veker neskalrn hodnoty POZOR! uren jednotlivosti je v praxi asto mnohem obtnj ne se na prvn pohled zd, viz napklad rzn syntetick kdy, konvence apod.datovou relaci je mono oznait za 1NF, pokud neobsahuje tzv. opakovan atributy (skupiny hodnot); tj. atributy kterch me bt v praxi n., ale model relace dat pot pouze s omezenm potem opakovnPOZOR! v pkladu jsem pouil opakovn, kter je sice teoreticky neppustn, ale v praxi je velmi asto a v podstat oprvnn pouvno; jedn se o klasick pklad rozporu teorie a praxe; pesto je pravidlo o opakovn velmi uitenm pravidlem a v jinch ppadech plat asto tm beze zbytku
kol 13 vykrtnte z pkladu veker neskalrn hodnoty, kter neodpovdaj 1. Normlnmu tvaru relace dat
kol 14 oznate v pkladu veker opakujc se atributy hodnoty, kter neodpovdaj 1. Normlnmu tvaru relace dat
estero pikzn RD 2. Normln forma
2. Normln forma plat vzestupn hierarchie normlnch form, tj. relace dat je v 2. Normln form tehdy, pokud je v 1. Normln form a zrove vechny jej prvky jsou zvisl na celm kandidtnm kli (v implementaci PK); jinmi slovy je mono tento poadavek charakterizovat jako pikzne jedna relace dat nem obsahovat popis vce rznch entit
kol 14 vypite relace dat, kter jsou 100% v 2.N.f.
kol 15 vypite relace dat, kter jsou pravdpodobn v 2.N.f.
kol 16 vypite relace dat, kter urit nejsou v 2.N.f.
12345
estero pikzn RD 3. Normln forma
3. Normln forma plat vzestupn hierarchie normlnch form, tj. relace dat je v 3. Normln form tehdy, pokud je v 2. Normln form a zrove vechny jej neklov atributy jsou vzjemn nezvisl
kol 17 pedpokldejme, e se jedn o entitu student, kter atributy je teba urit odstranit, aby relace byla v 3.N.f., doporuen: pokud mete volit mezi funkn zvislm atributem a urujcm atributem, vdy volte odstrann zvislho atributu
kol 18 pedpokldejme, e se jedn o entitu student, kter atributy je teba pravdpodobn odstranit, aby relace byla v 3.N.f.12345678
estero pikzn RD 4.-6. Normln forma
Tmito normalizovanmi formami se zde nebudeme zabvat, protoe se tkaj specilnch ppad a modelovn sloitch (a tak relativn vzcnch) vztah
Jet trocha teorie a pak u vce praxe
Poslednm dleitm termnem je INTEGRITA dat.Integrita dat v obecn rovin je formln sprvnost a vzjemn hodnotov korespondence dat v databzi.
Pro zajitn datov integrity existuje vce (rzn implementovanch) mechanizm zajitn datov integrity
Integrita je nsledujcch typ: Domnov integritaobor hodnot (souvis s datovmi typy, nezamovat !) Pechodov / stavov i.definovan stavy vektor dat Entitov integritaPK, constrainty, triggery Referenn integritaFK ciz kl (sirotci) Transakn integrita Datov integrita Procedurln integritatriggery (Access nem, respektive velmi omezen)
Trocha hloubn o NIEM
hodnota:
NULL
Implementace databze atributyAnalza entit z hlediska atribut
Definin atribut (ID)nem vlastn vznam, zajiuje identifikaci
Proprietln (vlastn) atributobsahuje skalrn informaci o pirozen vlastn vlastnosti entity z hlediska relnho svta
Popisn (voln) atributobsahuje informaci o veobecn vlastnosti, kterou definoval tvrce aplikace, k realit m vce i mn voln vztah
Statutrn atributobsahuje informaci o statusu sledovanm z hlediska aplikace
kol 19 pokuste se nalzt a definovat dostaten poet atribut jednotlivch sledovanch entit, tak aby v dostaten me urovaly zkladn vlastnosti tchto entit
kol 20 u vech definovanch atribut vyznate jejich zaazen do jedn z kategori viz ve
Hledn sprvnch atribut definovanch entitkol 21 spolen se pokusme navrhnout vhodn atributy pro jednotliv entity
kol 22 u navrench atribut navrhnte domny hodnot
kol 23 u navrench atribut navrhnte omezen
prava datovho modelu na analzy atribut zobecnn modeluVzkumn kolParticipace na V
StudentPedagogForma studiaPracovn zaazenFinance VStudiumPracovn prvn vztahAdresa bydlitElektr. adresaPartner
Implementace databze datov typy MS AccessVybran datov typy MS Access:Autoincrement samo-povyujc se slo typu Long (-2*109 - 2*109 )Integer / Int slo typu Integer (-3*104 - 3*104 )Long slo typu Long (-2*109 - 2*109 )Number slo s dvojitou pesnostSmallInt mal cel slo typu Integer (cca 9999 - 9999)Float slo s plovouc dovou rkouString textov etzec typu VarcharDate dlouh datumMoney pesn finann formtBit booleovsk hodnoty True / FalseMemo neomezen dlouh formtovan textImage binrn data / obrzekURL URL adresaa nkter dal.
Omezen Null / No Null: Hodnota Null tstavov logika (podrobnji dle)
ANSI SQLPohdka o standardu kter tm nikdo nedodruje, ale i pesto se jedn o jeden z nejuitenjch standard v oblasti IT
o jazyku SQL
Zklad jazyka:SQLneprocedurln jazyk pro mnoinovou sprvudat relanch databz
Nstavby jazyka SQL:T-SQL, PL SQL obecn vechny procedurln rozen SQL
Typy dotaz SQL:Dotazpro nhled / zpracovn vsledku datDDL dotazvytvec dotazDML dotazmodifikan dotaz
DDL Data Definition Language vytvec dotazyDotazy DDL slou k vytven, ruen a modifikacidatovch strukturdatovch omezenindexpohledtrigger (spout)procedur pro manipulaci s daty
DDL Data Definition Language vytvec dotazyCREATE TABLE [ database_name.[ owner ] . | owner. ] table_name ( { < column_definition > | column_name AS computed_column_expression | < table_constraint > ::= [ CONSTRAINT constraint_name ] } | [ { PRIMARY KEY | UNIQUE } [ ,...n ] ) < column_constraint > ::= [ 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 } ] ] }
DDL Data Definition Language vytvec dotazyALTER TABLE ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ] ] | ADD { [ < column_definition > ] | column_name AS computed_column_expression } [ ,...n ] | [ WITH CHECK | WITH NOCHECK ] ADD { < table_constraint > } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] | { CHECK | NOCHECK } CONSTRAINT { ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,...n ] } }< column_definition > ::= { column_name data_type } [ [ DEFAULT constant_expression ] [ WITH VALUES ] | [ IDENTITY [ (seed , increment ) [ NOT FOR REPLICATION ] ] ] ] [ ROWGUIDCOL ] [ COLLATE < collation_name > ] [ < column_constraint > ] [ ...n ]
.
< column_constraint > ::= [ 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 ) }< table_constraint > ::= [ 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 ) }
DDL Data Definition Language dal vytvec dotazy - strun
CREATE INDEX
CREATE TRIGGER
CREATE PROCEDURE CREATE VIEW
DROP INDEX, TRIGGER, PROCEDURE.
atd.
DML Data Modification Language aktualizan dotazy
UPDATE
INSERT.
DELETE.
Aktualizan dotazy slou k zmnm mnoin dat
DML Data Selection Language vbrov dotazy
SELECT
HAVING.
UNION.
ORDER.
GROUP.
Aktualizan dotazy slou k zmnm mnoin dat
Implementace databze V tuto chvli ji vme dost na to, abychom se mohli pokusit implementovat reln pklad funkn relace dat na zklad naeho pkladovho zadn.
kol 21 pokuste se pomoc dkovch vytvecch dotaz postupn implementovat veker potebn datov entity, veker vytvec dotazy si postupn ukldejte jako vzestupn oslovan dotazy, v prvn fzi neete otzky datov integrity a vazeb
kol 22 u definovanch entit stanovte a implementujte PK
kol 23 u definovanch entit stanovte a implementujte FK
kol 24 implementujte potebn indexy
kol 25 v ppad poteby pomoc vizulnho nvrhe doplte hodnotov omezen
kol 26 do realizovanch datovch struktur zadejte urit vzorek relnch dat