Startup code for first assignment in Databaskonstruktion
Find a file
2026-09-10 14:50:35 +02:00
database.sql Procedurer och triggers för observationer 2026-09-10 14:50:35 +02:00
ER_diagram.png Diagram 2026-09-02 10:36:05 +02:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md Relationer 2026-09-02 11:40:47 +02:00
Rights.sql Rättigheter och merge osv är på sista delen utav uppgiften 2026-09-07 10:53:04 +02:00

Overview

Den offentliga sektorn i Sverige består av ett antal mer eller mindre kända myndigheter med olika funktioner. En av de viktigaste, men trots detta minst kända myndigheterna, har problem med att utföra sin uppgift beroende på att myndigheten har ett föråldrat databassystem som behöver uppdateras för att motsvara modern standard. Din uppgift är att som konsult med specialkunskaper inom databas-området implementera en prototyp av detta tänkta databassystem utifrån den kravspecifikation som framställts av ett antal konsulter som sedan en tid arbetat med att analysera myndighetens verksamhet.

Most importantly the given variant E

ER model

Image of the chosen diagram in svg or png. When the model is constrained or we add features, update this consistently.

ER or EER Model

Relations

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

Handläggare(AgentNamn, AgentNr)

Observation(ID, Säkerhet, Datum, Grad, HandläggareNamn, HandläggareNr, IncidentNamn)

Media(ObservationID, Namn, Kvalitet, Komm.)

Incident(Nr, Namn, Plats)

Kampanj(Nr, SR, Stdatum, Sldatum, Komm.)

Operation(Kodnamnt, Stdatum, IncidentNr, Sldatum, SR, Kommentar)

Requirements

A few lines containing general description of requirements

Agent

  • Varje agent ska identifieras unikt genom kombinationen av agentens namn och nummer. Agentnumret får inte vara mindre än 0 eller större än 99. Nummer 0 är endast tillåtet för gruppledare och nummer 13 är inte tillåtet.
  • Varje agent ska ha en lön mellan 12 000 och 25 000 kr. Gruppledare är ett undantag och får ha en lön på upp till 35 000 kr. Om ingen lön anges ska lönen automatiskt sättas till 13 000 kr.
  • För varje agent ska det ursprungliga namnet lagras med separata förnamn och efternamn samt ett härlett attribut som sätter samman dessa. Agentens levnadsfilosofi ska också lagras som en kommentar. Personer som heter Leif Loket Olsson, Greger Puckowitz eller Greve Dracula får inte bli agenter.

Handläggare

  • Som alla känner till så har SOS larmcentral kontakt med brandkår, ambulanser, polis och andra viktiga myndigheter för att kunna ge bästa hjälp till en person ringer till larmcentralen.
  • Givetvis så kopplas alla telefonsamtal om utomjordingar direkt vidare till PUCKOs högkvarter.
  • Tanken är att den inkopplade handläggaren skall kunna sitta uppkopplad mot databas-systemet och direkt kunna mata in den relevanta informationen från telefonsamtalet så att fältagenter omgående skall kunna skickas direkt till platsen

Observation

  • Det finns två typer av observationer: observation av rymdvarelse och observation av rymdskepp. Om både rymdvarelser och rymdskepp observeras vid samma incident ska separata observationer skapas. Varje observation måste innehålla datum, grad och säkerhet.
  • Observationens grad anger graden av närkontakt och får ha ett värde mellan 1 och 4, där 4 innebär extrem närkontakt. Säkerheten anges i procent och får inte vara lägre än 1 % eller högre än 114 %.
  • Varje observation måste ha lagrats av en handläggare och måste tillhöra en incident. Om flera observationer hör till samma incident ska de kopplas till den befintliga incidenten istället för att en ny incident skapas.

Media

  • En mediainspelning identifieras genom observationen som den tillhör tillsammans med namnet på mediat, exempelvis videoinspelning eller ljudinspelning.
  • För varje mediainspelning ska en kvalitet anges som dålig, god, medelgod eller bra. Om ingen kvalitet anges ska den automatiskt sättas till medelgod. Det ska även finnas en kommentar på högst 80 tecken som beskriver innehållet.
  • Det får inte finnas någon mediainspelning som inte hör till någon operation. Förekomsten av media kan dessutom påverka en eventuell operation eller desinformationskampanj.

Incident

  • En incident ska kunna identifieras genom antingen sitt unika namn eller sitt unika nummer. För varje incident ska även platsen där incidenten inträffade lagras.
  • En incident kan ha flera observationer kopplade till sig. Det ska gå att beräkna medelvärdet av graden för incidentens samtliga observationer.
  • En incident måste inträffa i någon region. Till en incident kan även en eller flera operationer eller desinformationskampanjer kopplas. Identifierade rymdvarelser och rymdskepp kan också kopplas till incidenten.

Operation

  • Varje operation identifieras genom kodnamntyp, startdatum och den incident som genererade operationen. Kodnamntypen anger både operationens kodnamn och typ. Operationen kan även innehålla en frivillig kommentar med viktig information om operationen.
  • En operation ska ha startdatum och slutdatum, där slutdatumet måste vara senare än startdatumet och operationen måste vara minst en dag lång. Om längden överstiger fem veckor ska slutdatumet automatiskt justeras så att operationen blir fem veckor. Operationens success rate (SR) ska vara 1 om operationen lyckades och 0 om den misslyckades.
  • En operation måste vara kopplad till den incident som genererade operationen och måste ledas av en gruppledare. En gruppledare kan leda flera operationer, men varje operation kan endast ha en gruppledare.

Kampanj

  • Varje desinformationskampanj identifieras unikt genom sitt nummer. För varje kampanj ska startdatum, slutdatum, success rate (SR) och en kommentar på högst 80 tecken lagras. En kampanj kan vara pågående, vilket innebär att slutdatum får vara NULL, men kampanjen måste alltid ha ett startdatum.
  • Kampanjens slutdatum måste vara senare än startdatumet och kampanjen får inte vara kortare än en dag. Om kampanjen blir längre än fem veckor ska längden automatiskt sättas till fem veckor. SR ska lagras som 1 om kampanjen lyckades och 0 om den misslyckades. Inga andra värden är tillåtna.
  • En incident kan vara kopplad till flera desinformationskampanjer, och en kampanj kan samtidigt gälla flera olika incidenter. En kampanj kan dessutom använda flera undanflykter, men högst tre olika undanflykter per kampanj.