Startup code for first assignment in Databaskonstruktion
| database.sql | ||
| ER_diagram.svg | ||
| LICENSE | ||
| README.md | ||
Overview
Jag har tilldelats variant C, Fieldagent. Prototypen ska hantera fältagenter, deras deltagande i operationer och deras rapportering. Operationerna är kopplade till incidenter. Rapporterna är antingen slutrapporter eller uppföljningsrapporter. De valda entiterna är Agent, Field, Incident, Operation, Report, Termination och Followup.
ER model
Diagrammet visar den del av verksamheten som ingår i min fältagentprototyp.
Requirements
Agent
- Agenten identifieras unikt av agentnamn och agentnummer tillsammans, exempelvis J2.
- Agentnamnet ska bestå av en bokstav.
- Agentens levnadsfilosofi ska lagras som en kommentar.
- Agentens lön ska lagras.
- Agentens ursprungliga förnamn och efternamn ska lagras separat.
- Fullständigt namn ska kunna beräknas genom att sätta samman förnamn och efternamn.
- Personer med namnen Leif Loket Olsson, Greger Puckowitz eller Greve Dracula får inte vara agenter.
- Agentens lön ska vara minst 12000kr och högst 25000kr. För gruppledare är den högsta tillåtna lönen 35000kr.
- Om ingen lön anges ska lönen automatiskt sättas till 13000kr.
- Agentnummer 0 är endast tillåtet för gruppledare.
- Agentnumret får inte vara mindre än 0 eller större än 99.
- Agentnummer 13 är inte tillåtet.
Field
- En fältagent är en undertyp av Agent.
- En fältagent kan delta i flera operationer.
- En operation kan ha flera deltagande fältagenter.
- Fältagentens kompetenser ska lagras, exempelvis städoperationer eller infångandeoperationer. En fältagent kan ha flera kompetenser.
- Fältagentens viktigaste specialkompetens ska lagras separat, exempelvis desarmering eller långdistansskytte.
- Det totala antalet operationer som fältagenten har deltagit i ska kunna beräknas.
- Om fältagentens beräknade antal genomförda operationer är noll ska texten "Inga operationer" visas i applikationen.
- Uppgifter om fältagenter ska kunna hämtas mycket snabbt eftersom åtkomsten sker i realtid.
- Var femte gång fältagenten startar applikationen ska en ny uppföljningsrapport tilldelas, förutsatt att agenten saknar en pågående uppföljningsrapport och att en lämplig rapport finns att följa upp.
- En pågående uppföljningsrapport ska ha NULL som slutdatum.
- Uppföljningar får tilldelas för misslyckade uppdrag eller misslyckade uppföljningsrapporter som är minst två år gamla.
- En fältagent får inte tilldelas en uppföljning om agenten skrev originalrapporten eller tidigare har skrivit en uppföljning på rapporten.
- En fältagent får normalt arbeta på högst en operation samtidigt.
- Om operationerna tillhör samma region får fältagenten arbeta på högst tre operationer samtidigt.
- Antalet lyckade operationer som fältagenten har deltagit i ska kunna beräknas.
- Andelen lyckade operationer som fältagenten har deltagit i ska kunna beräknas.