Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

Størrelse: px
Begynne med side:

Download "Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19"

Transkript

1 Prosedyrer Lars Vidar Magnusson October 26, 2011 Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

2 Repetisjon om triggere og prosedyrer Triggere og prosedyrer ligner på hverandre i forhold til API og syntax, men de skiller seg i hvordan de brukes. Triggere er programkode som blir kjørt ved visse hendelser i en database. Automatisere en velkomstmail når en ny bruker blir lagt til Automatisk legge til rader i en avhengig tabell. Prosedyrer er programkode som vi selv kan eksekvere etter behov. Sjekke database for uønskede kunder Lage forenklede grensesnitt for innsetting i tabeller Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

3 Fordeler og ulemper med prosedyrer Prosedyrer kan brukes til å legge funksjonalitet i databasen. Dette har en rekke fordeler, men også en del ulemper. Fordeler Kan øke hastigheten siden SQL-spørringene kan kompileres slik at de kjører raskere. Kan spare nettverkstrafikk Kan gjenbrukes fra alle platformer Kan sikres med det integrerte sikkerhetsystemet Ulemper Kan senke den generelle ytelsen til databasen. Kan være vanskelige å uvikle Kan være vanskelige å teste for feil. Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

4 Prosedyrer i MySQL MySQL har et nokså primitivt grensesnitt for å utvikle lagrede prosedyrer, men man kan oppnå mye med litt kreativ bruk. I MySQL deklareres prosedyrer med følgende sytaks. CREATE [ DEFINER = { u s e r CURRENT USER } ] PROCEDURE sp name ( [ [ IN OUT INOUT ] param name t y p e [,... ] ] ) [ c h a r a c t e r i s t i c... ] r o u t i n e b o d y Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

5 Eksempel på en prosedyre i MySQL Et eksempel på en prosedyre som henter ut alle verdier og rader fra en tabell. DELIMITER // CREATE PROCEDURE G e t A l l V a l u e s ( ) BEGIN SELECT FROM t a b e l l ; END // DELIMITER ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

6 Eksempel på en prosedyre i MySQL Et eksempel på en prosedyre som henter ut alle verdier og rader fra en tabell. DELIMITER // CREATE PROCEDURE G e t A l l V a l u e s ( ) BEGIN SELECT FROM t a b e l l ; END // DELIMITER ; Denne prosedyre kan kalles med følgende kommando CALL G e t A l l V a l u e s ( ) ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

7 Eksempel på en prosedyre med input parameter i MySQL Prosedyrer kan også ta parametere. Prosedyren under tar et input parameter som brukes i et søk etter personer med et gitt etternavn DELIMITER // CREATE PROCEDURE G e t P e r s o n s ( IN lname VARCHAR( ) ) BEGIN SELECT FROM p e r s o n s WHERE l a s t n a m e=lname ; END // DELIMITER ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

8 Eksempel på en prosedyre med input parameter i MySQL Prosedyrer kan også ta parametere. Prosedyren under tar et input parameter som brukes i et søk etter personer med et gitt etternavn DELIMITER // CREATE PROCEDURE G e t P e r s o n s ( IN lname VARCHAR( ) ) BEGIN SELECT FROM p e r s o n s WHERE l a s t n a m e=lname ; END // DELIMITER ; En slik prosedyre kan kalles med følgende kommando CALL G e t P e r s o n s ( Magnusson ) ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

9 Eksempel på en prosedyre med output parameter i MySQL Denne prosedyren returnerer antallet personer med et gitt etternavn i et output parameter DELIMITER // CREATE PROCEDURE GetNumPersons ( IN lname VARCHAR( ), OUT num persons INT ) BEGIN SELECT COUNT( i d ) INTO num persons FROM p e r s o n s WHERE l a s t n a m e=lname ; END // DELIMITER ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

10 Eksempel på en prosedyre med output parameter i MySQL Denne prosedyren returnerer antallet personer med et gitt etternavn i et output parameter DELIMITER // CREATE PROCEDURE GetNumPersons ( IN lname VARCHAR( ), OUT num persons INT ) BEGIN SELECT COUNT( i d ) INTO num persons FROM p e r s o n s WHERE l a s t n a m e=lname ; END // DELIMITER ; Et ekstra steg må til for å få hentet ut verdien CALL G e t P e r s o n s ( persons ) ; persons AS n u m b e r o f p e r s o n s ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

