1. SQL datadefinisjon og manipulering

Størrelse: px
Begynne med side:

Download "1. SQL datadefinisjon og manipulering"

Transkript

1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering Resymé: Denne leksjonen omhandler datadefinisjonsspråk DDL (kap. 4.2 i læreboka), inkludert CREATE TABLE. Videre ser vi på spørringer som endrer på datainnholdet i tabeller (kap ), inkludert INSERT, DELETE og UPDATE. Eksemplenene kan brukes både i MySQL og MS Access. Innhold 1.1. KOMMENTARER TIL LÆREBOKA EKSEMPELDATABASE: TIMEAVTALER CREATE TABLE Opprette tabeller i MS Access Opprette tabeller i MySQL Bruk av CASCADE Endring av tabellstruktur INSERT UPDATE DELETE Kommentarer til læreboka Sidereferanser gjelder for 2.utgaven av boka (bruker du 1.utg. av boka vil ikke alle referansene stemme). Har valgt å la eksemplene fra MS Access stå i leksjonen, selv om disse ikke er med i læreboka. Dette for å illustrere forskjeller mellom MS Access og MySQL. Denne leksjonen omhandler datadefinisjonsspråket (DDL) til SQL (kap. 4.2), og den delen av datamanipuleringsspråket (DML) som manipulerer, eller endrer, på innholdet i tabellene i relasjonsdatabasen (kap.4.3.1). Hovedforskjellen på SQL-spørringene i denne leksjonen fremfor SELECT er at disse spørringene medfører fysiske endringer i databasestrukturen eller databaseinnholdet. Slike spørringer kan vi også kalle skriveoperasjoner mot databasen (eng. write), som medfører varige endringer i databasen. SELECT-setninger utfører kun leseoperasjoner (eng. read), som ikke endrer noe i selve databasen. I en flerbrukerdatabase kan skriveoperasjoner ha konsekvenser for andre brukere av databasen, derfor bør slike spørringer utførers med en større forsiktighet enn SELECT. Les alt i kap. 4 fram til og med 4.3.1, men merk deg følgende:

2 SQL datadefinisjon og manipulering side 2 av 9 ER-modellen i figur er ikke viktig foreløpig. ER kommer vi tilbake til i to egne leksjoner om datamodellering, så se bort fra denne nå. Det viktige nå er å forstå hvordan tabellene på side er bygd opp, slik at du lettere kan forstå SQL-eksemplene i boka. Vi legger ikke vekt på bruk av indekser (kap ) i SQL-delen, så se bort fra dette (indekser nevnes til slutt i kurset / kapittel 8). Det samme gjelder Commit-Rollback (kap ). Dette er viktig hvis du skal lage transaksjoner /programmer som inneholder flere SQL-setninger. Men som opplæring i SQL trenger du ikke tenke på COMMIT og ROLLBACK, i alle fall ikke hvis du bruker MS Access. I MySQL kan en anta at såkalt "auto-commit" eller AUTOCOMMIT (se evt. læreboka kap "Transaksjoner i SQL" hvis du lurer på hva dette betyr) er satt siden dette i følge MySQL er "default" setting. Hvis DBMS-et ikke utfører COMMIT automatisk kan det oppstå minneproblemer på databasetjeneren over tid siden DBMS-et da vil betrakte alle kjørte SQL-spørringene som "ikke avsluttet" i databasesystemet. Bruker du et annet DBMS enn MySQL eller MS Access, f.eks. Oracle, og er usikker på dette, så sjekk i manualen til det aktuelle databasesystemet. Hvis man bruker et verktøy som MS Access kan en bruke funksjoner i verktøyet for å opprette nye tabeller, slette tabeller og legge inn nye tupler (gjøres typisk ved å lage egne skjermbilder for dette, såkalte skjema (eng. forms)). Men det er greit å kunne gjøre dette i SQL også, fordi SQL-setningene er relativt verktøyuavhengige. De vil f.eks. også fungerer i MySQL, PostgreSQL og Oracle, selv om det dessverre finnes noen lokale særheter ute og går her (f.eks. ulike spesifikasjoner av fremmednøkler i MySQL, eller ulike datoformat). CREATE TABLE, UPDATE, INSERT og DELETE er relativt enkle setninger å lære seg. I tillegg til det som står i kap.4, kan du lese kap. 5.4 om virtuelle tabeller, eller CREATE VIEW i SQL. VIEW-s kan brukes som et alternativ til å kjøre SELECT-spørringer direkte mot tabellen, f.eks. hvis en ønsker at sluttbrukeren, eller gjerne en bestemt brukergruppe (dette kommer vi tilbake til i kap.8), ikke skal kunne hente ut data fra hele tabellen, men bare en del av den. MS Access støtter ikke bruk av VIEW. Når du skriver SQL: Vær nøye med alle tegn som, og ; (til slutt i setningen). Hvis du glemmer disse blir det fort syntax error. Dette gjelder for alle SQL-spørringer, ikke bare SELECT Eksempeldatabase: timeavtaler Videre i leksjon bruker vi en eksempeldatabase for å registrere timeavtaler ved et legesenter. Tabellene under brukes for å lagre nødvendige data knyttet til timebestillingene. En pasient (tabellen PASIENT) for tildelt en time hos en lege (tabellen LEGE) på en bestemt dag (dato) og tidspunkt dette registreres i tabellen TIMEBESTILLING. I tillegg registreres behov for rom for timen - normalt legekontoret (konsultasjon), men senteret har også eget behandlingsrom for enkle kirurgiske inngrep. En lege vil ikke utføre både konsultasjoner og kirurgi på samme dag. Tabellen LEGE_ROM viser hvor en lege befinner seg på en bestemt dag, mens ROM_BEHANDLING viser hva slags type rom det er snakk om (behandling her er enten lik konsultasjon eller kirurgisk ). 1 Figur 4.1 i 1.utg. av boka.

