EE16: TIS-banken med databas del 2

Efter en längre paus beroende på sjukdom och VAB så var det äntligen dags att göra om vår ER-modell till en databasmodell. För detta ändamål så använde vi oss av Vertabelo där du kan registrera ett studerandekonto om du anger den mailadress som du skall använda i skolan.

ER-modellen

Vi tvingades göra vissa ändringar från vår befintliga ER-modell för att anpassa den till databasens värld. De romber som kopplade ihop våra entiteter blir främmande nycklar som gör att poster från olika tabeller kan länkas ihop.

Databasmodell

Vi bestämde oss också för att översätta alla namn till engelska när vi såg exempel på vilka error det kan ge att använda svenska tecken.

Vi behövde också bestämma oss för vilka datatyper som attributen i tabellerna skall ha. De vi har använt är följande;

  • int, för heltal
  • varchar, för att lagra text/tecken/strängar. Inom parantes så anges maxlängden.
  • timestamp, som är en tidsstämpel som lagrar datum och tid.

Lägg märke till ytterligare två saker, dels noteringen för PK/FK som anger primärnyckel och sekundärnyckel. En primärnyckel måste nästan alltid finnas i alla tabeller och är det id som identifierar en unik post. En sekundärnyckel (främmande nyckel) är länken mellan tex person och account som gör att vi vet vilken person som är ägare till ett unikt konto. Då är det personId som är främmande nyckel i tabellen account. Viktigt att komma ihåg att sätta PK till Auto Increment vilket gör att det blir en räknare som automatiskt skapar en post med nästa id. På det sättet slipper vi själva hålla koll på vilket id som skapas. Om en person har id=1 eller id=19 spelar ingen roll för oss.

I Vertabelo så kan vi exportera vår databasmodell som bild, vilket jag gjort ovan och vilket ni också skall göra (glöm inte att redovisa den i WordPress) men också som sql-script. Detta sql-script skall vi använda vid nästa lektion för att skapa vår databas. När den är skapad så skall vi lära oss grunderna i frågespråket SQL som använd för att lagra/uppdatera/ta bort data i en databas. Mitt exporterade SQL-script ser ut så här;

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *