|
DM /
Generalizace/specializace< Dvoutvářné entity | Tutoriál informační analýzy | Co jsou ISA vztahy > V autoopravně účtují práci a náhradní díly. Práce jsou různého druhu s různou hodinovou sazbou. Náhradní díly mají cenu podle ceníku nebo podle ceny dodavatele, některé má dílna na skladě, jiné objednává v případě potřeby. Rozlišují se ještě náhradní díly, jež mají speciální evidenci jednotlivých kusů, jako motory, od náhradních dílů, u kterých se jednotlivé kusy nerozlišují a eviduje se jen jejich počet. Práci i náhradní díly lze považovat za "služby" poskytované zákazníkům. U "služby" známe její cenu, a lze ji účtovat ve faktuře, s udáním účtovaného množství – počtu hodin práce nebo počtu kusů. O náhradních dílech, ať už typových, nerozlišujících jednotlivé kusy, tak o náhradních dílech s evidencí jednotlivých exemplářů, je třeba znát informace o názvu náhradního dílu, objednacím kódu, dodavateli, technických parametrech a pod. Pojem "náhradní díl" je srozumitelný a v kontextu autoopravny používaný. Generalizace či specializace je to co děláme v průběhu datového modelování, tyto procesy ve výsledku oba vedou k analogii množin a jejich podmnožin: při generalizaci vytváříme nadtyp (alà nadmnožinu), při specializaci podtypy (alà podmnožiny). Následující obrázek znázorňuje prve zmíněné typy a jejich podtypy: Následující diagram přidává atributy a vztah unikátních exemplářů k příslušnému typu náhradního dílu: V grafickém zobrazení konceptuálních schémat se často používá znázornění každého entitního typu zvlášť, i když se jedná o podtypy a nadtypy. V takovém zobrazení není podtyp umístěn uvnitř nadtypu, ale mimo. V zobrazení se pak objeví další vztahy (tzv. ISA vztahy), které znázorňují, že každý výskyt v podtypu je zároveň výskytem i v nadtypu. Název ISA pochází z anglického "is a", například "každá PRÁCE je SLUŽBA" = "each WORK is a SERVICE". ISA vztahy se znázorňují šipkami od podtypu k nadtypu. (Podrobněji je otázka těchto obtížněji pochopitelných vztahů diskutována v kapitole Co jsou ISA vztahy.) Následující obrázek zobrazuje předchozí konceptuální schéma s pomocí ISA vztahů: Identifikátory v rámci generalizace a specializaceS identifikátory je to jiné, pokud k nadtypům a podtypům dojdeme generalizací, než když k nim dojdeme specializací. Začněme specializací, protože v tom případě je to jednodušší. Pokud v rámci nadtypu platí nějaké identifikační schéma, platí i v rámci kteréhokoli jeho podtypu. Takže objednací kód platný jako identifikátor libovolného TYPU NÁHRADNÍHO DÍLU je samozřejmě identifikátorem i v omezeném rámci TYPOVÝCH NÁHRADNÍCH DÍLŮ i v rámci TYPŮ UNIKÁTNÍCH NÁHRADNÍCH DÍLŮ. Při specializaci nově vzniklé podtypy dědí i způsob identifikace nadtypu. Pokud účelově generalizujeme vzájemně dosti nepodobné entitní typy, jako například PRÁCI a NÁHRADNÍ DÍL, pak nám většinou nezbývá než uměle vytvořit nový identifikátor pro nově vytvořený nadtyp. Typ SLUŽBA je takový případ, a účtovací kód je příklad uměle vytvořeného identifikátoru. Potřeba takového identifikátoru plyne z potřeby se odkazovat na výskyty toho generalizovaného nadtypu jednotným způsobem, jako v tomto případě odkazovat položky na fakturách zákazníků do seznamu účtovatelných SLUŽEB. Je sice možno se obejít bez vytvoření takového umělého identifikátoru, ale řízení přístupu k datům se s takovým identifikátorem značně zjednoduší. V rámci některých podtypů v takových případech obvykle platí nějaké původní identifikátory (používané již před generalizací), jako například objednací kód NÁHRADNÍCH DÍLŮ. Pro takový podtyp pak máme alternativní způsoby identifikace – účtovací kódy i objednací kódy mohou každý z nich stejně dobře sloužit k identifikaci NÁHRADNÍCH DÍLŮ. Členění a rozčleňující charakteristikaČlenění je speciální případ rozdělení nadtypu do několika podtypů tak, že toto rozdělení je úplné a každý výskyt nadtypu se vyskytuje pouze v jediném z těch podtypů. U rozdělení SLUŽEB na PRÁCE a NÁHRADNÍ DÍLY v předchozím případě sice tomu takto je, ale můžeme to chápat jako přechodný stav. Lze si představit, že autoopravna zařadí do seznamu nabízených služeb ještě jiné služby, například zprostředkování prodeje či vytipování koupě ojetého automobilu. TYPY NÁHRADNÍCH DÍLŮ jsou však typický případ. U konkrétního typu náhradního dílu buď vedeme evidenci jeho identifikovaných exemplářů, nebo ne. Jasně jiná možnost není, a tyto možnosti se vzájemně vylučují. Takže to, zda se u daného typu dílu vede evidence jednotlivých kusů, je rozčleňující charakteristika do daných dvou podtypů TYPOVÝ NÁHRADNÍ DÍL a TYP UNIKÁTNÍCH NÁHRADNÍCH DÍLŮ. Jiný příklad tvoří rozdělení osob podle biologického pohlaví na ženy a muže. Pohlaví je rozčleňující charakteristika, každou osobu podle ní zařadíme buď mezi muže nebo mezi ženy. Takovýto jasný znak, podle kterého se nadtyp člení do podtypů, je možno v konceptuálním schématu zachytit: RoleStudenti a učitelé na vysoké škole jsou osoby. Kromě studentů a učitelů zde pracují další lidé – administrativní pracovníci, pracovníci technické podpory a údržby. O každé osobě se evidují její osobní data, tj. jméno, příjmení, adresa atd., i veřejnosprávní identifikátory – rodné číslo, číslo občanského průkazu nebo pasu. Pojem "osoba" lidé běžně užívají, při analýze má smysl uvažovat ji jako samostatnou entitu: ke každé osobě se váže další informační obsah, například číslo univerzitního průkazu, přístupové jméno a heslo do počítačové sítě školy, "osoby" se stravují ve školní menze, účastní se školou organizovaných akcí, půjčují si školní majetek, využívají služeb školních zařízení. Typy bez evidovaných instancíUvažujme ovoce. Jahody, maliny a hrušky jsou ovoce. O každém druhu ovoce můžeme například uvést barvu, průměrnou váhu jednoho kusu, kdy a kde dozrává. "Ovoce" je proto vhodný kandidát na entitní typ. "Jahoda","hruška","malina" však podtypy nejsou, neevidujeme jednotlivé kusy těchto druhů ovoce, jsou to exempláře typu nazvaného v předchozí větě "ovoce", ale výstižnější by bylo nazvat tento typ "druh ovoce" . < Dvoutvářné entity | Tutoriál informační analýzy | Co jsou ISA vztahy > |