Zadání- test na ERD Seznam příkladů k procvičení pro test 1 ISZ
1. SKP katalog firem Máme informační systém řešící databázi firem na internetu, obsahující seznam jimi nabízených produktů a seznam firemních poboček. Databáze obsahuje seznam firem s informacemi IČO (identifikační číslo), DIČ (daňové identifikační číslo), Název, Adresa (ulice, město, PSČ), právní forma (firma nemusí mít DIČ). Každá firma je jednoznačně určena svým IČO. Dále máme seznam poboček, který obsahuje IČO firmy, které pobočka patří, číslo pobočky (číslováno od 1 dále pro každou firmu), název pobočky, adresu pobočky, počet zaměstnanců, který nemusí být vždy uveden. (firma nemusí mít žádnou pobočku, ale může mít více než jednu pobočku). Dále systém obsahuje číselník SKP (Standardní Klasifikace Produktů), kde je uvedeno klasifikační číslo produktu, název produktu, popis produktu. Jedná se o úplný seznam, takže ne všechny produkty musí být firmami nabízeny. Jedna firma může nabízet více produktů podle SKP, ale každá firma musí, nabízel alespoň jeden produkt z SKP.
Bonus: Jak byste upravili původní řešení, tak aby se dalo rozlišit, která pobočka nabízí jaký produkt.
2. Hod oštěpem Máme informační systém atletických závodů v hodu oštěpem. Systém obsahuje seznam všech atletických klubů v ČR. Informace o klubech jsou číslo klubu (jednoznačné pro každý klub), název klubu, adresa klubu – město, ulice, PSČ. Ne každý klub v seznamu musí mít atleta, který hází oštěpem. Dále máme seznam atletů, kde evidujeme, rodné číslo atleta, jméno, příjmení, věkovou kategorii, osobní rekord (který nemusí být uveden) a příslušnost ke klubu. Dále máme seznam závodů na celý rok, tedy již absolvovaných i připravovaných závodů. Zde sledujeme číslo závodu (které obsahuje rok a pořadí závodu v sezóně), název závodu, datum konání, místo konání závodu (město, stadion) a koeficient závodu (jako číslo od 0 do 100). Pokud atlet nastoupí v určitém závodě, může házet minimálně 3x a maximálně 6x. Evidujte výsledky atleta v daném závodě, kde výsledkem je délka hodu v centimetrech a neplatné pokusy se nemusí ukládat.
Bonus: Jaký způsob ukládání výsledků závodníků v závodě je nejvýhodnější a proč?
3. Výběrová základní škola Máme informační systém žáků ve výběrové základní škole s dělenou výukou pro jeden školní rok. Sledujeme jednotlivé třídy (skupiny) žáků, předměty, které se učí, samotné žáky a rozvrh, kdy který žák navštěvuje jaký předmět, přičemž každý žák má individuální rozvrh (který nemusí být identický pro ostatními spolužáky). U žáků sledujeme rodné číslo, jméno, příjmení, studijní průměr, třídu, do které patří, přičemž každý žák patří do nějaké třídy, ale nemusí mít rozvrh. Seznam tříd (skupin) jednotlivých žáků určených svým číslem (číslo ročníku + písmeno skupiny), názvem, specializací (která nemusí být uvedena), třídní. Ne všechny třídy musí být obsazeny žáky. Dále máme seznam předmětů obsahující číslo předmětu (jednoznačná zkratka názvu předmětu max. 5 znaků + ročník, ve kterém se předmět vyučuje), název předmětu a odpovědný učitel, předmět nemusí být vyučován. V rozvrhu pro konkrétního žáka sledujeme číslo předmětu, který navštěvuje, den, hodinu kdy se předmět vyučuje a číslo místnosti kde se vyučuje (jeden předmět se může vyučovat pro stejného žáka více hodin týdně, v různém dni a čase na různých místnostech).
Bonus Jak by se změnilo řešení, pokud by měla celá třída stejný rozvrh?
4. Autoopravna Máme informační systém autoservisu. V autoservisu existuje seznam automobilů, které byly opravovány s informacemi, SPZ (státní poznávací značka) auta, typ auta (jako text popisující model karoserie a motoru), číslo karoserie, číslo motoru, rok výroby. Každé auto v seznamu bylo servisováno. Dále informační systém obsahuje katalog součástek, které se dají objednat pro opravu. Seznam obsahuje číslo součástky (jednoznačné číslo z katalogu), název součástky, typ_součástky (základní rozdělení zda se jedná o součástku pro karosáře, elektrikáře, lakýrníky, motoráře), cena součástky, ne každá součástka musí být použita při servisním zákroku. Dále máme seznam oprav, který má jednoznačné číslování (rok + pořadí opravy), obsahuje informaci o autě, které bylo servisováno, datum a čas přijetí vozu, datum předání zpět, cena za opravu (pokud je vůz právě v servisu datum předání a cena nejsou uvedeny), kontaktní telefon majitele. K opravě uvedeme seznam použitých součástek (ne vždy musí být pro opravu použity nějaké součástky, ale v rámci jedné opravy může být použito více součástek stejného typu).
Bonus: Jak byste modifikovali stávající systém, kdybyste chtěli evidovat výrobní čísla samotných součástek? Jaký jo rozdíl při použití SPZ nebo čísla karoserie jako primárního klíče?
5. Úspora na telefon Majitel firmy zjistil, že utrácí velké prostředky za mobilní telefony a rozhodl se tuto problematiku řešit. Sestavil seznam čísel, na která jeho zaměstnanci mohou telefonovat z určitého mobilního telefonu, a ostatní nechal zablokovat. Každý mobil má svého vlastníka (zaměstnance). V seznamu se může, vyskytnou číslo, na které nesmí aktuálně volat žádný zaměstnanec. Každý zaměstnanec má stejný seznam povolených čísel. V seznamu bylo uvedeno číslo, majitel čísla a cenový tarif. Dále vytvořil seznam vlastních mobilních telefonních čísel, kde bylo uvedeno číslo telefonu, operátor, osobní číslo zaměstnance. Jeden zaměstnanec nemohl vlastnit více mobilních čísel a dokonce nemusel vlastnit žádný firemní mobil. Z nového mobil nemuselo být ještě telefonováno. V evidenci zaměstnanců bylo uvedeno osobní číslo zaměstnance (jednoznačné v rámci firmy), jméno, příjmení, pozice ve firmě (pozice nemusí být vyplněna). Dále se eviduje, kdy který mobil volal, na některé z povolených čísel. Sleduje se datum a čas volání, číslo mobilního telefonu, cílové číslo, délka hovoru, cena.
Bonus: Jak se změní návrh, pokud by pro každého zaměstnance byl jiný seznam povolených čísel?
6. Půjčovna DVD Půjčovna DVD se rozhodna vybudovat informační systém o půjčených discích bez možnosti rezervace. U jednotlivých disků se evidovalo číslo titulu (jednoznačně v rámci půjčovny), jméno filmu česky, jméno filmu anglicky (nemusí existovat), délka v minutách, jazyk audio, jazyk titulky. Dále se evidovaly jednotlivé exempláře daného filmu, protože půjčovna mohla mít více disků od stejného titulu. U exemplářů se evidovalo pořadové číslo, datum pořízení, datum vyřazení( které bylo prázdné pokud se titul nevyřadil.). Mohla nastat situace, že k filmu nebyl žádný exemplář (poškozen, připravovaný titul, atd.). Dále se evidoval seznam členů videopůjčovny číslem člena (jednoznačné pro každého člena v rámci videopůjčovny), jméno, příjmení, adresa – město, ulice, PSČ, telefon. Stěžejní operací bylo ukládání informací o vypůjčených titulech, kde se ukládaly informace o půjčeném titulu, který člen si jej půjčil, datum půjčení a vrácení. Při půjčení se evidovalo, který exemplář si člen půjčil, tak aby se dalo následně sledovat kdo konkrétní exemplář titulu poškodil. Stejný exemplář si člen může půjčit víckrát. Člen si nemusí půjčit žádný exemplář a nový exemplář nemusí být dosud vypůjčen.
Bonus: Jak by jste modifikovali stávající řešení, abyste mohli vyhledávat filmy podle herců? Jak doplníte rezervace?
7. Sledování projektů V rámci VŠB byl vyvinut informační systém, který sledoval účast lidí v projektech realizovaných pro různé instituce. Informační systém obsahoval seznam dostupných lidských zdrojů číslo člověka (login), jméno, příjmení, odbornost (nemusí být vždy uvedena), počet hodin, které může na projektech pracovat během jednoho týdne. Člověk v seznamu se nemusel účastnit žádného projektu, ale naopak se může účastnit jednoho i více projektů. Dále se evidovaly instituce, které projekty zadávaly a to jednoznačným identifikátorem, názvem instituce, adresou – město, ulice a PSČ. Jedna instituce nemusela požadovat žádný projekt, ale mohla současně požadovat více projektů. Jeden projekt byl vždy pouze pro jednu instituci. Projekt obsahoval jednoznačnou identifikaci projektu, identifikaci instituce, pro kterou je realizován, datum zahájení, datum ukončení projektu, rozpočet na projekt (cenu za realizaci). Dále se sestavil seznam lidí, kteří se na projektu podíleli a to jejich identifikací datum od kdy, do kdy se projektu účastnili, počet hodin, sazba za hodinu a jakou funkci zastávali. Nový projekt nemusel mít okamžitě přiřazeny lidské zdroje. V rámci jednoho projektu mohl člověk pracovat pouze jednou.
Bonus: Jak byste modifikovali systém, abyste mohl zaměstnanec zastávat více funkcí v jednom projektu? Jak modifikujete systém, abyste mohli sledovat, který zaměstnanec pracoval, který den, kolik hodin na jakém projektu?
8. Zahrádkářství Zahradnická firma se rozhodla evidovat své pracovní aktivity a vytvořit informační systém pro sledování vytvořených zahrad. Sledovala informace o nabízených rostlinách, které uložila do katalogu. Zde bylo uvedeno jednoznačné katalogové číslo, název rostliny česky, název latinsky, popis rostliny (nemusí být vždy uveden) a cena. V katalogu mohly být i rostliny, které dosud nebyly nikde použity, naopak většina druhů rostlin byla často použita i víckrát. Dále byl sestaven seznam zákazníků, kde každý zákazník měl od firmy vytvořenu minimálně jednu zahradu a někteří i více. V seznamu zákazníků bylo číslo zákazníka, jméno a příjmení, adresa – ulice, město, PSČ, kontaktní telefon. Dále byl uveden seznam realizovaných zahrad, kde u každé zahrady byl uveden její vlastník (zákazník), adresa – ulice, město, PSČ. Adresa zahrady nemusí být totožná s adresou vlastníka, datum, kdy se zahrada realizovala a číslo zahrady (udávající rok a pořadí zahrady v tomto roce realizované). Na každé zahradě byla použita minimálně jedna rostlina, v seznamu se evidovalo kolik rostlin a jakého druhu bylo na zahradu použito.
Bonus: Jak modifikujete řešení, abyste mohli plánovat hnojení zahrad, když každý druh rostliny hnojíme jiným hnojivem s různou časovou periodou?
9. Dostihové závody
Dostihová komise rozhodla o vybudování informačního systémů pro jednotlivé stáje, koně, dostihy a výsledky dostihů. Informační systém obsahoval informace o stájích, obsahoval registrační číslo stáje (unikátní pro každou stáj), majitele, adresa – město, ulice, PSČ/ZIP, země. Každá stáj musí mít minimálně jednoho koně. U koňů se evidovalo jejich číslo (jednoznačné v rámci jedné stáje v různých stájích mohou mít koně stejná čísla), jméno koně, stáří, zaměření (zaměření koně nemusí být vyplněno), pohlaví. Každý kůň patří právě jedné stáji. Další součástí evidence byl seznam absolvovaných závodů (těch, které již proběhly). Závod je určen číslem závodu (jednoznačné číslo v rámci jedné sezony = jednoho roku), rokem konání, názvem závodu, dotací na závod. V každém závodu misí být minimálně jeden kůň, ale někteří koně dosud nestartovali v žádném závodě. Pro každý závod můžeme sledovat seznam všech koní, kteří se závodu zúčastnili, i těch kteří nedokončili, u každého koně sledujeme startovní číslo v závodě a konečné umístění pro každého koně. Neuvažujeme dělená místa.
Bonus: Jak bychom modifikovali systém, pokud bychom chtěli rozlišovat závody podle jejich typů (klusáci, cross-country, atd.)? Jak jinak můžete zefektivnit stávající řešení? Jak vyřešíte dělená místa? Je nutná změna návrhu?
10.
Letové plány
Letecké společnosti se dohodly na sestavení centralizovaného informačního systému sledujícího letové rozpisy jednotlivých letadel. Do systému byly zaneseny informace o jednotlivých letových společnostech a to jejich označení (unikátní), název, kontaktní adresa – město, ulice, PSČ/ZIP, země, telefon. Dále byl do systému naveden seznam všech letadel obsahující číslo letadla (unikátní kombinace čísel a znaků), typ letadla, počet míst, počet motorů, maximální dolet, rok výroby. Každé letadlo patří pouze jedné letové společnosti, ovšem každá letová společnost má k dispozici jedno a více letadel. Dále byl uveden seznam letových tras a to číslem trasy (unikátní pro každou trasu), počáteční a koncové letiště, vzdálenost, počet mezipřistání, obvyklý počet cestujících (který nemusí být uveden). Následně je ke každému letadlu přiřazen seznam letových tras, na kterých létá, přičemž letadlo nemusí létat vůbec a trasa rovněž nemusí být vykryta letovým provozem. Naopak jedno letadlo může látat na více trasách a na jedné trase se může střídat více letadel.
Bonus: Jak byste řešili volbu vhodného letadla pro určitou trasu?
11.
Svatební oznámení
Tiskárna, která tiskne svatební oznámení, promoční pozvánky atd. se rozhodla tento problém řešit pomocí informačního systému. Sestavila vzorník oznámení a přání, které je schopna natisknout. Každé vytištěné přání musí být vybráno ze vzorníků. Vzorník obsahuje i návrhy, které si dosud nikdo nevybral, ale někteří zákazníci si vybrali stejný vzor. Vzorník obsahuje číslo vzoru, název vzoru, ceny za jeden kus vzoru včetně potisku. Dále informační systém obsahuje seznam zákazníku a to číslo zákazníka, jméno a příjmení zákazníka, adresu – ulice, město, PSČ, telefon, email (který nemusí mít každý zákazník). Zákazník se do systému vkládá současně s první zakázkou. Dále systém obsahuje seznam zakázek pro jednoho zákazníka, kde v rámci jedné zakázky může být použito více než jeden vzor, ale minimálně jeden vzor. Zakázka obsahuje číslo zakázky, číslo zákazníka, datum vystavení, datum dodání, cenu zakázky, zálohu (která nemusí být požadována, tedy je nulová), doplatek za zakázku (pokud záloha uhradila celou zakázku, může být nulový). Pro jednotlivé vzory použité v rámci jedné zakázky se udává počet kusů od jednoho vzoru a text, který se má dotisknout na vybraný vzor.
Bonus: Jakým způsobem budete řešit situaci, kdy bude zákazník požadovat na stejný vzor různé potisky? Proč to stávající řešení nepodporuje? Navrhněte administrativní nebo databázový přístup k řešení tohoto problému.
12.
Dražba
Dražební agentura se rozhodla evidovat proces dražby pomocí informačního systému. Shromáždila informace o dražených předmětech a rozdělila je do několika skupin. Každá skupina byla určena svým číslem, názvem skupiny, popisem obsahu skupiny (který nemusel být vyplněn). Každý dražený předmět byl označen svým číslem jednoznačným pro celou dražbu, příslušností do skupiny dražených předmětů, názvem předmětu, popisem předmětu, rokem výroby, vyvolávací cenou. Každá skupina obsahovala minimálně jeden předmět. Dále dražební agentura shromáždila informace o dražitelích, kterým přidělila osobní čísla, dále evidovala jejich jméno, příjmení, adresu – město, ulice, PSČ, výši vložené zálohy. Při samotné dražbě byly do informačního systému zaneseny všechny navýšení částky oproti vyvolávací ceně. Navíc byly doplněny o informaci, kdo částku navýšil, ke kterému předmětu, pořadí navýšení, o kolik peněz se částka zvedla nebo snížila oproti aktuální hodnotě. Jeden dražitel mohl částku navýšit vícekrát pro jeden stejný předmět nebo pro více různých předmětů. Pro předmět nemuselo existovat žádné navýšení, a tedy nemusel být vydražen, pokud o něj nikdo neprojevil zájem. Dražitel rovněž nemusel navyšovat cenu pro žádný předmět.
Bonus: Jak byste zjistili finální cenu vydraženého předmětu? Jak modifikujete systém, aby se dalo rychle zjisti, kdo získal jaký předmět?
13.
Cestovní agentura
Cestovní agentura se rozhodla svou agendu realizovat pomocí informačního systému. Sledovala seznam jimi nabízených zájezdů, zemí do kterých tyto zájezdy jsou, seznam zákazníků a obsazení jednotlivých zájezdů. U zájezdů evidovali číslo zájezdu, cílovou zemi zájezdu, název zájezdu, datum odjezdu, počet dní, kapacita (počet osob), způsob dopravy, stravování. U zemí do kterých zájezdy směřovaly, evidovali zkratku země (jednoznačné pro každou zemi př. CZ, SK, EN, AUT, AUS, ….), název země, popis země, další požadavky (zde se udávala například nutnost viza, ale tato položka nemusí být vyplněna.) Do určité země nemusel být dosud žádný zájezd a předpokládáme, že jeden zájezd je vždy do jedné země, ale do jedné země může být více různých zájezdů. U jednotlivých zákazníků sledovali rodné číslo, jméno, příjmení, adresa – město, ulice, psč, telefon. Dále bylo v systému zaneseno, který zákazník si objednal, které zájezdy, pro kolik osob, přičemž zákazník si musel objednat minimálně jeden zájezd, ale i více zájezdů. K jednomu zájezdu mohlo být přiděleno více zákazníků, kteří o tento zájezd projevili zájem. Pokud nebyl zájezd dosud prodáván, nemusel obsahovat žádné zákazníky.
Bonus: Jak byste modifikovali stávající řešení, abyste mohli sledovat platby za zájezdy? Kolik zájezd stojí, jakou zálohu zákazník zaplatil, kolik musí doplatit? Jak vyřešíte situaci, kdy je zájezd do více zemí?
14.
Botanická zahrada
Botanická zahrada si pořídila počítačem řízený systém hnojení jednotlivých rostlin. Kde každá rostlina může být hnojena kombinací různých hnojiv v různou dobu. Rostliny byly rozděleny do různých oddělení podle země původu. Zde se evidovala zkratka země, název země, klimatické podmínky. V každém oddělení byla minimálně jedna rostlina. Pro každou rostlinu se evidovalo číslo regálu, kde rostlina leží (jednoznačně pro každý regál), číslo pozice v regálu (pozice mohou být pro různé regály stejné, ale jsou jednoznačné v rámci jednoho regálu), název rostliny, datum výsadby, cena a jedno oddělení do kterého rostlina patří. Dále byl vytvořen seznam hnojiv obsahující číslo hnojiva, název hnojiva, výživné látky, podmínky pro aplikaci (podmínky nemusí být vyplněny) a měrná jednotka hnojiva (litr,..). Pro každou rostlinu byl vytvořen seznam hnojiv, kterými se smí hnojit. Bylo zde uvedeno přesné umístění rostliny, číslo hnojiva, den a měsíc kdy má být rostlina hnojena, dávka, udávající množství hnojiva pro jedno hnojení. Jedno hnojivo se používalo u více rostlin a jedna rostlina mohla být hnojena více hnojivy nebo stejným hnojivem v různých časech. Každá rostlina byla hnojena a každé hnojivo ze seznamu bylo použito.
Bonus: Jak modifikujete stávající systém, abyste mohli vypočítat spotřebu hnojiva pro všechny rostliny za jeden rok? Jak modifikujete systém, abyste mohli sledovat množství a druh výživných látek v rámci jednoho hnojiva?
15.
Kuchařka
Skupina kuchařů se rozhodla vytvořit informační systém obsahující recepty. V kuchařce rozdělili jídla do kategorií (polévky, předkrmy, atd.), kde každá kategorie měla své jednoznačné označení, název, popis obsahu kategorie. V každé kategorii bylo jedno a více jídel a jedno jídlo nemohlo být ve více kategoriích. Pro jednotlivé pokrmy sestavili jejich seznam, kde bylo číslo pokrmu, kategorie do které pokrm patří, název pokrmu, odhadovaná cena nákladů, popis přípravy a popis servírování (který nemusel být uveden), země původu. Dále byl vytvořen seznam potravin opatřený číselníkem, názvem potraviny, druhem potraviny, popisem potraviny a dobou dostupnosti potraviny. Každá potravina v seznamu byla použita minimálně v jednom, ale i ve více receptech. Pro jednotlivé pokrmy byl sestaven seznam požitých potravin, kde bylo uvedeno číslo potraviny, množství potřebné pro přípravu. Každý recept musel mít minimálně jednu potravinu obvykle však více než jednu potravinu.
Bonus: Jak byste do systému zanesli různé měrné jednotky jednotlivých druhů potravin? Jak byste potraviny rychle roztřídili podle druhů?