D0004N 2008-11-24 Databaser I. Greenline. Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5



Relevanta dokument
Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Databaser design och programmering. Design processen ER- modellering

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Tentamen för DD1370 Databasteknik och informationssystem

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Modul DB1-2 Datamodellering

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Detta dokument beskriver hur du ansöker om ett ID06 konto hos Areff.

Pascal - Gränssnittsspecifikation. Beställ originalförpackning

Databaser och Datamodellering Foreläsning IV

Detta dokument beskriver hur du ansöker om ett ID06 konto hos Areff.

Ett arbetsexempel Faktureringsrutin

Tentamen för DD1370 Databasteknik och informationssystem

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Bygglovsbefriande åtgärd - anmälan för företag

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Bygg, mark, rivningslov - ansökan för företag

Databasdesign. E-R-modellen

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

12. ANSÖKAN OM GODKÄNNANDE INOM VÅRDVAL UPPSALA LÄN

Karlstads Universitet, Datavetenskap 1

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

Grunderna för relationsmodellen!

Produktbeskrivning P25_Personinformation

Anmälan om verksamhet med krossnings- och sorteringverk

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

ANSÖKAN SPARKONTO FÖRETAG/JURIDISK PERSON

PLR i samarbete med. PAS Card AB. för tillverkning av ID06 kort

Produktbeskrivning F11_FunktionarerFirmateckningVakanser

ANSÖKAN OM GODKÄNNANDE INOM LOV VACCINATÖRER

INTRODUKTION TILL ER ENTITY-RELATIONSHIP

Verksamheter som bedriver förskola eller pedagogisk omsorg

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

Databasdesignspecifikation för Mätvärdeshanteringssystem

Om Vårdgivare avser att ansöka om godkännande för flera mottagningar lämnas en ansökan per mottagning.

ANSÖKAN OM GODKÄNNANDE INOM VÅRDVAL UPPSALA LÄN 2015

1 Administration av grupper och användare i Winst (1.0)

Presentationstext Företagens utländska handelskrediter Registertyp survey, urval

ANSÖKAN OM GODKÄNNANDE AV PSYKOTERAPI INOM LOV ÖREBRO LÄN

Presentationstext Företagens utländska handelskrediter Registertyp survey, urval

Frakt och webbutiksinställningar

Frågor i ansökan om statsbidrag för läxhjälp år 2016 ideella föreningar

Tentamen för DD1370 Databasteknik och informationssystem

(Data)Modellering. nikos dimitrakas rum 2423

Uppsägning av kontrakt för domännamn.

RIKTLINJER FÖR HANTERING AV PERSONUPPGIFTER

Diarienummer

Om Vårdgivare avser att ansöka om godkännande för flera mottagningar lämnas en ansökan per mottagning.

Finansinspektionens författningssamling

Modul DB1-1 Databasmodellering

Produktbeskrivning A7_Arendeinformation

Ifyllnadsexempel för Extempore

FUSION AKTIEBOLAG genom absorption

Ansöka om registrering hos kommunen. 1 Registrering av föreningen hos kommunen

Nybyggnadskarta. Bra länkar. I vilken roll söker du. Beställa nybyggnadskarta. Välj

Ansökan om tillstånd för djurhållning inom detaljplanelagt område

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

- du som potentiell kund, eller representant för potentiell kund, erhåller information från Bolaget;

Del 2: ER-modellering och överföring till Databasstruktur v0.9

Tentamen för DD1370 Databasteknik och informationssystem

Administration av grupper och användare i Winst

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Filial 1 (6) E-postadress Telefonnummer dagtid Ev. depositionskontonr (tre siffror)

Presentationstext Företagens utländska handelskrediter Registertyp survey, urval

Koha konferens Tylösand 16 oktober 2015 Koha förstudie och projekt Systemmiljö Migrering Frågor/diskussion

Så här fyller du i blanketten: Ansökan om hemtjänst förenklad ansökan för personer över 65 år

1 - UPPGIFTER OM DIG SOM INTE ÄR KUND HOS OSS

Nyregistrering 908. Europeisk ekonomisk intressegruppering (EEIG) 1. Anmälan gäller

Ansökan om tillstånd för explosiv vara

Anmälan om sanering av förorenad byggnad

ANSÖKAN OM NYCKEL/NYCKELKORT

ER-Diagram. Databasutveckling Diagram

Databaser. Vad du ska lära dig: Ordlista

Ansökan. Naturskyddsföreningen Bra Miljöval. Denna handling är tillsammans med bilagor en ansökan om medel ur Energieffektiviseringsfonden.

Avvikelserapport. Avvikelserapport. Fantastic Four Page 1

