Doporučená, 2021

Redakce Choice

Rozdíl mezi zobecněním a specializací v DBMS

Zobecnění a specializace oba pojmy jsou běžnější v technologii orientované na objekty a jsou také používány v databázi se stejnými vlastnostmi. Zobecnění nastává, když ignorujeme rozdíly a uznáváme podobnosti mezi nižšími entitami nebo třídami dítěte nebo vztahy (tabulky v DBMS), aby vytvořily vyšší entitu. Když jsme však přešli na specializaci, rozptýlila vyšší entitu, aby vytvořila nižší entity, pak zjistíme rozdíly mezi těmito nižšími entitami.

Zobecnění a specializace jsou přesně opačné. Dále se budeme zabývat rozdíly mezi zobecněním a specializací pomocí srovnávací tabulky.

Srovnávací graf

Základ pro porovnáníZobecněníSpecializace
ZákladníPostupuje zdola nahoru.Postupuje shora dolů.
FunkceZobecnění vyjímá společné rysy více entit, aby vytvořilo nový subjekt.Specializace rozděluje entitu tak, aby tvořila více nových entit, které zdědí nějakou funkci dělící entity.
SubjektyEntita vyšší úrovně musí mít entity nižší úrovně.Entita vyšší úrovně nemusí mít entity nižší úrovně.
VelikostZobecnění snižuje velikost schématu.Specializace zvyšuje velikost schématu.
aplikaceZobecňující subjekty na skupině subjektů.Specializace je aplikována na jeden subjekt.
VýsledekVýsledkem zobecnění je vytvoření jedné entity z více entit.Specializace má za následek vytvoření vícenásobné entity z jednoho subjektu.

Definice zobecnění

Zobecnění, tento termín je často používán při navrhování jakéhokoliv relačního schématu. Pokud projektování probíhá zdola nahoru, pak je označováno jako zobecnění. Pokud entity, které jsou vytvořeny pro vytvoření schématu, sdílí některé podobné funkce, pak jsou kombinovány do podoby entity vyšší úrovně.

V generalizaci říkáme, že pokud některé entity nižší úrovně mají nějaké společné vlastnosti, pak jsou vytvořeny pro vytvoření nové entity vyšší úrovně, která bude dále kombinována s některými entitami, aby vytvořila novou entitu vyšší úrovně. Při zobecnění nikdy nemůže existovat entita vysoké úrovně bez entity nižší úrovně.

Zobecnění je vždy aplikováno na skupinu entit, a pokud je přehled, zdá se, že snižuje velikost schématu.

Pojďme diskutovat o příkladu zobecnění. Pokud vás požádám, abyste pojmenovali nějaký nábytek, pak je běžné říkat studijní stůl, jídelní stůl, počítačový stůl, křeslo, skládací židli, kancelářskou židli, manželskou postel, jednolůžko a seznam je na místě.

Nyní, zobecníme tento nábytek, zde, studijní stůl, jídelní stůl, počítačový stůl, vše je druh tabulky, takže tyto subjekty zobecním na nový subjekt vyšší úrovně Tabulka . Kancelář křeslo, skládací židle, kancelářská židle, jsou druhem křesla, takže tvoří nový subjekt vyšší úrovně. Subjekt Dvojlůžko, Jednolůžko v kombinaci tvořit entitu vyšší úrovně Bed . Nyní máme tři vyšší entity entity Table, Chair a Bed, které lze dále ukotvit a vytvořit nový entitu Nábytek .

Nábytek je zobecněná entita všech těch entit, o kterých jsme diskutovali výše.

Definice specializace

Specializace je proces navrhování, který postupuje shora dolů . Specializace je právě opačná oproti generalizaci. Ve specializaci rozdělujeme subjekt tak, aby tvořil více entit na nižší úrovni. Tyto nově vytvořené entity nižší úrovně dědí některé vlastnosti entit vyšší úrovně.

Může se stát, že entita vyšší úrovně nemusí být dále rozdělena, a proto nemusí mít žádnou entitu nižší úrovně. Specializace je vždy aplikována na jeden subjekt a pokud je přehledná, zvětšuje velikost schématu.

Letus diskutovat o specializaci pomocí příkladu. Vezměme si subjekt Animal a aplikujeme na něj specializaci. Subjektové zvíře může být dále rozlito do obojživelníků, plazů, ptáků, savců, jejichž seznam je dlouhý, ale to je dost pro vysvětlení specializace.

Nyní může být entita obojživelník dále rozdělena na krokodýla, aligátora, žábu . Entita plaz se rozdělí na hada, ještěrku . Subjekt pták může být rozdělen na vrabce, holuba, papouška . Savci mohou být rozliti do tygra, lva, slona .

Takto specializace zvyšuje počet subjektů zvyšujících velikost schématu.

Klíčové rozdíly mezi generalizací a specializací v DBMS

  1. Základním rozdílem mezi zobecněním a specializací je, že zobecnění je přístup zdola nahoru. Specializace je však přístup shora dolů.
  2. Generalization club všechny subjekty, které sdílejí některé společné vlastnosti, aby vytvořily nový subjekt. Na druhé straně, specializace rozlitá entitu tvořit více nových entit, které zdědí některé vlastnosti spiltted entity.
  3. Při zobecnění musí mít vyšší entita nějaké nižší entity, zatímco ve specializaci nemusí mít vyšší entita žádnou nižší entitu.
  4. Zobecnění pomáhá snižovat velikost schématu, zatímco specializace je právě naopak, zvyšuje počet entit, čímž se zvyšuje velikost schématu.
  5. Zobecnění je vždy aplikováno na skupinu entit, zatímco specializace je vždy aplikována na jeden subjekt.
  6. Generalizace má za následek vznik jedné entity, zatímco specializace má za následek vznik více nových entit.

Závěr:

Zobecnění a specializace jsou konstrukční postupy a oba jsou stejně důležité pro návrh schématu. Který z nich se použije závisí na požadavku uživatele.

Top