HØGSKOLEN I SØR-TRØNDELAG

Like dokumenter
HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN ITF Webprogrammering 1 Dato: Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

9. ASP med databasekopling, del II

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Datamodellering og databaser SQL, del 2

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring -

Klasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting STOL ALDRI PÅ KLIENTEN!

Datamodellering og databaser SQL, del 2

EKSAMEN (Konvertert fra en gammel PHPeksamen)

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

SQL 3: Opprette tabeller, datainnsetting og utsnitt

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Datamodellering og databaser SQL, del 2

8. ASP med databasekopling, del I

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Emnenavn: Ny/utsatt eksamen. Eksamenstid: Faglærer: Edgar Bostrøm. Erik Åsberg. Davide Roverso

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor.

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

1. Innføring i bruk av MySQL Query Browser

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Svararket skal påføres følgende informasjon: - Eksamenskode - Initialer - Eksamenssted - Studentnummer

Labquality/NKK ELEKTRONISK RESULTATSKJEMA VIA INTERNET. Åpning av skjemaet. Logg inn på Participant services. Velg resultatskjemaet

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Videregående programmering 6

Miniverden og ER- modell

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi LØSNINGSFORSLAG EDT208T-A. Programmerbare logiske styringer

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

LES DENNE SIDEN FØR DU BEGYNNER!

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

Transkript:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 19. mai 2003 Varighet: 0900-1300 Fagnummer: Fagnavn: Klasser: LV193D Web-programmering med JSP NETT Studiepoeng: 6 Faglærer(e): Hjelpemidler: Oppgavesettet består av: Vedlegg består av: Tomas Holt og Else Lervik Alle håndskrevne og trykte hjelpemidler. 2 oppgaver og 5 sider ekskl. forsiden Ingen Merknad: Oppgaveteksten kan beholdes av studenter som sitter eksamenstiden ut. Lykke til!

Oppgave 1 (50%) Vektfordeling: Oppgave a 35%, b 10% og c 5%. En restaurant har ønsker om et web-basert system. Systemet skal være slik at hver gang det kommer gjester så velger en av de ansatte hvilket bord gjestene skal sitte ved, hvor mange de er (antall kunder) og skriver inn hvor mye de handler for. Vi antar at gjestene ved et bord kun handler en gang ved hvert besøk. Figuren under viser hvordan web-siden skal være. Systemet skal også ha et valg der man kan få en oversikt over hvor mye penger som brukes på hvert enkelt bord (se knappen Sum for hvert enkelt bord ). På denne måten kan man se hvilket bord som er det mest lønnsomme bordet. Figuren under viser hvordan dette skal se ut. 1

Begrensninger i løsningen: Tips: Systemet skal ikke lagre data på fil eller i database. Vi antar at web-tjeneren alltid vil være tilgjengelig og at den aldri krasjer eller blir stoppet. Det vil til enhver tid bli brukt kun en nettleser (i restauranten) mot dette systemet. Restauranten har 10 bord. Du kan anta at alle beløp er i hele kroner. Du kan selv velge hvor mange web-sider du vil lage. Det er mulig å ha flere HTML-skjema (HTML-forms) i en web-side. Du bør lage løsningen så generell at det er enkelt å legge til flere bord om det skulle bli ønskelig. a) Løs systemet beskrevet over. Merk at du godt kan løse oppgave a og b samtidig! Tips: Du trenger ikke i denne oppgaven å ta vare på hvor mange som sitter ved hvert enkelt bord, kun summen det blir handlet for ved hvert bord. b) Utvid løsningen slik at du også for hvert bord tar vare på hvor mange gjester som har sittet ved hvert enkelt bord. Når du skriver ut oversikten over forbruk på hvert bord skal du også skrive ut hvor mange som har sittet ved bordet tilsammen. For å få full uttelling på denne oppgaven må du lage en egen klasse som holder orden på summen brukt ved et bord og antall gjester ved bordet. c) Fungerer løsningen din uten at nettleser støtter cookies? Forklar hvorfor/hvorfor ikke og eventuelt hva som må til for å ta høyde for dette. Oppgave 2 (vekt 50%) Du skal i denne oppgaven lage et system mot en database som består av tre tabeller: Tabellen Oppgaver Tabellen Studenter Tabellen Oppgavevalg Tabellen Oppgaver viser en oversikt over studentoppgaver. Tabellen Studenter viser hvilke studenter som skal/kan utføre disse oppgavene, mens tabellen Oppgavevalg viser hvilke 2