ANSÖKAN OM GODKÄNNANDE INOM VÅRDVAL UPPSALA LÄN 2018

Förfrågningsunderlag. LEKRÄTT - Valfrihetssystemet enligt LOV. Om upphandling enligt LOV VÅRD & OMSORG - SOCIALFÖRVALTNINGEN

CLRS-System. Användarmanual. CLRS-system. Fantastic Four 2011 Page 1

sida 1 (5)

Lathund för webbansökan om innovationsbidrag (såddbidrag)

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

Investeringsfonden Ansökan

Attributprofil för skolfederationen

Lathund för webbansökan om utbetalning av beviljat regionalt bidrag till företagsutveckling - investeringsbidrag

Beskrivning av xml-produkten FunktionarerFirmateckningVakanser (F11) version 2.02

Beskrivning av xml-produkten Personinformation (P25)v 2.02

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

7 ANSÖKAN OM GODKÄNNANDE INOM LOV PRIVAT PSYKOTERAPI UPPSALA LÄN

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

1. Namn och adressuppgifter

Design och underhåll av databaser

Elsäkerhetsverkets register och behandlingar av personuppgifter enligt 39 PUL

1.Lär känna MS SQL Observera. Tips. Förberedelse

Ansökan om riksfärdtjänst (ansökan från förvaltare)

Anläggningsåtgärd berörande Svinninge 1:3 mfl. Folkets hus Åkersberga, lokal Trälhavet. Sammanträdena beräknas ta cirka tre timmar i anspråk.

E-postadress Telefonnummer dagtid Ev. depositionskontonr (tre siffror)

Första tid 1997K1 Referenstid kvartal

Transkript:

D0004N 2008-11-24 Databaser I Greenline Petter Hedlin / epeehi-4 Rikard Stenmark / rikste-8 Markus Almberg / maralm-5

Inledning Det här är en mindre rapport om datamodellering. Vi blev tilldelade en kravspecifikation ställd av ett fiktivt företag kallat Greenline. Företaget var i behov av en databas. Vår uppgift blev således att genom ett antal faser presentera en lösning på problemet. Vissa krav ställdes på datamodelleringen bland annat identifikation av aktörer och funktioner som ska kunna hanteras av databasen samt redovisning av en logisk datamodell som visar att dessa funktioner går att genomföra.

Resultat Problem Kosmetikföretaget Greenline som ägs av Lena Bok är specialiserade på att ta fram och tillverka icke djurtestade och naturliga kosmetiska produkter som de sedan säljer till frisörsalonger eller SPA center. Lena var den som startade upp företaget som i dagsläget har tio anställda, inklusive henne själv. Eftersom företaget har expanderat känner Lena att arbetsbelastningen blivit för hög och hon har bestämt sig för datorisera verksamhetens administration för att underlätta hennes situation. Lena vill ha en databas där hon kan hålla reda på företagets hela verksamhet. Syfte Vi antar att vad Lena menar med att datorisera verksamheten innebär att hon även vill föra in annan data i databasen, exempelvis information om råvaruinköp och leverantörer, information om företagets egna produkter, tillverkning, företagets maskinpark och ordrar. Det tänkta syftet med Greenlines databas är att ge ägaren Lena en översikt över företaget och tillhandahålla beslutsunderstödjande information. Lena vill kunna bli meddelad om återkommande kunder inte beställt på ett tag så att hon kan ta personlig kontakt med dessa. Aktörer Utifrån det vi vet om Greenline så kommer följande aktörer att finnas i databasen. Dessa aktörer har skilda behov och skall inte ha tillgång till samma information så det är lämpligt att ge varje aktör en egen vy i databasen. 1. Ägare 2. Tillverkning 3. Produktutveckling 4. Administration Funktioner Följande funktioner skall stödjas av den färdiga databasen. Om annat inte anges så skall ordet Hantera i det här sammanhanget förstås som: Lägga till, ta bort, uppdatera, söka. 1. Hantera kund 2. Hantera order 3. Hantera beställning 4. Hantera leverantör 5. Hantera produkt 6. Hantera råvara 7. Hantera maskin 8. Hantera anställd 9. Hantera företag 10. Hantera recept

