Datamodellering. Diskusjonspunkter. Figur 1-1. Informasjonssystemet gjenspeiler «virkeligheten» Figur 1-2. Data krever tolkning
|
|
- Mette Olafsen
- 7 år siden
- Visninger:
Transkript
1 Datamodellering FINF august amanuensis Gerhard Skagestein Institutt for informatikk, UiO To formål en modell? Diskusjonspunkter Realiseringsplattformens innvirkning på modellen Grafiske dialekter ER, UML klassediagrammer, ORM Attributter eller assosiasjoner? Behovet for datatyper Valg av identifikator { key } Hva er en weak entity? Undertyper når skal vi bruke dem? Generalisering/spesialisering Hva er egentlig et individ? Tesselering i rom og tid Grensetrekking mellom skjema og forekomster Noen mønstre FINF400DM - FINF400DM -2 Figur -. Informasjonssystemet gjenspeiler «virkeligheten» Figur -2. Data krever tolkning Virkeligheten (interesseområdet) Referanseramme registrering påvirkning Oppfatningen av virkeligheten Annen relevant kunnskap Oppfatningen av virkeligheten Brukere Informasjonssystem Informasjonssystem Data Brukere! Informasjon Virksomheten FINF400DM -3 FINF400DM -4
2 Modellenes to formål Interesseområdet Beskrivelse Figur 5-2. Ogdens trekant Thoughts of Reference Begreper Person Bil Døgn Oppfatningen av interesseområdet Foreskrivelse DF febr Informasjonssystem Brukere Symbol Lingvistiske elementer representasjoner Referent Fenomener i interesseområdet FINF400DM -5 FINF400DM -6 En enkel datamodell Figur 5-3. Datamodell attributter erstattet med assosiasjoner fylkenavn {unique} omfatter : ligger-i 0: kommunenr{id} avfallsmengde {null} innbyggertall omfatter : stilhørighet Multiplisitet ligger-i 0: Klasse, stereotypet som begrep 0: avfallsmengde navn fylkenavn {id} navn {id} # tonn {id} Mengde Assosiasjon Rolle innbyggertall # {id} Antall FINF400DM -7 FINF400DM -8
3 Figur 5-6. Bruk av identifiserende assosiasjon Figur 5-3. Datamodell med identifiserende assosiasjon omfatter ligger-i omfatter : ligger-i 0: stilhørighet Klasse, stereotypet som begrep Multiplisitet navn fylkenavn {id} tosifret kommunenr kommunenr2s {id} kommunenr2s {id} navn {id} 0: avfallsmengde # tonn {id} Mengde Assosiasjon Rolle innbyggertall # {id} Antall FINF400DM -9 FINF400DM -0 Figur 5-3b. Modell med fremmednøkler Figur 5-5. Relasjonsdatabasen fylkenavn {fk} {unique} navn fylkenavn {id} fylkenavn navn fylkenavn omfatter : navn ligger-i 0: {fk} {id} kommunenr2s {id} {fk} avfallsmengde {fk} {null} innbyggertall {fk} 0: avfallsmengde navn {id} Mengde # tonn {id} Antall kommunenr2s Mengde Antall antall_tonn antall avfallsmengde innbyggertall innbyggertall # {id} FINF400DM - FINF400DM -2
4 Figur 5-8. Relasjonsdatabase uten unyttige tabeller Figur 5-9. Modell uten unyttige klasser fylkenavn fylkenavn {unique} omfatter : kommunenr2s avfallsmengde innbyggertall ligger-i 0: {fk} {id} kommunenr2s {id} avfallsmengde {null} innbyggertall FINF400DM -3 FINF400DM -4 Figur 5-6. Relasjonsdatabasestruktur uten nil Figur 5-7. Modell med mange-til-mange-assosiasjon kommunenr2s avfallsmengde innbyggertall gjenvunnet_materiale Materiale materialnavn {id} kommunenr2s innbyggertall 2 kommunenr2s innbyggertall FINF400DM -5 FINF400DM -6
5 Figur 5-8. Modell med assosiasjonsklasse Figur 5-9. Assosiasjonsklassen erstattes med en vanlig klasse Materialgjenvinning 0: gjenvunnet mengde gjenvunnet_materiale # tonn {id} Mengde Materiale materialnavn {id} Materialgjenvinning gjenvunnet_ materiale Materiale materialnavn {id} 0: gjenvunnet mengde # tonn {id} Mengde FINF400DM -7 FINF400DM -8 Figur 5-. Spesialisering og generalisering Underbegreper Figur 5-2. Modell med underbegreper Mann fødselsnr {id} a) far mor Generalisering Kvinne fødselsnr {id} Spesialisering Person fødselsnr {id} far mor b) omfatter Navn navn {id} {disjoint, complete} Person ligger-i navn navn c) fødselsnr {id} {disjoint, complete} Mann far mor Kvinne FINF400DM -9 FINF400DM -20
6 Figur 5-5. Modell med generalisering Figur 5-7. Håndtering av underbegreper omfatter ligger-i fylkenavn navn {id} Navn Kjønn kjønnskode {id} diskriminerende assosiasjon Person fødselsnr {id} 0: {disjoint, complete} Fornavn navn {id} Mann Kvinne antall fødsler Antall # {id} FINF400DM -2 FINF400DM -22 a) Separasjon Figur 5-7. Håndtering av underbegreper Person fødselsnr kjønn fornavn Figur Samme fenomen uten og med tidsdimensjon Mann fødselsnr Kvinne fødselsnr b) Absorpsjon Person fødselsnr kjønn fornavn c) Partisjonering antall_fødsler antall_fødsler nil hvis kjønn = m Én forekomst for hvert tidspunkt! t t Person ansattnr{id} Kjønn kjønnskode{id} Person fødselsnr Kan sløyfes, ingen forekomster Mann fødselsnr kjønn fornavn Kvinne fødselsnr kjønn fornavn antall_fødsler År årstall{id} Personår 0: #kg{id} Vekt FINF400DM -23 FINF400DM -24
7 ansattnr{id} kjønn Figur UML klassediagram og tilsvarende relasjonsdatabase, uten og med tidsdimensjon Person Person ansattnr kjønn Intensjon og ekstensjon Husholdningsavfall Relasjonsskjema nr nr navn Databasens intensjon Avfallsmengde Personår Databasens ekstensjon ansattnr {id} {fk} årstall {id} vekt Personår ansattnr årstall vekt Tupler/ Linjer/ Forekomster Halden Moss Sarpsborg FINF400DM -25 FINF400DM -26 Diskusjonspunkter Når bør vi normalisere? Databaser Fra modell til relasjonsdatabase Fra modell til OO-database FINF september 2003 Hvordan oppnå permanens Brukerklienter og databasetjenere. amanuensis Gerhard Skagestein Institutt for informatikk, UiO gerhard@ifi.uio.no Statisk vs dynamisk SQL prekompilering vs. rutinekall Tilgangskontroll Sikringsmekanismer Distribuerte databaser: To-fase-commit vs. replikering FINF400DM -27 FINF400DM -28
8 Høyere ordens assosiasjoner en vederstyggelighet Høyere ordens assosiasjon vist som tabell År År omfatter : årstall {id} omfatter : årstall {id} Ikke i henhold til UML-standarden! ligger-i 0: ligger-i 0: Materialgjenvinning gjenvunnet_ materiale Materiale materialnavn {id} Materialgjenvinning gjenvunnet_ materiale Materiale materialnavn {id} navn navn Er entydighetsskranken korrekt? Er tabellen normalisert? {id} {id} FINF400DM -29 FINF400DM -30 Høyere ordens assosiasjon vist som tabell Høyere ordens assosiasjon løst opp med nytt begrep År År jf. figur 5-0 i Skagestein: Systemutvikling årstall {id} årstall {id} omfatter : ligger-i 0: navn {id} Materialgjenvinning gjenvunnet_ materiale Materiale materialnavn {id} navn {id} Materialgjenvinning omfatter : ligger-i 0: gjenvunnet_ materiale 0: gjenvunnet mengde Materiale materialnavn {id} # tonn {id} Mengde FINF400DM -3 FINF400DM -32
9 Statiske og dynamiske virkelighetsmodeller Dataorientert (statisk) virkelighetsmodell Interesseområdet t Virkelighetsmodellen omfatter o virkelighetens tilstander og deres representasjoner registrering påvirkning o regler for lovlige/ulovlige tilstander og tilstandsoverganger Informasjonssystem Oppfatningen av interesseområdet t Brukere t Virkelighetsmodellen omfatter ikke transformasjoner fra en tilstand til den neste Informasjonssystemet får istedenfor en melding om at virkeligheten har endret seg, og virkelighetsmodellen oppdateres ved hjelp av funksjoner i applikasjonslaget. Virkelighetsmodellen deles av alle funksjoner FINF400DM -33 FINF400DM -34 Objektorientert (dynamisk) virkelighetsmodell Virkelighetsmodellen gjenspeiler konkrete og/eller tenkte (mentale) objekter, med hver sin tilstand og hver sin oppførsel Virkelighetsmodellens objekter kan selv sørge for transformasjoner fra en tilstand til den neste Informasjonssystemet må i tillegg ha funksjoner (ofte implementert ved hjelp av objekter) for o (resten av) forretningslogikken o brukergrensesnittet Fra det dataorienterte til det objektorienterte perspektiv I det dataorienterte perspektivet interesserer vi oss for faktaopplysninger av statisk natur om interesseområdet, og skranker som forhindrer registrering av åpenbart uriktige fakta I det objektorienterte perspektivet interesserer vi oss for virkelige og tenkte objekter i interesseområdet, og hvordan disse objektene gjennom samarbeide kan gi en hensiktsmessig modell Javel, men har ikke da disse perspektivene svært lite til felles? FINF400DM -35 FINF400DM -36
10 Andre relevante forskjeller I OO har vi som collection ikke bare mengde, men også bag, list og array > krav om entydighetsskranke faller bort > forekomstene kan ordnes I OO kan strukturer som set, bag, list og array, samt generelle objekter, brukes som verdier > uendelige mange muligheter for hvordan data struktureres I OO er dataene innkapslet i objektene > dataenes struktur er ukjent for omverdenen - de kan bare fås tak i gjennom spørremeldinger (jf. neste lysark) i OO har objekter sin egen innebygde identifikator (OID) > begreper behøver ikke alltid ha en representasjon Ah, hvilken frihet - men vi betaler vel noe for dette? Klasser eller objekter først? Dataorientert utforming: Begreper og klasser, deretter forekomster Men: Homogenitetsregelen Objektorientert utforming: Objekter, deretter klasser Hvorfor forskjellen i praktisk fremgangsmåte? FINF400DM -37 FINF400DM -38 Forholdet mellom det generelle og det spesielle (klasser og objekter) Det generelle, eksisterer det egentlig, eller er det noe vi har funnet på for å beskrive/snakke om verden på en enklere måte? o Eks: kråker, mennesker o Eksisterer slike fellesbegreper, eller er det bare vår egen begrepsdannelse? o Hvis de eksisterer, er de av fysisk eller åndelig natur? o Eksisterer det generelle evt. fritt fra de enkelte individene, eller bare som del av disse? Debatt fra 00- tallet, interessant for systemutviklere Nominalist Nominalist eller Realist o Det som eksisterer er bare enkeltindividene. Generelle fellesbegreper er skapt av menneskene, bl.a. for bedre å forstå/beskrive verden (eks. Wilhelm av Occam og Charles Darwin) Realist o Generelle fellesbegreper som kråke, menneske har en egen eksistens, og enkeltindividene er dannet etter disse (eks: Platon og Thomas av Aquinas) FINF400DM -39 FINF400DM -40
11 Datadrevet vs. ansvarsdrevet modellering Datamodellering: Hvilke ting må systemet vite om, og hva må det vite om disse tingene? Datadrevet OO: Hvilke objekter har vi? Hva må et objekt vite om seg selv, og hvilke andre objekter må det kjenne til? Hva må hvert objekt kunne gjøre for å kunne løse oppgaven? Hvilke objektbeskrivelser (=klasser) trengs? Ansvarsdrevet OO: Hvilke objekter må til for å løse oppgaven, og hvilket ansvar må hvert objekt ivareta? Hva må hvert objekt kunne gjøre for å oppfylle ansvaret? Hva må et objekt vite om seg selv, og hvilke andre objekter må det kjenne til? Gir disse ulike tankemåtene samme svar? Objektorientert vs. dataorientert utforming Både dataorienterte og objektorienterte informasjonssystemer inneholder data. Forskjellen er at i dataorienterte systemer er alle data samlet i en sentral ressurs databasen, mens i objektorienterte systemer er dataene fordelt på objektene ut fra det generelle prinsipp at det objektet som har bruk for data selv tar vare på dem. I objektorienterte systemer får dataene evig liv ved å gjøre objektene persistente. Dette kan realiseres på flere måter for eksempel ved hjelp av en OO-database. Ugrupperte modeller bygd med elementære utsagn er i utgangpunktet nøytrale overfor hvilket perspektiv som velges. Perspektivet kommer inn når de elementære utsagnene skal grupperes til relasjonsdatabase eller inn i objekter. Gruppering til relasjonsdatabase kan gjøres utelukkende ut fra skrankene i den ugrupperte dataorienterte modellen (i UML eller ORM). For gruppering til objekter må vi i tillegg se på ansvarsfordelingen. FINF400DM -4 FINF400DM -42 Objektorientert vs. dataorientert utforming Informasjonssystem new new klasse Objektorientert Realisering av klassediagrammet fylkenavn relasjonsdatabase {fk} komnr2s {id} objekter Program Informasjonssystem CREATE INSERT INSERT Dataorientert klasse (entitet) 0 0 fylkenavn 0 Østfold komnr2s 0 04 Halden Moss Østfold: 0 Østfold evt. metoder realiseres ved hjelp av OIDs eller relationships : 00 Halden evt. metoder : 004 Moss evt. metoder FINF400DM -43 FINF400DM -44
12 Til relasjonsdatabase: Generering av fremmednøkler Stryk unyttige klasser År År navn {id} årstall {id} omfatter : ligger-i 0: «identi- fying» {fk}{id} kommunenr2s {id} {fk} Materialgjenvinning kommunenr{fk}{id} gjenvunnet_mat{fk}{id} år{fk}{id} gjenvunnet_mengde{fk} gjenvunnet_ materiale 0: gjenvunnet mengde Materiale materialnavn {id} Mengde # tonn {id} FINF400DM -45 omfatter : ligger-i 0:? «identi- fying» Materiale materialnavn {id} {fk}{id} kommunenr2s {id} {fk} navn {id} årstall {id} Materialgjenvinning {fk}{id} kommunenr2s{fk}{id} gjenvunnet_mat{fk}{id} årstall{id} gjenvunnet_mengde gjenvunnet_ materiale 0: gjenvunnet mengde # tonn {id} Mengde FINF400DM -46 Relasjonsdatabasen Figur 0-0. Sekvensdiagram for avfallsstatistikk-system Kontrollobjekt Forretningsobjekter Delmengdeskranke/ referanseintegritet Materiale materialnavn :Brukergrensesnitt :Statistikkinteressert person Be om statistikk :Statistikkprodusent new( ) :HeleLandet Halden: Moss: Halden998: Gjenvinning Halden200: Gjenvinning Moss998: Gjenvinning kommunenr2s lagstatistikk(args) hentdata(args) mengde:=gjenvunnetmengde (periode,materiale) mengde :=gjenvunnetmengde(materiale) mengde := gjenvunnetmengde(materiale) mengde :=gjenvunnetmengde (periode,materiale) mengde := gjenvunnetmengde(materiale) gjenta for alle kommuner gjenta for alle aktuelle år Materialgjenvinning kommunenr2s gjenvunnet_mat år gjenvunnet_mengde Fjern objektet det trengs ikke lenger FINF400DM -47 FINF400DM -48
13 Figur 0-. Klassediagram for avfallsstatistikk-system Flytting av grense skjema/forekomster HeleLandet struct hentdata(args) int gjenvunnetmengde (periode, materiale) Materialgjenvinning årstall {id} papirmengde glassmengde plastmengde kommune materiale papp glass plast gjenvunnet Opprinnelig struktur Objektorientert klassediagram int gjenvunnetmengde (materiale) papp glass plast Mer metadata, mindre data Dataorientert klassediagram Materialgjenvinning årstall {id} materialnavn {id} mengde kommune papp glass plast 0 0 FINF400DM -49 FINF400DM -50 Skranker Hvorfor er skranker så viktige i dataorientert utforming, og lite omtalt i objektorientert utforming? En relasjonsdatabase har ingen egen bevissthet, og trenger et regelverk og en vaktbikkje til å beskytte seg Objekter har oppførsel, og vi antar at de følger Kardemommeloven: Du skal ikke plage andre, du skal være grei og snill og for øvrig kan du gjøre hva du vil Antagelsen holder ikke nødvendigvis alltid stikk (programmeringsfeil!) derfor er skranker på vei inn også i objektorienterte systemer jfr OCL (Object Constraint Language) Integritetsskranker i relasjonsdatabaser Brukergrensesnitt Integritetsregler Metadata Kunde Ordre Database Primærnøkler og entitetsintegritet Fremmednøkler og referanseintegritet Andre skranker Brukerdata Databasehåndteringssystem (DBMS) FINF400DM -5 FINF400DM -52
14 Klient-tjener-filosofi klient Spørreklienter mot databasetjenere - et eksempel på klient/tjener-arkitektur tjener klient klient tjener klient kan du være så snill å... Spørreklienter mot databasetjenere - en typisk anvendelse av klient/tjener-arkitektur o Felles, ytelsesoptimalisert, sikret database o Personlig brukergrensesnitt og datamassasje med fornøyelse! Det er alt gjort! Hver enkelt klient og tjener er et selvstendig (autonomt) system! Klienten er proaktiv, tjeneren reaktiv klient Database tjener FINF400DM -53 FINF400DM -54 PC -databasehåndterere Ekte klient-tjener-løsninger SQL Frittstående maskin hent filer SQL prosedyrekall Filtjener Databasetjener Databasetjener I begge tilfeller gjøres databaseoperasjonene på brukerens maskin! lagret prosedyre PC i nett Klient-tjener-løsning med SQL-grensesnitt Klient-tjener-løsning med lagrede prosedyrer FINF400DM -55 FINF400DM -56
15 Mellomvare ( Middleware ) Open Database Connectivity ODBC Komponenter o Applikasjon Applikasjon Mellomvare Standardiserte grenseflater o Driver Manager o Drivere o Datakilder ( = DBMS med data ) Driver Manager Driver Driver Driver ODBC interface Mellomvaren skjuler ulikheter i databasegrensesnitt eventuelt datanett En Microsoft standard! Datakilde Datakilde Datakilde FINF400DM -57 FINF400DM -58 ODBC med eksempel på drivere Java Database Connectivity JDBC Komponenter Application Application Application Driver to Oracle SQLNet ODBC API ODBC Driver Manager Service Provider API Driver to SQL Server Net Lib Driver to DB2/6000 ESQL/DRDA Driver to NonStop SQL NS SQL o Applikasjon (skrevet i Java) o Driver Manager (objekter med metoder) o Drivere o Datakilder ( = DBMS med data ) Applikasjon Driver Manager Driver Driver Driver Datakilde Datakilde Datakilde JDBC interface FINF400DM -59 FINF400DM -60
16 Hvordan oppnå persistens Eksplisitt overføre objekter til og fra et permanent lager med read/write - kommandoer o Databasen er skilt fra programmet Deklarere objekter persistente ved fødselen eller senere (enten som egenskap ved klassen, ved persistent new, eller referert fra persistent rotobjekt) o Databasen er integrert med programmet (Illusjonen om Det Ene Datalager) read/write Usynlige fra programmet virtuelt permanent lager Databasen integrert med programmet Programmeringsspråket er også datamanipuleringsspråk (Java, C++, Smalltalk?) Transiente og persistente objekter behandles likt - enkel programmering Persistens bør kunne gjelde alle typer objekter Persistent Transient Type Persistent = evigvarende! Transient = midlertidig (så lenge programmet går) FINF400DM -6 FINF400DM -62 Databasen skilt fra programmet Ett standard datamanipuleringsspråk (SQL, OQL?) Sentral databaseadministrasjon Basen først - så programmene Databasespråk DDL/ODL Datadefinisjonsspråk (for skjemamanipulering) DCL - Data-kontrollspråk (for tilgangskontroll) Mye semantikk i basen - integritetsregler osv. Kan brukes fra programmer i mange ulike programmeringsspråk DML/OQL Datamanipuleringsspråk Programmeringsspråk datamanipuleringsspråk o Forskjellige datatyper? o Impedance mismatch? FINF400DM -63 FINF400DM -64
17 Bruk av SQL Som selvstendig språk som regel interaktivt Som databasespråk i et vertsspråk o Embedded SQL (SQL-kommandoer som må prekompileres er lagt inn i programteksten) o Call Level Interface (SQL-subrutiner kalles fra programteksten) Embedded SQL er lettere å programmere, men databasens struktur må være fastlagt ved prekompileringen! Prekompilator er bundet til DBMS-produktet. Derfor er Call Level Interface mer i vinden! import java.sql.; import oracle.sql.; import javax.swing.; import oracle.jdbc.driver.; Figur 4-0 a. Bruk av SQL i et Java-program Oppkobling mot databasen class OracleInf02 { public static void main(string args[ ]) throws SQLException { // Last ned Oracle JDBC driveren DriverManager.registerDriver(new oracle.jdbc.driver.oracledriver( )); // Be bruker om brukernavn og passord String brukernavn = JOptionPane.showInputDialog("Brukernavn: "); String passord = JOptionPane.showInputDialog("Passord: "); // Oppkobling mot databasen Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@volund.ifi.uio.no:52:stubas",brukernavn, passord); FINF400DM -65 FINF400DM -66 Figur 4-0 b. Bruk av SQL i et Java-program Spørring og utskrift // Lag et SQL-setningsobjekt Statement stmt = conn.createstatement(); // Utfør en spørring ResultSet rset = stmt.executequery("select from Husholdningsavfall"); // Iterer gjennom resultatet og skriv ut noen av attributtene while ( rset.next( ) ) { System.out.print (rset.getstring()); // attributt nr System.out.print (" " + rset.getstring("navn")); System.out.println (" " + rset.getstring("avfallsmengde")); } System.exit(0); // fordi JOptionPain brukes uten foreldrevindu } } //OracleInf02 Persistent JAVA, ortogonal persistens import org.opj.store.pjstore; import org.opj.store.pjstoreimpl; import org.opj.store.pjsexception; class Test { } public static void main(string args[]) { try { PJStore ps = new PJStoreImpl("/home/user/pjs/stores/TestStore.pjs");... Object[] objectarray = new Object[00]; ps.newproot("object Array", objectarray);... } } catch (PJSException e) { System.err.println(e); } Trikset er å gjøre objektene nåbare fra et permanent rotobjekt FINF400DM -67 FINF400DM -68
18 Eksempel på en ODL-spesifikasjon interface Person { extent people; key SSN; attribute Integer SSN; attribute string name; attribute struct <Integer number, string street, Ref<City> city> address; relationship Set<Person> children inverse Person::parents {order_by birth_date}; relationship Person[2] parents inverse Person::children; ancestors (out Set<Person>) raises (no_such_person); move (in Address); } Jack.dateOfBirth select c.crse_title, c.credit_hrs from courses c where c.crse_code = MBA 664 select s.age from students s where s.name = John Marsh select s from students s where s.gpa >= 3.0 Eksempler OQL Select x.enrollment from courseofferings x x.belongs_to y where y.crse_code = MBA 664 and x.section = select c.crse_code, c.crse_title from students s s.takes x x.belongs_to c where s.name = Mary Jones FINF400DM -69 FINF400DM -70 Database-transaksjoner Datasikkerhet Transaksjon: Et udelelig stykke arbeid mot databasen Sikring av tilgang til data for de berettigede Forhindring av tilgang for de uberettigede Skal ideelt sett tilfredsstille ACID -kravene: ACID Atomiticy Consistency preservation (serializability) Durability Isolation Hva du gjør, gjør fullt og helt, og ikke stykkevis og delt! Beskyttelse av data mot hendelig eller villet tap, ødeleggelse eller misbruk. FINF400DM -7 FINF400DM -72
19 Tilgangskontroll Autentiseringsmekanismer o (ved hjelp av noe du vet, noe du har, noe du er) Autorisasjonsregler o Autorisasjonsmatriser o Eksterne skjema ( Views ) Tilgangskontroll Autorisere brukere, gi adgang til data GRANT. Trekke tilbake autorisasjoner REVOKE... Krypteringsmekanismer En autorisasjonsmatrise! FINF400DM -73 FINF400DM -74 Sikringskopiering og gjenoppretting Sikringskopierings-mekanismer Logging o Transaksjonslogg o Endringslogg - før- og etterbilder Sjekkpunkt-etablering o Restart-punkt etter feil Gjenopprettings-mekanismer Fremover- og tilbakerulling sikringskopiering sjekkpunkt fremoverrulling ønsket tilstand tilbakerulling Ved sjekkpunkt er ingen transaksjoner aktive, og databasen i en konsistent tilstand Fremoverrulling er aktuelt etter nedlasting fra sikkerhetskopi Fremoverrulling gjøres for bekreftede transaksjoner problem Databasens utvikling Tilbakerulling er aktuelt etter avbrutte transaksjoner: Brukeravbrudd, brudd på integritetsregler, samtidighetskontroll Tilbakerulling (UNDO) gjøres for ubekreftede transaksjoner samt for bekreftede transaksjoner som har lest data skrevet av ubekreftede transaksjoner (kaskaderende tilbakerulling) Fremover- og tilbakerulling forutsetter en logg (etterbilder og førbilder) FINF400DM -75 FINF400DM -76
20 Fremoverrulling (b) Rollforward Tilbakerulling FINF400DM -77 FINF400DM -78 Distribuerte databaser Mellomvare Interessante spørsmål: o Replikering? o Hvem er master? o To-fase-commit eller asynkron forplantning av oppdateringer? FINF400DM -79
Intermesso. Visjonen... samling av trådene. Veivalget. Et bedre bilde av visjonen?
Visjonen... Intermesso samling av trådene jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel INF02-Intermesso- Theodor Kittelsen: Og i det fjerne, langt, langt borte så han noe lyse og
DetaljerDatamodellering med UML (forts.)
Datamodellering med UML (forts.) jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmuml2- Modellenes to formål Interesseområdet
DetaljerHva vi i alle fall bør huske fra INF1050
Hva vi i alle fall bør huske fra INF1050 Gerhard Skagestein 25. januar 2006 25. januar 2006 INF2120 Prosjekt i modellering 1 Figur 1-3. Et systems livssyklus Idé Krav og ønsker Utforming Realisering Ny
DetaljerModellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerModellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant
Modellenes to formål Interesseområdet Dataering med UML (forts.) Beskrivelse jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet
Dagens tema Individer i interesseområdet Den redundansfri datamodellen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? jfr. Systemutvikling fra kjernen
DetaljerDen redundansfri datamodellen
Den redundansfri datamodellen jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Institutt for informatikk Gerhard Skagestein 4. februar 2007 dmredundansfri- Dagens tema Individer i
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerDatamodellering med UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 (og litt fra kapittel 6 og 7) dmuml-1 Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten
DetaljerDatamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML
Figur 5-. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesseområdet Datamodellering med UML registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerSignalgrensesnitt for Trafikanten Pluss
Signalgrensesnitt for Trafikanten Pluss Version 05042 2-Apr-05 INF220 Prosjekt i modellering Trafikanten Plus: Skisse til arkitektur cs TrafficContext Oracle på Ifi users:mobile sm: SM_stat JDBC static:lbase
DetaljerThe Unified Modeling Language - UML
Datamodellering med UML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 5 Modellenes to formål Interesseområdet Beskrivelse Oppfatningen av interesseområdet Foreskrivelse Informasjonssystem
DetaljerDagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet
Dagens tema Individer i interesseområdet Den redundansfri dataen Redundansfrihet ingen dobbeltlagringer eller avledninger Gruppering, normalisering eller intuisjon? Begrepsdannelse jfr. Systemutvikling
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut! inn ut Virkelighetsmodell Brukergrensesnitt Utviklingsretning Applikasjon Bruker Plattform Oppfatning av interesseområdet jfr. Systemutvikling Fra kjernen og ut, fra skallet
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerDatamodellering med ORM
Figur 5-1. Datamodellen dokumenterer vår oppfatning av virkeligheten Interesset Datamodellering med ORM registrering påvirkning jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 6 Oppfatningen
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Data versus informasjon Beskrivelse av interesseområdet Begreper og representasjon av
DetaljerSQL: Systemaspekter. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21
SQL: Systemaspekter Evgenij Thorstensen V18 Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21 Oversikt Hvordan et DBMS er organisert (med psql som eksempel) Trelagsarkitektur og impedance mismatch Databasetilgangsmåter
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehånteringssystemer Data versus informasjon Beskrivelse av interesseområdet 100%-prinsippet og det begrepsmessige
DetaljerINF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,
DetaljerIN2090 Introduksjon til databaser
UNIVERSITETET I OSLO IN2090 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering: Begreper
DetaljerHva er Derby og Java DB? Denne forelesningen. Java Database Connectivity (JDBC) Hva er Derby og Java DB?
1 2 Java Database Connectivity (JDBC) Norvald H. Ryeng ryeng@idi.ntnu.no 3 4 Denne forelesningen Hva er Derby og Java DB? Hva er Derby og Java DB? Hva er JDBC? Slik fungerer det Slik gjør dere det (kokebok)
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut Informasjonssystem bygd på et databasehåndteringssystem Brukergrensesnitt! inn ut Oppfatning av interesseområdet Flere samtidige brukere gir databasehåndteringssystemet store
DetaljerJava Database Connectivity (JDBC) Norvald H. Ryeng
1 Java Database Connectivity (JDBC) Norvald H. Ryeng ryeng@idi.ntnu.no 2 3 Denne forelesningen Hva er Derby og Java DB? Hva er JDBC? Slik fungerer det Slik gjør dere det (kokebok) 4 Hva er Derby og Java
DetaljerINF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser INF1300 Introduksjon til databaser databaser data (transiente, persistente) informasjon interesseområdet
DetaljerArne Maus, Ifi. delvis lån av gamle foiler
Typer av systemer, Arkitektur og Databaser Arne Maus, Ifi med takk til Dag Lorås(Visma) og Ian Sommerville for delvis lån av gamle foiler INF 1050 Systemutvikling v2010 1 Dagens forelesning 1. Ulike typer
DetaljerSkranker og avledninger
Skranker og avledninger jfr. Fra kjernen og ut, fra skallet og inn kapittel 7 dmskranker&repr-1 Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet)
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Hva er data? Hva er informasjon? Fra idé til informasjonssystem Litt om modellering:
DetaljerSatsvise, interaktive, sanntids/innbakte systemer. Arne Maus, Ifi. Oppdeling av både program og data på flere maskiner
Typer av systemer, Arkitektur og Databaser Arne Maus, Ifi med takk til Dag Lorås(Visma) og Ian Sommerville for delvis lån av gamle foiler Dagens forelesning. Ulike typer systemer Satsvise, interaktive,
DetaljerVideregående programmering 6
Videregående programmering 6 1. Feilkontroll i klasser uten unntaksobjekter Klasser skal lages sikre. Argumentverdier skal kontrolleres, og eventuelle feil skal rapporteres til klienten. I praksis har
DetaljerINF212 - Databaseteori. Kursinnhold
INF212 - Databaseteori Forelesere: Naci Akkök Ellen Munthe-Kaas Mål: Kjennskap til databasesystemer Virkemåte Implementasjon Teoretiske og praktiske problemer INF212 v2003 1 Kursinnhold Databasedesign
DetaljerGerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn.
Gerhard Skagestein: Systemutvikling fra kjernen og ut, fra skallet og inn. Oppgaver til kapittel 5 - Datamodellering med UML Oppgave 6. Ugruppert og gruppert modell Et mindre bilutleiefirma ønsker å få
DetaljerINF1050 Klasseromsoppgave Uke 6
INF1050 Klasseromsoppgave Uke 6 Løsningsforslag Mer avansert datamodellering med UML Oppgave 1 Her følger noen eksempler på opplysninger som brukeren ønsker å kunne trekke ut av informasjonssystemer. Foreslå
DetaljerSikkerhet og tilgangskontroll i RDBMS-er
Sikkerhet og tilgangskontroll i RDBMS-er IN2090 14. nov 2018 Mathias Stang 1 Agenda Modeller for tilgangskontroll Brukere og roller i RDBMS-er GRANT og REVOKE SQL Injections 2 Hovedmål med databasesikkerhet
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerDatabaser: Relasjonsmodellen, del I
LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerEksamen i Internetteknologi Fagkode: ITE1526
Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og
DetaljerUNIVERSITETET I OSLO
INF050/INF02 vår2005 Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 050 Systemutvikling INF02 Utvikling av datasystemer Eksamensdag: Onsdag 5. juni 2005 Tid for
DetaljerTransaksjoner og flerbrukerproblematikk. Transaksjoner
LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner
DetaljerKursregistrering bruksmønstermodell
Dagens forelesning o Kort repetisjon Objektorientert modellering Notasjon: UML klassediagram og objektdiagram Metode: Fra sekvensdiagram til klassediagram o Design av persistens Relasjonsdatabaser (tabelldatabaser)
DetaljerPersistens. Erik Arisholm. Institutt for informatikk Erik Arisholm 18.03.2009. INF1050-persistens-1
Persistens Erik Arisholm INF1050-persistens-1 Samling av trådene Systemutvikling som helhet 1. Systemutvikling: motivasjon... Jo Hannay, Simula & Ifi 2. Systemutviklingsprosessen... Rune Steinberg, Visma
DetaljerDagsorden. Hovedtemaene i INF102. Fra kjernen og ut. Produksjon av informasjonssystemer. Produksjon av informasjonssystemer
Dagsorden Hovedtemaene i INF02 Jus-forelesningen tas igjen onsdag 4. mai kl 05 hvis interesse Prosjektoppgaven o Kandidatnummerlisten o Anonymisering av prosjektoppgaven o Hvordan levere programkoden Åpen-bok-eksamen
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016
DetaljerInformasjonssystemer, DBMSer og databaser
UNIVERSITETET I OSLO Informasjonssystemer, DBMSer og databaser Institutt for Informatikk INF3100-21.1.2008 Ellen Munthe-Kaas 1 Interesseområdet (UoD = Universe of Discourse) Interesseområdet er en del
DetaljerApplikasjonsutvikling med databaser
Applikasjonsutvikling med databaser Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 10.10.2011 October 12, 2011 1 / 24 Applikasjonsutvikling med databaser Databaser tilbyr
DetaljerDataorientert modellering
INF2120 Dataorientert modellering Ragnar Normann 9. mars 2005 INF2120 Prosjekt i modellering 1 Dataorientering og UML UML har som utgangspunkt et objektorientert syn på tilværelsen hvor oppførsel og samspill
DetaljerIntroduksjon til fagfeltet
LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side
Detaljer1. SQL datadefinisjon og manipulering
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering
DetaljerTransaksjoner og flerbrukerproblematikk. Transaksjoner
LC238D http://www.aitel.hist.no/fag/_dmdb/ Transaksjoner og flerbrukerproblematikk Transaksjoner side 2-4 Låseteknikker side 5 Isolasjonsnivåer side 6-7 Flerbrukerproblemer i fbm utførelse av transaksjoner
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerFra krav til objektdesign
Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerDatabaser & objektorientering.
Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander
DetaljerINF3100 Databasesystemer
INF3100 Databasesystemer Forelesere: Obligsjef: Naci Akkök, Ragnar Normann Norun Sanderson Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer
DetaljerINF3100 Databasesystemer
INF3100 Databasesystemer Forelesere: Naci Akkök Ragnar Normann Mål: Kjennskap til databasesystemer Oppgaver og moduler Virkemåte Implementasjon Teoretiske og praktiske problemer INF3100-19-20.1.2004 -
DetaljerDagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner Institutt for informatikk
DetaljerSpesifikasjon av Lag emne
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerBeskjed fra Skagestein
Beskjed fra Skagestein "I forbindelse med prosjektoppgavens delinnlevering 4 vil gruppelærerne sette opp en PHP-orakeltjeneste torsdag 7. april kl 1415-1800 på termstua i Niels Henrik Abels hus." INF1050-klasser-1
DetaljerSpesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerSkranker og avledninger
Figur 7-1. Skrankene skal gjenspeile virkelighetens regler Forretningsregler Virkeligheten (interesseområdet) Skranker og avledninger registrering påvirkning jfr. Fra kjernen og ut, fra skallet og inn
DetaljerIntegritetsregler i SQL. Primærnøkler
Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212
DetaljerTilkobling og Triggere
Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble
DetaljerAnsvarsdrevet OO: CRC og UML Sekvensdiagrammer
Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use
DetaljerMetode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur
Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram
DetaljerFra uryddig verden til strukturert stoppestedsdatabase
Fra uryddig verden til strukturert stoppestedsdatabase Gerhard Skagestein 6. juni 2005 INF 220 7-Jun-05 INF220 Prosjekt i modellering Vi ser bare rapportene... Rapport Rapport3 Rapport2 INF 220 Informasjonssystem
DetaljerDatamodellering 101 En tenkt høgskoledatabase
Datamodellering 101 En tenkt høgskoledatabase Spesifikasjoner for databasen vi skal modellere: Oversikt over studenter med: Fullt navn Klasse Studium Avdeling Brukernavn Fødselsdag Adresse Telefonnummer
DetaljerÅ bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter
Sortering og søking i Java-API-et Tabeller og Arraylister Comaparable Comparator equals() LC9D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc9d.php Høgskolen i Sør-Trøndelag,
DetaljerINF130 Databehandling og analyse
28.01.15 INF130 Databehandling og analyse Introduksjon Knut Kvaal 28.01.15 1.1 Administrasjon Gruppearbeid og øvinger Du skal registere deg for gruppe etc https://docs.google.com/spreadsheets/d/1n4vqedksrkflh6273wk5zqd852me_mtshunh6dfzzma/edit?usp=sharing
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 2.desember 2009 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D LO191D Videregående programmering
Detaljer1. Relasjonsmodellen. 1.1. Kommentarer til læreboka
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Relasjonsmodellen Tore Mallaug 2.9.2013 Lærestoffet er utviklet for faget Databaser 1. Relasjonsmodellen Resymé: Denne leksjonen gir en kort
DetaljerDagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?
Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille
DetaljerSensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)
Sensorveiledning for IN2090 og INF1300 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal du anta at alle begreper har en unik representasjon. Er plasseringen
DetaljerLøsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)
Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal
DetaljerLC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.
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. Else Lervik, januar 2012. Objektorientert modellering
DetaljerKap3: Klassemodellering
Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,
DetaljerSQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data
SQL Structured Query Language Definere tabeller Skranker Fylle tabeller med data Lage en tabell med SQL create table R (A 1 D 1 [S 1 ],... A n D n [S n ], [liste av skranker] R er navnet på relasjonen/tabellen
Detaljer(MVC - Model, View, Control)
INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av
DetaljerVelkommen til. INF våren 2016
Velkommen til INF1010 - våren 2016 Denne uken (onsdag og torsdag): Om INF1010 Java datastrukturer Klasser med parametre i Java Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 1 INF1010
DetaljerUNIVERSITETET SQL-99. Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET IOSLO Objektrelasjonelle DBMSer. SQL-99 Institutt for Informatikk INF3100 2.3.2009 Ellen Munthe-Kaas 1 Objektrelasjonelle DBMSer ORDBMS = Object-Relational Database Management System Motivasjon:
DetaljerNB! Endring i undervisningsplanen
NB! Endring i undervisningsplanen Forelesningen 24. mars må dessverre avlyses på grunn av Fagkritisk dag Se beskjed som er lagt ut på kursets nettsider og den oppdaterte undervisningsplanen INF1050-klasser-1
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
Detaljerprogrameksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerJDBC. Java DataBase Connectivity SQL i Java Læreboken: 8.5, s Forelesning i TDT4145, 9. mars 2004 Av Gisle Grimen
JDBC Java DataBase Connectivity SQL i Java Læreboken: 8.5, s. 393-397 Forelesning i TDT4145, 9. mars 2004 Av Gisle Grimen JDBCs treenighet Databaseoppkobling java.sql.connection Utføre SQL java.sql.statement
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL: Outer join Denormalisering og splitting Transaksjoner og ACID-reglene DBMSer en introduksjon til INF3100 INF1300 19.11.2007 Ragnar
DetaljerDatabaser kort intro. Tom Heine Nätt
Databaser kort intro Tom Heine Nätt Agenda Hva er en database? Hva er SQL? Hente ut data fra en database SELECT Behandle data i en database (kort) CREATE TABLE, INSERT, UPDATE, DELETE Databaser med flere
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående
DetaljerINF1050 Systemutvikling
INF1050 Systemutvikling Krav til innlevering: Innleveringene skal ha: Forside med gruppenummer, dato, leveransenummer, navn på gruppemedlemmer med brukernavn og navn på prosjektet Forklarende overskrifter
DetaljerORDBMS og OODBMS i praksis
ORDBMS og OODBMS i praksis Lars Vidar Magnusson November 2, 2011 Lars Vidar Magnusson () Forelesning i DAS 01.11.2011 November 2, 2011 1 / 18 Eksempler på ORDBMS Flere av de store databaser i dag hevder
DetaljerMetode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur
Dagens forelesning o Litt mer om design med UML sekvensdiagrammer Sentralisert og delegert kontrollstil Resultater fra et eksperiment o UML klassediagrammer Notasjon: UML klassediagram og objektdiagram
DetaljerÅ programmere databasetjeneren JavaDB. Programkoden ligger i databasen
http://www.aitel.hist.no/fag/_dmdb/ Å programmere databasetjeneren JavaDB Programkoden ligger i databasen: hva, hvorfor og hvordan side 2-5 Hallo til verden (eksempel) side 6 CallSpec s side 7 CREATE PROCEDURE
DetaljerInnhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem
Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15
DetaljerProsjektoppgave våren 2007
Prosjektoppgave våren 2007 Innledning Formålet med kurset er å bli i stand til å delta i utviklingen av informasjonssystemer. Dette innebærer: å kjenne til bruken av informasjonssystemer, å kjenne til
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
Detaljer