Lösningsförslag, tentamen i Databaser
|
|
- Kristin Ekström
- för 7 år sedan
- Visningar:
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 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 merKlientprogrammering 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 merVad ä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 merDatabasens 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Ä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 merSample 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 merAnalytisk 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 merLabb 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 merTER3. 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 merDatabaskunskap 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 merINTRODUKTION 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 merClasspath. 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 merInnehå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 mer1.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 merTentamen. 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 merTentamen 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 merFunktionella 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 merSkapa 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 merTENTAMEN. 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 merTENTAMEN 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 merTENTAMEN 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 merFÖ 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 merSQLs 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 merD1. 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 merInforma5onsmodellering
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 merUppstart 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 merKonceptuella 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 merTENTAMEN. 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 merKarlstads 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 merDDL 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 merLä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 merLö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 merVad ä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 merDatabaser - 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 merDisposition. 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 merVad ä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 merIdag. 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 merTENTAMEN. 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
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 merNORMALISERING. 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 Ö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 merDatabaser 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 merLö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 merTentamen 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 merTentamen 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 merTentamen 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 merInnehå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 merDatabaser. 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 merDesign 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 merTentamen 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 merSä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 merTENTAMEN 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 merGenomgå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 merSkriftlig 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 merVyer, 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 merSkriftlig 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 merTENTAMEN 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 merInnehå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 mer1. 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 merCliMate: 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 merSkapa 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 merDatabasteknik 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 merConcepts 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 merStructured 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 merDatabaser 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 merInst. 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 merRelationell 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 merDatabasdesign. 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 merTDDI60 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 merLogisk 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 merLö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 merTENTAMEN 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 merWebbprogrammering, 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 merLabb 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 merFö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 merKompilering 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 merTentamen. 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 merTentamen, 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 merPga 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 merTentamen 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 merDatabaser 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 merIdag. 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 merF4. 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 merTENTAMEN. 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 merFö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 merIdag. 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 merFrå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 merKarlstads 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 merUppgift 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 merExempel-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 mer1. 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 merDatabaser - 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 mer732G16: 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 merDenna 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 merTentamen 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 merDet ä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