ER-model – Grundlæggende begreber

Rådgivninger

Den ER-model definerer den konceptuelle opfattelse af en database. Den arbejder omkring virkelige enheder og forbindelserne mellem dem. På view-niveau anses ER-modellen for at være en god mulighed for at designe databaser.

Entitet

En entitet kan være et objekt fra den virkelige verden, enten animeret eller uanimeret, som let kan identificeres. I en skoledatabase kan f.eks. elever, lærere, klasser og udbudte kurser betragtes som enheder. Alle disse enheder har nogle attributter eller egenskaber, der giver dem deres identitet.

Et enhedssæt er en samling af lignende typer af enheder. Et enhedssæt kan indeholde enheder med attributter, der deler lignende værdier. F.eks. kan et sæt af elever indeholde alle eleverne på en skole, og et sæt af lærere kan ligeledes indeholde alle lærerne på en skole fra alle fakulteter. Entitetsæt behøver ikke nødvendigvis at være disjoint.

Attributter

Entiteter repræsenteres ved hjælp af deres egenskaber, kaldet attributter. Alle attributter har værdier. F.eks. kan en elev-enhed have navn, klasse og alder som attributter.

Der findes et domæne eller et interval af værdier, som kan tildeles attributter. F.eks. kan en elevs navn ikke være en numerisk værdi. Det skal være alfabetisk. En elevs alder kan ikke være negativ osv.

Typer af attributter

  • Enkle attributter – Enkle attributter er atomare værdier, som ikke kan opdeles yderligere. F.eks. er en elevs telefonnummer en atomar værdi bestående af 10 cifre.

  • Sammensatte attributter – Sammensatte attributter består af mere end én simpel attribut. F.eks. kan en elevs fulde navn bestå af first_name og last_name.

  • Afledte attributter – Afledte attributter er de attributter, der ikke findes i den fysiske database, men deres værdier er afledt af andre attributter, der findes i databasen. F.eks. skal average_salary i en afdeling ikke gemmes direkte i databasen, men kan i stedet afledes. Et andet eksempel er alder, som kan afledes af data_of_birth.

  • Single-value-attribut – Single-value-attributter indeholder en enkelt værdi. For eksempel – Social_Security_Number.

  • Multi-value-attribut – Multi-value-attributter kan indeholde mere end én værdi. En person kan f.eks. have mere end ét telefonnummer, email_adresse osv.

Disse attributtyper kan komme sammen på en måde som –

  • simple single-valued attributes
  • simple multi-valued attributes
  • simple multi-valued attributes
  • composite single-valued attributes
  • composite multi-valued attributes

Entity-sæt og nøgler

Nøgle er en attribut eller en samling af attributter, der entydigt identificerer en enhed i et enhedssæt.

For eksempel gør en studerendes roll_nummer ham/hende identificerbar blandt studerende.

  • Supernøgle – Et sæt attributter (en eller flere), der tilsammen identificerer en enhed i et enhedssæt.

  • Kandidatnøgle – En minimal supernøgle kaldes en kandidatnøgle. Et enhedssæt kan have mere end én kandidatnøgle.

  • Primær nøgle – En primær nøgle er en af de kandidatnøgler, der er valgt af databasedesigneren til entydigt at identificere enhedssættet.

Relation

Sammenhængen mellem enheder kaldes en relation. F.eks. arbejder en medarbejder_på en afdeling, en studerende tilmelder sig et kursus. Her kaldes Works_at og Enrolls for relationer.

Relationssæt

Et sæt af relationer af samme type kaldes et relationssæt. Ligesom entiteter kan en relation også have attributter. Disse attributter kaldes beskrivende attributter.

Relationsgrad

Antallet af deltagende entiteter i en relation definerer graden af relationen.

  • Binary = grad 2
  • Ternary = grad 3
  • n-ary = grad

Mapping Cardinalities

Cardinality definerer antallet af enheder i et enhedssæt, som kan forbindes med antallet af enheder i et andet sæt via relationssæt.

  • En-til-en – En enhed fra enhedssæt A kan højst associeres med én enhed fra enhedssæt B og omvendt.

  • En til mange – En enhed fra enhedssæt A kan associeres med mere end én enhed fra enhedssæt B, men en enhed fra enhedssæt B kan højst associeres med én enhed.

  • Many-to-one – Mere end én enhed fra enhedssæt A kan tilknyttes højst én enhed fra enhedssæt B, dog kan en enhed fra enhedssæt B tilknyttes mere end én enhed fra enhedssæt A.

  • Many-to-many – En enhed fra A kan tilknyttes mere end én enhed fra B og omvendt.

Antalelser

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.