Kmom03: ER-modellering

By . Latest revision .

Vi övar i hur man modellerar och bygger upp en databas, det som kallas Entity-Relationship modelling, ER-modellering, eller bara databasmodellering. Vi delar in modelleringen i konceptuell, logisk och fysisk modellering.

Vi jobbar vidare med SQL och tränar mer på utmanande saker som subqueries, JOIN och LEFT/RIGHT OUTER JOIN.

Vi bygger vidare på våra terminalskript i JavaScript och Node.js och bygger en mer potent klient som kan utföra olika saker mot databasen.

Databasmodellering av en filmdatabas.

Databasmodellering av en filmdatabas.

Databasmodellering fortsätter och närmar sig strukturen av tabeller.

Databasmodellering fortsätter och närmar sig strukturen av tabeller.

En terminalklient som visar hur man skapar en kommandoloop med JavaScript i Node.js.

En terminalklient som visar hur man skapar en kommandoloop med JavaScript i Node.js.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läs & Studera

(ca: 8-10 studietimmar)

#Kurslitteratur

Läs följande:

  1. Databasteknik
    • Kap 8: (repetera) Mer om SQL: Aggregatfunktioner, null-värden, yttre join
    • Kap 2: ER-modellering
    • Kap 4: Designpocessen
    • Kap 5: Relationsmodellen
    • Kap 6: Översättning från ER-modellen till relationsmodellen

En översikt av kapitel ovan finns i bokens webbkurs, del 1.

Det finns ytterligare kapitel i boken som är relaterat till modellering. De går utanför kursens ram men läs vid intresse.

  1. Databasteknik
    • Kap 3: Mer om datamodellering
    • Kap 11: Normalformer och normalisering

#Artiklar

Läs igenom följande artiklar.

  1. Jobba igenom artikeln “Kokbok för databasmodellering”, den ger dig en metod för att modellera databaser i olika faser. Du kommer jobba enligt denna modellen i uppgiften.

  2. Som ett komplement till kokboken kan du titta på föreläsningen om ER-modellering och implementation av en E-shop (längd 53 minuter). Det sätter ord på kokboken och ger dig träning inför ER-uppgiften där du skall modellera en E-shop.

#Lästips

Följande kan du använda för att fördjupa dig i ER-modellering, läs som överkurs vid intresse.

  1. IBM Entity Relationship Modeling with UML.

#Övningar & Uppgifter

(ca: 8-10 studietimmar)

#Övningar

Genomför följande för att förbereda inför uppgifter.

  1. Jobba igenom artikeln “Gör en kommandoradsklient i Node.js (v2)”. Spara alla filer du gör i me/kmom03/cli.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Jobba igenom delen “Koppla tabeller” av guiden “Kom igång med SQL i MySQL (Koppla tabeller)”. Spara all SQL-kod i filer i katalogen me/kmom03/skolan3. Du behöver kopiera alla skript du redan sparat i me/kmom02/skolan2 och utgå från dem och bygga vidare.

  2. Gör uppgiften “Node.js terminalprogram mot MySQL med kommandoloop”. Spara alla filer i me/kmom03/terminal2.

  3. Gör uppgiften “Skapa ER-modell för en databas (konceptuell)”. Visa att du kan jobba enligt en metod för att skapa en databasmodell och redovisa i ett dokument. Detta är första delen av uppgiften som slutförs i kommande kursmoment. Spara allt du gör i me/kmom03/er1.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Några generella reflektioner på att skriva och jobba med terminalprogram i JavaScript och Node.js?
  • Lyckas du få till bra kodstruktur i ditt terminalprogram mot databasen?
  • Hur gick det att jobba med ER-modelleringen, några reflektioner?
  • Fanns det några extra svårigheter du kämpade med i kursmomentet?
  • Vilken är din TIL för detta kmom?

#Revision history

  • 2018-01-05: (A, mos) Första utgåvan.

Document source.