Entita vs Atribút
Na modelovanie databáz sa často používa technika modelovania vzťahov medzi entitami (ERM). Modelovanie vzťahov medzi entitami je proces prichádzajúci s abstraktným a koncepčným znázornením údajov. Jedným z hlavných stavebných prvkov ERM je entita. Entita predstavuje objekt reálneho sveta alebo vec, ktorá dokáže samostatne stáť a je ju možné jednoznačne identifikovať. Atribúty sú vlastnosťami týchto entít. ER diagramy sú produktom modelovania vzťahov medzi entitami. ER diagramy sa kreslia pomocou entít, atribútov a iných symbolov (napríklad vzťahov).
Čo je entita?
Entita predstavuje vec, ktorá môže existovať nezávisle a ktorú je možné jednoznačne identifikovať. Konkrétnejšie, entita často predstavuje triedu, skupinu alebo kategóriu podobných objektov. Subjekt najčastejšie predstavuje objekt v reálnom svete, ako napríklad auto alebo zamestnanec. Entity môžu byť ako podstatné mená, ktoré sa objavia pri opise problému, ktorý sa má vyriešiť. Entity sú reprezentované ako tabuľky v relačných databázach. Všeobecne sa každá entita bude mapovať na presne jednu tabuľku v databáze. Jednotlivé riadky v tabuľkách zodpovedajú skutočným inštanciám objektu / veci predstavovaným entitou. Napríklad v databáze zamestnancov každý riadok zodpovedá záznamom jednotlivých zamestnancov spoločnosti.
Čo je to atribút?
V modelovaní vzťahov medzi entitami sa vlastnosti entít nazývajú atribúty. Inými slovami, atribúty predstavujú podskupinu informácií o objekte predstavovanú entitou. Atribúty definujú jednotlivé inštancie a pomáhajú rozlišovať medzi jednotlivými inštanciami popisom ich charakteristík. Je dôležité si uvedomiť, že atribúty nemôžu byť hodnotené a mali by byť atómové. V relačných databázach, kde sú entity realizované ako tabuľky, predstavuje každý stĺpec atribúty týchto entít. Napríklad v tabuľke Zamestnanci sú stĺpce ako oddelenie, poradie a plat príklady atribútov zamestnancov. Na rozlíšenie jednotlivých inštancií entity je možné ako kľúč zvoliť jedno alebo viac polí atribútov s jedinečnými hodnotami (pre všetky inštancie). Napríklad,atribút čísla sociálneho zabezpečenia (ktorý je jedinečný pre všetkých zamestnancov) sa často používa ako primárny kľúč tabuľky zamestnancov. Niekedy môže primárny kľúč vytvoriť aj viac atribútov.
Aký je rozdiel medzi entitou a atribútom?
V modelovaní vzťahov medzi entitami predstavujú entity objekty / veci v reálnom svete, ktoré možno identifikovať ako jedinečné a nezávislé, zatiaľ čo atribúty predstavujú vlastnosti týchto entít. V relačných databázach sa entity stávajú tabuľkami (každý riadok predstavuje jednotlivé inštancie), zatiaľ čo atribúty sa stávajú stĺpcami týchto zodpovedajúcich tabuliek. Pri navrhovaní databáz je bežné mať nejasnosti pri výbere entity oproti atribútu, ktorý predstavuje určitý objekt skutočného slova. Mala by byť napríklad adresa zamestnanca predstavovaná ako atribút alebo iná entita (spojená s entitou zamestnanca prostredníctvom vzťahu)? Všeobecným pravidlom je, že ak má zamestnanec viac ako jednu adresu, potom musí byť adresou entita (pretože atribúty nemajú stanovenú hodnotu). Podobne, ak je dôležité zachytiť štruktúru adresy,potom by adresa mala byť opäť entita (pretože atribúty sú atómové).