StORM

Fra TermvaktWiki
Gå til: navigasjon, søk

stORM for Windows er et modelleringsverktøy som benyttes til å modellere ORM-diagrammer og generere SQL-tabeller.

stORM består av tre deler:

  • Tegne ORM-digrammer (modellering)
  • Oversette ORM-digram til relasjoner/regler (constraints) og skrive resultatet til en «Model Dictionary»
  • Generere database på grunnlag av en Model Dictionary

Innhold

Hvordan starte stORM?

stORM er installert på MatNat sine Windows-maskiner, og ligger i Start-menyen under Programs -> stORM.

Modellering

For å modellere i stORM må du først lage et nytt ORM-diagram. Dette gjøres ved å velge: File -> New (Ctrl+N) og velge ORM Diagram som dokumenttype.

Begreper (LOT og NOLOT)

For å legge et objekt til i diagrammet, velg ønsket objekttype:

Velg ønsket objekt

Deretter dobbeltklikker du i dokumentet for å plassere objektet. Ved å høyreklikke på en sirkel (LOT eller NOLOT) kan du gi den et navn, og hvis du dobbeltklikker på den kan du sette flere spesifikasjoner. For å flytte på en figur klikker du først på figuren én gang, og deretter klikker du og drar den på arket.

Synes du en figur er for liten for teksten, klikk på den én gang og velg størrelse under menyvalget Layout.

OBS: Har du først laget en rekke objekter med setninger og skranker osv, kan du ikke slette en LOT/NOLOT uten å slette setningene dens. Dette kan være en kilde til frustrasjoner, men hvis du ved en feil lager et begrep som en LOT i stedet for NOLOT eller vice versa, kan du endre fram og tilbake uten å måtte slette objektet! Dette gjør du under Edit -> Change Object Type.

Roller (setninger) og subtyper

For å tegne setninger og subtyper, må du først ha en LOT eller en NOLOT å knytte setningen eller subtypen opp mot. Deretter velger du en av de to fra menyen:

Tegne setninger og sub-typer

Så klikker du på en av sirklene og drar musa til den andre (ikke klikk på [velg] sirkelen først, for da flytter du den). Når du lager en setning mellom to sirkler, får du typisk en slik figur: Setning mellom to sirkler

Du kan fjerne den totale rollen Fjerne symboler eller entydighetsskranken Fjerne symboler alt. ved å klikke på dem. Hvis du fjerner en kort entydighetsskranke (pil) kan du deretter klikke på den gjenværende skranken for å gjøre den lang så den dekker begge setningene.

Andre figurer fjernes ved å først velge dem ved å klikke på dem, og deretter trykke delete-knappen på tastaturet (eller Edit -> Delete).

Skranker

Skrankene Symboler som kan benyttes mellom setninger kan benyttes mellom setninger. For å knytte dem til begreper velger du først symbolet og klikker i arket for å plassere dem, og deretter klikker og drar du musa fra symbolet til begrepet du vil knytte det opp mot. (Sørg for at symbolet ikke er valgt før du drar musa.)

Gruppering

Gruppering vil si å lage relasjoner ut fra et diagram. Det går ut på å gruppere setninger med samme NOLOT i deres identifikasjons-rolle (se nederst). Regler blir gjort om til referanseintegritetesregler mellom kolonner i samme eller forskjellige tabller. Grupperingsalgoritmen sjekker hvordan alle NOLOT-er er identifisert, og at modellen er refererbar.

Gruppering av NOLOT

  1. Trykk på Group-knappen Grupper
  2. Grupper ved å trykke på Grupper - eventuelle feilmeldinger vil dukke opp i tekstfeltet
  3. Velg en Model Dictionary-fil å gruppere til ved å trykke på Grupper (den nederste, ikke den samme knappen som i stad)

Hvis du fikk opp noen feilmeldinger i det grå tekstfeltet, må du fikse dem for å kunne gruppere. Typiske grunner til feilmeldinger kan være at du mangler et referansebegrep (LOT) for en NOLOT, eller at du prøver å undertrykke (suppress) noe som ikke kan undertrykkes. Hvordan du fikser disse feilene går utover denne artikkelen, og er ORM-spesifikke problemer som du f. eks. kan spørre gruppelærerne i INF1300 om.

Generere SQL-tabell/skjema

En av de største fordelene med å modellere relasjoner i stORM er at modellen automagisk kan grupperes til en SQL-database. For å gjøre dette må du allerede ha gruppert modellen til en Model Dictionary.

  1. Åpne Model Dictionary-fila (File -> Open); du må endre «Files of type» til «Model Dictionaries (*.mod)» for at de skal vises
  2. Les inn modellene ved å velge File -> Read Models (eller trykk på den gule knappen på andre rad)
  3. Velg hva slags database du vil generere tabeller for i Pipe (INF1300 bruker f. eks. POSTGRES)
  4. Generer skjemaet med Generate (den nederst og til høyre) eller i menyen Go -> Generate New

Skjemafila du valgte å lagre inneholder nå SQL-kommandoer for å opprette hele databasen din.

Spørsmål og svar

  • stORM kræsjet og jeg mistet diagrammet mitt :(
    stORM er ganske ustabilt, og det er viktig at du lagrer diagrammet ditt ofte fra File -> Save.
  • Jeg får ikke tegnet inn en setning!
    Du tegner først to sirkler, og deretter en setning mellom disse to sriklene.
  • Hvordan fjerner jeg sirkler, setninger og lignende?
    Du må først velge ønsket figur, og deretter: edit -> delete.
  • Jeg får ikke plass til hele diagrammet mitt!
    I stORM består et diagram av flere «sheets»/ark (for at det enkelt skal gå an å skrive ut diagrammet og vise det fram til sjefen sin). Du kan bare putte objekter innenfor det hvite feltet, som representerer ett papirark. For å legge til flere ark og redigere rekkefølge og navn på dem, se i Sheets-menyen. (Her kan du også bla mellom alle arkene dine, men det er raskere å bruke snarveiene Shift sammen med Page Up og Page Down.) Du kan godt dele diagrammer over flere ark hvor du vil - hvis du har to objekter av samme type (LOT/NOLOT) med samme navn på forskjellige ark, vil stORM skjønne av seg selv at de er samme objekt og gruppere deretter.
  • Diagrammet mitt er kjempestygt! Jeg har for eksempel masse forvridde setninger.
    Du kan rotere setninger under Rotate-menyen. Husk også at du kan endre størrelsen på alle objekter i Edit-menyen, så kan du få det litt penere. Et annet tips er å ha et eget ark der du samler alle leksikaliseringer (altså alle LOT-er med perfekte broer til korresponderende refererte NOLOT-er); jamfør siste setning i forrige svar.
  • Hva er NIAM?
    NIAM er en eldre versjon av ORM, og også det tidligere navnet på stORM.

Relevante lenker

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy