Startup code for first assignment in Databaskonstruktion
Find a file
2026-09-08 14:16:01 +02:00
.DS_Store Uppdaterade IE modellen, den var fel förut 2026-09-02 09:17:31 +02:00
database.sql Denormalisering Vertikal 1 - Har lagt in Inserts samtidigt som jag gjort denormaliseringen 2026-09-08 14:16:01 +02:00
ER_diagram.PNG Steg 1 och 2 klart 2026-09-01 14:38:33 +02:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md Lagt till constraints, samt uppdaterat tabbellerna lite 2026-09-07 11:23:12 +02:00

Databaskonstruktion-Assignment-1-Startup

Logiska databasen

Agent(Namn, Nr, Lön, Unamn, Kommentar)

Gruppledare(Namn, Nr)

Region(Namn, Terräng)

Incident(Namn, Nr, Plats, RegionNamn)

Observation(ID, Säkerhet, Datum, Grad, IncidentNamn, IncidentNr)

Operations(Kodnmt, Stdatum, IncidentNamn, IncidentNr, Sldatum, SR, Kommentar, RegionNamn, GruppledareNamn, GruppledareNr)

Rapport(Datum, Titel, IncidentNamn, IncidentNr)

Kravspecifikation

Agent

  • Varje agent identifieras unikt av:
    • Agentnamn (en bokstav).
    • Agentnummer.
  • Agentens ursprungliga namn ska lagras med separat förnamn och efternamn.
  • Agentens fullständiga namn ska kunna härledas från för- och efternamn.
  • Agentens levnadsfilosofi ska lagras som en kommentar.
  • Agentens lön ska lagras.
  • Agentens nummer ska:
    • Vara mellan 0 och 99.
    • Inte vara negativt.
    • Inte vara 13.
    • Inte vara 0, om agenten inte är gruppledare.
  • Följande personer får inte registreras som agenter:
    • Leif Loket Olsson.
    • Greger Puckowitz.
    • Greve Dracula.
  • Löneregler:
    • Minimilön: 12 000.
    • Standardlön om ingen lön anges: 13 000.
    • Maximilön för vanliga agenter: 25 000.
    • Maximilön för gruppledare: 35 000.
  • Härledda värden som saknar underliggande data ska visas som ”Inga operationer”.

Gruppledare

  • En gruppledare kan leda flera operationer.
  • En operation får endast ha en gruppledare.
  • En gruppledare får samtidigt leda:
    • Högst två operationer om de tillhör olika incidenter.
    • Högst fem operationer om de tillhör samma incident.
  • För gruppledaren ska följande kunna visas:
    • Antal genomförda operationer.
    • Antal lyckade operationer.
    • Andel lyckade operationer.
  • Operationer ska kunna sorteras efter slutdatum.
  • Pågående operationer ska kunna visas.
  • För pågående operationer ska gruppledaren kunna:
    • Ändra slutdatum.
  • När en gruppledare tilldelas en ny operation ska detta meddelas automatiskt.
  • Gruppledaren ska kunna skapa nya operationer för sina tilldelade incidenter.

Observation

  • Varje observation måste tillhöra en incident som inträffat.
  • Följande ska lagras för varje observation:
    • Datum.
    • Säkerhet i procent.
    • Grad av närkontakt.
  • Säkerheten ska vara mellan 1 och 114 procent.
  • Graden av närkontakt ska vara mellan 1 och 4, där 4 innebär extrem närkontakt.
  • Frågor mot denna data ska eftersträva en svarstid under en sekund.

Incident

  • Varje incident identifieras unikt av:
    • Incidentnamn, eller
    • Incidentnummer.
  • Incidentens plats ska lagras.
  • Varje incident måste tillhöra en region.
  • Medelvärdet av incidentens observationers grad ska kunna härledas.
  • En incident kan ha en eller flera operationer.

Region

  • Varje region identifieras unikt av sitt namn.
  • Regionens huvudterräng ska lagras.
  • Regionens antal tidigare incidenter ska kunna härledas.
  • Regionens antal tidigare operationer ska kunna härledas.
  • En region med namnet ”hemligstämplat” ska skapas om den inte redan existerar.
  • Påverkade incidenter och operationer ska kopplas till regionen ”hemligstämplat” när den specifika regionen inte kan anges.
  • Alla regioner måste ha en terräng.

Operation

  • Varje operation identifieras av:
    • Kodnamn.
    • Operationstyp.
    • Startdatum.
    • Incidenten som genererade operationen.
  • Två operationer för samma incident får ha samma kodnamn och operationstyp om de har olika startdatum.
  • En operation måste ha en gruppledare.
  • En gruppledare kan leda flera operationer.
  • Operationen kan innehålla en frivillig kommentar.
  • Startdatum och slutdatum ska lagras.
  • För avslutade operationer ska följande lagras:
    • Slutdatum.
    • Success rate.
  • Success rate ska endast kunna ha värdet:
    • 1 = lyckad.
    • 0 = misslyckad.
  • Inga andra värden är tillåtna.
  • Slutdatum måste vara senare än startdatum.

Rapport

  • En incident kan ha rapporter.
  • En rapport identifieras av datum och titel.
  • Följande härledda attribut ska kunna visas:
    • Antal uppföljningar.
    • Rapportens radantal.