Innleveringsoppgave4 Viskalherbyggeviderepådatabasenfrainnleveringsoppgave3.(Modellenfra innleveringsoppgave3ergjengittpåsisteside.) UniversitetetiUqbarerveldigopptattaveffektiviseringogvilgjernefåtimelister,bådefor overtidogfortimeansatte,påelektroniskform.Enmåteågjøredettepå,eråutvide databasenfraforrigeinnlevering.Sidenvinåskalsepådettefraarbeidsgiverensside, trengerviåskillemellomforskjelligeansatte.Dessutenmåviviteomdenenkelteeransatt påtimebasis(ogskalhavanligtimelønn)ellerfast(ogbareskalhaekstrabetaltnår timetalletoverstigervissegrenser). Fastansattekanværeansattfulltid,noesomiRuritaniaer30timerpr.uke,ellerdekan væredeltidsansatt.Ihvertfallforallefastdeltidsansattemåsystemetvitehvormangetimer pr.ukedenansatteskaljobbe.(Overstigertimetalletdette,skaldetutebetalestimelønn fremtil30timeroverstiges;deretterskaldetutebetalesovertid.) Ansatteharetlønnstrinn,ogforhvertlønnstrinnfinnesenmånedslønnforfulltidsansatte, envanligtimelønnogentimelønnforovertid.(MyntenheteniRuritaniaheterruro,ogen ruroerhundreur.) Viderejobberdeansatteofte,menikkealltid,påprosjekter.Prosjekterharenprosjektkode, dessutenhardeenbudsjettrammeforpersonalkostnader(somangisiantalltimer,ikkei ruroogur).Deharenprosjektledersomalltiderfastansatt,ogsomskalgodkjenne timebruken.Nårenansattblirsattpåetprosjekt,bestemmesdetogsåenøvregrensefor hvormangetimervedkommendeskaljobbepåprosjektet. 1 Oppgave1.BrukORMtilålageeninformasjonsmodellsompassermedvirkelighetsbeskrivelsen(ogforretningsreglene)over. Hint: 1. Prøvåidentifisereundertemaer.Modellerhvertundertemaforseg. 2. Hvisetundertema(etsakskompleks)virkerkomplisertåmodellere,såforsøkå modellereenforenkletversjonførst.(Deterbedreåhaenenkelmodelldernoen aspekterkanskjeikkeerheltivaretatt,ennåentenhaenkomplisertmodellsomer feil,elleråikkefåtilnoeidetheletatt...) 3. HuskatORM-modellerbareinneholderstatiskeskranker.Derforkandetgenerelt væreatenbeskrivelseinneholdernoen«dynamiske»opplysningersomikkeer relevanteforORM-modelleringen.Deterogsåofteslikatnoenavde«statiske» opplysningenehellerikkemodelleres,entenfordidegirenunødigkomplisert modell,ellerfordidesimpelthenikkeerrelevante. Oppgave2.Realiser(gruppér)ORM-modellentiletrelasjonsskjema. DereskalikkelevereSQL-kodefordette,menpresentererealiseringenpåsammeformsom relasjonsskjemaetfordenopprinneligedatabasen;dettefinnerderepåsisteside.Detkan værelurtåtaenkikkpådetteskjemaetførst.Lesogsådetilhørendekommentarene. Oppgave3.BrukSQLtilåfinneut 1. omdeternoensomerprosjektlederepåflereennettprosjekt 2. omdeternoenprosjektlederesomogsåjobberpåprosjekterderdeikkeer prosjektledere 3. hvilkenavdetimeansattesomharhøyestlønnstrinn 4. gjennomsnittslønnentildefastansattefordeltpåstillingsbrøk,dvs. (i)gjennomsnittslønnentilheltidsansatte(dvs.med30timeriuken), (ii)gjennomsnittslønnentildeltidsansattemed29timeriuken, (iii)gjennomsnittslønnentildeltidsansattemed28timeriuken,osv. Sorterlistenetteravtagendestillingsbrøk. 2 ORM-modellenfrainnleveringsoppgave3: Relasjonsskjema: Hvisvibrukerrealiseringsalgoritmenrettfremutenåtahensyntilkommentarenemerket1 og2imodellenover1,fårvi: Timeliste(timelistenr,status,[levert],[utbetalt],[timeantall],beskrivelse) Timelistelinje(timelistenr,linjenr,startdato,starttid,[sluttid],[pause],[varighet],beskrivelse) Følgendetabellererundertrykt,dvs.sløyfetfordideterlitepoengiåhaegnetabellerfor disseopplysningene2: Timelistestatus(status) Dato(aammdd) Klokkeslett(hhmm) Tidsrom(antminutter) Beskrivelse(tekst) Linje(linjenr) Fremmednøkler: Timelistelinje(timelistenr)→Timeliste(timelistenr) 1 Ireellemodellererdetikkeuvanligåhasliketekstligeskranker.Detteerskrankersomikkekan uttrykkesiORM.Forågjøredetenklere,skalderegenerelt(medmindrevieksplisittsiernoeannet) ikketahensyntiltekstligeskrankerunderrealiseringen. 2 Dereskalvanligvisikkegjengiundertryktetabeller;deertattmedherforåillustrerehvaslags tabellersomtypiskundertrykkes.Detteblirforelestskikkeligsenere,såderefårikketrekkomdere tarmedsamtligetabelleribesvarelsenpåakkuratdenneinnleveringsoppgaven. 3
© Copyright 2024