Entiteter Kund Entitetstypen kund lagrar information om alla Greenlines företagskunder. Kund KundOrgNr {PK} Kundföretagets organisationsnummer Int (20) Namn Kundföretagets namn Char (50) GatuAdress kundföretagets gatuadress Char (100) PostOrt Kundföretagets postort Char (20) PostNummer kundföretagets postnummer Int (5) Telefon Telefonnummer till kundföretaget Int (20) ja inget E-post E-post till kundföretaget Char (50) ja inget Leverantör Entitetstypen leverantör lagrar information om alla Greenlines råvara och materialleverantörer. Leverantör LeverantörsOrgNr {PK} Leverantörens organisationsnummer Int (20) Namn Företagsnamn på leverantören Char (50) GatuAdress leverantörens gatuadress Char (100) PostAdress leverantörens postnummer Int (5) Telefon Telefonnummer till leverantören Int (20) ja inget E-post E-post till leverantören Char (50) ja inget Produkt Entitetstypen produkt lagrar information om alla produkter som Greenline tillverkar Produkt ProduktID {PK} för varje produkt Int 1000...n ProduktNamn Produktens namn Char (50) ProduktTyp Produktens typ Char (50) nej ingen Produktbeskrivning Kort beskrivning av produkten Char (500) ja inget Råvara Entitetstypen råvara lagrar information om alla råvaror som Greenline använder i sin produktion. Attributet Lagersaldo håller reda på hur mycket av varje råvara som Greenline har hemma.

Råvara RåvaraID {PK} för varje råvara Int 1000...n LeverantörsOrgNr {FK} leverantörens ID nummer Int Namn Namn på råvaran Char (20) Lagersaldo Mängd råvara på lager Int (5) nej 0 LagersaldoEnhet Mätenhet för lagersaldo värdet Char (5) LeverantörsOrgNr {FK} referens Leverantör (LeverantörsOrgNr) Beställning Entitetstypen beställning lagrar information om de beställningar av råvaror och material som Greenline skickar till sina leverantörer. I en beställning ingår en eller flera beställningsrader. Beställning BeställningsID {PK} för varje beställning Int 1000...n Datum Datum då beställningen lades Date KundOrder Entitetstypen KundOrder lagrar de ordrar som inkommit till Greenline från kunder. En KundOrder innehåller en eller flera KundOrderRader. KundOrder KundOrderID {PK} för varje kundorder Int 1000...n Datum Datum då ordern lades Date Företag Entitetstypen Företag lagrar information om Greenline. Företaget OrganistationsNr {PK} Företagets organisationsnummer Int (20) FöretagsNamn Namn på företaget Char (20) GatuAdress Företagets adress Char (50) PostOrt Företagets postort Char (20) PostNummer Företagets postnummer Int (10) Maskin Entitetstypen Maskin lagrar information om de olika maskinerna som finns i Greenlines ägo.

Maskin MaskinID {PK} för varje maskin Int 1000...n OrganistationsNr {FK} Företagets organisationsnummer Int (20) Modellnamn Maskinens modellnamn Char (20) Maskinbeskrivning Beskrivning av maskinen Char (300) ja inget Tillverkare Namn på företaget som tillverkat maskinen Char (20) GatuAdress Tillverkarens adress Char (50) PostOrt Tillverkarens postort Char (20) PostNummer Tillverkarens postnummer Int (10) Inköpsdatum Datum då maskinen köptes Date Telefon Telefonnummer till tillverkaren Int (20) ja inget E-post E-post till tillverkaren Char (50) ja inget OrganisationsNr {FK} refererar Företaget (OrganisationsNr). RåvaraRad Entitetstypen RåvaraRad kopplar en specifik råvara från tabellen Råvara mot en specifik leverantör från tabellen Leverantör. RåvaraRad Attribut Beskrivning Datatyp Domän RåvaraRadID {PK} för varje råvarurad Int 1000...n LeverantörsOrgNr {FK} Leverantörens organisationsnummer Int RåvaraID {FK} för varje råvara Int Null nej nej nej Default nej inget inget LeverantörsOrgNr {FK} referar Leverantör (LeverantörsOrgNr). RåvaruID {FK} referar Råvara (RåvaruID). Anställd Entitetstypen anställd lagrar information om Greenlines alla anställda.

Anställda AnställningsID {PK} för varje anställd Int 1000...n OrganistationsNr {FK} Företagets organisationsnummer Int (10) FörNamn Anställdes förnamn Char (50) EfterNamn Anställdes efternamn Char (50) Personnummer Anställdes personnummer Int (20) GatuAdress Anställdes gatuadress Char (100) PostOrt Anställdes postort Char (20) PostNummer Anställdes postnummer Int (5) Befattning Anställdes befattning Char (20) Anställningsdatum Datum då den anställde började vid företaget Date Lön Anställdes månadslön Int (10) 100... 100000 Kontonummer Anställdes egna bankkontonummer Int (12) ja inget Telefon Telefonnummer till anställd Int (20) ja inget E-post E-post till anställd Char (50) ja inget OrganisationsNr {FK} refererar Företaget (OrganisationsNr). BeställningsRad Entitetstypen beställningsrad lagrar information om en rad i en beställning. BeställningsRad BeställningsRadID {PK} för varje beställningsrad Int 1000...n BeställningsID {FK} för varje beställning Int RåvaraID {FK} för varje råvara Int Kvantitet Beställd kvantitet Int (10) Kvantitetsenhet Enhet på den angivna kvantiteten Char (5) RåvaraID {FK} referar Råvara (RåvaraID). BeställningsID {FK} referar Beställning (BeställningsID).

