Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Programmering i ActionScript - hva er det, og hvordan undervise?
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Introduksjon til objektorientert programmering i PHP
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.
Polymorfi og arv, del 1 LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag, Avdeling.
Avansert SQL og problemløsning
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Ulike sorteringsmetoder Kompleksitet av dem
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Databaseteori.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Objektorientert programmering i PHP del 2
EcmaScript 5 Arrays Demonstrasjon av ny funksjonalitet støttet i IE 9.
IS-102 Klassedefinisjoner
Databasehåndtering med MySQL
C# for javaprogrammerere
En gang til!? .
ANDROID-PROGRAMMERING VÅREN ACTIVITY OG INTENTS Repetisjon fra forrige gang.
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Datamodellering og databaser Else Lervik, oktober 2012 Forelesning 11, uke 44 Å programmere databasetjeneren – JavaDB.
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
In 135 Datamodellering og databaser Introduksjon, Enkeltentiteten, Informasjon Ola Bø.
INF150 Programmering mandag 11.9
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Objektorientert programmering
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Se ellers læreboka, kap , side
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Inf1000 (Uke 5) Arrayer, filer og tekst
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 14.9 Ulike måter for å lese inn og skrive ut data. Kap. 3.5 mer om if – setninger Ferdige.
Typeparametrisering Generel kode (generisk kode).
Utskrift av presentasjonen:

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Forts. fra Vprg 3 Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_LC191D.php Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, januar 2012

Å bruke Java API-et til å sortere tabeller/ArrayLister der elementene er (referanser til) objekter De ferdige metodene må kunne sammenligne de elementene som skal sorteres (søkes i) Intet problem hvis primitive datatyper Hva hvis objekter? A. Sorterer etter objektenes naturlige orden Sorteringsmetoden må bruke en metode for å sammenligne objektene, og den må vite navnet på denne metoden og hvordan den fungerer Metoden skal hete compareTo() og metodehodet fins i interfacet Comparable En klasse implementerer et interface hvis vi skriver implements <interfacenavn> etter klassenavnet og programmerer alle metodene i interfacet Kjenner java.io.Serializable fra før B. Sorterer etter noe annet enn «objektenes naturlige orden» Da legger vi sammenligningen i en egen klasse som implementerer interfacet Comparator. Et objekt av denne klassen blir argument til sorteringsmetoden

Eksemplet fra forelesning 3 Klassen Utstyr er gitt. Programmer deler av klassen Register med enkel testklient. Register registeret Utstyr 1 * Finn antall typer forskjellig utstyr I regeisteret Lag en utstyroversikt Registrer ny utstyrstype Finn antall på lager av en bestemt type utstyr Endre lagerbeholdningen for en bestemt type utstyr Søke fram detaljinfo om en bestemt type utstyr Vis fram koden fra forelesning 3, eksempel på sortering av arraylister etter naturlig orden. Utvid med annen sortering.

Søking i arraylister, Java API-et Binærsøk krever sammenligning, bruker Comparable eller Comparator Lineærsøk krever kun test på likhet / ikke likhet. Meoden indexOf() i klassen ArraList bruker equals(). Rimelig at equals() programmeres med samme funksjonalitet som compareTo() == 0. Hva skjer hvis vi bruker disse metodene og ikke programmerer compareTo()? ikke programmerer equals()? Prøv ut indexOf() i registerklassen.

Oversikt over metoder i Java API-et Tabell ArrayList Sortering java.util.Arrays.sort(tabell) java.util.Arrays.sort(tabell, komp) java.util.Collections.sort(arrayliste) java.util.Collections.sort(arrayliste, komp) Binærsøk, returnerer indeksen, eventuelt (-indeks -1) java.util.Arrays.binarySearch( tabell, søkeverdi) java.util.Arrays.binarySearch( tabell, søkeverdi, komp) java.util.Collections.binarySearch( arrayliste, søkeverdi) java.util.Collections.binarySearch( arrayliste, søkeverdi, komp) Lineær søk, Returnerer indeksen, eventuelt -1 objektmetode i klassen ArrayList: indexOf(element) lastIndexOf(element)

