Databaser & objektorientering.
|
|
|
- Edmund Ødegård
- 10 år siden
- Visninger:
Transkript
1 Databaser & objektorientering. Noen grunnbegreper innen objektorientering. Klasser og forekomster klasser beskriver strukturen for noe. Beskrivelsen inneholder: et navn attributter /egenskaper / tilstander operasjoner / metoder / handlinger forekomster av en bestemt klasse. Hver forekomst har sin egen identitet. mange språk inneholder eksplisitte funksjoner for skaping og sletting av objekter (konstruktører og destruktører). typenavn attributt_1 attributt_2 attributt_3 operasjon_1 operasjon_2 Arv A attributt_1 attributt_2 attributt_3 operasjon_1 operasjon_2 B attributt_4 attributt_5 attributt_6 operasjon_1 operasjon_3 C attributt_4 attributt_5 attributt_6 operasjon_1 operasjon_4 Egenskaper fra en overordnet vil også gjelde for de underordnede. Arv kan skje i et vilkårlig antall nivåer. Kan dermed bygge opp komplekse strukturer. Noen OO-implementasjoner har multippel arv dvs. at en klasse kan ha flere overordnede. Vanskeligheten er at man arver egenskaper fra flere overordnede klasser. OODB kort oversikt, Edgar Bostrøm 1
2 Tilgjengelighet av data og handlinger i for et objekt Data og handlinger kan være prohibited - ingen får adgang protected - kun underordnede får adgang public - alle får adgang Informasjonsskjuling. Data skjules innenfor objektet. Det lages i stedet operasjoner for å hente, endre data etc. i et gitt objekt. ==> Data er uavhengig av lagringsstruktur. Ulike objektorienterte språk har ulik grad av informasjonsskjuling. Abstrakte datatyper Det kan defineres datatyper som ikke inneholder noen data fra applikasjonen som sådan. Andre objektklasser kan arve fra disse, og dermed få en rekke egenskaper gratis. Typiske eksempler er lister, køer, ulike former for trær etc. som har operasjoner som finn (.), finn_neste, settinn ( ), slett ( ) etc. Meldinger Et objekt kan be et annet objekt om å gjøre en av de operasjonene det andre objektet kan. Man får dermed kommunikasjon mellom objektene, samarbeide og et dynamisk system. Polymorfisme Det utføres ulike operasjoner avhengig av hvilken type objektet er. Eks: For alle A: Utfør operasjon_1. Da blir ulike operasjoner utført avhengig av om det konkrete objektet er av typen A, B eller C. Systemet vet ikke hvilken kode som skal utføres før programmet kjøres. Kalles sen binding (koden bindes ved kjøretid, ikke ved kompilering). Kraftfull egenskap, og av mange betraktet som det eneste helt nye i OO. OODB kort oversikt, Edgar Bostrøm 2
3 Objektorienterte og objekt-relasjonelle databaser Mange mener at tradisjonelle relasjonsdatabaser har svakheter, bl.a. fordi strukturen er for enkel for å avspeile virkeligheten på en god måte. Dette gjelder bl.a. hvorledes behandle ting som er nesten like, men ikke helt like? Stikkord: arv. hvorledes strukturere og behandle komplekse data (bilder, grafer m.m.)? Stikkord: komplekse datatyper. Behandling av BLOB-er. hvorledes legge metoder/operasjoner nær knyttet til data inn på en naturlig måte? Stikkord: objektorientert tenkning. mulighet for navigering/rekkefølge i postene. Stikkord: Bør kunne gå til første, forrige, neste, siste etc., relativt til hvor en er i datamengden. Dessuten: mulighet for rekursjon. Tre retninger: Behold relasjonsmodellen Integrer de to Forkast relasjonsmodellen med noen få utvidelser modellene: Ny modell: (bl.a. komplekse datatyper) Objekt-relasjonell Objektorienterte databaser (ORDB) (OODB) OODB kort oversikt, Edgar Bostrøm 3
4 OODB: Hvert objekt har identitet (typisk via en intern peker, OID = object identity), ikke via primærnøkler - systemgenerert. tilstand (verdier på variable) - dvs. som verdier en relasjonsdatabase oppførsel ("hva kan objektet gjøre") - triggere er noe av det samme, men ikke gjennomført. I stedet for domener defineres det objektklasser. Arv av objektklasser (sub- og supertyper) Sen bindig, polymorfisme etc. Fordeler: hastighet passer bedre med OO programmeringsspråk (slipper å konvertere mellom relasjonell organisering på disk og objektorientert organisering i programmet/minne). Kort sagt: data lagres også som objekter. bedre til å håndtere komplekse strukturer etc. Vesentlig utfordringer: er det logisk at en database skal innkapsle sine data????? hvorledes lagre objekter på disk, og hva skal være persistent og hva behøver ikke å være persistent. hvordan beholde entydige pekere mellom minne og (muligens flere store) disker. Ulike metoder finnes, bl.a. konverteringstabeller av ulikt slag. hvorledes håndtere transaksjoner hvorledes håndtere skjemaevolusjon (dvs. at metadata endres over tid), versjoner av de samme data og metadata. et godt spørrespråk, som mest mulig er det samme som SQL. OQL (Object Query Language) er foreslått og ser temmelig likt ut, men noe av dette er bare overflatisk likhet. Arbeides med samording SQL - OQL. hvorledes få en standard (OMG - Object Management Group har forslagene, men ikke implementert en allmenn standard). hvorledes få til en "god teori" Alternativet er bl.a. et objektorientert lag rundt RDBMS-et, f.eks. mellomvare. OODB kort oversikt, Edgar Bostrøm 4
5 OODB lagringsmodell: Data kan lagres som sett (usortert, tillater ikke dublikater, a la relasjonsdatabaser) bags (usortert, tillater dublikater) lists (sortert, tillater dublikater) arrays (endimensjonal array med variabel lengde) dictionary (usortert sekvens av (nøkkel,verdi)-par). struktur (består av ulike elementer) Disse kan igjen brukes som byggestener for mer komplisert elementer, f.eks. et sett, hvor hvert element er en struktur. Egenskaper: Samme type Sortert Unik Indeksert / Nummerert Set Bag List Array Dictionary Navngitt De 5 første er spesialiteter av collections / kolleksjoner, og egenskaper som arves til de mer spesialiserte objektklassene: collection <T> cardinality() is_empty?() constains_element? ( ) is_ordered () allows_duplicates () create_iterator ( ) create_bidirectional_iterator ( ) insert_element ( ) remove_element ( ) set <T> is_subset_of? ( ) is_proper_subset_of? ( ) is_superset_of? ( ) is_proper_superset_of? ( ) union_with ( ) intersection_with ( ) difference_with ( ) OODB kort oversikt, Edgar Bostrøm 5
6 1:mange, 1:1, mange:mange. En 1:mange kan f.eks. lagres som: Avdeling Ansatt 1 Ost 2 Kjøkken Altså: Fra 1 til mange: kolleksjon av pekere til objektene (ved å lagre det andre objektets OID). Evt. også fra mange til 1: peker til objektet på 1-siden (ved å lagre det andre objektets OID), stiplet over. 1:1 Toveis pekere direkte til hverandre. M:m Enten: liste på begge sider eller: "entitetisering" og behandling som to 1:mange. Viktig observasjon: Begrepene primærnøkkel og fremmednøkkel trengs ikke, derimot er entydighet og evt. nødvendighet/not null vesentlig. OODB kort oversikt, Edgar Bostrøm 6
7 Datamodell m/ arv transformert til definisjon av OODB (Fra Connolly & Begg) OODB kort oversikt, Edgar Bostrøm 7
8 ORDB: Utvidelse av relasjonsmodellen i objektorientert retning. == > kan beholde nåværende applikasjoner etc. Vesentlige momenter: komplekse datatyper ( objektklasser) med arv det betyr at en rad kan inneholde et komplekst, strukturert element. metoder utvidet SQL til å kunne takle dette (vesentlige ingredienser i SQL3), bl.a. for å behandle komplekse data, for å håndtere arv (skal man plukke data bare fra dette nivået i arven, eller skal alle underliggende også plukkes?) mulig å referere til et objekt direkte via en ref, ikke bare via primærnøkler. Tilsvarer OID-er i en OODB. kolleksjonstyper avanserte typer indekser (f.eks. som romlige data) Det lages automatisk for hvert attributt: en observator-funksjon/get-funksjon en mutator-funksjon/set-funksjon for hver tabell: en kontruktør (les verdien) (endre verdien). (lage nye verdier) Disse kan redefineres, og dermed skreddersy kontroller osv. for dens lesning hhv. endring hhv. for laging av nye instanser. OODB kort oversikt, Edgar Bostrøm 8
9 ORDB - kort eksempel i Oracle, I: Generell syntaks - typer: [ ] er frivillige elementer. - rottyper: create [or replace] type <navn> as object ( <attributt- og metodedefinisjon>) ; - typer som arver: create type [or replace] <navn> under <tidligere definert objekttype> ( <attributt- og metodedefinisjon, evt. basert på tidligere definerte typer>) ; Mellom ) og ; kan man definere [[NOT] INSTANTIABLE] - kan/kan ikke lage instanser av denne. INSTANTIABLE er default. [[NOT] FINAL]] - kan/kan ikke la denne være grunnlag for videre arv. FINAL er default. Tabeller basert på typer: create table <navn> of <type> (evt. med flere attributer eller deklarasjoner, evt. basert på de definerte typene som datatyper). Array-typer: Enten som fast antall, array(<antall elementer>)) of <datatype> Eller som et variabelt antall varray(<max. antall elementer>) of <datatype> Vi ser at disse typene gjør at vi ikke lenger har atomiske verdier, vi har m.a.o. (NF) 2. OODB kort oversikt, Edgar Bostrøm 9
10 ORDB - kort eksempel i Oracle, II: (bare små, utvalgte deler av mulighetene som finnes) Eksempel arv og sammensatte typer: _t blir ofte brukt som suffiks på objektklasser Create or replace type adresse_t as object (gateadresse varchar(30), postnr varchar(10)) not final instantiable; Create or replace type kunde_t as object (kundenr integer, kundenavn varchar (40), adresse adresse_t) not final instantiable; Create or replace type utenlandskunde_t under kunde_t (landsnavn varchar(40)) final instantiable; Create or replace type venner_t under adresse_t (vennid integer) final instantiable; Ny type som bruker en allerede definert type som type for en kolonne Ny type som arver alt fra en underliggende type (+ kan ha egne kolonner). allerede definert type som type for en kolonne Eksempel - metoder: Create or replace type vare_t as object (varenr integer, paalager integer, ibestilling integer, Member function kanlevere (paalager integer,ibestilling integer) return integer) instantiable not final; Create or replace type body vare_t as Member function kanlevere return integer is Begin Return paalager + ibestilling; End; End; Eksempel på at adresse_t kan brukes i flere sammenhenger. Deklarasjon og innhold kan gjøres i samme, men ofte lurt å splitte, spesielt hvis flere funk/pros. Test: create table vare of vare_t; insert into vare values (1,54,100); insert into vare values (2,10,500); OODB kort oversikt, Edgar Bostrøm 10
11 ORDB - kort eksempel i Oracle, III: Eksempel array: Create type mndomsetning_t is array(12) of integer; - evt. varray Denne kan dermed brukes i create table omsforkunde (kundenr integer, mndomsetning mndomsetning_t); Eksempel - referanser: Create type varelevr_t under vare_t (levr_ref ref kunde_t); Vi refererer altså til en av våre kunder som leverandør av denne varen (ofte ligger kunder og leverandører sammen i en tabell). Merk forskjellen: create type varelevr_t under vare_t (levr_ref kunde_t); - da må vi sette inn data (alle verdier i en kunde/leverandør) for hver gang det er samme leverandør for en vare ==> redundans & inskonsistens. create type varelevr_t under vare_t (levr_ref ref kunde_t); - refererer til et kunde-objekt, dvs. vi setter inn en peker til en kunde, ingen redundans. NB! Skriver vi ut noe som er en instans av typen varelevr_t vil vi som levr bare få et stort tall, en systemgenerert «objektpeker»/oid. Skal vi ha fram verdiene som denne peker på, må vi skrive deref(levr_ref). NB! For andre Oracle-eksempler, se f.eks. & OODB kort oversikt, Edgar Bostrøm 11
Databaser: 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
Miniverden og ER- modell
TDT4145 Datamodellering og databasesystemer SQL- oppgave 1 Miniverden og ER- modell Vi tar utgangspunkt i en enkel modell for en pizza- restaurant, der følgende ER- diagram beskriver databasen: Relasjonsdatabase-
1. 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
Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen
Databaser Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Tema for dagen Relasjonsmodellen Hvorfor relasjoner? Fra ER diagram til relasjoner 22.09.2008
INF1000: 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
Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.
BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN
Repitisjonskurs. Arv, Subklasser og Grensesnitt
Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett
Tilkobling 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
Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56
[Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)
Datamodellering og databaser SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
Datamodellering og databaser SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
SQL 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
OM DATABASER DATABASESYSTEMER
OM DATABASER DATABASESYSTEMER Begrepet database brukes på flere måter, og det er ikke uvanlig å bruke det for å angi en total samling av data (i dette tilfellet lagrede opplysninger) uavhengig av hvordan
HØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 7.desember 2009 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2008HA
SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12
SQL: Datatyper m.m. Evgenij Thorstensen V18 Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12 Datatyper, kort om mye Vi går en rask ekskursjon i manualen, Kap. 8. https://www.postgresql.org/docs/9.2/sql.html
INF1000: 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
Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1
Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015 Tid: 10-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 13 med forside Ingen Ingen Vedlegg: Eksempeldata til oppgave 1 Eksamensresultater
ITGK - H2010, Matlab. Dagens tema : Teori - Databaser
1 ITGK - H2010, Matlab Dagens tema : Teori - Databaser 2 I dag Teori: Databaser Bok: 8.1 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign
Oppgaver Oppgave a: Sett opp mulige relasjoner
Løsningsforslag til øving 4: Relasjonsmodellen Kjell Toft Hansen 18.09.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgaver Oppgave a: Sett opp
Metaspråket for å beskrive grammatikk
1 SQL-syntaks Korrekt språkbruk bygger på et sett av regler. Eksempler: En SQL utvalgsspørring inneholder alltid ordene SELECT og FROM, mens WHERE og tilhørende betingelse er valgfri. Etter SELECT kan
Å 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,
UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1
UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 7.2.2005 Ragnar Normann 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan være
Integritetsregler 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
Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem
Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15
HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:
HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt: Tagger/Noder Attributter Mest kjente XML-versjon er XHTML En mengde datakilder er tilgjengelige
Introduksjon 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
23.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
Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket
Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke
Operasjoner på lenkede lister (enkeltlenket) Eksempel på en lenket liste: personliste. INF januar 2010 (uke 3) 2
Velkommen til INF1010 Studieaktiviteter i INF1010 Programmering (oppgaveløsning) alene/kollokvier programmeringslab (plenums)øvelser forelesninger gruppe som repeterer stoff fra forelesning, og øvelser
SOSI-forvaltning - logisk modell
SOSI-forvaltning - logisk modell Forfatter: David Skogan, SINTEF Tele og data Dato: 1997-01-21 Forord Min oppgave til møte den 22 var å beskrive den logisk modellen med skranker for SOSI-standarden. Jeg
Integritetsregler 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
Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen
Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse
Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»
< T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" [email protected] INF1010 21. februar
Spesifikasjon 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
Datatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
Oppgave 1 Datamodellering 25 %
Side 1 av 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:
Datatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
Introduksjon til objektorientert programmering
Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes
INF1010 Arv. Marit Nybakken [email protected] 2. februar 2004
INF1010 Arv Marit Nybakken [email protected] 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp
Rekursiv programmering
Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man
Lenkelister. Lister og køer.
Lenkelister. Lister og køer. INF1010 Stein Michael Storleer 27. januar 2011 Dagens forelesning Lenkede lister Lenkede lister Eksempel på en lenket liste: personliste Operasjoner på lenkede lister (enkeltlenket)
Objektorientert programmering i Python. Resten av semesteret. Innhold uke 9 Mer komplekse strukturer. Referanser og objekter, inkl Mentimeter spørsmål
Innhold uke 9 Mer komplekse strukturer Objektorientert programmering i Python IN1000 Høst 2018 uke 9 Siri Moe Jensen Referanser versus objekter (repetisjon) "Dot-notasjon" Spesielle metoder i egendefinerte
1. Innføring i bruk av MySQL Query Browser
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring
Ansvarsdrevet 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
Algoritmer - definisjon
Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede
Kapittel 7: Mer om arv
Kapittel 7: Mer om arv Redigert av: Khalid Azim Mughal ([email protected]) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag,
HØ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
INF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer
Romlig datamanipulering
Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program.
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995 39 963 Roger Midtstraum: 995 72
Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus
// class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen
Modeller for design av Web-Applikasjoner
Modeller for design av Web-Applikasjoner Kapittel 2: Data Modell Kapittel 3: Hypertekst Modell Av Eskil Saatvedt og Arianna Kyriacou. http://www.ii.uib.no/~eskil/fag/ http://www.ii.uib.no/~arianna/fag/
1. 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
UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.
UNIVERSITETET IOSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 22.2.2011
INF1300 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
Oppgave 1 (Opprett en database og en tabell)
Oppgave 1 (Opprett en database og en tabell) 1) I «Object Explorer» (i «SQL Server Management Studio»), høyreklikk over Databases : 1 2 2) Skriv så databasenavnet og klikk OK: 3) Plasser så kursoren på
Algoritmeanalyse. (og litt om datastrukturer)
Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller
INF1300 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
INF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Erik Velldal Universitetet i Oslo 9. februar 2017 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens prosedyrer
Dagens 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
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
ORDBMS 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
INF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens
INF1300 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,
Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:
Tabeller og enkle spørringer
Tabeller og enkle spørringer Database, relasjonsdatabase Databasehåndteringssystem (DBHS) Databasesystem Tabell, kolonne, rad, datatype, verdi, primærnøkkel Utvalgsspørringer i SQL Velge ut rader Velge
Enkle generiske klasser i Java
Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt
EKSAMEN DATABASER
EKSAMEN 6102 DATABASER 30.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål 7 (inkludert denne) Ingen Ingen Eksempeldata Sensuren finner du på StudentWeb. Vekting
Applikasjonsutvikling 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
Utvikling 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
Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models
LC238D Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodell
HØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 6.desember 2010 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2009HA
Ekvivalente stier (Equivalence of Path, EOP) i storm
Ekvivalente stier (Equivalence of Path, EOP) i storm Dette er ikke rett fram, derfor denne beskrivelsen. Vi tar utgangspunkt i følgende modell for kinoer og kinoforestillinger: Bilde 1 ORM2 modell I bildet
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel
UNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 11.2.2008 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan
