DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:
|
|
- Eva Berglund
- för 9 år sedan
- Visningar:
Transkript
1 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 vid ALLA banker som är verksamma i landet? Vilka studerande är anmälda till ALLA kurser av Soini? Vilka studerande är anmälda till ALLA kurser som går i period 1? Vilka pojkar är anmälda till de kurser som ALLA flickor tar? Vilka flickor är anmälda till ALLA de kurser som student nr tar? Vid alla dessa frågor utgör definitionen efter ALLA en mängd med vissa bestämda element. De dataenheter (personer, studenter etc.) som uppfyller alla dessa krav kommer med i resultatet. Logiken satserna uttrycker är implikation: för vilka personer gäller det att "OM det finns en klädesbutik i stad X SÅ har personen stamkundskort vid butiken eller "OM Soini håller en kurs SÅ är studenten anmäld till den eller OM är anmäld till en viss kurs SÅ är flickan anmäld till samma kurs. Vi ska studera det sista exemplet i detalj här. Å ena sidan har vi en lista (en relation) med flickor och de kurser de är anmälda till: denna blir relation r. Å andra sidan har vi en lista (en relation) av ALLA de kurser som student tar. Denna blir relation s. Nu frågar vi vilka av flickorna som tar ALLA dessa kurser. Anta, att tar följande tre kurser:, och. För att då komma med till svaret måste flickan i fråga vara anmäld till alla dessa tre kurser. (Hon får också därtill vara anmäld till andra kurser, detta påverkar inte resultatet.) Frågan uttrycks med relationsalgebra (med exempeldatabasen kursdatabas som finns på kursens hemsida) som Π matr, namn, kurskod ( kön = 'K' (student) x kursanmälan) Π kurskod ( matr = (kursanmälan)) och resultatet består av en relation med attributen namn och matr. Attributet kurskod som vi dividerar med försvinner vid divisionen. OBS! Vilka personer har avklarat ALLA de kurser de är anmälda till? har ytligt sett en liknande formulering, men logiken här är annorlunda: mängden av kurser som ska testas varierar från person till person, beroende på vilka kurser just den aktuella personen har anmält sig till. Det finns alltså inte en gemensam mängd kurser som skulle testas för varje person. Formuleringen på SQL blir ofta lättare än med division; för att uttrycka exempelfrågan räcker det med att man ur mängden av kursanmälda personer tar bort dem som har NULL som värdet av något vitsord (detta attribut finns i kursanmälan i kursexemplets sql kod).
2 Vilka kvinnliga studenter tar alla de kurser som är anmäld till? Π matr, namn, kurskod ( kön = 'K' (student) x kursanmälan) Π kurskod ( matr = matr namn up kön kurskod matr kurskod ================================ =========== Brita DT K Brita DT K Ann Helen DT K Ann Helen DT K Ann Helen DT K Siru DT K Siru DT K Siru DT K Sara IS K Sara IS K Sara IS K (kursanmälan)) Π matr, namn, kurskod ( kön = 'K' (student) x kursanmälan) Π kurskod ( matr = (kursanmälan)) matr namn up kön kurskod matr kurskod ================================ =========== Brita DT K Brita DT K Ann Helen DT K Ann Helen DT K Ann Helen DT K Siru DT K Siru DT K Siru DT K Sara IS K Sara IS K Sara IS K Vi ser att bara 40128, Siru har alla de önskade kurserna.
3 r s definieras som Π R S (r) Π R S ((Π R S (r) s) Π R S,S (r)) r < Π matr, namn, kurskod ( kön = 'K' (student) x kursanmälan) s < Π kurskod ( matr = (kursanmälan)) Π R S (r) är här Π matr, namn (r) (Inga duplikat av element i mängder!) Π R S,S (r) är här Π matr, namn, kurskod (r), i detta fall = r. Projektionen garanterar att attributen kommer i rätt ordning med tanke på subtraktionen. Π R S (r) s är här Π matr, namn (r) x {,, }, dvs. alla de tänkbara kombinationerna av en kursanmäld flicka och de kurser som student tar. Ur denna mängd subtraherar vi de verkliga tuplerna bort. Ur detta resultat (de som inte är verkliga kombinationer) projiceras matrikelnummer och namn (Π R S ). Slutligen subtraheras dessa ur Π matr, namn (r). Svaret blir det som finns kvar. Π R S (r) Π R S (r) s (tänkbara) Π R S,S (r) (verkliga) ============== ===================== ===================== Brita Brita Brita Ann Helen Brita Brita Siru Brita Ann Helen Sara Ann Helen Ann Helen Ann Helen Ann Helen SVAR: Ann Helen Siru ===== Siru Siru Siru Siru Siru Siru Sara Sara Sara Sara Sara Sara De falska De tupler som representerar (De som inte markerats med kandidaterna verklig information har grönt representerar verklig har överstrukits. överstrukits. information om andra kurser än de relevanta.)
4 HUR ÖVERSÄTTA DETTA TILL MySQL? Problem: Det finns varken division ( ) eller mängddifferens ( ) i MySQL. Det gäller alltså att gå omvägar. Det finns (åtminstone) tre olika sätt att ställa dylika frågor: 1) Not exists ( ) med not in ( ): ( Det får inte finnas en kurs som tar som inte finns bland de kurser den aktuella flickan tar ) select distinct matr, namn from student as R where kon = 'K' and not exists (select kurskod where matr = and kurskod not in (select kurskod as R2 where R.matr = R2.matr)); matr namn Siru 1 row in set (0.00 sec) Den yttersta selektionen bestämmer vilka kolumner (matr, namn) vi vill se i svaret. Den yttersta select from where skapar tabellen med alla de kvinnliga studerandena och deras kursanmälningar. Dessa studeranden testas nu en i sänder: för att komma med i resultatet måste not exists satsen för den aktuella studenten bli true (listan efter not exists måste bli tom). Vad består denna lista av? Först väljer man dit alla de kurser som student är anmäld till (tre st.:, och ). Dessa representeras av kurskod. Sedan testas dessa kurser en i sänder mot de kurser som den aktuella kvinnliga studenten är anmäld till: vi skapar en mängd över hennes kurser i den innersta selecten. Dessa representeras av kurskod. Denna mängd innehåller alltså alla de kurser som den aktuella kvinnliga studenten är anmäld till. Så fort vi hittar en kurskod bland 40101:s kurser som inte finns bland den aktuella flickans kurskoder, får vi ett värde till den mellersta select listan, som härmed inte förblir tom. Detta medför att not exists blir false, och detta i sin tur innebär att den aktuella studenten inte fyller where villkoret och inte kommer med i resultatet. Om däremot alla kurskoderna i den mellersta selektionen går att återfinna bland den aktuella kvinnliga studentens kurskoder, förblir denna select tom och not exists blir därmed sann. Nu kommer den aktuella studenten med i resultatet. Se nästa sida!
5 I exempelfrågan: 40101:s kurser: Britas (40112) kurser: Ann Helens (40113) kurser: Sirus (40128) kurser: Saras (40240) kurser: visar vilken (vilka) kurs(er) som fattas av flickornas kursmängder. Dessa kommer med i den mellersta selektionen och gör att not exists blir false. Ifall alla 40101:s kurser går att återfinna i den aktuella flickans kursmängd, kommer flickan med i resultatet.
6 2) Två gånger not exists: ( Det får inte finnas en kurs som tar som inte tas av den aktuella flickan ) select distinct matr, namn from student as R where kon = 'K' and not exists (select kurskod as S where matr = and not exists (select kurskod as R2 where R.matr = R2.matr and S.kurskod = R2.kurskod )); matr namn Siru 1 row in set (0.01 sec) Denna lösning påminner mycket om den förra, men nu har testen med mängdtillhörighet (not in) ersatts av en not exists till. Den yttre not exists väljer ut de kurser som är anmäld till. Den inre not exists kontrollerar dessa kurser en i sänder; hittar vi samma kurs för den aktuella flickan? Om det finns en kurskod (bland flickans kurser) lika med den kurskod (av 40101:s kurser) som står i tur att testas, kommer denna kurskod att vara resultatet av den innersta selecten. Då är inte denna select tom, och då blir den inre not exists false. Nu kommer den testade kurskoden inte med i den mellersta selektionen. Varje kurskod för testas på detta sätt. Om de alla går att hitta bland den aktuella flickans kurskoder, kommer ingen av dem med i den mellersta selektionen, och då blir den yttre not exists true. Detta innebär att den aktuella flickan har alla de specificerade kurserna och hon kommer med i resultatet. Om det däremot finns en eller flera kurskoder som inte går att finna i den innersta selektionen, blir denna select tom och därmed den inre not exists true för dem, och dessa kurskoder väljs till resultatet av den mellersta selektionen. Då blir den yttre not exists falskt, och den aktuella flickan (som saknade dessa kurser) kommer inte med i resultatet. Se figuren på nästa sida!
7 40101s kurser Britas (40112) kurser Hittas inte väljs i den mellersta selecten. Ann Helens (40113) kurser Hittas inte väljs i den mellersta selecten Sirus (40128) kurser Saras (40240) kurser Hittas inte väljs i den mellersta selecten Nästa sida!
8 3) Räkna och jämför Idén bakom denna metod är att räkna hur många olika värden det finns i divisorn (alla de där värdena som man borde ha för att komma med i resultatet). När det gäller vårt exempel räknar vi först hur många kurser tar. Sedan kontrollerar vi hur många av dessa specifika kurser våra kvinnliga studenter tar. Om det blir samma antal, har studentflickan alla dessa kurser och kommer med i resultatet. mysql> select matr, namn natural join student where kon = 'K' and kurskod in (select kurskod where matr = 40101) group by matr having count(kurskod) = (select count(*) from (select kurskod where matr = 40101) as tab); matr namn Siru 1 row in set (0.00 sec) Här finns resultatet av kursanmalan natural join student where kon = 'K' and kurskod in (select kurskod where matr = 40101): matr kurskod vitsord namn up kon NULL Brita DT K NULL Brita DT K NULL Ann Helen DT K NULL Ann Helen DT K NULL Siru DT K NULL Siru DT K NULL Siru DT K NULL Sara IS K NULL Sara IS K 9 rows in set (0.00 sec) Nästa sida!
9 Dessa tupler ska nu grupperas enligt matrikelnumret: matr kurskod vitsord namn up kon NULL Brita DT K NULL Brita DT K NULL Ann Helen DT K NULL Ann Helen DT K NULL Siru DT K NULL Siru DT K NULL Siru DT K NULL Sara IS K NULL Sara IS K having count(kurskod) räknar nu antalet kurskoder/grupp, dvs. antalet kurser varje studentflicka har anmält sig till (observera, att vi har valt till denna selektion bara sådana kurser som tar det är möjligt att flickorna tar andra kurser utöver dessa). having count(kurskod) = (select count(*) from (select kurskod where matr = 40101) as tab); jämför antalet kurser/grupp (antalet kurser den aktuella flickan tar) med antalet kurser tar (här 3 st.). Om det blir samma antal, vet vi att det är frågan om samma kurser, och då kommer flickan med i resultatet. Detta händer i den selektion som finns i början av frågan: mysql> select matr, namn natural join student where kon = 'K' and kurskod in (select kurskod where matr = 40101) group by matr having count(kurskod) = (select count(*) from (select kurskod where matr = 40101) as tab); OBS! Här kan det bara förekomma en kursanmälan/kurs. I andra situationer måste man kanske använda count distinct för att eliminera duplikat. OBS! Det skulle vara en naturlig lösning att använda en temporär tabell för 40101:s kurser. Tyvärr får samma temporära tabell INTE öppnas två gånger i samma fråga i MySQL (5.1) så den lösningen ger bara felmeddelanden.
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
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
Introduktion 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
Grunderna 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
Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.
Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Relationsalgebra Tilldelning := Relationsalgebran är sluten: Med hjälp av dessa operatorer kan andra (icke-primitiva) operatorer
Databaser 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
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ö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å
SQL 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)
1. 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
Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5
Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5 1 Frågor mot en tabell och något selektionsvillkor. A Ta fram personnummer, namn, adress och postnummer på personer som bor i Solna! B Ta fram
Relationsalgebra. Varför behöver jag lära mig relationsalgebra?!
Relationsalgebra 1 Varför behöver jag lära mig relationsalgebra?! Relationsmodellen är den datamodell som används i de flesta moderna databassystemen Data beskrivs och lagras som relationer, dvs. som ett
07/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
JavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
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
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
SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.
SQL, nästlade delfrågor 3-19 Nästlade delfrågor SQL har en mekanism för nästling av delfrågor: En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. Delfrågor används
Structured 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
Ö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ö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
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
Relationskalkyl (RK)
1 Relationskalkyl (RK) Formellt frågespråk som är baserad på predikatkalkyl (logik) En formel i RK är icke-procedurell (deklarativ), dvs den specificerar vad som ska hämtas och inte hur Jämför med relationsalgebran
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
Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.
SQL result Host: s384.loopia.se Database: webbfunktion_com Generation Time: Mar 25, 2016 at 12:55 AM Generated by: phpmyadmin 4.4.15.5 / MySQL 5.6.27-log SQL query: SELECT, CAST(Value AS DEC) as FROM `webbanalysblogg-uppsala`
Idag. 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
Tentamen 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
Tentamen 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
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
Datalager och datautvinning
Datalager och datautvinning 1 Datalager och datautvinning! Databaser kan innehålla stora mängder information om ett företags eller en organisations verksamhet" Data kan också användas för att analysera
Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering
Databasutveckling Microsoft T-SQL - Fortsättning Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering
16/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)
Databaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
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
Databasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Lö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
Andra relationella språk
Andra relationella språk Kapitel 5 Andra relationella språk sid Tupelrelationskalkyl 1 Domänrelationskalkyl 6 Query-by-Example (QBE) 8 Andra relationella språk, tupelrelationskalkyl 5-1 Tupelrelationskalkyl
Logik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.
Laboration 2, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall vi jobba vidare på bildatabasen som vi började på förra gången. Vi skall ändra fält och lära oss att
Grunderna för relationsmodellen!
Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller
INNEHÅLL SQL DEL 2. Funktioner inbyggda Aggregatfunktioner Skalärfunktioner. Chapter 11. Beginning SQL Server 2008 for Developers
INNEHÅLL SQL DEL 2 Funktioner inbyggda Aggregatfunktioner Skalärfunktioner Chapter 11. Beginning SQL Server 2008 for Developers 1 FUNKTIONER, INBYGGDA Det finns ett mängd med funktionen du kan använd dig
Prova 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
SQL. 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ö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
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
Grunderna 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
08/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
EMPS(NAME, SALARY, DEPT)
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar
FÖ 8: Databaskursen 1. SQL 2. Utsökningar mot en tabell 3. Od Order by 4. Funktionerna upper, lower och initcap 5. Konkatenering 6. Kolumnalias 7. Distinct 8. Hantera nullvärden med nvl-funktionen 9. Between
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
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
ÖVNING 14. (Primärnycklar är angivna med fetstil.)
ÖVNING 14 SAL(SalsId, Max_antalpersoner) AVSTÅND(Sal1, Sal2, Längd) DANSARE(Namn, Skostorlek, Längd) BALETT(Namn, Upphovsman) ROLL(RollNamn, BalettNamn) UPPSÄTTNING(BalettNamn, Från, Till) ROLLINNEHAV(Dansare,
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
Databasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
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,
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
MinPlan: Att komma igång och hitta information
MinPlan: Att komma igång och hitta information 28.8.2012 Monica Nerdrum Åbo Akademi Lärcentret Fänriksgatan 3 B 28.8.2012 1 Lärandemål för denna kurs Efter godkänd kurs förväntas deltagaren kunna: Använda
Databaser 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 ------------------------------------- --------
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,
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
An English version of the questions is found at the back of each page.
Lena Strömbäck Pawel Pietrzak 2004-06-02 Skriftlig tentamen i kursen TDDB48 Databasteknik Datum: 2003-06-02 Tid: 14-18 Lokal: GAR Hjälpmedel: Engelsk ordlista tillåten ej elektronisk iniräknare ej programmerbar
WCMS-15, Webbutvecklare CMS
WCMS-15, Webbutvecklare CMS Övningstentamen, delkurs Dynamiska webbplatser (20 YH-poäng) Plats: Medieinstitutet, Malmö Tid: 25 november 2015, kl. 13.00-16.00 Tillåtna hjälpmedel: Papper, penna, suddgummi,
Tentamen 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
Trafla databasen vi hämtar data från (remote export) ligger på en godtycklig maskin i nätverket. Den här databasen är en MIMER databas.
DB01 - Remote DB01 kan användas på ett nytt sätt. Vi kallar det för remote. Det innebär att man kan peka ut databaser på nätverket som mål för export eller import. Denna funktion är avsedd för att flytta
Dugga Datastrukturer (DAT036)
Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre
ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP. Tommy Färnqvist, IDA, Linköpings universitet
Föreläsning 5 ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 11 september 2015 Tommy Färnqvist, IDA, Linköpings
MATEMATIKENS SPRÅK. Avsnitt 1
Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en
MODELLER 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
Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Introduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Grundkurs i programmering, 6 hp (725G61) Dugga 1 tillfälle 3
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 1 tillfälle 3 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Tentamen 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
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
ÖVNING 14. (Primärnycklar är angivna med fetstil.)
ÖVNING 14 SAL(SalsId, Max_antalpersoner) AVSTÅND(Sal1, Sal2, Längd) DANSARE(Namn, Skostorlek, Längd) BALETT(Namn, Upphovsman) ROLL(RollNamn, BalettNamn) UPPSÄTTNING(BalettNamn, Från, Till) ROLLINNEHAV(Dansare,
Databasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Programdesign, 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
Laboration SQL. Kom igång. http://www.tfe.umu.se/courses/systemteknik/webbkurser/d&w/laborationer/sql.ht...
Page 1 of 5 Laboration SQL Syfte: Under denna laboration skall du bekanta dig med SQL. När laborationen är genomförd skall du klara av att själv formulera enklare SQL-frågor för att kunna ta fram information
Databaser - 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
Tentamen 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
Karlstads Universitet, Datavetenskap 1
* * * * DAV B04 - Databasteknik! "# $ %'&( ) KaU - Datavetenskap - DAV B04 - MGö 132 Riktlinjer när man vill skapa en databas 1) Designa så att det är lätt att förstå innebörden. Kombinera inte attribut
Lathund, bråk och procent åk 7
Lathund, bråk och procent åk 7 Är samma som / som är samma som en tredjedel och samma som en av tre. är täljaren (den säger hur många delar vi har), tänk täljare = taket = uppåt är nämnaren (den säger
Data, typ, selektion, iteration
Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens
TNMK30 Elektronisk publicering HT 2014 Laboration 5: PHP och MySQL
TNMK30 Elektronisk publicering HT 2014 Laboration 5: PHP och MySQL På webservern www.student.itn.liu.se finns stöd för PHP, och PHP har inbyggda funktioner för att kontakta och ställa SQL-frågor till en
Relationsdatabasdesign 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
MinPlan - kurs- och tentamensanmälan v. 1.2 ( )
MinPlan - kurs- och tentamensanmälan v. 1.2 (19.2.2007) 1. Kursanmälan 1 1.1 Kursanmälan öppen 1 1.2 Anmälan till kurs 1 1.3 Anmälan till kurser utanför studieplanen 1 1.4 Återta anmälan 2 1.5 Bekräftan
Föreläsning 5: Relationsmodellen
Föreläsning 5: Relationsmodellen DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över hur relationsmodellen fungerar Relationsmodellen Relationsalgebra
Hela tal LCB 1999/2000
Hela tal LCB 1999/2000 Ersätter Grimaldi 4.3 4.5 1 Delbarhet Alla förekommande tal i fortsättningen är heltal. DEFINITION 1. Man säger att b delar a om det finns ett heltal n så att a Man skriver b a när
Starta MySQL Query Browser
Starta MySQL Query Browser 1. Starta MySQL Query Browser genom att antingen välja i Startmenyn: 2. eller leta upp ikonen på skrivbordet för start av MySQL Query Browser och dubbelklicka på den. 3. Du bör
Tabeller 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
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Föreläsning 5 Dagens föreläsning går igenom
Databasbaserad publicering Föreläsning 5 1 Föreläsning 5 Dagens föreläsning går igenom SQL-sammanfattning Komplett exempel, från E/R till tabeller och SQL Databasbaserad publicering Föreläsning 5 2 SQL
Fiktiv 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
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
Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet
Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet Dagens upplägg Antalet element i en mängd Kardinalitet Humes princip Cantors teorem Den universella mängden Några mängdteoretiska paradoxer
Tentamen 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
1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående
MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta
Karlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 229 PHP Hypertext Preprocessor Scriptspråk på serversidan Innebär att webbservern översätter php-scripten innan sidan skickas till webbläsaren,
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ägga till inledande kurser på programtillfälle eller inriktningstillfällen
Lägga till inledande kurser på programtillfälle eller inriktningstillfällen 2018-12-13 1 Lägga till inledande kurser på programtillfälle eller inriktningstillfällen Innehåll Läs detta först / Förutsättningar
Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av
Relationell databasdesign, FB Teori 7-20 Uppdelning Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av R om R i = R, i=1,...,n. Dvs. varje R i är en delmängd av R och varje attribut
Databassprå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.