1 PA 116 – Domácí úkol 2 1 Řešitelé David Gešvindr (255653) Petr Kunčar (389926) Radek Foltýn (389962) Tomáš Kuba (207778) 2 Zadání Vytvořte konceptuální model informačního systému, který je schopný na základě dat v něm uchovávaných vygenerovat následující účtenku: 2 3 ER diagram 4 Kernel entity Objektem typu (#PROVOZOVATEL) je každá fyzická nebo právnická osoba v systému, která má daný živnostenský list a danou kvalifikaci. Objektem typu (#PROVOZOVNA) je každé fyzické zařízení, které má pevnou adresu, sloužící pro provozování dané činnosti. Objektem typu (#ZAMESTNANEC) je každá fyzická osoba v systému, která je zavázána vykonávat danou činnost na základě pracovní smlouvy. Objektem typu (#STUL) je každé fyzické zařízení v systému, které slouží pro shromažďování lidí, za účelem konzumace objednaného produktu a jiných společenských aktivit. Objektem typu (#OBJEDNAVKA) je každý seznam produktů, které byly nebo jsou objednány zákazníkem. Objektem typu (#POKLADNA) je každé zařízení pro zadávání objednaných položek s možností evidence a tisku účtenek a dokladů. 3 Objektem typu (#UCTENKA) je každý záznam v systému, který popisuje, které výrobky byly prodány a v jakém množství. Účtenka má na rozdíl od dokladu pouze neformální charakter a slouží především pro interní potřeby firmy. Objektem typu (#DOKLAD) je každý papírový nebo elektronický dokument, který obsahuje všechny náležitosti definované příslušným zákonem a který popisuje uzavřený obchod mezi vlastníkem dokladu a vydavatelem dokladu. Objektem typu (#PRODUKT) je každý výrobek, který si lze na provozovně objednat. Atributy: - Aktuální cena (CENA), která určuje, kolik tento produkt právě stojí. 4 5 Asociativní entity Objektem typu (#PRIHLASENY_ZAMESTNANEC) je každá reprezentace vazby mezi zaměstnancem a pokladnou s významem: Pokladna (#POKLADNA), u které byl daný zaměstnanec (#ZAMESTNANEC) přihlášen od daného data (DATUM) a daného času (CAS) do daného data (DATUM) a daného času (CAS). / 1,1:0,M Objektem typu (#OBJEDNANA_POLOZKA) je každá reprezentace vazby mezi produktem a objednávkou s významem: Produkty (#PRODUKT)-s, které byly objednány v rámci dané objednávky (#OBJEDNAVKA) v daném množství (MNOZSTVI), za danou cenu (CENA) a s danou daní (DPH). / 0,M:0,M Objektem typu (#PRODANA_POLOZKA) je každá reprezentace vazby mezi objednanou položkou a účtenkou s významem: Účtenky (#UCTENKA)-s, v rámci kterých bylo zaplaceno dané množství (MNOZSTVI) dané objednané položky (#OBJEDNANA_POLOZKA). / 0,M:0,M 6 Deskriptivní sorty Prvkem typu (CENA) je přirozené číslo, které reprezentuje hodnotu produktu. Prvkem typu (DPH) je každé reálné číslo větší nebo rovno nule, které vyjadřuje, kolik procent z ceny výrobku zákazník zaplatí jako zákonem povinnou platbu do státního rozpočtu. Prvkem typu (MNOZSTVI) je každé přirozené číslo. Prvkem typu (CAS) je každé přirozené číslo, které reprezentuje počet milisekund. Prvkem typu (DATUM) je každý textový řetězec ve tvaru RRRRMMDD, kde RRRR označuje rok, MM označuje měsíc v roce (indexovaný od 1) a DD označuje den v měsíci (taktéž indexovaný od 1). 5 7 Vazby 1. Provozovatel (#PROVOZOVATEL), který je vlastníkem dané provozovny (#PROVOZOVNA) / 1,1:1,M 2. Provozovny (#PROVOZOVNA)-s, ve které pracuje daný zaměstnanec (#ZAMESTNANEC) / 0,M:0,M 3. Provozovna (#PROVOZOVNA), ve které se nachází daný stůl (#STUL) / 1,1:1,M 4. Stůl (#STUL), u kterého byla přijata daná objednávka (#OBJEDNÁVKA) / 1,1:0,M 5. Pokladna (#POKLADNA), u které byla zaregistrována daná objednaná položka (#OBJEDNANA_POLOZKA) / 1,1:0,M 6. Přihlášený zaměstnanec (#PRIHLASENY_ZAMESTNANEC), který vystavil danou účtenku (#UCTENKA) / 1,1:0,M 7. Účtenka (#UCTENKA), ke které byl vydán daný doklad (#DOKLAD) / 1,1:0,M 6 8 Příloha A: Diagram mapování údajů z účtenky do ER diagramu Pro názornost, že lze z informací uchovávaných v našem konceptuálním modelu vygenerovat požadovaný doklad, doplnili jsme do dokladu informace o zdroji jednotlivých údajů vzhledem k námi navrženým entitám. (#PROVOZOVATEL) (#PROVOZOVNA) (#UCTENKA) (#DOKLAD) (#ZAMESTNANEC) (#STUL) (#POKLADNA) (#PRODANA_POLOZKA)-s (#PROVOZOVATEL) Vypočteno na základě (#PRODANA_POLOZKA)-s