3 SQL datadefinisjon og manipulering side 3 av 9 TIMEBESTILLING (ansattnr*, pasientnr*, dag*, tid) LEGE (ansattnr, legenavn) PASIENT (pasientnr, fornavn, etternavn, gateadresse, postnr, poststed, telefon) LEGE_ROM (ansattnr*, dag, rom*) ROM_BEHANDLING (rom, behandling) Understekte attributter er primærnøkkel. Attributter merket * er fremmednøkler CREATE TABLE Opprette tabeller i MS Access Eksempler på CREATE TABLE for tabellene: CREATE TABLE LEGE( ansattnr CHAR(6) NOT NULL, legenavn VARCHAR(30), CONSTRAINT ansatt_pk PRIMARY KEY (ansattnr)); CREATE TABLE PASIENT( pasientnr CHAR(6) NOT NULL, fornavn VARCHAR(30), etternavn VARCHAR(30), gateadresse VARCHAR(50), postnr CHAR(4), telefon VARCHAR(15), CONSTRAINT pasient_pk PRIMARY KEY (pasientnr)); CREATE TABLE ROM_BEHANDLING( rom CHAR(6) NOT NULL, behandling VARCHAR(30), CONSTRAINT rom_pk PRIMARY KEY (rom)); CREATE TABLE LEGE_ROM( ansattnr CHAR(6) NOT NULL, dag CHAR(8) NOT NULL, rom CHAR(6) NOT NULL, CONSTRAINT legerom_pk PRIMARY KEY (ansattnr, dag), CONSTRAINT lege_fk FOREIGN KEY (ansattnr) REFERENCES LEGE(ansattnr));

