Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)
|
|
- Thomas Hellström
- för 4 år sedan
- Visningar:
Transkript
1 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 / 22
2 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 i en modell. Inte allt är nödvändigt att representera i databasen, 1:1- och 1:N-samband kan vi få med utan att ha en speciell tabell för representationen. Hade vi en sådan tabell skulle den bli uppenbart onödig Anställd Avdelning Kalle Eva Anders Sport Sport Mat Kalle, Eva och Anders förekommer endast en gång var i Anställd så vi kan lägga till avd i Anställd istället för att ha en extra tabell Vi kan faktiskt använda ett antal kokboks -regler för övergång till DB-struktur DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
3 Från verklighet via modell till databas Jag kommer att använda följande notation: TabellNamn (i-termer, e-termer) för att beteckna en tabell (basrelation) och följande regler finns i den utlovade kokboken a. En objektklass som innehåller e-term(-er) bildar en tabell b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell c. En sambandsklass av högre ordning än 2 bildar en tabell d. En M:N-sambandsklass bildar en tabell e. En 1:N-sambandsklass försvinner men 1-sidans objektklass i-term blir e-term i tabellen som bildas av n-sidans objektklass f. En 1:1-sambandsklass hanteras antingen som en 1:N-sambandsklass där man godtyckligt väljer en sida som N-sida eller tar man bort den och slår samman objektklasserna som sambandsklassen binder samman Regel f komplicerar lite grand ger ett icke-deterministiskt inslag DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
4 Testa reglerna på varuhusmodellen och senare, på övning, på större modeller Anställd Leverantör Anställning Lager Avdelning Försäljning Vara DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
5 Från varuhusmodell till varuhusdatabas a. En objektklass som innehåller e-term(-er) bildar en tabell Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) b. En objektklass som inte har e-termer men finns på N-sidan av någon 1:N-sambandsklass bildar en tabell Finns ingen c. En sambandsklass av högre ordning än 2 bildar en tabell Lager (företag, avd, varunr, volym) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
6 Från varuhusmodell till varuhusdatabas... Vi har... Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) d. En M:N-sambandsklass bildar en tabell Försäljning (avd, varunr, volym) e. En 1:N-sambandsklass försvinner... Anställd (namn, lön, chef, avd) f. En 1:1-sambandsklass... Finns ingen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
7 Från varuhusmodell till varuhusdatabas... slutresultat Vara (varunr, typ) Avdelning (avd, våning) Anställd (namn, lön, chef, avd) Leverantör (företag, adress) Lager (företag, avd, varunr, volym) Försäljning (avd, varunr, volym) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
8 Nycklar och främmande nycklar En nyckel är ett eller flera attribut som unikt identifierar en rad i en tabell, d.v.s. i-termerna från modellen En främmande nyckel, ( ägt attribut ) är ett eller flera attribut som är nyckel i en annan tabell, t.ex. är avd i tabellen Anställd nyckel i tabellen Avdelning Vi har flera sådana, alla attribut som har samma namn, utom volym, är främmande nycklar i de tabeller där de inte ensamma utgör nyckel Men man måste vara försiktig. Det vore olyckligt att anse att kombinationen avd, varunr i Lager är främande nyckel (med ref till Försäljning). Det måste ju finnas varor i lager innan de kan säljas. Tvärtom vore logiskt men det går inte. Man kan ha andra, inte så uppenbara, främmande nycklar. Ett sånt exempel finns i varuhusdatabasen. En chef måste ju vara anställd i företaget så chef är främmande nyckel med ref till samma tabell (och attributet namn). Så det är inte namnlikheten som avgör. Namnlikhet kan vara lurigt, volym i Lager är ju lagervolym men volym i Försäljning är försäljningsvolym. DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
9 Prata med databaser SQL Structured query language DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
10 SQL Structured query language Förr tvingades man skriva program för varje frågeställning Tidsödande och krävde specialister Därför utvecklades en mängd olika språk som skulle ha vissa egenskaper De skulle vara deklarativa (specificera resultatets egenskaper och låt datorn generera metoden för att hitta resultatet) De skulle vara optimerande så att även en idiotiskt formulerad fråga utfördes på rimlig tid De skulle vara intuitiva, vilket kom att betyda så nära talad engelska som möjligt eller grafiska (programmera med exempel eller gester) SQL har så småningom blivit en de facto standard. Några udda språk finns kvar med för en tynande tillvaro Till SQL har utvecklats möjligheter att bädda in SQL-sater i program skrivna i vanliga programspråk och ta hand om och hantera svaren från databasen SQL används även för att skapa databaser och databastabeller (och förstöra dem också) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
11 SQL Vad måste man kunna göra med ett sådant språk? Skapa en databas (inte standardiserat) Kasta bort en databas drop database <databasnamn> Skapa tabeller create table <tabellnamn>... Ta bort tabeller drop table <tabellnamn> Lägga till data i tabeller insert... into <tabellnamn> Ta bort data ur tabeller delete from <tabellnamn>... Uppdatera data i tabeller update <tabellnamn>... Hämta data från tabeller Kommer... Eftersom språket kan göra så många saker på så många sätt är det bäst att titta efter vid behov (men vi ska gå igenom några exempel) Omfattande hjälp finns i databashanteringsystemet DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
12 SQL Hämta data Vad krävs för att kunna göra allt? Vi måste kunna dela upp tabeller, plocka enstaka rader eller kolumner eller båda (= plocka enstaka värden) sätta ihop resultaten till meningsfull information Kort sagt: Vi måste kunna plocka isär och sätta ihop efter eget behag Men då tillåts vi också göra bort oss (ibland ganska kapitalt) Extra krydda(??). Vi vet inte alltid om ett tomt svar är korrekt eller beror på felformulerad fråga DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
13 SQL Grunden Frågor till databasen ställs med select [distinct] lista-1-med-kolumner from lista-med-tabeller where lista-1-med-villkor [group by lista-2-med-kolumner [having lista-2-med-villkor]] [order by del-av-lista-1-med-kolumner] Varje operation ger en tabell som resultat (tabellen är den enda grundläggande datatypen) Vi ska se på en del exempel och kommentera dem Jag använder varuhusdatabasen DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
14 SQL Plocka rader select * from Anställd; skriv ut tabellen anställd select * from Anställd where lön > 9000; skriv ut de anställda som tjänar mer än 9000 select * from Anställd where lön > 9000 and chef = Näsström C ; select * from Anställd where lön > 9000 or chef = Näsström C ; select * from Anställd where lön > 9000 and not chef = Näsström C ; select * from Anställd where lön > 9000 and chef <> Näsström C ; DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
15 SQL Plocka kolumner select Företag from Leverantör; select Lön from Anställd; select Namn,Lön from Anställd where lön > 9000 and chef <> Näsström C ; plocka kolumner ur vissa rader (eller enstaka värden) Test på mängdtillhörighet Vad tjänar chefen/cheferna på skoavdelningen? select lön from Anställd where namn in (select chef from Anställd where avd = skor ); Även kostanta mängder kan användas select lön from Anställd where avd in (select avd from Avdelning where våning in (4, 5)) och godtyckligt djup på nästling Vad tjänar cheferna på fjärde våningen? select lön from Anställd where namn in (select chef from Anställd where avd in (select avd from Avdelning where våning = 4)); DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
16 SQL Relationsvariabler... create view tmp as select * from Anställd where chef = Näsström C ; skapar ett SQL-uttryck som lagras undan för senare användning... ; create view resultat as select namn from tmp where lön > 9000; som fungerar som vilken tabell som helst, rätt kolumnnamn ärvs create view resultat(anst, månadslön) as select namn, lön from Anställd; Men man kan namnge kolumnerna också... ger stora möjligheter att hämta vilka data som helst och bygga ihop i stort sett vilka tabeller som helst DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
17 SQL Mängdoperationer Man bygger språken på mängdmatematik (mängdalgebra och predikatlogik) select * from Anställd where lön > 9000 and chef = Näsström C union select * from Anställd where lön > and chef = Hovander T ; select * from Anställd where chef = Näsström C except select * from Anställd where lön <= 9000; select * from Anställd where chef = Näsström C intersect select * from Anställd where lön > 9000; DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
18 SQL bygga ihop tabeller Här har man tillgång till Join som slår ihop två rader och Naturlig join som slår ihop rader men om det finns kolumner med samma namn i de två delarna tas bara rader med som har likhet i kolumnerna med samma namn (...??) och sedan dumpar en av två kolumner som blivit identiska select * from Anställd, Avdelning where våning = 2; select * from Anställd, Avdelning where Avdelning.våning = 2; select * from Anställd, Avdelning where Anställd.avd <> Avdelning.avd; select * from Anställd, Avdelning where Avdelning.avd <> Anställd.avd; select * from Anställd join Avdelning on Anställd.avd <> Avdelning.avd; select * from Anställd natural join Avdelning; DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
19 SQL Aggregat Man kan utföra vissa enkla beräkningar på innehållet i en tabell eller en tabellkolumn. SUM(kol), AVG(kol), MAX(kol), MIN(kol), COUNT(distinct kol eller *) select SUM(lön) from Anställd; Finn totala lönekostnaden för alla anställda, ignorera NULL-värden select SUM(lön) from Anställd where avd= skor ; Finn lönekostnaden för skoavdelningen, ignorera NULL-värden select SUM(lön), COUNT(*) from Anställd where avd= skor ; Finn lönekostnaden och antalet anställda på skoavdelningen, ignorera NULL-värden select avd, SUM(lön), COUNT(*) from Anställd group by avd; Finn lönekostnad och antalet anställda för alla avdelningar, ignorera NULL-värden create view result(avd, avglön) as select avd, AVG(lön) from Anställd group by avd; select avd from result where avglön = (select MAX(avglön) from result; Vilken avdelning har högst medellön? DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
20 SQL Alias (tupelvariabler) Man kan använda variabler som är kapabla att hålla i en tupel (tabellrad). Bra om man behöver läsa i samma tabell två gånger i samma fråga eller man vill referera mellan nivåerna i en nästlad fråga. select distinct a.varunr from lager a, lager b where a.varunr=b.varunr and a.avd!= b.avd ; Vilka varor (varunummer) finns på fler än ett lager? select * from Anställd U where chef = Näsström C and exists (select * from Anställd where lön > 9000 and namn = U.namn and lön = U.lön and chef = U.chef and avd = U.avd) ett annat sätt att uttrycka skärning DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
21 SQL Lite udda men användbara saker Man kan jämföra ett värde med en mängd som innehåller endast ett värde select namn from Anställd L where lön > (select max(lön) from Anställd where avd = fisk ); Vilka tjänar mer än den som tjänar mest på fiskavdelningen? select namn from Anställd L where lön > (select min(lön) from Anställd where avd = fisk ); Vilka tjänar åtminstone inte sämre än den som tjänar sämst på fiskavdelningen? Man kan också jämföra med en mängd värden select namn from Anställd L where lön > all (select lön from Anställd where avd = fisk ); Vilka tjänar mer än den som tjänar mest på fiskavdelningen? (igen) select namn from Anställd L where lön > any (select lön from Anställd where avd = fisk ); Vilka tjänar mer än den som tjänar minst på fiskavdelningen? (igen) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
22 SQL Textmatchning Like och Matches kan användas vid matchning av texter select namn from Anställd L where namn like A% ; select namn from Anställd L where namn matches A?? ; Like: Matches: % följd av tecken _ ett tecken \ speciell mening med nästa tecken * följd av tecken? ett tecken [ ] ett tecken ut ett intervall \ speciell mening med nästa tecken DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten / 22
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 merIdag. 1. En enkel databas. 2. Prata med databaser (frågepsråket SQL)
Idag 1. En enkel databas 2. Prata med databaser (frågepsråket SQL) DD1370 (Föreläsning 2) Databasteknik och informationssystem 7,5 hp Hösten 2011 1 / 17 En enkel modell över ett varuhus Anställd Leverantör
Läs merIdag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget
Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man
Läs merIdag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen
Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem
Läs merIdag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen
Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem
Läs merIdag. Exempel. Exempel modellen (1) Exempel...
Idag Exempel Knyta ihop säcken Repetition av hela processen från värld till databas Kontroll av resultatet Exempel på frågor mot varuhusdatabasen Man börjar alltid med att bestämma vad man måste hålla
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 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 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 merIdag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget
Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man
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 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 merLösningsförslag till tentamen för DD1370 Databasteknik och informationssystem
Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem Torsdag 11 dec 2008 1. a) Jag använder kokbokens regler a. En objektklass som innehåller e-term(-er) bildar en tabell b. En
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 merIntroduktion till frågespråket SQL (v0.91)
DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför
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 merInformationssystem 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 merFiktiv tentamen för DD1370 Databasteknik och informationssystem
Fiktiv tentamen för DD1370 Databasteknik och informationssystem Torsdag 4 dec 2008 Hjälpmedel: Allt inklusive kursbok, försläsningsanteckningar, gamla tentor och egna anteckningar, men inte tentalösningar
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 merTentamen. 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 merStructured Query Language (SQL)
Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning
Läs merTentamen för 1E1601. Måndag 10 mars 2003, kl 08.00 13.00. Alla hjälpmedel tillåtna
Tentamen för 1E1601 Måndag 10 mars 2003, kl 08.00 13.00 Alla hjälpmedel tillåtna Totalt kan tentan ge 45p + max 10p för gjorda övningsuppgifter 27p ger säkert betyget 3, 35p ger säkert betyget 4 och 43p
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 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 mer07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?
Allmänna frågor Databasteknik och informationssystem DD1370 F2 Petter Ögren Är Kurswebben svårbegriplig? Är lab0 svårbegriplig? Är bonus-poängen tydliga? Har ni lyckats installera Open Office? Fungerar
Läs merFiktiv tentamen för DD1370 Databasteknik och informationssystem
Fiktiv tentamen för 1370 atabasteknik och informationssystem Hösten 2011 Hjälpmedel: Allt man kan tänka sig, men ingen kontakt med hjälpsamma kamrater och inga elektroniska hjälpmedel. Tänk på: Skriv högst
Läs merDatabasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för?
Databasteknik Vad är data? föreläsare: Kjell Lindqvist och NADA databaser? och vad är de bra för? och varför ska ni kunna något om dem? Copyright c NADA, KTH DBT, bild 1 Copyright c NADA, KTH DBT, bild
Läs merDatabassprå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 merGrunderna i SQL del 1
Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 3 Kap. 4 Kap. 5 utom
Läs merDatabassprå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 merSQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl 2005-10-13 Gk/ÖK:ITO,
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 merTentamen i Databasteknik
Tentamen i Databasteknik Tisdagen den 15 mars 2010 Tillåtna hjälpmedel: Allt skrivet material och räknedosa Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera
Läs merRelationsdatabasdesign 2I-4067 HT99. Relationsalgebra. som resultat!
Relationsalgebra Relationsalgebra Relationsalgebran r ett formellt sprâk fˆr att extrahera data ur relationer. SprÂket r uppbyggt av ett litet antal operatorer. Tar en eller två tabeller De primitiva operatorerna
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 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 merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs merTabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl Rader Tabeller
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 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 merIdag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?
Idag 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 jag bry
Läs merDatabassprå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 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 merDatabaser och. SQL, utsökningar mot en tabell
Databaser och Informationssystem 5 hp IK008 Föreläsning 7 SQL, utsökningar mot en tabell Övningsuppgifter Övningstabell SQL> desc personal Name Null? Type ------------------------------------- --------
Läs merDatabaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg
Databaser och Informationssystem 15 hp IK1008 Föreläsning 8 SQL, utsökningar mot flera tabeller Övningsuppgifter STUDENT TENTA KURS # studnr * fnamn * enamn o regdatum # radnr (#) studnr (#) kursnr * tentadatum
Läs merDatabasspråket SQL - online.
Webprogrammering och databaser Fö 5 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 merDatabasspråket SQL - online.
Webprogrammering och databaser Fö 5 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 merGrunderna i SQL del 1
Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE Kap. 3 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join Kap. 4 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 5 utom
Läs mer08/11/13. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Deadline på tisdag
Påminnelse: Deadline på tisdag Databasteknik och informationssystem DD1370 F3 Petter Ögren Inlämningsuppgift 1 - Skall mailas in senast 23:59 på tisdag. - Redovisas på övningen på onsdag - Inspireras av
Läs mer16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning
Dagens föreläsning (den sista!) Databasteknik och informationssystem DD1370 Allmän information Information om tentan Repetition - Från text till SQL-fråga Föreläsning 8 (info om tentan och repetition)
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 24 Augusti 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs mer9. 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 merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan
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 mer13/11/14. Databasteknik och informationssystem DD1370 F3. Ett urval ur databasen bestäms av en SQL-fråga. Påminnelse: Vad är en Databas?
Påminnelse: Vad är en Databas? Databasteknik och informationssystem DD1370 F3 Petter Ögren Ett antal tabeller Referenser (pilar) mellan tabellerna Ex: register abc123 BMW 830101-0000 def100 Volvo 830101-0000
Läs merMODELLER OCH SPRÅK FÖR RELATIONSDATABASER: Relationsalgebra, Relationskalkyl (Tuple calculus) & SQL
MODELLER OCH SPRÅK FÖR RELATIONSDATABASER: Relationsalgebra, Relationskalkyl (Tuple calculus) & SQL Ted Codd 970 - klassisk artikel: The relational model of data - DATASTRUKTUR - OPERATIONER - INTEGRITY
Läs mer02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)
02/2/4 Behövs Föreläsning 8? Databasteknik och informationssystem DD370 Idag F6 ästa vecka: F7 (sista nyheterna & repetition) Föreläsning 6: ER-modellenà Databas (del 2) F8 (?) (repetition, repetition,
Läs merTentamen i. Databasteknik
Tentamen i Databasteknik Torsdagen den 10/3 2005 14.00-19.00 Tillåtna hjälpmedel: Allt tänkbart material Använd bara framsidan på varje blad Skriv max en uppgift per blad. Skriv tydligt. Motivera allt.
Läs merFrågespråk och SQL. nikos dimitrakas rum 2423
Frågespråk och SQL nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 5, 6 (och lite överallt) (4.1, 4.2) (4th edition) Kapitel 5, 6 (och lite överallt) (4.1, 4.2) (5th edition) Kapitel
Läs merWCMS-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 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 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 merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 10 April 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs merLösningsförslag, tentamen i Databaser
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser 2004-04-20 1. ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi
Läs merDatabasutveckling 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 merSQL, 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 merDIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:
DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL r s använder vi för att uttrycka frågor där ordet alla figurerar: Ex. Vilka personer har stamkundskort vid ALLA klädesbutiker i stad X? Vilka personer har bankkonto
Läs merVad är SQL? Introduktion till SQL
Introduktion till SQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är SQL? Structured Query Language (SQL) är ett standardiserat frågespråk för att hämta och modifiera data i en
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 merIdag. Hur vet vi att vår databas är tillräckligt bra?
Idag 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? DD1370 (Föreläsning 6) Databasteknik
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 för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.
Läs merRelationsdatabasdesign
Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2
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 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 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 mer1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias
FÖ 9: Databaskursen 1. SQL 2. Utsökningar mot flera tabeller 3. Nästlad sökning eller sub queries 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias 8. Distincti 9. Group by 10. Having 11. In
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 merProgramdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys
Läs merGIS, databasteknik och kartografi. Databasmodellering
Databasmodellering 1. När vi studerar verkligheten för att beskriva (en del av) den i ett system (inte bara datorer), måste vi göra en modell. 2. Modelleringsverktyget ska ha egenskaper som gör att vi:
Läs merSQL del 2. Christer Stuxberg Institutionen för Informatik och Media
SQL del 2 Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Repetition SELECT INSERT Mer SELECT Null sökning Gruppering (GROUP BY) Begränsad gruppering (HAVING)
Läs merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem Exempeltenta för kursen ht2013 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan
Läs merDagens föreläsning. KTH & SU, CSC Databasteknik Föreläsning 10 sid 1
Dagens föreläsning Vad du skall komma ihåg från tidigare föreläsningar Optimering av frågor Algebraisk omformulering Kostnadsberäkningar Evaluering av frågor Algoritmer för relationsoperatorer Beräkning
Läs merDVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server
DVA234 Databaser 1(6) Kurs: DVA234 Databaser Version: 4, uppdaterad 2016-03-21 Utvecklad av: Dag Nyström, dag.nystrom@mdh.se Laboration 1: Introduktion till databaser och MS SQL Server I den här laborationen
Läs merDatabaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla
Läs mer3. Dynamiska webbplatser, 20 Yhp (4 v)
Webbutvecklare CMS, Yh-utbildning, 2 år, 400 Yhp, Medieinstitutet, www.m Webbutvecklare CMS, Yh-utbildning, 2 år, 400 Yhp, Medieinstitutet, www.medieinstitutet.se, sida 3/12 3. Dynamiska webbplatser, 20
Läs mer08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning
08/12/14 Behövs Föreläsning 8? Databasteknik och informationssystem DD1370 Idag F7 - (sista nyheterna & repetition) F8 (?) - (repetition, repetition, repetition ) Föreläsning 7 Svara med knapptryckning
Läs merIntroduktion MySQL och MariaDB
Introduktion MySQL och MariaDB Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är MySQL? MySQL är en databashanterare. Den använder sig av frågespråket SQL. MySQL är fri programvara,
Läs merDeklarativt programmeringsparadigm
Deklarativt programmeringsparadigm Det vi introducerade på förra föreläsningen var ett exempel på deklarativ programmering. Vi specificerade en fallanalys som innehöll fakta och regler för hur man skulle
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 merProva på-laboration i SQL
Prova på-laboration i SQL Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-19 1. Introduktion till databaser Databaser finns i så gott som alla sammanhang
Läs merIdag. Exempel. Exempel modellen (1) Exempel...
Idag Exempel Knyta ihop säcken Repetition av hela processen från värld till databas Kontroll av resultatet Man börjar alltid med att bestämma vad man måste hålla reda på, de s.k. objektklasserna. Ofta
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 merLö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 merDatabasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes
Databasutveckling Tabeller Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Datatyper Heltal bit 0, 1 eller NULL tinyint 1 byte (0-255) smallint int bigint 2 bytes 4 bytes 8 bytes Decimaltal
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 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 merVad du skall komma ihåg från tidigare föreläsningar. Dagens föreläsning. Evaluering av frågor. Data dictionary
Dagens föreläsning Vad du skall komma ihåg från tidigare föreläsningar Vad du skall komma ihåg från tidigare föreläsningar Optimering av frågor Algebraisk omformulering Kostnadsberäkningar Evaluering av
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 mer