Entity vs Attribute
Entity-relationship modeling (ERM)-teknikk er mye brukt for modellering av databaser. Entitetsrelasjonsmodellering er prosessen med å komme opp med en abstrakt og konseptuell representasjon av data. En av hovedbyggesteinene i ERM er en enhet. Entitet representerer et objekt i den virkelige verden eller en ting som kan stå på egen hånd uavhengig og kan identifiseres unikt. Attributter er egenskapene til disse enhetene. ER-diagrammer er et produkt av enhetsrelasjonsmodellering. ER-diagrammer tegnes ved hjelp av enheter, attributter og andre symboler (som relasjoner).
Hva er en enhet?
En enhet representerer en ting som kan eksistere uavhengig og som kan identifiseres unikt. Mer spesifikt representerer en enhet ofte en klasse, gruppe eller kategori av lignende objekter. Oftest representerer en enhet et objekt i den virkelige verden, for eksempel en bil eller en ansatt. Entiteter kan betraktes som substantiv som dukker opp under beskrivelsen av problemet som skal løses. Entiteter er representert som tabeller i relasjonsdatabaser. Generelt vil hver enhet kartlegges til nøyaktig én tabell i databasen. Individuelle rader i tabellene tilsvarer de faktiske forekomstene av objektet/tingen representert av enheten. For eksempel, i en medarbeiderdatabase, tilsvarer hver rad oppføringer for individuelle ansatte i selskapet.
Hva er et attributt?
I entitetsrelasjonsmodellering kalles egenskaper til entiteter attributter. Med andre ord, attributter representerer en undergruppe av informasjon om objektet representert av enheten. Attributter definerer de enkelte forekomstene og hjelper til med å skille mellom hver forekomst ved å beskrive deres karakteristikk. Det er viktig å merke seg at attributter ikke kan angis og de bør være atomære. I relasjonsdatabaser, hvor entiteter er realisert som tabeller, representerer hver kolonne attributtene til disse enhetene. For eksempel, i tabellen Ansatte er kolonner som avdeling, rangering og lønn eksempler på attributter til de ansatte. For å skille mellom individuelle forekomster av enheten, kan ett eller flere attributtfelt med unike verdier (for alle forekomster) velges som nøkkel. For eksempel blir personnummerattributtet (som er unikt for alle ansatte) ofte brukt som primærnøkkelen til en ansatttabell. Noen ganger kan flere attributter også utgjøre hovednøkkelen.
Hva er forskjellen mellom en enhet og et attributt?
I entitetsrelasjonsmodellering representerer entiteter virkelige objekter/ting som kan identifiseres som unike og uavhengige, mens attributter representerer egenskapene til disse enhetene. I relasjonsdatabaser blir enheter tabeller (hver rad representerer individuelle forekomster), mens attributter blir kolonner i de tilsvarende tabellene. Når du designer databaser, er det vanlig å ha forvirring over å velge en enhet vs. et attributt for å representere et bestemt ekte ordobjekt. Skal for eksempel adressen til den ansatte representeres som et attributt eller en annen enhet (koblet til den ansattes enhet gjennom et forhold)? En generell tommelfingerregel er at hvis en ansatt har mer enn én adresse, må adressen være en enhet (fordi attributter ikke er sett-verdi). Tilsvarende, hvis strukturen til adressen er viktig å fange opp, bør adressen igjen være en enhet (fordi attributter er atomiske).