Startup code for first assignment in Databaskonstruktion
Find a file
2026-09-16 12:20:51 +02:00
database.sql Tog bort en grant och lade till en procedure på handläggare 2026-09-16 12:20:51 +02:00
desktop.ini Lade in bild för ER diagrammet 2026-09-02 12:03:44 +02:00
ER_diagram.png Lade in bild för ER diagrammet 2026-09-02 12:03:44 +02:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md Tog bort en grant och lade till en procedure på handläggare 2026-09-16 12:20:51 +02:00

Databaskonstruktion-Assignment-1-Startup

Requirements

Kraven följer krav specifikationerna som gäller för dem entiteter som har valts ut för handläggaren i systemet.

Agent

  • Namnet och numret identifierar tillsammans agenten
  • Agenter får inte ha nummer som är mindre än 0
  • Agentnummer som överstiger 99 är ej tillåtet
  • Om en Agent är en gruppledare får agenten ha numret 0 annars får ingen agent ha det
  • Ingen agent får ha en lön mindre än 12000
  • Agenter får inte ha lön över 25000 om dem inte är gruppledare
  • Om ingen lön har delats ut ska lönen automatiskt sättas till 13000

Incident

  • Incident identifieras med antingen dess unika namn eller unika nummer
  • Platsen där en incident skett lagras
  • En incident måste hända i någon region

Observation

  • Datum, säkerhet och grad måste anges vid varje observation
  • Graden anger vad närkontakt har för nivå och värdena som är tillåtna är ett till fyra
  • Säkerheten ska anges som en procentsats, det lägsta är en och det högsta är hundrafjorton procent
  • Alla observationer ska ha lagrats av en handläggare och måste tillhöra en incident
  • Åtkomsttider som är under en sekund är nödvändiga när det är frågor mot observationer
  • Databasadministratörer ska kunna ta bort observationer. Dessa borttagningar ska skrivas in med datum och användarnamn så att man kan återskapa data. Kopplingar till personer och media tas bort

Media

  • Inspelning identifieras av observationen som den gjort samt namnet på mediat
  • Inspelningens kvalitet uppskattas och lagras som dålig, god, medelgod eller bra
  • Om kvalitet inte har angetts så ska ett antagande göras av att kvaliteten är medelgod
  • En kommentar om innehållet på en inspelning lagras som ska ha högst åttio tecken
  • En medieinspelning får inte finnas som inte tillhör en observation

Person

  • Varje person identifieras unikt utav personnummer, eller ett autogenererat nummer för anonyma personer
  • Namnet eller alias på personen lagras som en textsträng
  • Personer som har ett eventuellt kodnamn ska lagras så att informatörer som är viktiga kan fort identifieras
  • En person kan rapportera flera observationer och en observation kan ha rapporterats av flera personer
  • Man ska kunna ha en snabb åtkomst som är nödvändig för att arbete mot tabellen sker i realtid

Region

  • En region identifieras utav sitt namn
  • För regioner lagras en uppskattning av huvudterrängen i regionen
  • Alla regioner ska ha en terräng lagrad
  • Om det inte finns ett värde ska det automatiskt sättas "blandad" på terrängen
  • Databasadministratörer ska kunna ta bort en region

Rättigheter

  • Handläggare har rättighet till att läsa och skapa tuppler i tabeller med observationer, media, incidenter och personer
  • Handläggare har rättighet till att läsa all information om gruppledare samt desinformationsspridare men ingen annan agenttyp
  • Databasadministratörer har bara rättighet till att ta bort eller modifiera data i tabeller om dem har fått den rättigheten tilldelad

Relationer

Agent(Namn, Nr, Lon, Unamn) Region(Namn, Terrang) Incident(Nr, Namn, Plats, RegionNamn) Observation(ID, Säkerhet, Datum, Grad, IncidentNr, AgentNamn, AgentNr) Media(Namn, ObservationID, Kvalite, Komm) Person(ID, Namn, Kodnamn) ObservationPerson(ObservationID, PersonID)