11 Et siste eksempel på en prosedyre i MySQL Prosedyrer kan også inneholde variable. Her er en prosedyre som returnerer en streng med alle tallene fra 1 til et gitt tall. DELIMITER // DROP PROCEDURE IF EXISTS GetNumString // CREATE PROCEDURE GetNumString ( IN max INT ) BEGIN DECLARE x INT ; DECLARE s t r VARCHAR( ) ; SET x = 1 ; SET s t r = ; WHILE x <= max DO SET s t r = CONCAT( s t r, x,, ) ; SET x = x + 1 ; END WHILE ; SELECT s t r ; END // DELIMITER ; Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

12 Flere eksempler Mange flere eksempler og mere informasjon kan finnes på Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

13 Prosedyrer i SQL Server Prosedyrer i SQL Server deklareres med følgende syntaks CREATE { PROC PROCEDURE } [ schema name. ] procedure name [ ; number ] [ [ type schema name. ] d a t a t y p e } [ VARYING ] [ = d e f a u l t ] [ OUT OUTPUT ] [READONLY] ] [,... n ] [ WITH <p r o c e d u r e o p t i o n > [,... n ] ] [ FOR REPLICATION ] AS { [ BEGIN ] s q l s t a t e m e n t [ ; ] [... n ] [ END ] } [ ; ] <p r o c e d u r e o p t i o n > ::= [ ENCRYPTION ] [ RECOMPILE ] [ EXECUTE AS C l a u s e ] Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

14 Eksempel på prosedyre i SQL Server IF OBJECT ID ( DAS. G e t A l l V a l u e s, P ) I S NOT NULL DROP PROCEDURE DAS. G e t A l l V a l u e s ; GO CREATE PROCEDURE DAS. G e t A l l V a l u e s AS SET NOCOUNT ON; SELECT FROM DAS. t a b e l l ; GO Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

15 Eksempel på prosedyre i SQL Server IF OBJECT ID ( DAS. G e t A l l V a l u e s, P ) I S NOT NULL DROP PROCEDURE DAS. G e t A l l V a l u e s ; GO CREATE PROCEDURE DAS. G e t A l l V a l u e s AS SET NOCOUNT ON; SELECT FROM DAS. t a b e l l ; GO Denne prosedyren kan eksekveres på en av to måter EXECUTE DAS. G e t A l l V a l u e s ; GO EXEC DAS. G e t A l l V a l u e s ; GO Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

16 Eksempel på en prosedyre med parameter i SQL Server Denne prosedyren henter ut alle personene med samme etternavn. CREATE PROCEDURE DAS. G e t P e r s o n n v a r c h a r ( ) AS SET NOCOUNT ON; SELECT FROM DAS. p e r s o n s WHERE l a s t n a m e ; GO Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

17 Eksempel på en prosedyre med parameter i SQL Server Denne prosedyren henter ut alle personene med samme etternavn. CREATE PROCEDURE DAS. G e t P e r s o n n v a r c h a r ( ) AS SET NOCOUNT ON; SELECT FROM DAS. p e r s o n s WHERE l a s t n a m e ; GO Det er flere måter å eksekvere en prosedyre med parametere EXECUTE DAS. G e t P e r s o n s N Magnusson ; GO EXECUTE DAS. G e t P e r s o n = N Magnusson ; GO Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

