rangergoal Skrevet 14. juni 2014 Del Skrevet 14. juni 2014 (endret) Hei har akkurat kommet opp i Informasjons teknologi 1 eksamen muntlig. Sliter litt med den normaliserte datamodellen. Så her kommer oppgaven ganske lang. Problemstilling Eva og petter ville skape sine egne arbeidsplasser, og siden de begge har utdannelse fra idrettshøgskolen har de nå startet et treningssenter, IformAS. De har kommet godt i gang og har fått til et godt tilbud til personer med ulike treningsbehov. Hver ettermiddag og kveld fra kl 17.00 arrangeres det ulike aktiviteter med instruktør. Noen av timene tar de selv, men i tilegg har de også ansett tre personer til å hjelpe seg med driften. Senteret har også et styrke- og kondisjonsrom med ulike treningsapparater, samt en sykkelsal. Oversikt over treningstilbud og timeplan for en uke ved IformAS finner du vedlagt. Eva, som er utdannet kostholdsekspert tilbyr også personlig veiledning for de som ønsker en kommbinasjon av trening og vektreduksjon. Petter er utdannet personlig trener, og han tilbyr PT-Timer for de som ønsker det. Senteret har allerede ca- 250 betalende medlemmer. Disse kan velge mellom ulike typer medlemskap - se vedlegg. Alle medlemmene betaler månedlig medlemsavgift. Studenter får 20% på gjeldende priser. Man kan ikke bruke treningssenteret uten å være medlem. Eva og Petter ønsker seg et databasesystem som blant annet kan: Registrere data om instruktører og hvilke aktiviteter de leder. Registrere medlemmer og viken medlemskapstype de har Registrere fremmøte på treningene. Vedlegg Treningstilbud hos IformAS Aktivitetsnavn Type Varighet i minutter Vanskelighetsgrad --------------------------------------------------------------------------------------------- Aerobic 1 Enkel og morsom trening 60 Lett --------------------------------------------------------------------------------------------- Aerobic 2 Trening med krav til koordinasjon 60 Middels --------------------------------------------------------------------------------------------- Step Enkel og morsom trening på stepkasser 60 Middels --------------------------------------------------------------------------------------------- Kondisjon m/styrke 30 min kondisjonstrening og 30 min styrketrening med vekter 60 Hard --------------------------------------------------------------------------------------------- Høy Puls Hard Kondisjonstrening 60 Hard --------------------------------------------------------------------------------------------- Spinn 1 Intervalltrening på sykkel 45 Middels --------------------------------------------------------------------------------------------- Spinn 2 Hard spinningsøkt 75 Hard --------------------------------------------------------------------------------------------- Timeplan over treningen på IformAS Kl Mandag Tirsdag Onsdag Torsdag Fredag 1700 |Aerobic1 |Blank |Aerobic2| Spinn2 |Høy Puls| 1800 |Kondisjon|Spinn 1| Blank |Aerobic 1| Spinn 1 | 1900 | Blank | Step |Høy Puls | Blank | Step | 2000 | Spinn 2 | Blank | Blank |Kondisjon| Blank | Medlemskort på IformAS Medlemskapstype Pris Per Måned Vilkår Gull 500 Tilgang til alle aktiviteter Sølv 400 Tilgang til apparattreninger Bronse 300 Tilgang til en valgfri time en gang i uka Dette var da hele oppgaven ganske lang for den som gidder å lese gjennom alt. Kunne noen ha hjulpet meg med normaliseringen og kanskje gitt meg noen tips hvordan man lager database av den?. Tusen takk for alle som gidder å lese ! Endret 14. juni 2014 av rangergoal Lenke til kommentar
Zash Skrevet 15. juni 2014 Del Skrevet 15. juni 2014 Hardware har en ganske god guide til databasenormalisering, har brukt den selv: http://www.hardware.no/artikler/php-mysql-innforing-kapittel-9/36329Trenger du litt mer grunnleggende informasjon, kan du sjekke kapittelet før: http://www.hardware.no/artikler/php-_mysql-innforing_kapittel_8/36033 Lenke til kommentar
username.cpp Skrevet 15. juni 2014 Del Skrevet 15. juni 2014 Satt faktisk nå å skisserte opp en løsning, men kom til at det ikke er veldig lurt at jeg gjør leksene din. Zash postet linker til en glimrende artikkel som tar for seg normalisering. Spørr heller mer spesifikt om det er noe spesielt du sliter med. Lenke til kommentar
rangergoal Skrevet 15. juni 2014 Forfatter Del Skrevet 15. juni 2014 Satt faktisk nå å skisserte opp en løsning, men kom til at det ikke er veldig lurt at jeg gjør leksene din. Zash postet linker til en glimrende artikkel som tar for seg normalisering. Spørr heller mer spesifikt om det er noe spesielt du sliter med. Jeg sliter litt med selve normaliseringen og datamodelleringen. Jeg vet ikke om jeg får det helt til å stemme. Blir litt sånn usikker. Så skjønner jeg ikke helt hvordan jeg skal få til det her. Registrere fremmøte på treningene. Jeg får da 4 bokser tAktivitet, tTrener, tMedlemmer og tPostadresse hvor tTrener og tMedlemmer har fremmednøkkel i tAktivitet. tPostadresse fremmednøkkel i tTrener og tMedlemmer. Høres dette riktig ut ? Men vet fortsatt ikke helt hvordan jeg skal få fremmøte inn. Lenke til kommentar
username.cpp Skrevet 15. juni 2014 Del Skrevet 15. juni 2014 Det kan være hensiktsmessig å skille mellom Trening og Aktivitet, der en aktivtet har faste rammer for å unngå redundant data der du skriver opp samme treningsinformasjon flere ganger, selv om den i praksis ofte er lik, feks:--------- Aktivtet -------------- - id : Int (PK) - navn : String - type : String - vanskelighetsgrad : String ------------------------------------ --------- Trening ---------------- - id : Int (PK) - aktivtet_id : int (FK aktivtet) - tidspunkt : date - medlemskap : (Evt. bruke egen table og bruke fremmednøkkel) - aktiv : bool ------------------------------------ Jeg regner med et medlem skal kunne registrere seg på mange treninger, samt. at samme trening skal kunne ha mange medlemmer (many-to-many relationship). Du kan registerere dette i en egen tabell. Feks: ------- Medlem_Trening ------- medlem_id : int (FK medlem) trening_id : int (FK trening) medlem_id && trening_id => PK ------------------------------------- Ble kanskje litt rotete, men håper det hjelper litt. Les litt om many-to-many relationships. Nå skal det sies at jeg ikke vet noe særlig om konvensjonene dere bruker. 1 Lenke til kommentar
rangergoal Skrevet 15. juni 2014 Forfatter Del Skrevet 15. juni 2014 (endret) Det kan være hensiktsmessig å skille mellom Trening og Aktivitet, der en aktivtet har faste rammer for å unngå redundant data der du skriver opp samme treningsinformasjon flere ganger, selv om den i praksis ofte er lik, feks: --------- Aktivtet -------------- - id : Int (PK) - navn : String - type : String - vanskelighetsgrad : String ------------------------------------ --------- Trening ---------------- - id : Int (PK) - aktivtet_id : int (FK aktivtet) - tidspunkt : date - medlemskap : (Evt. bruke egen table og bruke fremmednøkkel) - aktiv : bool ------------------------------------ Jeg regner med et medlem skal kunne registrere seg på mange treninger, samt. at samme trening skal kunne ha mange medlemmer (many-to-many relationship). Du kan registerere dette i en egen tabell. Feks: ------- Medlem_Trening ------- medlem_id : int (FK medlem) trening_id : int (FK trening) medlem_id && trening_id => PK ------------------------------------- Ble kanskje litt rotete, men håper det hjelper litt. Les litt om many-to-many relationships. Nå skal det sies at jeg ikke vet noe særlig om konvensjonene dere bruker. ah takk skjønte litt mer, ser at det du kan er litt mer avansert enn det jeg har lært skjønte ikke helt de to atributtene her. - aktiv : bool medlem_id && trening_id => PK Endret 15. juni 2014 av rangergoal Lenke til kommentar
username.cpp Skrevet 15. juni 2014 Del Skrevet 15. juni 2014 Her mener jeg at du kan ha en boolean i medlem-table som tilsier om medlemmet er aktiv bruker eller ikke (evt. har betalt). "medlem_id && trening_id => PK", her kan du la begge verdiene utgjør primærnøkkelen. Beklager, var litt rask Lenke til kommentar
rangergoal Skrevet 15. juni 2014 Forfatter Del Skrevet 15. juni 2014 Her mener jeg at du kan ha en boolean i medlem-table som tilsier om medlemmet er aktiv bruker eller ikke (evt. har betalt). "medlem_id && trening_id => PK", her kan du la begge verdiene utgjør primærnøkkelen. Beklager, var litt rask Ah tusen takk. Takker og bukker. Du har gjort dette mye lettere ! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå