Startup code for first assignment in Databaskonstruktion
Find a file
2026-09-15 15:15:47 +02:00
database.sql Gjort korrekt merge nu samt fixat fel och lagt till UNIQUE 2026-09-15 15:15:47 +02:00
ER-Diagram.png.png ERdiagram.png 2026-09-01 09:53:50 +00:00
LICENSE Initial commit 2026-08-31 15:21:23 +00:00
README.md små fix och mergeat handläggare till agent och ändrat främmande nyckel i handobservation för bättre prestanda 2026-09-08 14:20:30 +02:00

Databaskonstruktion-Assignment-1-Startup-a25olibl

ER or EER Model Krav.

Agent Agenter ska kunna identifieras unik med ett namn och Nummer En Kommentar ska lagras om agentens levnadsfilosofi Agentens lön och fulla namn (för- och efternamn) lagras Ingen agent får ha en lön under 12000 och max 25000 för vanliga agenter (gruppledares lönetak är 35000). Om ingen lön anges ska 13000 var default värdet. Agentnummer får inte vara 0 (förutom om det är en gruppledare). Det får inte heller vara negativt. Talet 13 får inte användas och inga nummer över 99. 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.

Handläggare Handläggare är en specialisering av Agent, namn och nummer ärvs från agent för att identifiera handläggaren. Det ska gå att räkna ut antal incidenter handläggaren rapporterat, antal observationer handläggaren rapporterat, antal operationer som startats utifrån handläggarens incidenter,samt hur stor andel i % av händläggarens incidenter som lett till en operation. När en ny observation kommer in utan matchande incidenter ska en ny incident skapas automatiskt. Flera observationer för samma incident kopplas istället till den befintliga. Handläggaren har läs- och skaparättigheter i observation, media, incident och person, samt läsrättigheter till all information om gruppledaren och desinformationsspridare (men ingen annan agenttyp).

Incident Identifieras antingen av sitt unika namn eller unika nummer. En Plats för var incidenten ska lagras. Det ska gå beräkna ett medelvärde på incidentens alla observationers grad. En incident måste inträffa i en region. Till en incident kan sedan flera rymdvarelser eller rymdskepp kopplas när rymdvarelsen eller rymdskeppet identifierats av någon agent. En incident kan dessutom ha en eller flera operationer eller desinformationskampanjer kopplade

Observation Tyå typer: En observation gäller antingen ett rymdskepp eller en rymdvarelse. Om båda siktas samtidigt skapas separata observationer. Datum, grad och säkerhet MÅSTE anges för varje observation. Säkerhet anges som en procentsats mellan 1%- 114%. Grad anges i en skala från 1-4 där 4 är extrem närkontakt. Vid en observation av rymdvarelse lagras färg, kläder, typ och storlek. Vid observation av rymdskepp lagras form, lamptyp, färg och rörelsemönster. Varje observation måste vara kopplad till en handläggare och en incident. Åtkomsttid under en sekund krävs, prestanda är kritisk för denna tabell. Administratörer får ta bort observationer, Då tas kopplingar till personer, handläggare och tillhörande mediarader bort. Borttag ningen loggas (datum och administratörens användarnamn) så data kan återskapas.

Alien Två olika typer, antingen registrerade eller oregistrerade rymdvarelser. Farlighet anges som ett av åtta ordnade värden, från harmlös till spring för livet. Kännetecken är ett flervärt attribut och kan matcha kännetecken från observationer. Identifieras unikt av en IDkod (25 tecken, siffror/bokstäver). Registrerade har även ett personnummer liknande nummer(ankomstdatum + 4 siffror, endast siffror och bindestreck) Oregistrerad har ett liknande nummer (införandedatum + 6 siffror). En registrerad rymdvarelse kan länkas till flera oregistrerade poster (och tvärtom) så historiken bevaras vid registrering. Kopplas till andra aliens (bekanskapskrets), rymdskepp, vapen, operationer, samt (för registrerade) hemplanet och species. En icke-admin får max ta bort 3 aliens totalt. Vid borttagningen tas kopplingar till vapen,skepp, andra aliens och species bort. Max 15 kopplingar totalt till vapen och skepp per alien. Om ingen farlighetsgrad anges sätts den automatiskt till neutral. Alla attribut måste ha värden på alla rader, inga null värden är tillåtna.

Skepp Identifieras unikt av ett ID som tilldelas automatiskt när skeppet upptäcksi luftrummet. Tillverkningsplanet måste alltid anges. antal sittplatser är minst 1 och max 5000. om inget anges väljs ett värde automatiskt. Kännetecken är flervärt attribut och kan matcha kännetecken från observationer. En användare får max ta bort 3 skepp totalt. Vid borttagning tas kopplingar till incidenter, vapen och rymdvarelser bort, och om ett vapen då saknar alla kopplingar tas det också bort.

Media Identifieras av kombinationen observation + mediats namn(tex videoinspelning, ljudinspelning). Kvalitet lagras som ett av fyra värden: dålig, god, medelgod, bra. Kommentat lagras max med 80 tecken. Om ingen kvalitet anges sätts den automatiskt till medelgod. Varje mediarad måste ha en koppling

HandObservation

Agent(Namn,Nr,Unamn,Kommentar) Handläggare(Namn, NRLön, Unamn, Kommentar) Incident (Namn, NR Plats) Observation(IDSäkerhet, Datum, Grad,Incidentsnamn, IncidentsNR ) Alien(ObservationsIDFärg, Kläder, Storlek, Typ) Skepp(ObservationsIDForm, Färg, Lamptyp, Rörelse) Media(ObservationsID, NamnKvalite, Kommentar) HandObservation(HandNamn, HandNR, ObsID)