Lösningsförslag, tentamen i Databaser

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "Lösningsförslag, tentamen i Databaser"

Transkript

1 LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi förorsakas-av Barn pnr har-allergi Relationer av entitetsmängderna: Matsedlar(år, vecka) Maträtter() Ingredienser() Allergier() Barn(pNr, ) Relationer av sambanden (bara många-många-samband här, ovanligt nog): Serveras(år, vecka, maträttnamn, dag) LagasMed(maträttNamn, ingrediensnamn, mängd) FörorsakasAv(allergiNamn, ingrediensnamn) HarAllergi(pNr, allerginamn) Vi ser att relationen Serveras i översättningen fick nyckeln {år, vecka, maträttnamn, vilket innebär att man inte kan servera samma maträtt under två dagar i samma vecka. Det kanske är rimligt; om vi inte tycker att det är rimligt så kan vi ändra nyckeln till {år, vecka, dag. Då borde vi också ändra ER-modellen. Primärnycklarna i relationerna är understrukna. De främmande nycklarna framgår av en på attributen; till exempel är (år, vecka) i Serveras främmande nyckel till (år, vecka) i Matsedlar och maträttnamn i Serveras till i Maträtter. Det finns inte några andra funktionella beroenden än nyckelberoendena, så samtliga relationer är i BCNF.

2 2(4) Namn och personnummer för alla barn som inte kan äta pannkakor: select distinct Barn.pNr, Barn. from Barn, HarAllergi, FörorsakasAv, LagasMed where Barn.pNr = HarAllergi.pNr and HarAllergi.allergiNamn = FörorsakasAv.AllergiNamn and FörorsakasAv.ingrediensNamn = LagasMed.ingrediensNamn and LagasMed.maträttNamn = pannkakor ; SQL-satsen som är svaret på fråga d) liknar ovanstående sats. 2. ER-diagram: Person pnbr name address owns Car involved-in licensenbr model year Accident reportnbr date description damageamount Skapa tabellerna Accidents och InvolvedInAccidents: create table Accidents ( reportnbr varchar(10), adate char(10) not null, description varchar(100) not null default okänd, primary key (reportnbr) ); create table InvolvedInAccidents ( licensenbr char(6) not null, reportnbr varchar(10) not null, damageamount decimal(8,2) default 0, primary key (licensenbr, reportnbr), foreign key (licensenbr) references Cars(licenseNbr), foreign key (reportnbr) references Accidents(reportNbr) ); Övriga SQL-satser: select count(distinct licensenbr) from InvolvedInAccidents, Accidents where adate like 2003% and Accidents.reportNbr = InvolvedInAccidents.reportNbr; select adate, description from Persons, Owns, InvolvedInAccidents, Accidents where Persons.name = Bo Ek and Persons.pNbr = Owns.pNbr and Owns.licenseNbr = InvolvedInAccidents.licenseNbr and InvolvedInAccidents.reportNbr = Accidents.reportNbr; insert into Accidents(reportNbr, date, description) values ( XB2411, , krock ); insert into InvolvedInAccidents(licenseNbr, reportnbr) values( ABC123, XB2411 ); insert into InvolvedInAccidents(licenseNbr, reportnbr) values( XYZ789, XB2411 ); update InvolvedInAccidents set damageamount = where reportnbr = XB2411 and licensenbr = XYZ789 ;

3 3(4) 3. För att beräkna nycklarna beräknar vi höljet av alla möjliga delmängder av attributen under de givna funktionella beroendena. Beräkningar, delmängder med ett attribut: {A+ => {B+ => {C+ => {D+ => {E+ => {A => {A, B, C (FD1) => {A, B, C, D (FD3) => {A, B, C, D, E (FD2) {B => {B, D (FD3) {C {D {E => {E, A (FD4) => {E, A, B, C (FD1) => {E, A, B, C, D (FD3) {A och {E är nycklar. Delmängder med två attribut som inte innehåller A eller E: {B, C+ =>{B, C => {B, C, D (FD3) => {B, C, D, E (FD2) => {B, C, D, E, A (FD4) {B, D+ =>{B, D {C, D+ =>{C, D => {C, D, E (FD2) => {C, D, E, A (FD4) => {C, D, E, A, B (FD1) Här ser vi att {B, C och {C, D är nycklar. Det finns inga delmängder med tre eller flera attribut som inte innehåller någon av nycklarna, så vi har alltså hittat samtliga nycklar. Relationen är inte i BCNF eftersom vänsterledet B i det funktionella beroendet FD3, B D, inte är en supernyckel. Däremot är relationen i 3NF eftersom högerledet D i beroendet ingår i en nyckel. Vi delar upp i mindre relationer utgående från FD3 och får: R1(B, D) R2(A, B, C, E) R1 är i BCNF eftersom relationen bara innehåller två attribut. För att ta reda på om R2 är i BCNF måste vi avgöra vilka funktionella beroenden som gäller i R2. Vi beräknar höljen på samma sätt som nyss och använder de ursprungliga funktionella beroendena FD1-FD4. Vi finner bara nyckelberoendena A BCE, E ABC och BC AE. Eftersom alla funktionella beroenden är nyckelberoenden är alltså också R2 i BCNF. Bevis av påståendet att alla relationer med två attribut är i BCNF: en relation är i BCNF om vänsterledet i samtliga funktionella beroenden är supernycklar. Det finns fyra olika fall vad gäller funktionella beroenden som kan gälla i relationen, som vi betecknar med R(A, B): a) Inga funktionella beroenden. Då är {A, B nyckel och relationen är i BCNF. b) A B. Då är A nyckel, och relationen är i BCNF. c) B A. Då är B nyckel, och relationen är i BCNF. d) A B och B A. Då är både A och B nycklar, och relationen är i BCNF.

4 4(4) 4. Anmärkning: eftersom damageamount är decimal(8.2), eller åtminstone ett numeriskt värde av något slag, borde programmet hämtat värdet med getdouble eller något liknande, inte med getstring. Formellt fel: vi har glömt att JDBC-metoderna kan generera SQLExceptions som vi måste ta hand om. Ineffektivitet: det är onödigt att hämta alla tupler från relationen och sedan testa vilka man vill ha; i stället skall man bara hämta dem som man behöver. Omskriven metod: public void printaccidentsinvolving(string carnbr) { System.out.println( Olyckor där + carnbr + varit inblandad ); System.out.println( Rapportnummer\tSkadebelopp ); System.out.println( ); try { Statement stmt = conn.createstatement(); ResultSet rs = stmt.executequery( select reportnbr, damageamount + from InvolvedInAccidents + where licensenbr = + carnbr + ); while (rs.next()) System.out.println(rs.getString( reportnbr ) + \t + rs.getstring( damageamount )); stmt.close(); catch (SQLException e) { System.err.println(e); e.printstacktrace(); finally { try { stmt.close(); catch (SQLException e2) { System.err.println( Could not finally close statement, impossible... ); System.err.println(e2); e2.printstacktrace(); 5. En lagrad procedur är programkod som exekveras av databashanteraren. Programmen skrivs till exempel i SQL/PSM (Persistent Stored Modules), som är SQL-standardspråket för lagrade procedurer. Men de flesta databasleverantörer följer inte standarden utan har någon egen variant av språk, till exempel Oracles PL/SQL. Eftersom man i SQL inte kan uttrycka programmeringskonstruktioner som if- och whilesatser eller rekursion är det ibland nödvändigt att använda lagrade procedurer som är skrivna i programspråk som innehåller dessa konstruktioner. Alternativet skulle vara att göra beräkningarna i tillämpningsprogrammet, till exempel i Java, men det skulle kunna medföra att mycket data behövde hämtas från databasen. Med en lagrad procedur exekveras allting inuti databasen. 6. Alla XML-dokument består av text. Strukturen hos dokumentet anger man med taggar en starttagg markerar att information av ett visst slag börjar, en sluttagg att denna information slutar. Exempel: <Person> <name>bo Ek</name> <address>lund</address> </Person>. I well-formed XML kan man använda vilka taggar som helst. I valid XML har man specificerat vilka taggar som får förekomma och i vilken ordning de skall skrivas. Denna specifikation skriver man i en DTD, Document Type Definition.

5 LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi förorsakas-av Barn pnr har-allergi Relationer av entitetsmängderna: Matsedlar(år, vecka) Maträtter() Ingredienser() Allergier() Barn(pNr, ) Relationer av sambanden (bara många-många-samband här, ovanligt nog): Serveras(år, vecka, maträttnamn, dag) LagasMed(maträttNamn, ingrediensnamn, mängd) FörorsakasAv(allergiNamn, ingrediensnamn) HarAllergi(pNr, allerginamn) Vi ser att relationen Serveras i översättningen fick nyckeln {år, vecka, maträttnamn, vilket innebär att man inte kan servera samma maträtt under två dagar i samma vecka. Det kanske är rimligt; om vi inte tycker att det är rimligt så kan vi ändra nyckeln till {år, vecka, dag. Då borde vi också ändra ER-modellen. Primärnycklarna i relationerna är understrukna. De främmande nycklarna framgår av en på attributen; till exempel är (år, vecka) i Serveras främmande nyckel till (år, vecka) i Matsedlar och maträttnamn i Serveras till i Maträtter. Det finns inte några andra funktionella beroenden än nyckelberoendena, så samtliga relationer är i BCNF.

6 2(4) Namn och personnummer för alla barn som inte kan äta pannkakor: select distinct Barn.pNr, Barn. from Barn, HarAllergi, FörorsakasAv, LagasMed where Barn.pNr = HarAllergi.pNr and HarAllergi.allergiNamn = FörorsakasAv.AllergiNamn and FörorsakasAv.ingrediensNamn = LagasMed.ingrediensNamn and LagasMed.maträttNamn = pannkakor ; SQL-satsen som är svaret på fråga d) liknar ovanstående sats. 2. ER-diagram: Person pnbr name address owns Car involved-in licensenbr model year Accident reportnbr date description damageamount Skapa tabellerna Accidents och InvolvedInAccidents: create table Accidents ( reportnbr varchar(10), adate char(10) not null, description varchar(100) not null default okänd, primary key (reportnbr) ); create table InvolvedInAccidents ( licensenbr char(6) not null, reportnbr varchar(10) not null, damageamount decimal(8,2) default 0, primary key (licensenbr, reportnbr), foreign key (licensenbr) references Cars(licenseNbr), foreign key (reportnbr) references Accidents(reportNbr) ); Övriga SQL-satser: select count(distinct licensenbr) from InvolvedInAccidents, Accidents where adate like 2003% and Accidents.reportNbr = InvolvedInAccidents.reportNbr; select adate, description from Persons, Owns, InvolvedInAccidents, Accidents where Persons.name = Bo Ek and Persons.pNbr = Owns.pNbr and Owns.licenseNbr = InvolvedInAccidents.licenseNbr and InvolvedInAccidents.reportNbr = Accidents.reportNbr; insert into Accidents(reportNbr, date, description) values ( XB2411, , krock ); insert into InvolvedInAccidents(licenseNbr, reportnbr) values( ABC123, XB2411 ); insert into InvolvedInAccidents(licenseNbr, reportnbr) values( XYZ789, XB2411 ); update InvolvedInAccidents set damageamount = where reportnbr = XB2411 and licensenbr = XYZ789 ;

7 3(4) 3. För att beräkna nycklarna beräknar vi höljet av alla möjliga delmängder av attributen under de givna funktionella beroendena. Beräkningar, delmängder med ett attribut: {A+ => {B+ => {C+ => {D+ => {E+ => {A => {A, B, C (FD1) => {A, B, C, D (FD3) => {A, B, C, D, E (FD2) {B => {B, D (FD3) {C {D {E => {E, A (FD4) => {E, A, B, C (FD1) => {E, A, B, C, D (FD3) {A och {E är nycklar. Delmängder med två attribut som inte innehåller A eller E: {B, C+ =>{B, C => {B, C, D (FD3) => {B, C, D, E (FD2) => {B, C, D, E, A (FD4) {B, D+ =>{B, D {C, D+ =>{C, D => {C, D, E (FD2) => {C, D, E, A (FD4) => {C, D, E, A, B (FD1) Här ser vi att {B, C och {C, D är nycklar. Det finns inga delmängder med tre eller flera attribut som inte innehåller någon av nycklarna, så vi har alltså hittat samtliga nycklar. Relationen är inte i BCNF eftersom vänsterledet B i det funktionella beroendet FD3, B D, inte är en supernyckel. Däremot är relationen i 3NF eftersom högerledet D i beroendet ingår i en nyckel. Vi delar upp i mindre relationer utgående från FD3 och får: R1(B, D) R2(A, B, C, E) R1 är i BCNF eftersom relationen bara innehåller två attribut. För att ta reda på om R2 är i BCNF måste vi avgöra vilka funktionella beroenden som gäller i R2. Vi beräknar höljen på samma sätt som nyss och använder de ursprungliga funktionella beroendena FD1-FD4. Vi finner bara nyckelberoendena A BCE, E ABC och BC AE. Eftersom alla funktionella beroenden är nyckelberoenden är alltså också R2 i BCNF. Bevis av påståendet att alla relationer med två attribut är i BCNF: en relation är i BCNF om vänsterledet i samtliga funktionella beroenden är supernycklar. Det finns fyra olika fall vad gäller funktionella beroenden som kan gälla i relationen, som vi betecknar med R(A, B): a) Inga funktionella beroenden. Då är {A, B nyckel och relationen är i BCNF. b) A B. Då är A nyckel, och relationen är i BCNF. c) B A. Då är B nyckel, och relationen är i BCNF. d) A B och B A. Då är både A och B nycklar, och relationen är i BCNF.

8 4(4) 4. Anmärkning: eftersom damageamount är decimal(8.2), eller åtminstone ett numeriskt värde av något slag, borde programmet hämtat värdet med getdouble eller något liknande, inte med getstring. Formellt fel: vi har glömt att JDBC-metoderna kan generera SQLExceptions som vi måste ta hand om. Ineffektivitet: det är onödigt att hämta alla tupler från relationen och sedan testa vilka man vill ha; i stället skall man bara hämta dem som man behöver. Omskriven metod: public void printaccidentsinvolving(string carnbr) { System.out.println( Olyckor där + carnbr + varit inblandad ); System.out.println( Rapportnummer\tSkadebelopp ); System.out.println( ); try { Statement stmt = conn.createstatement(); ResultSet rs = stmt.executequery( select reportnbr, damageamount + from InvolvedInAccidents + where licensenbr = + carnbr + ); while (rs.next()) System.out.println(rs.getString( reportnbr ) + \t + rs.getstring( damageamount )); stmt.close(); catch (SQLException e) { System.err.println(e); e.printstacktrace(); finally { try { stmt.close(); catch (SQLException e2) { System.err.println( Could not finally close statement, impossible... ); System.err.println(e2); e2.printstacktrace(); 5. En lagrad procedur är programkod som exekveras av databashanteraren. Programmen skrivs till exempel i SQL/PSM (Persistent Stored Modules), som är SQL-standardspråket för lagrade procedurer. Men de flesta databasleverantörer följer inte standarden utan har någon egen variant av språk, till exempel Oracles PL/SQL. Eftersom man i SQL inte kan uttrycka programmeringskonstruktioner som if- och whilesatser eller rekursion är det ibland nödvändigt att använda lagrade procedurer som är skrivna i programspråk som innehåller dessa konstruktioner. Alternativet skulle vara att göra beräkningarna i tillämpningsprogrammet, till exempel i Java, men det skulle kunna medföra att mycket data behövde hämtas från databasen. Med en lagrad procedur exekveras allting inuti databasen. 6. Alla XML-dokument består av text. Strukturen hos dokumentet anger man med taggar en starttagg markerar att information av ett visst slag börjar, en sluttagg att denna information slutar. Exempel: <Person> <name>bo Ek</name> <address>lund</address> </Person>. I well-formed XML kan man använda vilka taggar som helst. I valid XML har man specificerat vilka taggar som får förekomma och i vilken ordning de skall skrivas. Denna specifikation skriver man i en DTD, Document Type Definition.

Klientprogrammering mot databaser

Klientprogrammering mot databaser Klientprogrammering mot Databaser Java DataBase Connectivity, JDBC Klientprogrammering mot databaser Native API olika för olika DBMS, ofta i C/C++ ODBC, Open Datbase Connectivity samma API för olika databashanterare.

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY! ÖVNING 10 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)

Läs mer

Databasteknik för D1, SDU1 m fl

Databasteknik för D1, SDU1 m fl 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl lördag 7 mars 2015 Gäller som tentamen

Läs mer

Analytisk relationsdatabasdesign

Analytisk relationsdatabasdesign Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!

Läs mer

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LIVE Exempelkod från föreläsningen Plushögskolan Frågeutveckling inom MSSQL - SU14 Här kommer exempelkoden jag använde under föreläsningen Exemplen Constraints... 2 Transactions... 4 Views... 5 Functions...

Läs mer

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Individuell prövning 41E03B Öppen för alla Tentamensdatum: 2013-08-20 Tid: 09:00-13:00 Hjälpmedel: Inga hjälpmedel

Läs mer

Classpath. Class loading + resurser. Class loader. jar-filer

Classpath. Class loading + resurser. Class loader. jar-filer Classpath Sätts antingen via kommandoradsparameter till jvm:en (-cp -classpath) eller via en environment variabel (CLASSPATH). Går även att ställa in i eclipse för ett projekt. Class loading + resurser

Läs mer

INTRODUKTION TILL JDBC

INTRODUKTION TILL JDBC INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,

Läs mer

Tentamen. TDDB38 - Databasteknik

Tentamen. TDDB38 - Databasteknik Tekniska Högskolan i Linköping, Institutionen för datavetenskap Almut Herzog / Olof Johansson / Patrick Lambrix / Cecile Åberg Tentamen TDDB38 - Databasteknik (Svensk version) Datum: Fredag 12:e januari

Läs mer

Tentamen i Databasteknik

Tentamen i Databasteknik Tentamen i Lördagen den 21 oktober 2006 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig

Läs mer

Funktionella beroenden - teori

Funktionella beroenden - teori Relationell databasdesign, FB Teori 7-12 Funktionella beroenden - teori Vid utformning av databassystem är det av största vikt att man kan resonera systematiskt om funktionella beroenden bl.a. för att

Läs mer

Skapa exempeldatabasen

Skapa exempeldatabasen Skapa exempeldatabasen Koden i detta dokument är avsedd att exekveras i SQL Editor i MySQL Workbench. Skapa databasen För att kunna använda svenska alfabetet för lagring av data deklareras teckenensuppsättningen

Läs mer

TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18

TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18 LiTH, Linköpings tekniska högskola IDA, Institutionen för datavetenskap Jose M. Peña 2010-08-10 Lokal TER1 och TERC. Tillåtna hjälpmedel Lexikon, miniräknare. TENTAMEN TDDD12 Databasteknik TDDD46 Databasteknik

Läs mer

FÖ 07 - JDBC Åtkomst till databaser från applikationer med Java - exempelkod -

FÖ 07 - JDBC Åtkomst till databaser från applikationer med Java - exempelkod - F07_JDBC.1 FÖ 07 - JDBC Åtkomst till databaser från applikationer med Java - exempelkod - F07_JDBC.2 Anslutning till en databas kräver en drivrutin för ändamålet. För Java: JDBC = Java Database Connectivity

Läs mer

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Jourhavande lärare: Jose M. Peña (1651) Poäng: Tentan består av 2 delar. För godkänd krävs

Läs mer

Databasteknik för D1 m fl

Databasteknik för D1 m fl 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1 m fl tisdag 10 januari 2017 Gäller som tentamen

Läs mer

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ; Lösningsförslag till Övning i SQL Data Definition Language (DDL) D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ; D2. Create Domain CHARNRKEY char(7 D3. Create Table Skiva( T1. Create Table Skiva(

Läs mer

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

SQLs delar. Idag. Att utplåna en databas. Skapa en databas Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver

Läs mer

Informa5onsmodellering

Informa5onsmodellering Informa5onsmodellering - Ett viktigt syfte med systemutveckling är att specificera verksamhetens informationsbehov för att kunna kartlägga detta informationsbehov bör vi skapa en informationsmodell (konceptuell

Läs mer

Konceptuella datamodeller

Konceptuella datamodeller Databasdesign Relationer, Nycklar och Normalisering Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Konceptuella datamodeller Om man ska skapa en databas som beskriver en del av verkligheten

Läs mer

TENTAMEN DATABASKUNSKAP ITEK12

TENTAMEN DATABASKUNSKAP ITEK12 TENTAMEN DATABASKUNSKAP ITEK12 Tid: Fredag den 19 oktober kl. 9-00-12.00, sal D409 Tillåtna hjälpmedel: Endast papper och penna. Poäng: Maxpoäng: 56. Gräns för G: 50%. Gräns för VG: 75%. Om något som verkar

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2013-12-12 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE

Läs mer

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill

Läs mer

Lösningsförslag till Tentamen,

Lösningsförslag till Tentamen, Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz och Paul Johannesson Lösningsförslag till Tentamen, 022 2I-00 Informationssystem och databasteknik För att erhålla betyget tre räcker

Läs mer

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser? Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb

Läs mer

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)

Läs mer

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20 Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-11-07 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

NORMALISERING. Mahmud Al Hakim

NORMALISERING. Mahmud Al Hakim NORMALISERING Mahmud Al Hakim mahmud@webacademy.se 1 SCHEMA Schema eller databasschema är en beskrivning av vilka data som kan finnas i en databas, oberoende av vilka data (innehållet) som råkar finnas

Läs mer

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14 Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.

Läs mer

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem Hösten 2011 1. a) Jag följer kokboken (förel 3, bild 34) a. Regeln säger att alla objektklasser med e-termer ska bilda

Läs mer

Tentamen i. Databasteknik. för D1, SDU1 m fl. tisdag 15 januari 2013

Tentamen i. Databasteknik. för D1, SDU1 m fl. tisdag 15 januari 2013 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl tisdag 15 januari 2013 Gäller som

Läs mer

Tentamen Databasteknik

Tentamen Databasteknik Försättsblad Tentamen Databasteknik 2003 04 29, 8.00 13.00 Inga hjälpmedel. Bedömning (preliminär): uppgifterna ger maximalt 14 + 11 + 11 + 6 + 4 + 4 = 50 poäng. För godkänt krävs 25 poäng (3/25, 4/33,

Läs mer

Tentamen plus lösningsförslag

Tentamen plus lösningsförslag Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje

Läs mer

Tentamen i Databasteknik

Tentamen i Databasteknik Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig

Läs mer

Design och underhåll av databaser

Design och underhåll av databaser Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller

Läs mer

Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:

Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder: Föreläsning 3 JDBC Innehåll JNDI Java Naming and Directory Interface En slags DNS för Objekt JDBC Grunderna Uppkoppling Exekvera SQL-satser Ta hand om resulterande ResultSets Finesser PreparedStatement

Läs mer

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Arbetsuppgift 1: Uppdatera och uppgradera din installation. Steg 1: Starta och logga på din server,

Läs mer

Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,

Läs mer

Databaser och Datamodellering Foreläsning IV

Databaser och Datamodellering Foreläsning IV Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt

Läs mer

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar. För

Läs mer

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik kl LiTH, Linköpings tekniska högskola 1(6) IDA, Institutionen för datavetenskap Juha Takkinen 2008-05-22 Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-05-24 kl. 14 18 Lokal KÅRA, T1 och

Läs mer

Databasteknik för D1, SDU1 m fl

Databasteknik för D1, SDU1 m fl 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl onsdag 21 augusti 2013 Gäller som

Läs mer

Structured query language (SQL)

Structured query language (SQL) Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser

Läs mer

Skapa en databas. Skapa en tabell. Gör man antingen genom kommandot

Skapa en databas. Skapa en tabell. Gör man antingen genom kommandot Att konstruera och underhålla en databas Skapa en databas Då man gjort färdig sin modell, fört över den till en databasstruktur och normaliserat strukturen så måste man realisera databasen i någon databashanterare.

Läs mer

Databaser och SQL - en kort introduktion

Databaser och SQL - en kort introduktion Databaser och SQL - en kort introduktion Databaser är inte precis något som i sig är svårbegripligt. Det är bara en massa data samlade på ett ställe i strukturerad form. Problemen består i att det just

Läs mer

Lösningsförslag till Exempel tentamen

Lösningsförslag till Exempel tentamen Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Lösningsförslag till Exempel tentamen 2I-1033 IT i Organisationer och Databasteknik Tentamenstiden är 5 timmar Skriv bara på

Läs mer

Relationell databasdesign

Relationell databasdesign Relationell databasdesign Kapitel 7 Relationell databasdesign sid Uppdelning m.h.a. funktionella beroenden 3 Funktionella beroenden - teori 12 Uppdelningsalgoritmer 27 Designprocess 33 Relational oath

Läs mer

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas Idag 1. Från modell till databasstruktur Från verklighet via modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2014 04 29, 8.00 13.00 Anvisningar: Denna tentamen består av tre uppgifter. Preliminärt ger uppgifterna

Läs mer

TDDI60 Tekniska databaser

TDDI60 Tekniska databaser Lena Strömbäck 2006-10-13 Skriftlig tentamen i kursen TDDI60 Tekniska databaser Datum: 2006-10-13 Tid: 8-12 Lokal: T2, U3 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Poängränser: Tentamen består

Läs mer

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra. 1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till

Läs mer

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel:

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel: ÖVNING 1. PRODUKT(Nummer, Namn, Typ, Klass, Prisklass, Vikt, Volym, Fraktkostnad) Nummer, Typ Namn, Klass, Pris, Prisklass, Vikt, Volym, Fraktkostnad Namn, Typ Nummer Typ Klass Pris Prisklass Vikt, Volym,

Läs mer

Relationsmodellen och syntetisk databasdesign

Relationsmodellen och syntetisk databasdesign Relationsmodellen och syntetisk databasdesign Den teoretiska grunden för relationsdatabaser Från konceptuellt schema till databas Relationsmodellen Bil Ägare En relationsdatabas är en databas som uppfattas

Läs mer

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras. Laboration 1, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall du se till att du kommer åt databasmotorn och att det fungerar. Du kommer också att skapa en tabell

Läs mer

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP Skrivtid: 14.30-18.30 Hjälpmedel: papper, penna och radergummi Betygsgränser: G = 36p (60 %), VG = 48p (80

Läs mer

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13 Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 203 kl. 9-3 Inga hjälpmedel tillåtna (syntaxsammanställning

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa. Institutionen for datavetenskap CTH- TIN 140 Goteborg GU- INN 12 mw DATABASER D4 och GU HT -97 Andra omtentamen i DATABASER Obs! Larare-version, med losningar DAG: lo, 22 aug 1998 TID: kl. 8.45 { 12.45

Läs mer

Databaser - Design och programmering

Databaser - Design och programmering Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt

Läs mer

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3. Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Relationsalgebra Tilldelning := Relationsalgebran är sluten: Med hjälp av dessa operatorer kan andra (icke-primitiva) operatorer

Läs mer

Webbprogrammering, grundkurs 725G54

Webbprogrammering, grundkurs 725G54 Webbprogrammering, grundkurs 725G54 Bootstrap jquery SEO RWD MuddyCards. Tidigare Muddycards Många positiva kommentarer Ibland för högt tempo på föreläsning Lägg ut labbar tidigare Mer föreläsningar (2

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 1 Normalisering Förut sunt förnuft Nu formell metod riktlinjer för att hjälpa till att gruppera attributen (egenskaperna) för varje relation

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Logisk databasdesign

Logisk databasdesign NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen

Läs mer

1. SQL DDL (Data Definition Language) 2. Skapa tabell

1. SQL DDL (Data Definition Language) 2. Skapa tabell FÖ 4: Databaskursen 1. SQL DDL (Data Definition Language) 2. Skapa tabell 3. Lägga till PK 4. Data Dictionary Views 5. Namn på constraints 6. Lägga till FK 7. Lägga till en kolumn 8. Objektet sekvens 9.

Läs mer

Universitetet: ER-diagram

Universitetet: ER-diagram Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Databasutveckling Introduktion till SQL och TSQL

Databasutveckling Introduktion till SQL och TSQL Databasutveckling Introduktion till SQL och TSQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Introduktion till SQL SELECT satsen, enkla frågor Hämta specifika kolumner Alias

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-08-20 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? En mängd program som tillåter användaren att skapa och underhålla

Läs mer

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical

Läs mer

SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. SQL, nästlade delfrågor 3-19 Nästlade delfrågor SQL har en mekanism för nästling av delfrågor: En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. Delfrågor används

Läs mer

Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av Relationell databasdesign, FB Teori 7-20 Uppdelning Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av R om R i = R, i=1,...,n. Dvs. varje R i är en delmängd av R och varje attribut

Läs mer

Kompendium till databaser och informationssystem 10p för SY2 2000

Kompendium till databaser och informationssystem 10p för SY2 2000 Högskolan Dalarna Anders Forsman tel: 023-778956 email: afm@blg.du.se Kompendium till databaser och informationssystem 10p för SY2 2000 2000-09-04 Innehållsförteckning INNEHÅLLSFÖRTECKNING... 2 1 DATAMODELLERING...

Läs mer

Tentamen. i Databasteknik. lördagen den 13 mars 2004. Tillåtna hjälpmedel: Allt upptänkligt material

Tentamen. i Databasteknik. lördagen den 13 mars 2004. Tillåtna hjälpmedel: Allt upptänkligt material Tentamen i lördagen den 13 mars 2004 Tillåtna hjälpmedel: Allt upptänkligt material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att

Läs mer

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

Mitthögskolan ITM Telefon 063-16 53 00. Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör:

Mitthögskolan ITM Telefon 063-16 53 00. Access. Laborationskompendium för grunderna i databasen Microsoft Access. Detta exemplar tillhör: Mitthögskolan ITM Telefon 063-16 53 00 Access Laborationskompendium för grunderna i databasen Microsoft Access Detta exemplar tillhör: HT 2003 Innehållsförteckning Tema...1 Databasmiljön...2 Tabeller...2

Läs mer

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Du skall naturligtvis visa körexempel med output där det behövs i din rapport! och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail

Läs mer

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Innehåll MySQL Intro Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och

Läs mer

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Exempel tentamen 2I-1100 Informationssystem och Databasteknik Tentamen är öppen i så motto att läroböcker, föreläsningsanteckningar,

Läs mer

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F) L0009B Moment FL 1: Kursintroduktion. Kursinformation: G:\L0009B\Allmänt\KursInformationL0009B.pdf (F) Kursplan: Se https://portal.student.ltu.se/stuka/kurs.php?kurs=l0009b&lang=swe (F) Allt som markerats

Läs mer

Databasspråket SQL - online.

Databasspråket SQL - online. Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company

Läs mer

Starta MySQL Query Browser

Starta MySQL Query Browser Starta MySQL Query Browser 1. Starta MySQL Query Browser genom att antingen välja i Startmenyn: 2. eller leta upp ikonen på skrivbordet för start av MySQL Query Browser och dubbelklicka på den. 3. Du bör

Läs mer

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Tentamen DATABASTEKNIK - 1DL116, 1MB025 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande

Läs mer

Uppgift 1. Transaktioner: Följande fyra krav ställs pνa ett databassystems transaktionshantering: A. Atomicity" "Allt eller inget": Varje transaktion

Uppgift 1. Transaktioner: Följande fyra krav ställs pνa ett databassystems transaktionshantering: A. Atomicity Allt eller inget: Varje transaktion Institutionen för datavetenskap Chalmers- TDA 355 Göteborg GU- INN 12 pj DATABASER HT- 01 Omtenta i DATABASER Obs! Lärarversion, med lösningar DAG: 5 April, 2002 TID: kl. 8.45 12.45 PLATS: V-huset Ansvarig:

Läs mer

Laborationer - databaser, EDAA20 Programmering och databaser

Laborationer - databaser, EDAA20 Programmering och databaser LUNDS TEKNISKA HÖGSKOLA EDAA20 Programmering och databaser Institutionen för datavetenskap HT 2015 Laborationer - databaser, EDAA20 Programmering och databaser I kursens databasdel ingår två obligatoriska

Läs mer

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar FÖ 8: Databaskursen 1. SQL 2. Utsökningar mot en tabell 3. Od Order by 4. Funktionerna upper, lower och initcap 5. Konkatenering 6. Kolumnalias 7. Distinct 8. Hantera nullvärden med nvl-funktionen 9. Between

Läs mer

WCMS-15, Webbutvecklare CMS

WCMS-15, Webbutvecklare CMS WCMS-15, Webbutvecklare CMS Övningstentamen, delkurs Dynamiska webbplatser (20 YH-poäng) Plats: Medieinstitutet, Malmö Tid: 25 november 2015, kl. 13.00-16.00 Tillåtna hjälpmedel: Papper, penna, suddgummi,

Läs mer

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag 729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om

Läs mer