Startup code for first assignment in Databaskonstruktion
Find a file
2026-09-18 09:32:06 +00:00
database.sql Steg 7, lagt till check constraints, unique samt NOT NULL. Constraints implementerar krav. 2026-09-18 09:32:06 +00:00
ER_DIAGRAM.jpg Ändrade rotation på diagrambild 2026-09-14 09:39:58 +00:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md Steg 4, Har lagt till relationer i REAMME.md 2026-09-14 10:20:52 +00:00

Overview / Subsystem Description för Fältagent (Grupp C)

  • Detta sub-schema omfattar kärnverksamheten för myndighetens fältagenter och hanterar deras personliga attribut, operativ tjänstgöring, utrustning samt rapportering. * Applikationen säkerställer strikt kontroll över agenternas samtidiga arbetsbelastning, resursallokering ute i fält samt uppföljning av tidigare genomförda operationer.

ER-diagram

ER diagram för fältagent

Agent

  • Varje agent identifieras unikt med hjälp av dess namn (endast en bokstav) tillsammans med en siffra
  • Agentens levnadsfilosofi lagras som en kommentar för att kunna utvärderas vid ett senare tillfälle
  • Agentens lön och ursprungliga namn, inklusive separata förnamn och efternamn samt ett härlett attribut som sätter samman dessa, skall lagras
  • Ingen agent oavsett typ får tjäna mindre än 12 000 kr
  • Agenter skall inte tilldelas löner över 25 000 kr om de inte är gruppledare
  • Om ingen lön tilldelas så skall lönen automatiskt sättas till 13 000 kr
  • Det nummer som tilldelas en agent får inte vara noll, undantaget gruppledare, och får inte vara mindre än noll eller över 99
  • Talet 13 är inte tillåtet som agentnamn
  • Personer som heter Leif Loket Olsson, Greger Puckowitz och Greve Dracula får inte bli agenter
  • Härledda värden som skall beräkna ett antal skall returnera värdet "Inga operationer visas i applikationen" om antalet är noll

Fält (Subtyp till Agent)

  • En fältagent kan ha deltagit i flera olika operationer
  • Fältagenten har ett antal olika favorit-hjälpmedel som även kan vara favorit-hjälpmedel till flera andra fältagenter
  • Agentens kompetenser, vilket motsvarar de arbetsuppgifter agenten är specialtränad för, skall lagras i databasen
  • Agentens viktigaste specialkompetens skall lagras separat
  • Det skall gå att beräkna agentens totala antal operationer samt antalet lyckade operationer agenten deltagit i
  • En fältagent får inte arbeta på fler än en operation samtidigt, med undantaget att agenten får arbeta på upp till tre operationer samtidigt om de är satta i samma region
  • Var femte gång som en fältagent startar sin applikation skall han tilldelas en ny uppföljningsrapport, förutsatt att han inte redan har en pågående
  • En pågående uppföljningsrapport indikeras av ett nullvärde i slutdatumkolumnen
  • En fältagent får inte tilldelas en uppföljning om han tidigare skrivit en uppföljning på rapporten eller om han skrev original-rapporten

Operation

  • Varje operation identifieras av dess kodnamntyp samt startdatum tillsammans med incidenten som genererade operationen
  • Det är tillåtet för två olika operationer för samma incident på olika datum att ha samma kodnamn och typ
  • Operationen har en frivillig kommentar där agenter kan specificera viktiga detaljer
  • En operation kan ha flera deltagande fältagenter
  • Till en operation kan ett flertal olika hjälpmedel allokeras
  • För varje avslutad operation lagras dess slutdatum samt operationens success rate
  • Slutdatumet för en operation måste alltid vara senare än startdatumet
  • En operation får inte vara kortare än en dag
  • Om skillnaden mellan en operations startdatum och slutdatum är större än fem veckor skall längden automatiskt sättas till fem veckor
  • De attribut som anges som "success rate" skall lagras i form av ett heltal som är ett om operationen lyckades och noll om operationen misslyckades
  • Inga andra värden än noll och ett är tillåtna för success rate