studenter som utfører hvilke oppgaver. Vi ser av tabellen Oppgavevalg at vi for øyeblikket kun har to oppgaver under utførelse, det er oppgave 1 og 2. Oppgave 1 utføres av studentene med nummer 1005 og 1006 (Hanne Hansen og Inger Ås). Oppgave 2 utføres av studentene 1001 og 1003 (Ole Hansen og Ingrid Buvik). I denne oppgaven skal du lage to JSP-sider, se oppgave a) og b) nedenfor. På grunn av at vi har tre tabeller, blir kanskje et par av SELECT-setningene mer kompliserte enn du er vant med, men dette skal du ikke tenke på. Du skal kun ta i bruk de dataene som hentes ut, og som har kolonnenavn som oppgitt etter ordet select. Du velger selv hvilket databasesystem og hvilken driver som skal brukes. Dersom du trenger et navn på databasen, kan du bruke oppgaver. Du trenger ikke tenke på håndtering av exceptions. Oppgave a) Lag en JSP-side som kan brukes til å registrere oppgaver for studenter som ikke har valgt oppgave. Tabellen over viser at student 1001, 1002 og 1006 ikke har valgt oppgave. Brukeren har nettopp skrevet inn at student 1002 skal ha oppgave 4. SQL-setningen for å hente ut nummer og navn til de studentene som ikke har valgt oppgave ser slik ut: SELECT studnr, navn FROM studenter WHERE studnr NOT IN (SELECT studnr FROM oppgavevalg) ORDER BY studnr ; 3

Siden skal altså vise fram en tabell der brukeren kan skrive inn et oppgavenummer. Når brukeren trykker på knappen "Lagre oppgavevalg", skal det legges inn en ny linje i tabellen Oppgavevalg. Dersom oppgavenummeret er 4 og studentnummeret 1002, ser SQL-setningen slik ut: INSERT INTO Oppgavevalg VALUES(4, 1002); Du skal ikke legge inn noe kontroll av at oppgavenummeret er gyldig. Etter at lagringen er utført skal det skrives ut en kvittering, eksempel: 4 rader er lagret i tabellen Oppgavevalg. Oppgave b) Denne JSP-siden viser alle oppgavene med oversikt over hvilke studenter som skal løse hvilke oppgaver. Brukeren skal ha mulighet til å velge veileder der det ennå ikke er bestemt. For enkelthets skyld lagres ikke veilederne i databasen, men hardkodes i JSP-skjemaet i en nedtrekksliste. Følgende SQL-setning henter ut alle oppgavene: SELECT * FROM oppgaver; I databasen er verdien i kolonnen Veileder enten "Ikke bestemt" eller et navn. Dersom verdien er "Ikke bestemt", skal du vise fram en nedtrekksliste med følgende verdier: Ikke bestemt, Kari Hansen, Åse Heyer, Inger Bardsen, Bjørn Huseby, Andreas Heia. 4

For hver oppgave skal vi hente ut alle aktuelle studenter. Slik ser SQL-setningen ut for oppgave 4: SELECT navn FROM studenter, oppgavevalg WHERE studenter.studnr = oppgavevalg.studnr AND oppgavevalg.oppgnr = 4; Her får du fram et eller flere navn. Disse skal settes sammen til en tekst med komma mellom og vises i en rute i tabellen. I eksemplet over løses oppgave 3 av to studenter: Pia Jensen, Inger Ås. Når brukeren trykker på knappen "Lagre veiledervalg", skal alle nye veiledere lagres. Det betyr at den aktuelle raden i tabellen Oppgaver skal oppdateres. Dersom veilederen for oppgave 5 skal hete "Andreas Heia", ser SQL-setningen slik ut: UPDATE oppgaver SET veileder = 'Andreas Heia' WHERE oppgnr =5; Etter at lagringen er utført skal det skrives ut en kvittering, eksempel: Nå er veiledere lagret. Har oppdatert i alt 3 rader. 5