18 Eksempel på prosedyre med outputparameter i SQL Server Denne prosedyren teller alle personene med samme etternavn. CREATE PROCEDURE DAS. G e t P e r s o n n v a r c h a r ( i n t OUT AS SET NOCOUNT ON; = SELECT COUNT( i d ) FROM DAS. p e r s o n s WHERE l a s t n a m e ; GO Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

19 Eksempel på prosedyre med outputparameter i SQL Server Denne prosedyren teller alle personene med samme etternavn. CREATE PROCEDURE DAS. G e t P e r s o n n v a r c h a r ( i n t OUT AS SET NOCOUNT ON; = SELECT COUNT( i d ) FROM DAS. p e r s o n s WHERE l a s t n a m e ; GO Output parameterne må lagres i variable ; EXECUTE DAS. G e t P e r s o n s N OUT; EXECUTE DAS. G e t P e r s o n = N OUT; GO Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

20 Dokumentasjon av Transact-SQL MSDN biblioteket inneholder god dokumentasjon av stort sett alle aspekter av SQL Server. For dokumentasjon av Transact-SQL gå til Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

21 Triggere og prosedyrer i CLR SQL Server støtter CLR integrasjon av triggere og prosedyrer. Dette gjør at man kan skrive triggere med hvilket som helst språk med CLR-støtte. C#, F#, VB, IronPython... Dette gjør det mulig å utvikle triggere og prosedyrer i et skikkelig programmeringspråk. Arrays, klasser, foreach-løkker, bitwise operatorer... Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

22 Triggere og prosedyrer i CLR SQL Server støtter CLR integrasjon av triggere og prosedyrer. Dette gjør at man kan skrive triggere med hvilket som helst språk med CLR-støtte. C#, F#, VB, IronPython... Dette gjør det mulig å utvikle triggere og prosedyrer i et skikkelig programmeringspråk. Arrays, klasser, foreach-løkker, bitwise operatorer... CLR integrasjonen er typisk ikke påslått per default (Se enabling CLR integration) Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

23 Eksempel på en trigger i C# Et eksempel på en trigger i C# namespace CLRNamespace { p u b l i c c l a s s CLRTriggers { [ S q l T r i g g e r T e s t T r i g g e r, Target= [ schema ] [ t a b l e ], Event= FOR INSERT, UPDATE, DELETE ) ] p u b l i c s t a t i c v o i d E m a i l A u d i t ( ) { S q l T r i g g e r C o n t e x t t r i g g e r C o n t e x t = S q l C o n t e x t. T r i g g e r C o n t e x t ; i f ( t r i g g e r C o n t e x t. T r i g g e r A c t i o n == T r i g g e r A c t i o n. I n s e r t ) SOME OPERATION ; e l s e i f ( t r i g g e r C o n t e x t. T r i g g e r A c t i o n == T r i g g e r A c t i o n. Update ) SOME OPERATION ; e l s e i f ( t r i g g e r C o n t e x t. T r i g g e r A c t i o n == T r i g g e r A c t i o n. D e l e t e ) SOME OPERATION ; } } } Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

24 Koble opp en CLR trigger For å bruke triggeren må den først kobles opp CREATE TRIGGER T e s t T r i g g e r ON U s e r s FOR INSERT, UPDATE, DELETE AS EXTERNAL NAME CLRNamespace. CLRTriggers. T e s t T r i g g e r Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

25 Et eksempel på en prosedyre i CLR Et enkelt eksempel på en prosedyre skrevet i C# namespace CLRNamespace { p u b l i c c l a s s CLRProcedures { [ M i c r o s o f t. S q l S e r v e r. S e r v e r. S q l P r o c e d u r e ] p u b l i c s t a t i c v o i d GetNumPersons ( out S q l I n t 3 2 v a l u e ) { u s i n g ( S q l C o n n e c t i o n c o n n e c t i o n = new S q l C o n n e c t i o n ( c o n t e x t c o n { v a l u e = 0 ; c o n n e c t i o n. Open ( ) ; SqlCommand command = new SqlCommand ( SELECT COUNT( i d ) FROM p SqlDataReader r e a d e r = command. E x e c u t e R e a d e r ( ) ; u s i n g ( r e a d e r ) { i f ( r e a d e r. Read ( ) ) v a l u e = r e a d e r. G e t S q l I n t 3 2 ( 0 ) ; } } } } Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

26 Registrering av CLR prosedyre CLR prosedyrer må også registreres før de kan brukes CREATE PROCEDURE PriceSum i n t OUTPUT) AS EXTERNAL NAME CLRNamespace. CLRProcedures. GetNumPersons Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

Tilkobling og Triggere

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

Detaljer

ORDBMS og OODBMS i praksis

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

Detaljer

Applikasjonsutvikling med databaser

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

Detaljer

SQL 3: Opprette tabeller, datainnsetting og utsnitt

SQL 3: Opprette tabeller, datainnsetting og utsnitt SQL 3: Opprette tabeller, datainnsetting og utsnitt Læreboka kap. 4 03.11.2008 Kjell Toft Hansen 1 Datainnsetting Legg til en ny leverandor i tabellen leverandor INSERT INTO leverandor (lev_nr, lev_navn,

Detaljer

Datamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2

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

Detaljer

Integritetsregler i SQL. Primærnøkler

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

Detaljer

Databaser kort intro. Tom Heine Nätt

Databaser 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

Detaljer

1. SQL datadefinisjon og manipulering

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

Detaljer

Integritetsregler i SQL

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

Detaljer

Datamodellering og databaser SQL, del 2

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

Detaljer

Datamodellering og databaser SQL, del 2

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

Detaljer

I denne leksjonen skal se på hvordan vi bruker innebygde og brukerdefinerte funksjoner.

I denne leksjonen skal se på hvordan vi bruker innebygde og brukerdefinerte funksjoner. Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Leksjon :MySQL - funksjoner Kjell Toft Hansen - revidert for MySQL av Tore Mallaug 27.02.2013 Lærestoffet er utviklet for faget Databaser

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

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

Detaljer

Integritetsregler i SQL

Integritetsregler i SQL UNIVERSITETET I OSLO Integritetsregler i SQL Institutt for Informatikk INF3100 13.2.2007 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema: 12 gode råd for en kompilatorskriver Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no Database security Kapittel 14 Building Secure Software Inf329, Høst 2005 Isabel Maldonado st10900@student.uib.no Kort introduksjon Database er en organisert samling av data. SQL(Structured Query Language)

Detaljer

Velkommen til INF2100 Jeg er Dag Langmyhr

Velkommen til INF2100 Jeg er Dag Langmyhr Velkommen til Jeg er Dag Langmyhr (dag@ifi.uio.no). Bakgrunn for I INF1000 20 har dere lært å rammere, men bare små rammer (< 1000 linjer). Hensikten med er å gi mer rammeringstrening Dagens tema: Hva

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme Erik Velldal Universitetet i Oslo 19. april 2016 Tema 2 Forrige uke Strømmer og utsatt evaluering Kort om makroer I dag Kap. 4 Metasirkulær

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 [Kurssidene] [ JBI] [ ] Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Et program som er installert på en tjenermaskin, og som tillater eksterne programmer å utføre spørringer

Detaljer

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. 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

Detaljer

DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet

DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet DBMS Database Management System (repetisjon) Spesialisert SW Karakteristika: Persistens Transaksjonshåndtering A tomicity C onsistency I solation D urability Programmeringsgrensesnitt INF212 v2003 1 Serialiserbarhet

Detaljer

Metaspråket for å beskrive grammatikk

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

Detaljer

EGENDEFINERTE FUNKSJONER I SAS OG LITT OM OPEN SOURCE INTEGRASJON SAS FANS I STAVANGER 21.10.2015, MARIT FISKAAEN (SAS INSTITUTE)

EGENDEFINERTE FUNKSJONER I SAS OG LITT OM OPEN SOURCE INTEGRASJON SAS FANS I STAVANGER 21.10.2015, MARIT FISKAAEN (SAS INSTITUTE) EGENDEFINERTE FUNKSJONER I SAS OG LITT OM OPEN SOURCE INTEGRASJON SAS FANS I STAVANGER 21.10.2015, MARIT FISKAAEN (SAS INSTITUTE) EGENDEFINERTE FUNKSJONER INNLEDNING 2 På FANS 4. mars 2015 ble det vist

Detaljer

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

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor. Else Lervik 29.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 10. Resymé: Vi begynner med å inspisere Recordset-objektet. Deretter

Detaljer

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene

INF Repetisjon: Hvordan bygge treet og analysere? 8. september Typisk situasjon. De problematiske syntaks-diagrammene Dagens tema: INF 2100 8. september 2004 Mer om strukturen i treet og hvordan bygge det Testing av at navn er deklarert og brukt riktig Arbeid i gruppene neste uke: Oppgaver relevant for dette stadiet i

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

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:

Detaljer

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator? Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får

Detaljer

Å programmere databasetjeneren JavaDB. Programkoden ligger i databasen

Å 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

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

EKSAMEN 6102 / 6102N DATABASER

EKSAMEN 6102 / 6102N DATABASER EKSAMEN 6102 / 6102N DATABASER 06.12.2016 Tid: 4 timer (10-14) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål / nynorsk 13 (inkludert denne) Ingen Ingen Eksempeltabeller Sensuren finner du

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator

INF2810: Funksjonell Programmering. En metasirkulær evaluator INF2810: Funksjonell Programmering En metasirkulær evaluator Stephan Oepen & Erik Velldal Universitetet i Oslo 26. april 2013 Tema 2 Forrige uke Strømmer og utsatt evaluering Memoisering Kort om makroer

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator

INF2810: Funksjonell Programmering. En metasirkulær evaluator INF2810: Funksjonell Programmering En metasirkulær evaluator Stephan Oepen & Erik Velldal Universitetet i Oslo 26. april 2013 Tema 2 Forrige uke Strømmer og utsatt evaluering Memoisering Kort om makroer

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

Detaljer

Dagens tema: Kjøresystemer II

Dagens tema: Kjøresystemer II Dagens tema Kjøresystemer II En kort repetisjon (Ghezzi&Jazayeri 2.7.3) Språk med blokker (Ghezzi&Jazayeri 2.7.4) Dynamisk allokering (Ghezzi&Jazayeri 2.7.5) Parametre (Ghezzi&Jazayeri 2.7.7) Ark 1 av

Detaljer

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030 MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2 INF2810: Funksjonell Programmering En metasirkulær evaluator, del 2 Stephan Oepen & Erik Velldal Universitetet i Oslo 03. mai 2013 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data.

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data. INF2810: Funksjonell Programmering Mer om verditilordning og muterbare data. Erik Velldal Universitetet i Oslo 16. mars 2017 De siste ukene: destruktive operasjoner 2 set! endrer verditilordningen til

Detaljer

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2 INF2810: Funksjonell Programmering En metasirkulær evaluator, del 2 Stephan Oepen & Erik Velldal Universitetet i Oslo 03. mai 2013 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data.

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data. INF2810: Funksjonell Programmering Mer om verditilordning og muterbare data. Erik Velldal Universitetet i Oslo 16. mars 2017 De siste ukene: destruktive operasjoner 2 set! endrer verditilordningen til

Detaljer

Hjemmeeksamen 2 i INF3110/4110

Hjemmeeksamen 2 i INF3110/4110 Hjemmeeksamen 2 i INF3110/4110 Innleveringsfrist: onsdag 19. november kl. 1400 Innlevering Besvarelsen av oppgave 2,3,4 og 5 skal leveres skriftlig på papir i IFI-ekspedisjonen. Merk denne med navn, kurskode,

Detaljer

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang

Detaljer

MySQL. Historikk. Nedlasting og installasjon

MySQL. Historikk. Nedlasting og installasjon 1 MySQL MySQL kan lastes ned gratis fra Internett (dev.mysql.com/doc). Vi forklarer hvordan man laster ned og installerer verktøyet, og også hvordan man kommer i gang med å lage databaser i MySQL. Historikk

Detaljer

Videregående programmering 6

Videregå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

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme Erik Velldal Universitetet i Oslo 27. april 2017 Tema 2 Forrige forelesning Strømmer og utsatt evaluering Kort om makroer I dag Kap. 4 Metasirkulær

Detaljer

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL Side 1

Detaljer

Syntaksanalyse. Dagens tema: Språkdiagrammene Jernbanediagrammene er et ypperlig utgangspunkt for å analysere et program: INF2100 INF2100 INF2100

Syntaksanalyse. Dagens tema: Språkdiagrammene Jernbanediagrammene er et ypperlig utgangspunkt for å analysere et program: INF2100 INF2100 INF2100 Syntaksanalyse På skolen hadde vi grammatikkanalyse: Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Fanger krabber så lenge de orker Syntaksanalyse er på

Detaljer

Oppgave: Finn navn og tittel på alle som har arbeidet på prosjektet «Vintersalg»

Oppgave: Finn navn og tittel på alle som har arbeidet på prosjektet «Vintersalg» Skjema Prosjekt(PId, Pnavn, KId, Pleder, StartDato) Ansatt(AId, Navn, Tittel, Fdato, Pnr, AnsDato) Timeliste(AId, Dato, PId, Timer) Kunde(KId, Knavn, Adresse) Oppgave: Finn navn og tittel på alle som har

Detaljer

Hva er Derby og Java DB? Denne forelesningen. Java Database Connectivity (JDBC) Hva er Derby og Java DB?

Hva 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)

Detaljer

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

Å 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,

Detaljer

Dagens tema: INF2100. Syntaksanalyse. Hva annet gjør en kompilator? Sjekking av navnebruk. Testutskrifter

Dagens tema: INF2100. Syntaksanalyse. Hva annet gjør en kompilator? Sjekking av navnebruk. Testutskrifter Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Dag Langmyhr,Ifi,UiO: Forelesning 4. oktober 2005 Ark 1 av 20 Syntaksanalyse På skolen hadde vi grammatikkanalyse:

Detaljer

Hangman. Level. Introduksjon

Hangman. Level. Introduksjon Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon

Detaljer

1. Introduksjon til Oracle Express Edition

1. Introduksjon til Oracle Express Edition Kjell Toft Hansen 22.06.2010 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO177D Databaseprogrammering med PL/SQL 1. Dette notatet skal gi deg en kort innføring i bruken av Oracle

Detaljer

Obligatorisk oppgave 3 i Databaseadministrasjon.

Obligatorisk oppgave 3 i Databaseadministrasjon. Obligatorisk oppgave 3 i Databaseadministrasjon. Applikasjonsutvikling med databaser Gruppenummer 7 Av Kai Hagali Ole J. Schön Cato Goffeng Høgskolen i Østfold 22. Oktober 2012 Innhold 1 Tilkobling til

Detaljer

Avansert bruk av SQL. Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer

Avansert bruk av SQL. Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer Avansert bruk av SQL Avanserte spørringer Valguttrykk Spørring på spørring Unionspørringer Delspørringer, vekselvirkende delspørringer Kvantorer Begrensninger ved SQL Pensum: Kapittel 5 Databaser Leksjon

Detaljer

INF 3430/4431. Simuleringsmetodikk

INF 3430/4431. Simuleringsmetodikk INF 3430/4431 Simuleringsmetodikk Innhold Event driven simulation Simulering av VHDL-modeller Selvtestende testbenker Fil-operasjoner Eksempel på SRAM modell og simulering av lesing fra denne INF3430/4431

Detaljer

SQL: Integritetsregler, triggere og views

SQL: Integritetsregler, triggere og views UNIVERSITETET I OSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 14.2.2014 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler

Detaljer

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. 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

Detaljer

UNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1 UNIVERSITETET IOSLO SQL Structured Query Language g (forts.) Institutt for Informatikk INF3100 9.2.2009 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan

Detaljer

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring

Detaljer

SQL-omgivelser. SQL-omgivelse

SQL-omgivelser. SQL-omgivelse SQL-omgivelser SQL-omgivelse cluster katalog katalog katalog skjema skjema INF212 v2003 1 SQL-omgivelse SQL-omgivelse: Rammeverk som data kan eksistere under og hvor SQL-operasjoner på dataene kan eksekveres.

Detaljer

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon Hangman Erfaren Python Introduksjon La oss lage et spill: Hangman! Datamaskinen vil velge et ord og du kan gjette det bokstav for bokstav. Dersom du gjetter feil for mange ganger taper du. Steg 1: Velg

Detaljer

En lett innføring i foreninger (JOINs) i SQL

En lett innføring i foreninger (JOINs) i SQL En lett innføring i foreninger (JOINs) i SQL Noen ord om forening (JOIN)! 2 JOINs til gjennomgang! 3 1. INNER JOIN! 3 Eksempel på [INNER] JOIN! 4 NATURAL JOIN! 5 Eksempel på NATURAL JOIN! 5 2. LEFT [OUTER]

Detaljer

Oppgaver Oppgave a: Sett opp mulige relasjoner

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

Detaljer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer

INF2810: Funksjonell Programmering. Utsatt evaluering og strømmer INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Utsatt evaluering og strømmer Erik Velldal Universitetet i Oslo 12. april 2016 Tema Forrige gang Ny datastruktur, ny teknikk: Strømmer

Detaljer

Dagens tema: Sjekking

Dagens tema: Sjekking Dagens tema Dagens tema: Sjekking Navnebinding (obligatorisk oppgave 3) Biblioteket Logging Riktig bruk av navn (frivillig) Typesjekking (frivillig) Hele prosjektet Strukturen til kompilatoren vår f.pas

Detaljer

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere IS-203 Oblig innlevering: Del 4 Frist: 15.04.2011 Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere Vi har lært hvordan man oppretter tablespacer og, underveis, lært om de ulike måter å forvalte extentene

Detaljer

INF 3430/4430. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk INF 3430/4430 Simuleringsmetodikk Innhold Event driven simulation Simulering av VHDL-modeller Selvtestende testbenker Fil-operasjoner Eksempel på SRAM modell og simulering av lesing fra denne INF3430 Side

Detaljer

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities. Oversikt UNIX shell 1 UNIX shell Beskrivelse Bash 2 Kommandolinje som brukergrensesnitt 3 Input og output 4 Bash builtins 5 Linux utilities Lars Vidar Magnusson () Forelesning i Operativsystemer 30.08.2011

Detaljer

Delinnlevering 2. INF1050, våren Inge Svale Hauger Handagard (ishandag) Tor Hildrum (thildru)

Delinnlevering 2. INF1050, våren Inge Svale Hauger Handagard (ishandag) Tor Hildrum (thildru) Delinnlevering 2 INF050, våren 2005 Inge Svale Hauger Handagard (ishandag) ihan@broadpark.no Tor Hildrum (thildru) thhildru@student.matnat.uio.no Øystein Riiser Gundersen (oysteirg) oystein.rg@gmail.com

Detaljer

Metoder med parametre, løkker og arrayer

Metoder med parametre, løkker og arrayer Metoder med parametre, løkker og arrayer Løse problemer med programmering INF1000, uke3 Ragnhild Kobro Runde METODER MED PARAMETRE Statiske void-metoder med parametre Den typen metoder vi så på forrige

Detaljer

Java Database Connectivity (JDBC) Norvald H. Ryeng

Java 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

Detaljer

Lynkurs i shellprogrammering under Linux

Lynkurs i shellprogrammering under Linux Lynkurs i shellprogrammering under Linux Interaktiv bruk av shell Shell/skall er en applikasjon som lar bruker taste inn tekstlige kommandoer til Linux en og en linje om gangen (leser linjer fra stdin).

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell programmering INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 7. mai 2015 Tema Forrige uke SICP 4.1. Structure and interpretation

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

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

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Helge Hafting 16.10.2007 Lærestoffet er utviklet for faget LV476D/LN476D Linux systemdrift Innhold 8 1 8.1 Databasen MySQL.............................

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

Paul Hinsch. MICADO AS Utviklet MapBasic applikasjoner i 10 år. Registreringsknapper og Objektdialog

Paul Hinsch. MICADO AS Utviklet MapBasic applikasjoner i 10 år. Registreringsknapper og Objektdialog Brukerdefinerte registreringsknapper og objektdialog Paul Hinsch MICADO AS Utviklet MapBasic applikasjoner i 10 år Paul Hinsch MICADO AS 2011 Brukere klarer ikke alltid selv å styre hvilket kartlag data

Detaljer

9. ASP med databasekopling, del II

9. ASP med databasekopling, del II Else Lervik 23.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 9. Resymé: I forrige leksjon så vi hvordan ASP kunne brukes til å vise

Detaljer

Løkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve

Løkker og arrayer. Løse problemer med programmering. INF1000, uke3 Geir Kjetil Sandve Løkker og arrayer Løse problemer med programmering INF1000, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler og uttrykk Beslutninger Kontrollflyt og feilmeldinger Metoder og parametre Fokus i

Detaljer

>>12 Arbeide med MySQL

>>12 Arbeide med MySQL 106 Snarveien til MySQL og Dreamweaver CS5 >>12 Arbeide med MySQL I dette kapittelet vil du lære hvordan du installerer MySQL Workbench å opprette prosjekter å lage tabeller hvordan du ser på innholdet

Detaljer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs spørrespråk: select-from-where distinct order by Indekser INF1300-15.10.2007 Ellen Munthe-Kaas 1 SQL The Intergalactic Dataspeak

Detaljer

Database med OpenOffice og MySQL

Database med OpenOffice og MySQL Database med OpenOffice og MySQL Av Ingrid Salt 16.02.2004 Innholdsliste Kom i gang med OpenOffice og MySQL... 3 Installering av MySQL... 3 Litt om SQL språket... 3 Starte mysql... 3 Kvar finn vi databasefilene...

Detaljer

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring: Kjell Toft Hansen 02.10.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgave 1 1. Spørring: SELECT oh.*, delnr, kvantum FROM ordrehode oh, ordredetalj

Detaljer

Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL

Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL NTNU Norges teknisk-naturvitenskapelige Universitet Institutt for datateknikk og informasjonsvitenskap Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL Oppgave 1 (Oppgaven

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 4. mai 2017 Tema 2 Forrige uke SICP 4.1. Structure and interpretation of computer programs Metacircular

Detaljer

Eksamen i Internetteknologi Fagkode: IVA1379

Eksamen i Internetteknologi Fagkode: IVA1379 Høgskolen i Narvik Side 1 av 5 Eksamen i Internetteknologi Fagkode: IVA1379 Tid: Mandag, 07.06.04, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 4 oppgaver

Detaljer

SPARQL. Daniel Reinholdt. Trondheim Daniel Reinholdt (NTNU) SPARQL Trondheim / 17

SPARQL. Daniel Reinholdt. Trondheim Daniel Reinholdt (NTNU) SPARQL Trondheim / 17 SPARQL Daniel Reinholdt Trondheim 30.09.16 Daniel Reinholdt (NTNU) SPARQL Trondheim 30.09.16 1 / 17 Oversikt 1 SPARQL Hva er SPARQL? Fordeler med et språk som SPARQL 2 Grunnleggende informasjon Joseki

Detaljer

Presentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen

Presentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen Presentasjon av gruppe 7: Erik Østensen, Henning Østensen og Kenneth Ådalen Hva er ibatis Rammeverk laget for: Forenkling av database oppkoblinger Separering av SQL kode fra kildekode Data access objects

Detaljer

Forelesning 1 DAS - Introduksjon / Systemer / Brukeradmin - (Tom Heine Nätt /) Edgar Boström / Lars V. Magnusson

Forelesning 1 DAS - Introduksjon / Systemer / Brukeradmin - (Tom Heine Nätt /) Edgar Boström / Lars V. Magnusson Forelesning 1 DAS - Introduksjon / Systemer / Brukeradmin - (Tom Heine Nätt /) Edgar Boström / Lars V. Magnusson Om kurset Om kurset Ikke Databaser 2, men utvalgte temaer Målsetninger Ikke bli ekspert,

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4 Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

Detaljer

INF2810: Funksjonell Programmering. Mer om verditilordning. Tabeller. Og strømmer.

INF2810: Funksjonell Programmering. Mer om verditilordning. Tabeller. Og strømmer. INF2810: Funksjonell Programmering Mer om verditilordning. Tabeller. Og strømmer. Erik Velldal Universitetet i Oslo 29. mars 2016 De siste ukene: destruktive operasjoner 2 set! endrer verditilordningen

Detaljer

INF1000 : Forelesning 4

INF1000 : Forelesning 4 INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut Praktisk informasjon INF (Uke 5) Mer om løkker, arrayer og metoder Oblig er lagt ut Frist 8. februar Kan løses etter denne forelesningen Grunnkurs i programmering Institutt for Informatikk Universitetet

Detaljer

Repetisjon Novice Videregående Python PDF

Repetisjon Novice Videregående Python PDF Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med

Detaljer

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Kommentarer til prøveeksamen Erik Velldal Universitetet i Oslo 1: Grunnleggende (6 poeng)? (define foo '(a b))? (define bar foo)? (set!

Detaljer

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder Praktisk informasjon INF (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Når disse timene er over har du lært nok til å løse oblig Frist.

Detaljer