Startup code for first assignment in Databaskonstruktion
| .DS_Store | ||
| database.sql | ||
| databaskons.sql | ||
| ER-modell-databas.png | ||
| LICENSE | ||
| README.md | ||
Databaskonstruktion-Assignment-1-Startup
Startup code for first assignment in Databaskonstruktion
Overview
A few lines on general features of content.
Most importantly the given variant
ER model
Image of the chosen diagram in svg or png. When the model is constrained or we add features, update this consistently.
RelationName
AdminAgent (Namn, Nr Lön, Unamn, kommentar, UIDToken, Rum)
Operation (Kodnmnt, Stdatum, Inamn,INR SIdatum, SR, Okommentar, Anamn, ANR)
Hjmedel (Hnamn, HNR Beskrivning)
Incident (Inamn, INR Plats)
Observation (ID Säkerhet, Datum, Grad, Inamn, INR)
HJOP (Hnamn, HNR, Kodnmnt, Stdatum)
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.
- Agenter skall inte tilldelas löner över 25000 om de inte är gruppledare då är lönetaket 35000 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.
- Ingen agent får ha nummer som är mindre än noll. Talet 13 är av naturliga skäl inte tillåtet som agentnamn. Agentnummer över 99 är inte heller tillåtna.
De härledda värden som skall beräkna ett antal, exempelvis antalet genomgångna operationer för en viss agent, skall värdet “Inga operationer“ visas i applikationen.- En sorterad lista med agenter som är sorterad på namn och nummer skall visas på skärmen. Det skall vara möjligt att för varje agent se agentens namn, nummer och procent av lyckade operationer.
- För att kunna administrera all data i databasen krävs även ett antal administrativa funktioner i databas-systemet som sköts av myndighetens systemadministratörer.
Det användargränssnitt som används av databasadministratören behöver inte vara lika lättanvänt som de användargränssnitt som skall användas av agenterna, då databasadministratören förstår bland annat felkoder från SQL. Applikationen får dock inte vara svåranvänd eftersom detta gör att administratörens viktiga arbete kan gå för långsamt. Administratören skall ha möjligheter att med ett grafiskt gränssnitt lagra nya tuppler enligt i tidigare delar av kravspecifikationen fastställda normer samt ha en möjlighet att skapa och underhålla de andra användarnas rättigheter.- Administratörerna har endast rättigheter att ta bort eller modifiera data i tabeller om den rättigheten tilldelats i detta dokument.
- Administratören skall ha rättigheter att skapa tuppler i tabellerna gällande agenter och hjälpmedel.
- Om en användare gör någon form av förbjuden åtgärd (exempelvis försöker uppdatera en tabell med restriktioner fler gånger än tillåtet) skall den automatiskt hamna i en lista med förbjudna åtgärder.
Observation
- För databasadministratörerna skall det vara möjligt att ta bort observationer om det är nödvändigt med total intern mörkläggning av observationerna.
- De borttagna observationerna skall dock lagras i en loggtabell eller flera loggtabeller som tillåter att datan återskapas när hemligstämpeln släppts. För denna typen av uppdatering skall därför datumet för uppdateringen samt administratörens användarnamn lagras i loggtabellen eller loggtabellerna.
- 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.
- Grad = Tillåtna värden är ett till fyra där fyra innebär extrem närkontakt.
Incident
- Om flera observationer hör till samma incident skall inte någon ny incident skapas utan de skall kopplas direkt till incidenten.
- En incidient kan identifieras antingen av dess unika namn eller dess unika nummer.
- Dessutom skall det gå att beräkna ett medelvärde på incidentens alla observationers grad.
- 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.
- Till en operation kan ett flertal olika hjälpmedel allokeras.
- För varje avslutad operation lagras dessutom operationens slutdatum samt operationens success rate.
- För att bokning av olika agenter och hjälpmedel skall fungera så är det nödvändigt att operationens slutdatum anges, slutdatumet kan senare ändras för att passa det verkliga slutdatumet.
- För operationer så måste alltid slutdatumet för operationen 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 så antas slutdatumet vara felinmatat, längden till operationen skall då automatiskt sättas till fem veckor.
- De attibut 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 är tillåtna.
- Operationens namn, datum och plats skall visas tydligt i gränssnittet.
- En varning skall visas om en enskilld operation tilldelats mer än fem personer.
- 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.
Hjmedel
- Till en viss operation kan ett antal olika hjälpmedel tilldelas. Varje hjälpmedel identifieras av dess namn samt nummer tillsammans. Exempelvis bil, 1 eller apelsinskalare, 4. Slutligen lagras en mycket kortfattad beskrivning om hjälpmedlet bestående av ett par ord.
- Om ett visst hjälpmedel går sönder eller försvinner under en operation så skall det tas bort ur databasen. När hjälpmedlet tas bort skall även motsvarande kopplingar till operationer tas bort.
- Samma hjälpmedel får inte tilldelas flera olika operationer samtidigt. För alla hjälpmedel av en viss typ så skall hjälpmedlets ordngingsnummer anges. Ordningsnummer som är högre än femton eller mindre än ett skall anses som felaktigt inskrivna.
- Allokering av hjälpmedel skall ske som på liknande sätt som för agenterna, en lista över tillgängliga hjälpmedel skall visas i vilken det skall gå att välja hjälpmedel, när ett visst hjälpmedel är markerat så skall detaljerad information om hjälpmedlet visas.
