Leksjon A: Datamodellering med ER

Tenk deg at du skal lage en ny database. Hvilke tabeller bør databasen inneholde? Hvilke kolonner skal være med i hver enkelt tabell? Hva skal være primærnøkler og fremmednøkler? En datamodell er en "skisse" av et databasesystem.

ER (Entity Relationship) er et grafisk språk for å beskrive datamodeller. Vi bruker ER for å komme fram til en hensiktsmessig tabellstruktur.

LearnER er en pedagogisk webapplikasjon som vi skal bruke for å komme i gang med datamodellering. Verktøyet blir utviklet som del av et forskningsprosjekt og vil bli videreutviklet blant annet basert på erfaringene vi gjør denne våren.

Vi bruker en litt forenklet notasjon for å tegne datamodeller i denne leksjonen. Neste uke skal vi utvide med bruk av MySQL Workbench for å lage datamodeller.

Læringsmål

Pensum

Kapittel 7.1-7.4 fra Databasesystemer.

Nettsidene til læreboken

Forelesning

Entiteter, attributter og forhold

Video Skjerm Utskrift

 

Oppgaver

Du skal lage et ER-diagram i LearnER for hver av problemstillingene under. Du finner oppgavetekstene i LearnER også.

Gå inn på Innstillinger og velg oppsett med Løs konseptuell og logisk fase og Kråkefot som notasjon i begge faser.

I denne leksjonen holder det å gjennomføre den første, konseptuelle fasen.

Men: Prøv å løse oppgavene på papir først, og så kan du gjerne sammenligne med versjonen du etterpå kommer fram til i LearnER.

 

LearnER Introduksjonsvideo

 

A: Ansatt

Du skal lage en database for å ta vare på viktige opplysninger om ansatte i en bedrift. Om hver ansatt skal man lagre navn, stilling, lønn og telefonnummer. Dessuten får hver ansatt et unikt ansattnummer.

B: Varelager

Du skal lage en database for et lagersystem. Databasen skal inneholde viktige opplysninger om varene (vareslagene) på lageret. Om hver vare skal man lagre navn, pris pr enhet og antall enheter på lager. En vare har dessuten et entydig varenummer. Om hver varekategori blir det lagret et entydig kategorinummer og navnet på kategorien. En vare tilhører nøyaktig én kategori. En kategori kan inneholde null eller mange varer.

C: Værstasjon

Meteorologisk institutt har værstasjoner plassert rundt om i hele landet. Koordinatene til hver enkelt stasjon skal lagres. Dessuten har hver stasjon et unikt stasjonsnummer. Værstasjonene måler samlet nedbør, gjennomsnittlig temperatur og gjennomsnittlig luftfuktighet hver time. Hver måling blir tildelt et unikt målingsnummer. Data fra stasjonene blir overført til en sentral database for analyse.

D: Timeplanlegging

En barneskole trenger et system for å holde rede på hvilke klasser og lærere som skal være i hvilke klasserom til hvilke tidsrom. Følgende opplysninger skal lagres:

Vi forenkler litt og antar at skolen bruker nøyaktig samme timeplan fra uke til uke, og at reservasjoner alltid gjelder et antall hele timer.

E: Prosjektstyring

Du skal utforme databasen for et enkelt prosjektstyringsverktøy.

Før du går videre

Les oppsummering til kapittel 7, og sjekk at du har forstått følgende begreper:

Prøv gjerne relevante quiz-spørsmål:

Test deg selv quiz