Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi zovšeobecňovaním a špecializáciou v DBMS

Zovšeobecnenie a špecializácia obidva termíny sú bežnejšie v objektovo orientovanej technológii a používajú sa aj v databáze s rovnakými vlastnosťami. Generalizácia nastane, keď ignorujeme rozdiely a uznávame podobnosti medzi nižšími entitami alebo detskými triedami alebo vzťahmi (tabuľky v DBMS), aby sme vytvorili vyššiu entitu. Keď sme sa však presunuli na špecializáciu, vyšli vyššiu entitu do nižších entít a potom zistili rozdiely medzi týmito nižšími entitami.

Zovšeobecnenie a špecializácia sú presne opačné. Ďalej budeme diskutovať rozdiely medzi zovšeobecňovaním a špecializáciou pomocou porovnávacieho grafu.

Porovnávacia tabuľka

Základ pre porovnaniezovšeobecneniešpecializácie
základnéPokračuje postupom zdola nahor.Postupuje sa zhora nadol.
funkcieGeneralizácia extrahuje spoločné črty viacerých entít na vytvorenie novej entity.Špecializácia rozdeľuje entitu na vytvorenie viacerých nových entít, ktoré zdedí nejakú funkciu štiepiacej entity.
subjektySubjekt vyššej úrovne musí mať entity nižšej úrovne.Subjekt vyššieho stupňa nemusí mať subjekty nižšej úrovne.
veľkosťZovšeobecnenie znižuje veľkosť schémy.Špecializácia zvyšuje veľkosť schémy.
prihláškaGeneralizačné entity na skupine subjektov.Špecializácia sa uplatňuje na jednu entitu.
výsledokZovšeobecnenie vedie k vytvoreniu jedinej entity z viacerých subjektov.Špecializácia vedie k vytvoreniu viacerých subjektov z jednej entity.

Definícia zovšeobecnenia

Generalizácia, tento pojem sa často používa pri navrhovaní akejkoľvek relačnej schémy. Ak sa navrhovanie uskutočňuje postupom zdola nahor, je uvedené ako zovšeobecnenie. Ak sa entity, ktoré sa rozhodli vytvoriť schému, zdieľajú niektoré podobné funkcie, potom sa skombinujú, aby vytvorili subjekt vyššej úrovne.

Vo všeobecnosti hovoríme, ak niektoré entity nižšej úrovne majú spoločné charakteristiky, potom sú klubované, aby vytvorili novú entitu vyššej úrovne, ktorá sa bude ďalej skombinovať s niektorými entitami na vytvorenie novej entity vyššej úrovne. Pri generalizácii nikdy nemôže existovať entita na vysokej úrovni bez akejkoľvek entity nižšej úrovne.

Zovšeobecnenie sa vždy uplatňuje na skupinu entít a ak je prehľadané, zdá sa, že sa zmenšuje veľkosť schémy.

Predstavme si príklad zovšeobecnenia. Ak vás žiadam, aby ste pomenovali nejaký nábytok, potom je obyčajné povedať študijný stôl, jedálenský stôl, počítačový stôl, kreslo, skladacia stolička, kancelárska stolička, manželská posteľ, samostatné lôžko a zoznam je tak ďalej.

Teraz budeme generalizovať tento nábytok, tu študovný stôl, jedálenský stôl, počítačový stôl, všetci sú tak trochu tabuľky, takže tieto entity zovšeobecňujem na novú tabuľku s vyššou úrovňou entít. Kancelárske kreslo, skladacia stolička, kancelárska stolička sú takým stolom, takže tvoria novú predsedníčku vyššej úrovne. Jednotka Manželská posteľ, Jednolôžko kombinované na vytvorenie jednotky vyššej úrovne Postele . Teraz máme tri tabuľky, stoličky a postieľky s vyššou úrovňou, ktoré môžu byť ďalej spojené s vytvorením novej úrovne entity Nábytok .

Nábytková entita je všeobecná entita všetkých tých subjektov, o ktorých sme diskutovali vyššie.

Definícia špecializácie

Špecializácia je postup navrhovania, ktorý prebieha spôsobom zhora nadol . Špecializácia je práve naopak. V špecializácii rozdelíme entitu na vytvorenie viacerých entit nižšej úrovne. Tieto novovzniknuté entity nižšej úrovne zdedí niektoré črty subjektov vyššej úrovne.

Môže sa stať, že subjekt vyššej úrovne sa nemusí ďalej rozdeliť, a preto nemusí mať žiaden subjekt nižšej úrovne. Špecializácia sa vždy uplatňuje na jednu entitu, a ak je prehľadná, zvyšuje veľkosť schémy.

Letus prerokúva špecializáciu pomocou príkladu. Vezmime entitu Animal a aplikujeme na ňu špecializáciu. Jednotlivé zviera sa môže ďalej rozlievať do obojživelníkov, plazov, vtákov, cicavcov, zoznam je dlhý, ale to stačí na vysvetlenie špecializácie.

Teraz obojživelník môže byť ďalej rozdelený na krokodíl, aligátor, žaba . Jednotka plazov sa rozdelí na hada, jašterica . Jednotka vtáka môže byť rozdelená na vrabce, holub, papagáj . Cicavce sa môžu rozliať na tigra, lev, slona .

Špecializácia tak zvyšuje počet entít, ktoré zvyšujú veľkosť schémy.

Kľúčové rozdiely medzi zovšeobecňovaním a špecializáciou v DBMS

  1. Základným rozdielom medzi zovšeobecňovaním a špecializáciou je to, že generalizácia je prístup zdola nahor. Špecializácia je však prístup zhora nadol.
  2. Generalizačný klub všetky entity, ktoré majú spoločné vlastnosti na vytvorenie novej entity. Na druhej strane špecializácia preniesla entitu tak, aby vytvorila niekoľko nových entít, ktoré zdedia niektoré vlastnosti premenenej entity.
  3. Pri zovšeobecňovaní musí vyššia entita mať niektoré nižšie entity, zatiaľ čo v špecializácii nemusí mať vyšší subjekt žiadny nižší subjekt.
  4. Generalizácia pomáha pri znižovaní veľkosti schémy, zatiaľ čo špecializácia je práve naproti tomu zvyšuje počet entít, čím sa zvyšuje veľkosť schémy.
  5. Zovšeobecnenie sa vždy uplatňuje na skupinu subjektov, pričom špecializácia sa vždy uplatňuje na jednu entitu.
  6. Zovšeobecnenie vedie k vytvoreniu jediného subjektu, zatiaľ čo špecializácia vedie k vytvoreniu viacerých nových entít.

záver:

Zovšeobecnenie a špecializácia sú navrhovacie postupy a obe sú rovnako dôležité pre návrh schémy. Ktorý z nich bude závisieť od požiadavky používateľa.

Top