Startup code for first assignment in Databaskonstruktion
Find a file
2026-10-21 10:54:08 +02:00
.DS_Store Uppdatera krav 2026-10-21 10:43:40 +02:00
data.sql Uppdatera krav 2026-10-21 10:43:40 +02:00
database.sql Seed of sql file 2026-08-31 17:44:15 +02:00
ER.png start steg 3, relationsmodeller 2026-09-02 10:14:10 +02:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md Overview 2026-10-21 10:54:08 +02:00

Databaskonstruktion-Assignment-1-Startup

Kravspecifikation

Overview

Databasen hanterar agenter, operationer, observationer, incidenter och personer Jag blev tilldelad variant A

ER model

Image of the chosen diagram in svg or png. When the model is constrained or we add features, update this consistently.

ER or EER Model

AdminAgent (namn,nr , unamn, lön, kommentar, uidtoken, rum)

Operation (kodnmnt,startdatum,inamn,inr , stdatum, sr, kommentar, anamn, anr)

Incident (nr,namn , plats)

Observation (id , säkerhet, datum, grad, namn, nr)

Person (id , namn, kodnamn)

ObsPer (oid,pid)

Requirements

A few lines containing general description of requirements

AdminAgent

  • Varje agent identifieras unikt med hjälp av dess namn (namnet är endast en bokstav exempelvis K), tillsammans med en siffra exempelvis J 2.

  • Agentens levnadsfilosofi lagras som en kommentar för att kunna gå tillbaka och utvärdera hur pass bra agenten lever upp till sin levnadsfilosofi vid ett senare tillfälle

  • Vissa personer får av olika orsaker inte bli agenter. Det gäller personer som heter Leif Loket Olsson, Greger Puckowitz och Greve Dracula.

  • ingen agent oavsett typ får käna mindre än 12000. Om ingen lön tilldelas så skall lönen automatiskt sättas till 13000.

Person

  • För varje person som rapporterat en observation lagras information om personen

  • En person kan ha rapporterat flera observationer och en observation kan ha rapporterats av flera personer

  • Varje person identifieras unikt utifrån dess personnummer eller om personen i fråga vill vara anonym ett automatgenererat nummer.

  • Personens namn eller alias (om han vill vara anonym) lagras som en textsträng

  • Dessutom skall personens eventuella kodnamn lagras

Observation

  • För observationerna så skall en procentsats anges för observationens säkerhet, säkerheten får inte vara mindre än en procent och inte högre än hundrafjorton procent

Incident

  • En incidient kan identifieras antingen av dess unika namn eller dess unika nummer.

  • En incident kan dessutom ha en eller flera operationer kopplade till sig

  • Om flera observationer hör till samma incident skall inte någon ny incident skapas utan de skall kopplas direkt till incidenten.

  • En incident kan dessutom ha en eller flera operationer kopplade till sig.

Operation

  • Varje operation identifieras av dess kodnamntyp samt operationens startdatum tillsammans med incidenten som genererade operationen.

  • Kodnamntypen anger både operationens kodnamn samt dess typ, exempelvis uppstädningsoperation: Gregers Bodega eller Insamlingsoperation: lämmeltåg

  • Operationen har även en frivillig kommentar som bör fyllas i där agenterna specificerar viktiga detaljer om operationen som är utöver den information som lagras i operationens förbestämda fält

  • För varje avslutad operation lagras dessutom operationens slutdatum samt operationens success rate

  • För operationer så måste alltid slutdatumet för operationen eller vara senare än startdatumet

  • De attibut som anges som “success rate” skall lagras i form av ett heltal som är ett om operationen eller lyckades och noll om operationen eller kampanjen misslyckades. Inga andra värden är tillåtna.

  • Operationens namn, datum och plats skall visas tydligt i gränssnittet.

  • Det bör finnas en lista över pågående över pågående operationer och det skall vara möjligt att tilldela mera resurser, eller ta bort tilldelade resurser samt att ändra slutdatumet för operationen