Hjmedel

  • Varje hjälpmedel identifieras av dess namn samt nummer tillsammans
  • En mycket kortfattad beskrivning om hjälpmedlet bestående av ett par ord skall lagras.
  • Till en viss operation kan ett antal olika hjälpmedel tilldelas
  • Samma hjälpmedel får inte tilldelas flera olika operationer samtidigt
  • För alla hjälpmedel av en viss typ skall hjälpmedlets ordningsnummer anges.
  • Ordningsnummer som är högre än femton eller mindre än ett skall anses som felaktigt inskrivna

Rapport (Supertyp)

  • Det finns två olika typer av rapporter: vanliga rapporter (slutrapporter) samt uppföljningsrapporter
  • En slutrapport lämnas in av någon agent efter varje incident som inträffat eller efter att incidentens operation slutförts
  • För slutrapporterna lagras en kortfattad kommentar om max 25 tecken
  • Typen av rapport skall lagras för slutrapporten (exempelvis fältrapporter, ledningsrapporter, kampanjrapporter samt övrigt)
  • Det skall finnas två härledda attribut som anger rapportens radantal och rapportens antal uppföljningar
  • På alla typer av rapporter måste värden för alla attributen lagras
  • Om typen för en rapport inte anges skall den automatiskt sättas till slutrapport
  • En ny rapport som inte är en uppföljning bör inte ha mindre än 25 ord, och en varning skall visas om den understiger detta

Uppföljning (Subtyp till Rapport)

  • En agent kan få i uppdrag att göra en uppföljning på ett äldre uppdrag och skriver då en ny uppföljningsrapport kopplad till den gamla rapporten
  • Uppföljningsrapportens utslag, huruvida den lyckades eller ej, lagras i databasen tillsammans med slutdatumet
  • För uppföljningsrapporterna skall en längre kommentar kunna lagras om max 80 tecken
  • En uppföljning har ingen övre gräns för hur lång den kan vara, men den måste vara minst en dag lång
  • Om ett utslag inte anges för en uppföljningsrapport skall det automatiskt tilldelas värdet som motsvarar ett misslyckande

Avslutning (Subtyp till Rapport)

  • I verksamheten kallas denna typ av rapport även för "vanlig rapport" eller "slutrapport"
  • En slutrapport lämnas in av någon agent efter varje incident som inträffat, eller efter att incidentens operation slutförts
  • En kortfattad kommentar om maximalt 25 tecken skall lagras för slutrapporten
  • Typen av rapport skall lagras
  • De tillåtna typerna som anger rapportens orsak är: fältrapporter, ledningsrapporter, kampanjrapporter samt övrigt
  • Värden för alla attribut måste lagras; inga fält får lämnas tomma
  • Om typen för en rapport inte anges vid inmatning skall den automatiskt sättas till slutrapport
  • En ny rapport (som inte är en uppföljning) bör inte ha mindre än 25 ord
  • Om en rapport skall lagras som har mindre än 25 ord skall en varning visas i systemet

Relations

Agent(AgentNamn, AgentNr, Förnamn, Efternamn, Lön, Livsfilosofi)

Faltagent(AgentNamn, AgentNr, ViktigSpecialkompetens)

FaltKompetens(AgentNamn, AgentNr, Kompetens)

Operation(Kodnamn, OpTyp, Startdatum, IncidentID, Kommentar, Slutdatum, SuccessRate)

Hjalpmedel(HjalpNamn, HjalpNr, Beskrivning)

FaltDeltarOperation(AgentNamn, AgentNr, Kodnamn, OpTyp, Startdatum, IncidentID)

OperationHjalpmedel(Kodnamn, OpTyp, Startdatum, IncidentID, HjalpNamn, HjalpNr)

FaltFavoritHjalpmedel(AgentNamn, AgentNr, HjalpNamn, HjalpNr)

Rapport(RapportID, RapportDatum, AgentNamn, AgentNr, RapportKlass)

Avslutning(RapportID, Kommentar25, RapportTyp)

Uppfoljning(RapportID, Kommentar80, Utslag, Startdatum, Slutdatum, UrsprungligRapportID)