4 SQL datadefinisjon og manipulering side 4 av 9 CREATE TABLE TIMEBESTILLING( ansattnr CHAR(6) NOT NULL, pasientnr CHAR(6) NOT NULL, dag CHAR(8) NOT NULL, tid CHAR(5) NOT NULL, CONSTRAINT timebe_pk PRIMARY KEY (ansattnr, pasientnr, dag, tid), CONSTRAINT lege_fk2 FOREIGN KEY (ansattnr,dag) REFERENCES LEGE_ROM(ansattnr,dag), CONSTRAINT pasient_fk2 FOREIGN KEY (pasientnr) REFERENCES PASIENT(pasientnr)); Merk deg! Tabellene er opprettet i den rekkefølgen de står oppført over. Dette for å unngå rot med fremmednøklene (kan ikke opprette fremmednøkler som refererer til en tabell som enda ikke finnes i databasen). Merk deg også at en CREATE TABLE er en engangsoperasjon har du først opprettet tabellen en gang er det ikke mulig å opprette den på nytt. Skal du endre på en tabell i ettertid, bruk ALTER TABLE (se læreboka). Valg av datatyper: Hvert attributt, også nøkler, må ha en datatype. Datatypen sier hvilke lovlige verdier attributter i tabellen kan ha, eller attributtets domene (verdiområde). Har i disse tabellene kun brukt tekst som datatyper. F.eks. behandling VARCHAR(30) betyr at attributtet behandling kan ha inntil 30 tegn, mens rom CHAR(6) betyr at attributtet rom må ha eksakt 6 tegn. Andre vanlige datatyper står nevnt i Tabell 4.2 i læreboka (i 2.utg. er det også kommentert noen ulikheter mellom MS Access, MySQL og Oracle vedr. hvilke datatyper de støtter per i dag (dette kan endres over tid etter hvert som nye versjoner av databasesystemene dukker opp)). Har ikke brukt noe datoformat for tid i dette eksemplet. NOT NULL betyr at attributtet alltid må ha en verdi for alle tuplene / postene i tabellen. Ellers legg merke til at et attributt kan både være en (eller en del av en sammensatt) primærog fremmednøkkel i samme tabell. Den store primærnøkkelen i TIMEBESTILLING er mest for eksempelets skyld (en så stor nøkkel er ikke videre pratisk i en større database). I MS Access vil en se sammenhengene mellom tabellene grafisk i vinduet relasjoner ( relationships i den engelske versjon brukt i figuren under)(figuren under viser en forenklet utgave av eksempeldatabasen):

5 SQL datadefinisjon og manipulering side 5 av 9

6 SQL datadefinisjon og manipulering side 6 av Opprette tabeller i MySQL CREATE TABLE-setningene blir nesten tilsvarende i MySQL. Det er syntaksen for hvordan primær- og fremmednøkler skrives som er forskjellig fra MS Access. For å få definert fremmednøkler med referanseintegritet må en bruke type=innodb for nøkler. Innodbfunksjonalitet er automatisk med i nyere versjoner av MySQL 2 (eller du kan velge å ta den med ved installasjon av MySQL). Før var det også nødvendig å lage indekser på de attributtene som inngår i fremmednøkler dette gjøres ved setningen INDEX(ansattnr),, som enkelt oppretter en indeks på ansattnr. I nyere versjoner av MySQL skal ikke dette være nødvendig (men det er gjort i eksemplet for sikkerhets skyld). Ellers gjelder de samme kommentarene for rekkefølgen tabellene defineres. Har brukt DATE datatype for tid i dette eksemplet. Læreboka bruker ALTER TABLE-setninger for å definere fremmednøkler. Dette er et alternativ til å skrive FOREIGN KEY direkte i CREATE TABLE. Før en legger inn tabellene i MySQL kan en opprette databasen slik: create database timebestilling; use timebestilling; Deretter kan CREATE TABLE-setningene skrives fortløpende: CREATE TABLE LEGE( ansattnr CHAR(6) NOT NULL, legenavn VARCHAR(30), PRIMARY KEY (ansattnr))type=innodb; CREATE TABLE PASIENT( pasientnr CHAR(6) NOT NULL, fornavn VARCHAR(30), etternavn VARCHAR(30), gateadresse VARCHAR(50), postnr CHAR(4), telefon VARCHAR(15), PRIMARY KEY (pasientnr))type=innodb; CREATE TABLE ROM_BEHANDLING( rom CHAR(6) NOT NULL, behandling VARCHAR(30), rom_pk PRIMARY KEY (rom))type=innodb; 2 Leksjonen bruker MySQL 4.1. Eventuelle endringer i nyere versjoners bruk av innodb er ikke tatt med.