Sammenligne tekster iht lokalt tegnsett String implementerer Comparable<String> Hvordan fungerer compareTo() for strenger? Hva med compareToIgnoreCase()? Klassen java.text.Collator implementerer Comparator<String> slik at tekstene sorteres iht lokalt tegnsett public int compareTo(Utstyr u) { // skal sammenligne this med u return betegnelse.compareTo(u.betegnelse); // tar ikke hensyn til æ, ø og å } Skiftes ut med java.text.Collator koll = java.text.Collator.getInstance(); return koll.compare(this.betegnelse, u.betegnelse); // tar hensyn til æ, ø og å

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Vprg 5 Hva er en database? Hva er SQL? Å ta i bruk JavaDB Å lage Java-program mot en database LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_LC191D.php Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, januar 2012

Introduksjon til databaser Når er det ikke godt nok med datafiler? Vi trenger å gjøre hyppige oppslag Vi trenger å lagre/endre ting fortløpende Vi trenger å hente ut spesifikke kombinasjoner av data Vi har høye krav til sikkerhet Flere brukere samtidig Så hva er en database? ”En logisk samling med data satt sammen etter bestemte krav” Sentrale begreper databasesystem: Programvare som lar oss håndtere data (lagre, hente ut, endre, slette) og som tilbyr mekanismer for sikkerhetskopiering, adgangskontroll, transaksjonskontroll, med mer. Oracle, SQL Server, mySql, postgreSQL, Java DB (Derby), (Access) database: dataene tjener – klient, flerbrukersystemer Vi ser data på tabellform og intet annet, ofte en tabell pr ”klasse”

Eksempel (fra forelesning 3) Poststed Student I en vanlig relasjons- database lagres kun dataene. poststed -postnr {readonly} -sted {readonly} -studnr * 1 +getPoststed() +getStudnr() +setPoststed() +setStudnr() +finnPostnr() +finnSted() +getPostnr() +getSted() Poststed Student postnr sted 7022 Trondheim 1751 Halden 5020 Bergen studnr postnr 12345 1751 23456 7025 34567 class Student { private Poststed poststed; private int studnr; class Poststed { private final String postnr; private final String sted;

Spesielle krav til tabellene Poststed Student postnr sted 7022 Trondheim 1751 Halden 5020 Bergen studnr postnr 12345 1751 23456 7025 34567 kun én verdi i hver rute ingen rader er like, det eksisterer en såkalt ”primærnøkkel” som identifiserer raden de samme dataene lagres ikke flere ganger enn nødvendig. I praksis betyr det at data lagres dobbelt bare dersom det trengs for å kople sammen tabeller – vi kopler sammen tabeller via kolonner med felles dataverdier

Oppgave Hvilke tabeller foreslår du for klassene fra Øving 3? Anta at du skal lage en database for et konferansesenter for å holde oversikt over reservasjoner. reserva- sjonene Reservasjon Konferanse- senter rommene Rom 1 * 1 *

Hva er SQL? Å ta i bruk JavaDB - demo Standardisert språk for å lage, slette og endre tabeller å hente ut data, å legge inn, slette og endre data Å ta i bruk JavaDB - demo Lag en database som består av en enkelt tabell CREATE TABLE person( persnr INTEGER PRIMARY KEY, fornavn VARCHAR(30) NOT NULL, etternavn VARCHAR(30) NOT NULL); INSERT INTO person VALUES (100, 'Ole', 'Hansen'); INSERT INTO person VALUES (101, 'Anne Grethe', 'Ås'); INSERT INTO person VALUES (102, 'Jonny', 'Hansen'); Utfør enkle SQL-setninger

Å lage Javaprogram mot en database standardisert grensesnitt (JDBC), forskjellige drivere (husk classpath!) Demonstrasjon: Lag enkle Java-program som henter ut / legger inn data