Startup code for first assignment in Databaskonstruktion
Find a file
2026-10-21 22:26:48 +02:00
database.sql slutcheck 2026-10-19 17:04:06 +02:00
ER-diagram.svg diagram adderat+ overview 2026-09-01 13:31:14 +02:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md readme småfixat 2026-10-21 22:26:48 +02:00

Davids databas

Startup code for first assignment in Databaskonstruktion

Overview

I den här uppgiften har jag tilldelats grupp C. Det innebär att jag har fält agent som jag ska utgå ifrån.

Konceptuell databasdesign

Då jag ska utgå ifrån fältagent har jag valt att ha med:

  • Fältagent som är agenten som är ute i fält och utför operationer
  • hjälpmedel då det är logiskt att fältagenter kan använda sig av och kontrollera hjälpmedel ute i fält.
  • Operation då en fältagent behöver kunna kolla vilka operationer dem är med i och vilka operationer som bedrivs.
  • Region eftersom man behöver veta i vilken region operation bedrivs.
  • Incident då en incident är vad som grundar sig till en operation,
  • Observation som lagrar information om en incident.
  • Rapport som en agent skriver efter en operation om resultat och hur insatsen gått till.

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

Logisk databasdesign

Relations

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

Hjmedel(namn, Nr, Beskrivning)

Operation(IncidentNamn, IncidentNr, Kodnmnt, Stdatum ,Sldatum, SR, Kommentar, RegionNamn)

region(Namn ,Terräng)

Incident(Namn, Nr ,Plats, regionNamn)

Rapport(Datum, Titel , AgentNamn, AgentNr)

Observation( ID , Säkerhet, Datum, Grad, Incidentnamn, IncidentNr,)

Fälthjälpmedel(AgentNamn, AgentNr, HjNamn, HjNr, )

Ophjälpmedel(HJNamn, HJNr, incidentnamn, incidentnr, Kodnmnt, Stdatum )

Kompet(SpecialKompet, AgentNamn, AgentNr ,Kompetens)

Requirements

Agent

  • En agentsnamn får endast bestå av en bokstav och en siffra -constraint V
  • Levnadsfilosofi ska lagras som en kommentar V
  • en agents lön får inte vara under 12000 eller över 25000 V
  • Om ingen lön anges skall lönen sättas till 13000 V
  • Ingen agent får ha ett nummer under 0 eller 0. Agenter får inte heller ha nummer över 99 V
  • Ingen agent får ha talet 13. -constraint
  • en fältagent får inte arbeta på mer än en operation samtidigt
  • En agents kompetenser samt deras specialkompetetens skall kunna lagras V
  • En agent ska kunna göra flera olika sökningar i verksamhetens databas. V

HJmedel

  • Om ett hjälpmedel går sönder eller försvinner under en operation ska det as bort ur databasen. Motsvarande kopplingar till agent och operation ska också tas bort.
  • Ett hjälpmedel får enbart tilldelas en operation i taget.

Operation

  • En operation identifieras av sitt startdatum samt den incident som genererade operationen. V

region

  • Agenter ska kunna se vilken operationens region V
  • Det skall gå att härledda en regions antal tidigare incidenter och operationer
  • Alla regioner måste ha någon typ av terräng lagrad. v

Incident

  • En incident måste inträffa i en region

Rapport

  • En slutrapport lämnas in av någon agent efter varje incident
  • Det ska härleddas rapportens antal uppföljningar

Observation

  • För varje observation måste anges datum, grad samt säkerhet.
  • Observationen måste tillhöra en incident
  • En observationssäkerhet får inte vara lägre än 1 procent elelr högre än 114 procent.
  • En agent ska kunna läsa alla tidigare observationer.

Antaganden

agent

  • Det antas att en agents special kompetens lagras i primärnycken speicalkompet i relationen kompet och att deras andra kompetenser lagras i attributet kompetens.
  • det antas att en agents unamn inte behöver vara härlett attribut.
  • det antas att en agent inte behöver ha ett favorit hjälpmedel.
  • Det antas att ingen agent har samma unamn.

HJmedel

  • Det antas att vapen inte är ett hjälpmedel.
  • Det antas att en agents namn enbart är en bokstav och det läggs ihop med nummret för att skapa den sammansatta nyckeln

incident

  • Det antas att en incident identifieras av sin sammansatta nyckel namn och nummer.

Fysisk databasdesign

procedur och triggers

  • NY_LIVSFILOSOFI är en procedur för att en agent ska kunna ändra sin livsfilosofi. Agenter kan jobba i många år och mycket kan hända under den tiden och en livsfilosofi kan ändras. Genom att uppdatera en agents kommentar i tabellen livsfilosofi kan en agent ändra sin livsfilosofi när det behövs

  • visaregion är en procedur för att kunna härleda och visa alla operationer som bedrivs i en region. Det är så att en agent ska veta vilka operationer som bedrivs var om hen får en operation att arbeta på.

  • antaloperationer är en procedur för att räkna fram antalet operationer som bedrivs i en region. det är viktigt så man kan se vilkaa regioner som är mest aktuella för tillfället.

  • SETSALARY är en trigger som undersöker om den lön som satts för en agent är inom det tillåtna spannet av 12000 och 25000. är det utanför så accepteras inte inputen utan kräver en ny. Om ingen lön anges lägger den in 13000 som lön till agenten.