7 SQL datadefinisjon og manipulering side 7 av 9 CREATE TABLE LEGE_ROM( ansattnr CHAR(6) NOT NULL, dag DATE NOT NULL, rom CHAR(6) NOT NULL, PRIMARY KEY (ansattnr, dag), INDEX(ansattnr), INDEX(rom), FOREIGN KEY (ansattnr)references LEGE(ansattnr), FOREIGN KEY (rom)references ROM_BEHANDLING(rom))type=innodb; CREATE TABLE TIMEBESTILLING( ansattnr CHAR(6) NOT NULL, pasientnr CHAR(6) NOT NULL, dag DATE NOT NULL, tid CHAR(5) NOT NULL, PRIMARY KEY (ansattnr,pasientnr, dag, tid), INDEX(ansattnr,dag), INDEX(pasientnr), FOREIGN KEY (ansattnr,dag) REFERENCES LEGE_ROM(ansattnr,dag), FOREIGN KEY (pasientnr) REFERENCES PASIENT(pasientnr))type=innodb; For å være sikker på at opprettelsen av tabellene er lagret i databasen, kan en utføre COMMIT til slutt: commit; For å se en tabellstruktur i MySQL etter at tabellen er opprettet, kan du bruke en av følgende kommandoer (hvor 'tabellnavn' her er navnet på tabellen): show create table tabellnavn; show columns from tabellnavn; show full columns from tabellnavn; describe tabellnavn; Bruk av CASCADE I MySQL er det også mulig å spesifisere hva som skal skje med referanser ved UPDATE og DELETE fra tabellen, ved å føye til ON DELETE CASCADE og/eller ON UPDATE

8 SQL datadefinisjon og manipulering side 8 av 9 CASCADE til slutt i FOREIGN KEY-setningen. Se noen korte kommentarer vedr. bruk av dette i læreboka kap Endring av tabellstruktur Å endre en tabellstruktur etter at databasen er tatt i bruk er ikke alltid like enkelt. Kort så må ikke en strukturendring komme i konflikt med gjeldene referanseintegritet, dvs i praksis er det vanskelig å endre på nøkler. Å legge til og ta vekk ikke-nøkkel attributter bør gå. Dette gjøres ved å bruke ALTER TABLE med ADD COLUMN eller DROP COLUMN. Det samme å legge til primærnøkkel og nye fremmednøkler i en tabell (en ny fremmednøkkel vil ikke komme i konflikt med eksisterende nøkler i tabellen) - se eksempler på ALTER TABLE i læreboka. Et tips er at en venter med å opprette nøkler i en ny database til etter at en har testet ut databasen, men før databasen tas i bruk av vanlige sluttbrukere. En mulig oppskrift for å endre primærnøkkel etter at tabellen er tatt i bruk: 1. Slett alle fremmednøkler som refererer til den gamle primærnøkkelen. I Access kan dette gjøres i relasjons -vinduet ( relastionships i engelsk versjon) ved å slette relasjoner til tabellen hvor du skal endre primærnøkkel. 2. Endre primærnøkkelen 3. Opprett nye fremmednøkler som refererer til den nye primærnøkkelen. En alternativ fremgangsmåte er å opprette en ny tabell og flytte over data fra den gamle tabellen til den nye ved bruk av INSERT (se eksempel i læreboka s ), for så å slette den gamle tabellen med DROP TABLE. Men generelt bør en ikke endre på nøkler i en database som er i bruk INSERT MS Access lager automatisk referanseintegritet ved opprettelse av fremmednøkler. Derfor må en legge inn data i riktig rekkefølge (MS Access gir feilmelding om du prøver noe annet). I vårt eksempel betyr dette at en må legge inn data i LEGE, PASIENT og LEGE_ROM før en legger inn data i TIMEBESTILLING. D.v.s. legen, pasienten og rommet må eksistere i databasen før en kan legge inn en timebestilling. INSERT INTO LEGE VALUES ('L100','Ole Aas'); INSERT INTO PASIENT values('p100','gro','hansen','bakkegata 10','7021','TRONDHEIM',' '); INSERT INTO LEGE_ROM VALUES ('L100', ' ','k10'); INSERT INTO TIMEBESTILLING VALUES ('L100','P100', ' ','10:00'); 3 Side 108 i 1.utg.

9 SQL datadefinisjon og manipulering side 9 av UPDATE UPDATE kan ha WHERE-uttrykk på samme måte som SELECT. Dette betyr også at en kan endre på flere tupler samtidig i en tabell. Eksempel: Endre rommet til lege L110 den til rom k10 : UPDATE LEGE_ROM SET rom = 'k10' WHERE ansattnr='l110' AND dag=' '; 1.6. DELETE DELETE med WHERE-uttrykk betyr at en også kan slette flere tupler samtidig. Merk deg: 1) Du sletter alltid hele tuplet / posten med DELETE, ikke bare enkeltattributter. 2) Du kommer fort i konflikt med referanseintegritet ved sletting husk å slette i riktig rekkefølge. Eksempel: Slette legen L100 : Må først slette alle tuplene hvor ansattnr = L100 forekommer i tabellene LEGE_ROM og ROM_BEHANDLING (alternativt: sette en annen lege inn i stede for L100 ved å bruke UPDATE). DELETE FROM LEGE_ROM WHERE ansattnr= 'L100'; DELETE FROM TIMEBESTILLING WHERE ansattnr= 'L100'; Så til slutt slette selve legen: DELETE FROM LEGE WHERE ansattnr= 'L100';

