Startup code for first assignment in Databaskonstruktion
Find a file
2026-09-19 18:24:28 +02:00
database.sql Seed of sql file 2026-08-31 17:44:15 +02:00
ER_diagram.png Uppdaterade diagram för fältagnet 2026-09-10 15:32:00 +02:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md Lade till relationen för det multivärda attributet Kompetens 2026-09-19 18:24:28 +02:00

Databaskonstruktion-Assignment-1-Startup

Startup code for first assignment in Databaskonstruktion

steg 1 förberedelse av uppgiften i databaskonstruktion

Overview

Databasdesignen innehåller de delar som är relevanta för den tilldelade agenttypen.

Variant C Fältagent

ER model

ER or EER Model

Relations

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

Fält(AgentNamn, AgentNr)

FältKompetens(AgentNamn, AgentNr, Kompetens)

Operation(Kodnmt, Stdatum, IncidentNamn, IncidentNr, Sldatum, SR, Kommentar)

Incident(Namn, Nr, Plats, RegionNamn)

Region(Namn, Terräng)

Requirements

Kraven nedan beskriver de delar av kravspecifikationen som är relevanta för de utvalda entiteterna för Fältagent.

Agent

  • Varje agent identifieras unikt med hjälp av namn och nummer tillsammans
  • Agentens namn består endast av en bokstav
  • Agentens levnadsfilosofi skall lagras som en kommentar
  • Agentens lön och ursprungliga namn, iklusive separata förnamn och efternamn samt ett härlett attribut som sätter samman förnamn och efternamn, skall lagras för alla agenter
  • Vissa personer får inte bli agenter, det gäller personer som heter Leif Loket Olsson, Greger Puckowitz och Greve Dracula
  • Agenter skall inte tilldelas löner över 25000, om det inte är gruppledare då är lönetaket 35000
  • Ingen agent får ha en lön under 12000
  • Om ingen lön tilldelas skall lönen automatiskt sättas till 13000
  • Agentnummer 0 är endast tillåtet för gruppledare
  • Ingen agent får ha ett nummer mindre än 0
  • Talet 13 är inte tillåtet som agentnamn
  • Agentnummer över 99 är inte tillåtna

Fält

  • En fältagent kan delta i flera operationer och en opertaion kan ha flera deltagande fältagenter
  • För en fältagent skall agentens kompetenser lagras, alltså de arbetsuppgifter som agenten är specialtränad för
  • Fältagentens viktigaste specialkompetens skall lagras
  • Det skall gå att beräkna fältagentens totala antal operationer samt antalet lyckade operationer som agenten deltagit i
  • Informationen om myndighetens fältagenter skall ha ytterst snabb åtkomst eftersom arbete mot denna information sker i realtid
  • En fältagent får inte arbeta på fler än en operation samtidigt. Undantaget är om operationerna är i samma region, då får en fältagent arbeta upp till tre operationer samtidigt

Operation

  • Varje operation identifieras av dess kodnamntyp, startdatum och incidenten som genererade operationen
  • En operation kan ha en frivillig kommentar där viktiga detaljer om operationen anges
  • Två olika operationer för samma incident på olika datum får ha samma kodnamn och typ
  • För varje avslutad operation skall operationens slutdatum och success rate lagras
  • Operationens fältagneter skall tilldelas
  • Operationens slutdatum måste anges för att bokning avagenter skall fungera och slutdatumet kan senare ändras
  • Operationens slutdatum måste vara senare än startdatumet och en operation får inte vara kortare än en dag
  • Om skillnaden mellan operationens startdatum och slutdatum är större än fem veckor skall operationens längd automatiskt sättas till fem veckor
  • Om operationens slutdatum ändras skall reglerna som är kopplade till operationen kontrolleras igen. Om ändringen leder till att en agent dubbelbokas skall ändringen avbrytas
  • Operationens success rate skall lagras som heltalet 1 om operationen lyckades och 0 om operationen misslyckades. Inga andra värden är tillåtna

Incident

  • En incident kan identifieras antingen av dess unika namn eller dess unika nummer
  • För en incident skall platsen där inidenten inträffade lagras
  • Det skall gå att beräkna ett medelvärde på incidentens alla observationers grad
  • En incident måste inträffa i någon region
  • En incident kan ha en eller flera operationer kopplade till sig

Region

  • En region identiferas unikt av dess namn
  • För en region skall en uppskattning av regionens huvudterräng lagras
  • Det skall gå att härleda regionens antal tidigare incidenter och operationer
  • Regioner som under en viss tidsperiod är hemliga skall temporärt kunna tas bort ut databasen och senare kunna sättas in igen
  • När en region tas bort skall dess kopplingar till operationer och incidenter tas bort. De påverkade operationerna och incidenterna skall istället kopplas till regionen "hemlighetstämplat" som skall skapas om den inte redan finns
  • Alla regioner måste ha någon typ av terräng lagrad. Om inget värde anges skall terrängen automatiskt sättas till "Blandad"