|
|
||
|---|---|---|
| .DS_Store | ||
| database.sql | ||
| ER_diagram.svg | ||
| LICENSE | ||
| README.md | ||
Databaskonstruktion-Assignment-1-Startup-C
Startup code for the first assignment in Databaskonstruktion
Översikt
Denna fil innehåller ett diagram över och krav för de entiteter som valts ut i denna uppgift och som är kopplade till fältagenter. Relationerna mellan dessa entiteter visas med hjälp av markdown code nedanför diagrammet.
ER-diagram
Relationer
Fältagent(Namn, Nr, Lön, Förnamn, Efternamn, Filosofiommentar, Specialkompetens)
Hjälpmedel(Namn, Nr, Beskrivning)
Incident(Namn, Nr, Plats, Rnamn)
Operation(Kodnamntyp, Startdatum, Inamn, Inr, Slutdatum, SR, Kommentar, Rnamn)
Region(Namn, Terräng)
Gillar(Fnamn, Fnr, Hnamn, Hnr)
Tilldelas(Hnamn, Hnr, Kodnamntyp, Startdatum, Inamn, Inr)
DeltarI(Fnamn, Fnr, Kodnamntyp, Startdatum, Inamn, Inr)
Kompetens(Kompetensnamn, Fnamn, Fnr)
Krav
Fältagent
-
Identifieras unikt av namn (endast en bokstav) och ett nummer.
-
Numret måste vara mellan 1 och 99 och får inte lov att vara 13.
-
Levnadsfilosofi lagras som en kommentar.
-
Lön ska lagras för varje agent och vara mellan 12000-25000 (om ingen lön tilldelas ska lönen automatiskt sättas till 13000).
-
För- och efternamn ska lagras för varje agent och det fullständiga (ursprungliga) namnet ska kunna härledas från dem.
-
Kan ha deltagit i flera olika operationer.
-
Har ett antal olika favorit-hjälpmedel.
-
Kompetenser och den viktigaste specialkompetensen ska lagras i databasen.
-
Information om fältagenter ska ha snabb åtkomst.
-
Det ska gå att härleda fältagentens totala antal operationer samt lyckade operationer som agenten har deltagit i.
-
Får inte arbeta på flera operationer samtidigt (undantag om de är satta i samma region, för då får en enskild agent arbeta på upp till tre operationer samtidigt).
-
Personer som heter “Leif Loket Olsson”, “Greger Puckowitz” eller “Greve Dracula” får inte lov att bli agenter.
-
Har en fältagent inte deltagit i någon operation alls ska “Inga operationer” visas i applikationen.
-
När en agent blivit tilldelad en eller flera operationer ska det vara möjligt att göra flera olika typer av sökningar på informationen i databasen; exempelvis ska agenten lätt kunna se vilka andra fältagenter som finns med i operationsgruppen, operationens region och platsen där operationen ska genomföras samt se en lista över tilldelade hjälpmedel.
-
När en fältagent tilldelas en ny operation ska den nya operationen automatiskt läggas i listan med pågående operationer.
-
Ska kunna läsa information om alla tidigare incidenter och deras resulterande operationer.
-
Ska ha rättigheter att se vilka hjälpmedel, sorterat på namn, som tilldelats agentens operation, men inte vilka hjälpmedel som andra agenter har som favorithjälpmedel samt vilka hjälpmedel som tilldelats andra operationer.
-
Ska inte ha tillgång till information om andra agenter än de fältagenter som kopplats in på operationer den själv deltagit eller deltager i.
Hjälpmedel
- Kan vara favorit till flera fältagenter.
- Identifieras av dess namn samt nummer tillsammans.
- En mycket kortfattad beskrivning ska lagras.
- Samma hjälpmedel får inte tilldelas flera olika operationer samtidigt.
- För alla hjälpmedel av en viss typ ska ett ordningsnummer, mellan 1 och 15 (annars anses de vara felaktigt inskrivna), anges.
Incident
- Kan identifieras av dess unika namn eller dess unika nummer.
- Platsen den inträffade på lagras för varje incident.
- En incident måste inträffa i någon region.
- En incident kan ha en eller flera operationer kopplade till sig.
Region
- Identifieras unikt av dess namn.
- Huvudterräng lagras för varje region (om inget värde tilldelas ska det automatiskt sättas till “blandad”).
- Går att härleda antalet tidigare incidenter.
- Går att härleda antalet tidigare operationer.
Operation
- Kan ha flera deltagande fältagenter.
- Kan tilldelas ett flertal olika hjälpmedel.
- Identifieras av kodnamntyp och startdatum tillsammans med incidenten som genererade operationen (kodnamntyp anger både operationens kodnamn och dess typ). Två olika operationer för samma incident, fast på olika datum, får lov att ha samma kodnamn och typ.
- Har en frivillig kommentar som bör fyllas i – specificerar viktiga detaljer om operationen som är utöver den information som lagras i operationens förutbestämda fält.
- För varje avslutad operation lagras slutdatum, vilket behövs för bokning av agenter och hjälpmedel. Slutdatumet måste vara senare än startdatum och en operation får inte vara kortare än en dag. Om perioden mellan startdatum och slutdatum överstiger fem veckor ska slutdatum betraktas som felinmatat och operationens längd sätts automatiskt till fem veckor.
- För varje avslutad operation lagras success rate – de attribut som anges som “success rate” ska lagras i form av ett heltal som är 1 om operationen lyckades och 0 om operationen misslyckades (inga andra värden är tillåtna).