1. SQL spørringer mot flere tabeller

1. SQL spørringer mot flere tabeller 1. SQL spørringer mot flere tabeller Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL spørringer mot flere tabeller Tore Mallaug 29.9.2008 Lærestoffet er utviklet for faget Databaser

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

Miniverden og ER- modell

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-

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

1. Relasjonsmodellen. 1.1. Kommentarer til læreboka

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

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

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

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

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

1. Normalisering Kommentarer til læreboka

1. Normalisering Kommentarer til læreboka Tore Mallaug 6.11.2007 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Resymé: Denne leksjonen viser et eksempel på normalisering av en liten database.

Detaljer

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

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

1. Innføring i bruk av MySQL Query Browser

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

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

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

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

Utvikling fra kjernen og ut

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

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

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

Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

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

1. Datamodellering. 1.1. Kommentarer til læreboka

1. Datamodellering. 1.1. Kommentarer til læreboka Tore Mallaug 20.10.2009 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for fagene LN323D Databaser 1. Datamodellering Resymé: Denne leksjonen viser et par eksempler på ER-modellering

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

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

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

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

Detaljer

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Transaksjoner 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

Detaljer

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

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

Detaljer

Introduksjon til fagfeltet

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

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

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

Utvikling fra kjernen og ut

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

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

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

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

SQL Introduksjonskurs. Oversikt SQL Introduksjonskurs Oversikt Oversikt 2/7 Introduksjon til datamodellering Normalisering Logisk skjema til Database Strukturelle operasjoner Operasjoner mot data Kontrolloperasjoner Aggregering og indekser

Detaljer

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Transaksjoner 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

Detaljer

Løsningsforslag matoppskrifter modellering

Løsningsforslag matoppskrifter modellering Løsningsforslag matoppskrifter modellering Oppgave 1 Det beste er å ha et felles løpenummer på alle oppskrifter, uavhengig av hvor de stammer fra, og heller ha ekstraopplysninger som avhenger av om oppskriften

Detaljer

Utvikling fra kjernen og ut

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

Detaljer

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 INF 329: Web-Teknologier Dataimplementasjon Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 av: Dag Viggo Lokøen (dagvl@ii.uib.no) Kent Inge F. Simonsen (kentis@ii.uib.no)

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

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. triggere og views. Institutt for Informatikk. INF Arne Maus 1

UNIVERSITETET. triggere og views. Institutt for Informatikk. INF Arne Maus 1 UNIVERSITETET IOSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 28.2.2012 Arne Maus 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

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

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

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19 Prosedyrer Lars Vidar Magnusson October 26, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 26, 2011 1 / 19 Repetisjon om triggere og prosedyrer Triggere og prosedyrer ligner på hverandre

Detaljer

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

Detaljer

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22.

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22. INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning onsdag 22. september 2010 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 6.desember 2010 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2009HA

Detaljer

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

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

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 7.desember 2009 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2008HA

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 2.desember 2009 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D LO191D Videregående programmering

Detaljer

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring

SQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring SQL Språk for Skjemadefinisjon Spørringar Database-oppdateringar Svært høgnivå: i prinsippet skriv ein kva ein vil ha som resultat, utan å spesifisere korleis Sterk grad av optimalisering effektivt Skjemadefinisjon

Detaljer

>>21 Datamodellering i MySQL Workbench

>>21 Datamodellering i MySQL Workbench 21 MYSQL WORKBENCH 207 >>21 Datamodellering i MySQL Workbench I dette kapittelet vil du lære hvordan man lager datamodeller i MySQL Workbench hvordan man overfører en modell til MySQL I tillegg til å være

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

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

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

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

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks. SQL og Mengdelære Oracle, MySQL, Access, bruker forskjellige syntaks. Kan vi beskrive, hva SQL er og hva man kan gjøre med SQL, uavhengig av konkret syntaks!!! Hvilke universale formelle språk har vi til

Detaljer

