Lösningsförslag, tentamen i Databaser

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.

Lösningar till tentamen i EDAF75

Lösningar till tentamen i EDAF75 Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte

Läs mer

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

Sample exam questions. Database exam TIG058

Sample exam questions. Database exam TIG058 Sample exam questions Database exam TIG058 Distribution of topics covered 1. Grundläggande om Databaser och Databashanterare (5p) 2. SQLite-databashanteraren (5p) 3. SQL - SELECT, ORDER BY, WHERE, LIMIT

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

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7) 1 (7) Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen Sal (1) Tid Kurskod Provkod Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen

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

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

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

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen

Läs mer

1.Lär känna MS SQL Observera. Tips. Förberedelse

1.Lär känna MS SQL Observera. Tips. Förberedelse 1.Lär känna MS SQL 2008 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 genomföra

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

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

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

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

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

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

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner INNEHÅLL Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner Kapitel 5 och 6. Beginning SQL Server 008

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

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

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

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Disposition 1. Kopplingen mellan Processanalys (DFDdiagram) och konceptuell modellering (ERdiagram) (se kap 4) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Databasen (Kap 2) Den relationella

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

! 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

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

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

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

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

Databaser. Vad du ska lära dig: Ordlista

Databaser. Vad du ska lära dig: Ordlista Databaser Vad du ska lära dig: Ordlista 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 en

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

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

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

Genomgång av tentamen. Databasteknik ITHS 4/3 2016

Genomgång av tentamen. Databasteknik ITHS 4/3 2016 Genomgång av tentamen Databasteknik ITHS 4/3 2016 Tentans upplägg Täcka in de 10 delar av kursen vi bedömt som viktigast Säkerställa att det funnits såväl teoripass som övningspass kring varje del Lätt

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

Vyer, Prepared Statements, Triggers

Vyer, Prepared Statements, Triggers Vyer, Prepared Statements, Triggers Vyer En vy är en virtuell tabell, som ej behöver existera fysiskt, en namngiven fråga En vy är inte snabbare än SELECT satsen som definierar vyn Det är möjligt att ställa

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

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor

TENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2015-11-06 TID: 14 19 Ansvarig för tentamen: Anna Palmquist Förfrågningar: 0734-612003 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Innehåll Programability Del 2

Innehåll Programability Del 2 Innehåll Programability Del 2 Transaktioner Returvärden och OUTPUT Dynamisk SQL CURSOR / FECTH Trigger Chapter 8, 10 och 13. Beginning SQL Server 2008 for Developers Sven Åke Johansson Institutionen Institutionen

Läs mer

1. PLSQL 2 2. Select into

1. PLSQL 2 2. Select into FÖ 11: Databaskursen 1 1. PLSQL 2 2. Select into 3. Anchored declaration 4. Cursorvariabler 5. Olika typer av cursors 6. Cursorattribut 7. Cursorloop 8. Datatypen record: %rowtype 9. Cursor for loop 10.

Läs mer

CliMate: Laboration 3 dataselektion

CliMate: Laboration 3 dataselektion CliMate: Laboration 3 dataselektion Human Centered Systems Inst. för datavetenskap Linköpings universitet Översikt UI för sökning sökfält och felhantering Select i Java och Join Frågeobjekt Svarshantering

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

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

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology

Concepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology 2008-04-07 TDDD12 Lecture 3: EER and mapping E 1 TDDD12 Database Technology Concepts learned this far Lecture 3: EER/ER and mapping to relations by Juha Takkinen 2008-04-07 1 2 2008-04-07 TDDD12 Lecture

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

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

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok). Inst. för Data- och Systemvetenskap SU Maria Bergholtz Tentamen 2/3 205 kl. 4 8 Inga hjälpmedel är tillåtna (annat än ordbok). Skall även användas som omtentamen för DB:EIT/DSK/FK samt äldre databaskurser.

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

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

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

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

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

TENTAMEN TDDB77 Databaser och Bioinformatik 19 april 2002, kl 14-18

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

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

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

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

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

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Tentamen. Databasmetodik Lördag 27 september 2014 kl Inst. för Data- och Systemvetenskap SU/KTH Tentamen EIT:DB, SP:DB, DVK:DB, ATD:DB, FK:DB, DSK:DB Ska även användas av äldre kurstillfällen, t ex för IV1018, IV1003, ITK3:DB, ITK1:DB, DSV1:DB mfl. Databasmetodik

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

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

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

Databaser Design och programmering

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

Läs mer

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet... Idag Databaskvalitet(??) Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? Det finns metoder

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

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

Föreläsning 2: Översikt över ett databassystem

Föreläsning 2: Översikt över ett databassystem Föreläsning 2: Översikt över ett databassystem DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över databassystemets arkitektur, delar och

Läs mer

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL) Idag 1. Från modell till databasstruktur 2. Prata med databaser (frågepsråket SQL) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten 2008 1 / 22 Från verklighet via modell till

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

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

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

Exempel-Tentamen III

Exempel-Tentamen III Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Exempel-Tentamen III Inga hjälpmedel tillåtna (syntaxsammanställning behövs inte på denna tentamen) Skriv bara på en sida av

Läs mer

1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara. Kapitel 6 sid

1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara. Kapitel 6 sid 1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara Kapitel 6 sid 171-188 Datoriserade informa.onssystem bygger på en tre- skikts arkitektur 1. Data Management layer (Implementerat

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

732G16: Databaser - Design och programmering

732G16: Databaser - Design och programmering 732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,

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

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2015-05-26 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg

Läs mer