KundOrderRad Entitetstypen kundorderrad lagrar information om en rad i en kundorder. KundOrderRad KundOrderRadID {PK} för varje kundorderrad Int 1000...n KundOrderID {FK} för varje kundorder Int ProduktID {FK} för varje produkt Int Kvantitet Beställd kvantitet Int (10) Kvantitetsenhet Enhet på den angivna kvantiteten Char (5) ProduktID {FK} referar Produkt (ProduktID). KundOrderID {FK} referar KundOrder (KundOrderID). Recept Entitetstypen Recept lagrar information om ingredienserna i en produkt. Attributet MaskinID indikerar vilken maskin som behövs vid tillverkningen. Recept ReceptRadID {PK} för varje receptrad Int 1000...n ProduktID {FK} Produktens ID nummer Int MaskinID {FK} för varje maskin Int Tillverkningsinstruktioner Instruktioner för hur produkten skall tillverkas Char (3000) ProduktID {FK} referar Produkt (ProduktID). MaskinID {FK} referar Maskin (MaskinID). Receptrad Entitetstypen receptrad lagrar information om en rad i ett recept.

ReceptRad ReceptRadID {PK} för varje receptrad Int 1000...n RåvaraID {FK} för varje råvara Int ReceptID {FK} för varje recept Int Kvantitet Kvantitet på ingrediens Int (5) Kvantitetsenhet Enhet på den angivna kvantiteten Char (5) RåvaraID {FK} referar Råvara (RåvaraID). ReceptID {FK} referar Recept (ReceptID). Maskinrad Entitetstypen maskinrad kopplar en maskin mot ett recept. MaskinRad MaskinRadID {PK} för varje maskinrad Int 1000...n MaskinID {FK} för varje maskin Int ReceptID {FK} för varje recept Int ReceptID {FK} referar Recept (ReceptID). MaskinID {FK} referar Maskin (MaskinID).

Logisk databasmodell för Greenlines databas Relationer 1. En kund kan ha noll eller flera kundordrar. En kundorder har en och endast en kund.

2. En kundorder har en eller flera kundorderrader. En kundorderrad tillhör en och endast en order. 3. En kundorderrad har en och endast en produkt. En produkt återfinns på noll eller flera kundorderrader. 4. En beställning har en eller flera beställningsrader. En beställningsrad tillhör en och endast en beställning. 5. En råvara återfinns på noll eller flera beställningsrader. En beställningsrad innehåller en och endast en råvara. 6. En produkt har noll eller ett recept. Ett recept har en och endast en produkt. 7. En råvara återfinns på noll eller flera råvararader. En råvararad innehåller en och endast en råvara. 8. En råvara har noll eller flera receptrader. En receptrad innehåller en och endast en råvara. 9. En leverantör återfinns på noll eller flera råvarurader. En råvarurad innehåller en och endast en leverantör. 10. Ett företag har en eller flera anställda. En anställd är anställd av endast ett företag.

11. Ett företag har noll eller flera produkter. En produkt tillverkas av endast ett företag. 12. Ett recept har en eller flera receptrader. En receptrad tillhör ett och endast ett recept. 13. Ett företag kan äga noll eller flera maskiner. En maskin ägs av endast ett företag. 14. Ett recept har noll eller flera maskinrader. En maskinrad tillhör ett och endast ett recept. 15. En maskin har noll eller flera maskinrader. En maskinrad innehåller en och endast en maskin.

Diskussion Vi tyckte att det var intressant att ta fram en databasmodell från grunden. Det var givande att få arbeta med alla delar i processen som en helhet. Vi tror Lena hade helt klart varit nöjd med resultatet. En sak vi tycker det är värt att nämna är att den logiska databasmodellen innehåller bra mycket fler entiteter än vad vi först identifierade utifrån kravspecifikationen. Detta beror på att flera entiteter tillkom under arbetets gång för att täcka behovet av att bryta upp många till många relationer. Vid flera tillfällen hittade vi inget bättre sätt än att skapa ytterligare entiteter för att lösa problemet med många till många relationer på.