Eksamen i IBE 210 - Databaser H 2008

Eksamen i IBE 210 - Databaser H 2008 Avdeling for økonomi, informatikk og samfunnsfag Eksamen i IBE 210 - Databaser H 2008 Eksamensdag : 5 desember 2008 Tid : 9.00 13.00 Faglærer/telefonnummer : Arne Løkketangen 99690939 Hjelpemidler : Alle

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

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

Løsningsforlag for oblig 1, databaser 2010

Løsningsforlag for oblig 1, databaser 2010 Løsningsforlag for oblig 1, databaser 2010 Oppgave 1 a) Hvilke supernøkler finnes i de to tabellene? Tabellen klasse har følgende supernøkler: (klasseid, klassebetegnelse) (klasseid) Tabellen renndeltager

Detaljer

Samtidighetsfenomener og anomalier i eksekveringsplaner. INF Ellen Munthe-Kaas 1

Samtidighetsfenomener og anomalier i eksekveringsplaner. INF Ellen Munthe-Kaas 1 Samtidighetsfenomener og anomalier i eksekveringsplaner INF3100 15.3.2012 Ellen Munthe-Kaas 1 Liste over fenomener og anomalier P0 Skitten skriv w 1 (x)..w 2 (x)..(c 1 eller a 1 ) P1 Skitten les w 1 (x)..r

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Detaljer

Tabeller og enkle spørringer

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

Detaljer

En liten rekap. Spørrespråk. I dag SELECT

En liten rekap. Spørrespråk. I dag SELECT [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 06/11-15 Databaser høsten 2015 En liten rekap ER-diagram - vi modellerer dataene våre til danne best mulig grunnlag for informasjonen

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

Ulike DBMSer. Mest kjente: Oracle PostGreSQL* MySQL* SQLServer* DB2 SQLite Access (DBMS og utv. verktøy i ett) *Skal benyttes i kurset.

Ulike DBMSer. Mest kjente: Oracle PostGreSQL* MySQL* SQLServer* DB2 SQLite Access (DBMS og utv. verktøy i ett) *Skal benyttes i kurset. Ulike DBMSer Mest kjente: Oracle PostGreSQL* MySQL* SQLServer* DB2 SQLite Access (DBMS og utv. verktøy i ett) osv *Skal benyttes i kurset. Tom Heine Nätt / Edgar Bostrøm Hva er likt for disse (De fleste

Detaljer

INF130 INF130. INF130:Repetisjon 05.05.15. INF130:Repetisjon 1. Tabeller og enkle spørringer. Repetisjon

INF130 INF130. INF130:Repetisjon 05.05.15. INF130:Repetisjon 1. Tabeller og enkle spørringer. Repetisjon INF130 Tabeller og enkle spørringer INF130 Repetisjon Tabeller og enkle spørringer Database, relasjonsdatabase Databasehåndteringssystem (DBHS) Databasesystem Tabell, kolonne, rad, datatype, verdi, primærnøkkel

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420

Detaljer

Øvingsoppgave uke 3. Fanger i fengsel

Øvingsoppgave uke 3. Fanger i fengsel Øvingsoppgave uke 3 Fanger i fengsel I enden av Justisveien i Berg, ikke langt fra svenskegrensa ligger Halden Fengsel. Fengselet har flere celler med plass til fanger. En database er opprettet for å lagre

Detaljer

Ekvivalente stier (Equivalence of Path, EOP) i storm

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

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

>>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 definisjonsspråk SQLs spørrespråk: select-from-where distinct order by SQLs manipulasjonsspråk Indekser Filmdatabasen INF1300

Detaljer

Vanlige spørsmål om EndNote (april 2013)

Vanlige spørsmål om EndNote (april 2013) Vanlige spørsmål om EndNote (april 2013) Her er svar på en del vanlig spørsmål og problemer som kan dukke opp når du arbeider med EndNote. Innhold Import av referanser... 1 Hvis EndNote låser seg:... 2

Detaljer

Utvikling fra kjernen og ut

Utvikling 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

Detaljer

Tabelldefinisjon og datamanipulering

Tabelldefinisjon og datamanipulering Tabelldefinisjon og datamanipulering Tabelldefinisjon med SQL og i utformingsvisning Datatyper Primærnøkler og fremmednøkler Entitetsintegritet og referanseintegritet Nullmerker, repetisjoner, standardverdier

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

2. Beskrivelse av mulige prosjektoppgaver

2. Beskrivelse av mulige prosjektoppgaver Avanserte databaser (øving 9, 10, 11 & 12) Tore Mallaug 25.01.2008 Opphavsrett:Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO326D Avanserte Databaser INNLEVERINGSFRISTER (Obligatorisk

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

SQL. ISO SQL-standardene. Structured Query Language. Bruk av SQL. En innledende kommentar SQL-89 SQL-92 SQL:1999

SQL. ISO SQL-standardene. Structured Query Language. Bruk av SQL. En innledende kommentar SQL-89 SQL-92 SQL:1999 ISO SQL-standardene SQL Structured Query Language SQL-89 o Originalstandarden o Addendum for Embedded SQL (1994) SQL-92 o ISO/IEC 9075 SQL Database Databasetjener (Oracle) SQL:1999 o ISO/IEC 9075:1999

Detaljer

Ekvivalente stier (Equivalence of Path, EOP) i storm

Ekvivalente stier (Equivalence of Path, EOP) i storm Ekvivalentestier(EquivalenceofPath,EOP)istORM Detteerikkerettfram,derfordennebeskrivelsen.Vitarutgangspunktifølgende modellforkinoerogkinoforestillinger: Bilde1 ORM2 modell I bildet under ser du modellen

Detaljer

8. ASP med databasekopling, del I

8. ASP med databasekopling, del I Else Lervik 16.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 8. Resymé: Leksjonen begynner med en generell introduksjon til databaser

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

UI-View Installasjon og konfigurasjon for IGate + RX<->TX av meldinger og ingen ting annet!

UI-View Installasjon og konfigurasjon for IGate + RX<->TX av meldinger og ingen ting annet! UI-View Installasjon og konfigurasjon for IGate + RXTX av meldinger og ingen ting annet! For å fullføre denne installasjon trenger du en PC med Windows XP/Vista/7, fast Internett forbindelse og en TNC

Detaljer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Detaljer

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING Prosjekt 18 Jørgen Mobekk Sørensen Morten Evje Tor Andreas Baakind Anders Gabrielsen Side 1 1 FORORD Dette dokumentet er brukerveiledningen, og skal være en veiledning

Detaljer

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

Detaljer

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller LC238D http://www.aitel.hist.no/fag/_dmdb/ Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller ER-modellen, intro.

Detaljer

1. Introduksjon og bakgrunn

1. Introduksjon og bakgrunn Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til Databaser 2 Tore Mallaug 28.8.2012 Lærestoffet er utviklet for faget Databaser 2 1. Introduksjon og bakgrunn Resymé: I denne

Detaljer

Andre sett obligatoriske oppgaver i INF3100 V2013

Andre sett obligatoriske oppgaver i INF3100 V2013 Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,

Detaljer

Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi.

Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Innledning Dette er vår første obligatoriske oppgave i kurset Moderne Databaseteknologi. Oppgaven går ut på å implementer en database. Vi skal utforske og implementere noen av de mer avanserte mulighetene

Detaljer

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

Løsningsforslag maskindatabasen på Ifi SQL og normalisering Løsningsforslag maskindatabasen på Ifi SQL og normalisering Oppgave 1 select prosjektid, ansattid, dato, timer from Prosjekttimer where status = 'merknad' order by prosjektid, ansattid; Oppgave 2 Fra primærnøkkelen

Detaljer

Satsvise, interaktive, sanntids/innbakte systemer. Arne Maus, Ifi. Oppdeling av både program og data på flere maskiner

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

Detaljer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Detaljer

Arne Maus, Ifi. delvis lån av gamle foiler

Arne 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

Detaljer

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

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

Detaljer

Lotus Traveler - Manual for installasjon

Lotus Traveler - Manual for installasjon Lotus Traveler - Manual for installasjon Innholdsliste Nedlasting...2 Installasjon...3 Konfigurering...4 Problemer...5 Nedlasting 1) Åpne nettleseren på mobilen din. På de fleste Nokia-telefoner har denne

Detaljer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1 UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 1.2.2005 Ragnar Normann 1 SQL SQL Structured Query Language er et deklarativt språk for

Detaljer

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

Klasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting STOL ALDRI PÅ KLIENTEN! Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse Transaksjonshåndtering LC191D Videregående programmering

Detaljer