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

Storlek: px
Starta visningen från sidan:

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

Transkript

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

2 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? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

3 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? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

4 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 mig om index? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

5 SQLs delar Den del av SQL som vi gått igenom kallas SQL DML (SQL Data Manipulation Language). En annan viktig del är SQL DDL (SQL Data Definition Language) som används för att skapa databaser och databastabeller, skapa regler för vem som får göra vad i databaserna och skapa index för att snabba upp sökningar. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

6 SQLs delar Den del av SQL som vi gått igenom kallas SQL DML (SQL Data Manipulation Language). En annan viktig del är SQL DDL (SQL Data Definition Language) som används för att skapa databaser och databastabeller, skapa regler för vem som får göra vad i databaserna och skapa index för att snabba upp sökningar. Senaste versionen av SQL, SQL 3, är mer komplicerad med möjligheter att starta program då vissa händelser inträffar (s.k. triggers) och med omfattande programmeringsmöjligheter DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

7 Skapa en databas I många böcker och om man söker på internet används kommandot CREATE DATABASE databasnamn; men det är inte standardiserat. Olika databashanterare har olika metoder för att skapa en databas även om fler och fler tillhandahåller ett SQL-kommando. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

8 Skapa en databas I många böcker och om man söker på internet används kommandot CREATE DATABASE databasnamn; men det är inte standardiserat. Olika databashanterare har olika metoder för att skapa en databas även om fler och fler tillhandahåller ett SQL-kommando. Eftersom det inte finns en standard måste man läsa den aktuella databashanterarens manualer noga. Det förekommer stora skillnader. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

9 Skapa en databas I många böcker och om man söker på internet används kommandot CREATE DATABASE databasnamn; men det är inte standardiserat. Olika databashanterare har olika metoder för att skapa en databas även om fler och fler tillhandahåller ett SQL-kommando. Eftersom det inte finns en standard måste man läsa den aktuella databashanterarens manualer noga. Det förekommer stora skillnader. I postgresql, som vi använder mycket på KTH, finns dels ett SQL-kommando och dels ett kommando man kan skriva i ett terminalfönster. Har man utfört kommandot psql så att man hamnar i postgresql:s kommandotolk så går det utmärkt att skriva t.ex. CREATE DATABASE serafimsdb; DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

10 Skapa en databas I många böcker och om man söker på internet används kommandot CREATE DATABASE databasnamn; men det är inte standardiserat. Olika databashanterare har olika metoder för att skapa en databas även om fler och fler tillhandahåller ett SQL-kommando. Eftersom det inte finns en standard måste man läsa den aktuella databashanterarens manualer noga. Det förekommer stora skillnader. I postgresql, som vi använder mycket på KTH, finns dels ett SQL-kommando och dels ett kommando man kan skriva i ett terminalfönster. Har man utfört kommandot psql så att man hamnar i postgresql:s kommandotolk så går det utmärkt att skriva t.ex. CREATE DATABASE serafimsdb; men i ett terminalfönster använder man kommandot createdb serafimsdb DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

11 Skapa en databas I många böcker och om man söker på internet används kommandot CREATE DATABASE databasnamn; men det är inte standardiserat. Olika databashanterare har olika metoder för att skapa en databas även om fler och fler tillhandahåller ett SQL-kommando. Eftersom det inte finns en standard måste man läsa den aktuella databashanterarens manualer noga. Det förekommer stora skillnader. I postgresql, som vi använder mycket på KTH, finns dels ett SQL-kommando och dels ett kommando man kan skriva i ett terminalfönster. Har man utfört kommandot psql så att man hamnar i postgresql:s kommandotolk så går det utmärkt att skriva t.ex. CREATE DATABASE serafimsdb; men i ett terminalfönster använder man kommandot createdb serafimsdb Liknande möjligheter finns i alla DBMS men kommandona kan se annorlunda ut DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

12 Skapa en databas I många böcker och om man söker på internet används kommandot CREATE DATABASE databasnamn; men det är inte standardiserat. Olika databashanterare har olika metoder för att skapa en databas även om fler och fler tillhandahåller ett SQL-kommando. Eftersom det inte finns en standard måste man läsa den aktuella databashanterarens manualer noga. Det förekommer stora skillnader. I postgresql, som vi använder mycket på KTH, finns dels ett SQL-kommando och dels ett kommando man kan skriva i ett terminalfönster. Har man utfört kommandot psql så att man hamnar i postgresql:s kommandotolk så går det utmärkt att skriva t.ex. CREATE DATABASE serafimsdb; men i ett terminalfönster använder man kommandot createdb serafimsdb Liknande möjligheter finns i alla DBMS men kommandona kan se annorlunda ut Man kan vara säker på att olika leverantörer har sina egna (ibland väldigt egna) idéer så det är bra att åtminstone läsa igenom aktuellt DBMS manual. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

13 Att utplåna en databas Är inte heller standardiserat. Ofta kan man tillhandahålla SQL-kommandot: DROP DATABASE serafimsdb; DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

14 Att utplåna en databas Är inte heller standardiserat. Ofta kan man tillhandahålla SQL-kommandot: DROP DATABASE serafimsdb; men lika ofta får man slå i manualer för att hitta rätt kommando. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

15 Att utplåna en databas Är inte heller standardiserat. Ofta kan man tillhandahålla SQL-kommandot: DROP DATABASE serafimsdb; men lika ofta får man slå i manualer för att hitta rätt kommando. Orsaken till att varken CREATE DATABASE eller DROP DATABASE finns som standard är att de flesta organisationer som använder databaser har speciella anställda, s.k. databasadministratörer (DBA) som sköter företagets bestånd av databaser och att det är bra om ingen får kasta bort (eller skapa) en databas utan DBA:s medverkan. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

16 Att utplåna en databas Är inte heller standardiserat. Ofta kan man tillhandahålla SQL-kommandot: DROP DATABASE serafimsdb; men lika ofta får man slå i manualer för att hitta rätt kommando. Orsaken till att varken CREATE DATABASE eller DROP DATABASE finns som standard är att de flesta organisationer som använder databaser har speciella anställda, s.k. databasadministratörer (DBA) som sköter företagets bestånd av databaser och att det är bra om ingen får kasta bort (eller skapa) en databas utan DBA:s medverkan. På OS-nivå skulle jag kunnat använda postgresql kommandot dropdb serafimsdb DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

17 Tabeller (1) När man väl skapat sin databas är det dags att skapa tabellerna. Det finns många sätt och kanske det allra mest eleganta är att använda ett grafiskt gränssnitt i en webbläsare, för Postgresql finns phppgadmin som man kan använda på nestor via URL:en men det är viktigt att kunna bygga databaser via SQL-kommandon också. Vi ska titta på hur man gör för att realisera den varuhusdatabas som jag gjorde en modell till: Anställd Leverantör Anställning Lager Avdelning Försäljning Vara DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

18 Tabeller... (2) Den hade egenskapsmatrisen: Typ Namn I-termer E-termer Obj Vara varunr typ Avdelning avd våning Anställd namn lön, chef Leverantör företag adress Samb Försäljning avd, varunr volym Anställd namn, avd Lager företag, avd, varunr volym DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

19 Tabeller... (3) och vi fick fram en databasstruktur: Vara Avdelning Anställd Leverantör Lager Försäljning (varunr, typ) (avd, våning) (namn, lön, chef, avd) (företag, adress) (företag, avd, varunr, volym) (avd, varunr, volym) DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

20 Tabeller... (4) Kommentar: Har man startat postgresql med kommandot psql kan man använda kommandot \h för att få hjälp med SQL-kommandon DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

21 Tabeller... (4) Kommentar: Har man startat postgresql med kommandot psql kan man använda kommandot \h för att få hjälp med SQL-kommandon Eftersom jag vill markera alla främmande nycklar så måste jag mata in i en viss ordning, annars klagar DBMS. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

22 Tabeller... (4) Kommentar: Har man startat postgresql med kommandot psql kan man använda kommandot \h för att få hjälp med SQL-kommandon Eftersom jag vill markera alla främmande nycklar så måste jag mata in i en viss ordning, annars klagar DBMS. Ordningen bestäms av de främmande nycklarna. Jag börjar med tabeller som inte har några sådana. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

23 Tabeller... (4) Kommentar: Har man startat postgresql med kommandot psql kan man använda kommandot \h för att få hjälp med SQL-kommandon Eftersom jag vill markera alla främmande nycklar så måste jag mata in i en viss ordning, annars klagar DBMS. Ordningen bestäms av de främmande nycklarna. Jag börjar med tabeller som inte har några sådana. CREATE TABLE vara ( varunr int2 NOT NULL, typ character varying(20), PRIMARY KEY (varunr) ); DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

24 Tabeller... (5) CREATE TABLE avdelning ( avd character varying(20) NOT NULL, våning int2, PRIMARY KEY (avd) ); DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

25 Tabeller... (5) CREATE TABLE avdelning ( avd character varying(20) NOT NULL, våning int2, PRIMARY KEY (avd) ); CREATE TABLE leverantör ( företag character varying(30) NOT NULL, adress character varying(50), PRIMARY KEY (företag) ); DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

26 Tabeller... (6) CREATE TABLE anställd ( namn character varying(30) NOT NULL, lön int4, chef character varying(30), avd character varying(20), PRIMARY KEY (namn), FOREIGN KEY (chef) REFERENCES anställd, FOREIGN KEY (avd) REFERENCES avdelning ); DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

27 Tabeller... (7) CREATE TABLE försäljning ( avd character varying(20) NOT NULL, varunr int2 NOT NULL, volym int4, PRIMARY KEY (avd, varunr), FOREIGN KEY (avd) REFERENCES avdelning, FOREIGN KEY (varunr) REFERENCES vara ); DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

28 Tabeller... (8) CREATE TABLE lager ( avd character varying(20) NOT NULL, varunr int2 NOT NULL, företag character varying(30) NOT NULL, volym int4, PRIMARY KEY (avd, varunr, företag), FOREIGN KEY (avd) REFERENCES avdelning, FOREIGN KEY (varunr) REFERENCES vara, FOREIGN KEY (företag) REFERENCES leverantör ); DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

29 Ändra i tabelldefinitioner Man kan ändra en tabelldefinition när tabellen har skapats ALTER TABLE tillåter att man lägger till eller tar bort kolumner DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

30 Ändra i tabelldefinitioner Man kan ändra en tabelldefinition när tabellen har skapats ALTER TABLE tillåter att man lägger till eller tar bort kolumner Man kan ta bort en kolumn så länge som kolumnen inte innehåller data men finns det ett enda värde i en kolumn så kan den inte tas bort DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

31 Ändra i tabelldefinitioner Man kan ändra en tabelldefinition när tabellen har skapats ALTER TABLE tillåter att man lägger till eller tar bort kolumner Man kan ta bort en kolumn så länge som kolumnen inte innehåller data men finns det ett enda värde i en kolumn så kan den inte tas bort Många andra saker kan ställas in samtidigt. Se den långa utskriften vid kommandot \h ALTER TABLE när man är i postgresqls kommandogränssnitt DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

32 Mata in nya data i en tabell Kommandot INSERT INTO används för att lägga till data till en tabell. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

33 Mata in nya data i en tabell Kommandot INSERT INTO används för att lägga till data till en tabell. Man kan välja att stoppa in allt som går på en rad. Då slipper man räkna upp kolumnerna. Ex.: INSERT INTO anställd VALUES ( Karlsson K, 23540, Svensson S, sport ); om man matar in värdena i rätt ordning DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

34 Mata in nya data i en tabell Kommandot INSERT INTO används för att lägga till data till en tabell. Man kan välja att stoppa in allt som går på en rad. Då slipper man räkna upp kolumnerna. Ex.: INSERT INTO anställd VALUES ( Karlsson K, 23540, Svensson S, sport ); om man matar in värdena i rätt ordning Annars måste man räkna upp kolumnerna. Ex.: INSERT INTO anställd (lön, namn, avd) VALUES (23540, Karlsson K, sport ); varvid utelämnade kolumner fylls på med null i den inmatade raden. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

35 Mata in nya data i en tabell Kommandot INSERT INTO används för att lägga till data till en tabell. Man kan välja att stoppa in allt som går på en rad. Då slipper man räkna upp kolumnerna. Ex.: INSERT INTO anställd VALUES ( Karlsson K, 23540, Svensson S, sport ); om man matar in värdena i rätt ordning Annars måste man räkna upp kolumnerna. Ex.: INSERT INTO anställd (lön, namn, avd) VALUES (23540, Karlsson K, sport ); varvid utelämnade kolumner fylls på med null i den inmatade raden. Skulle man ha angivit ett defaultvärde används det i ställer för null DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

36 Ta bort rader ur en tabell Kommandot DELETE FROM används för att ta bort data från en tabell. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

37 Ta bort rader ur en tabell Kommandot DELETE FROM används för att ta bort data från en tabell. Ex.: DELETE FROM anställd WHERE namn = Karlsson K ; DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

38 Ta bort rader ur en tabell Kommandot DELETE FROM används för att ta bort data från en tabell. Ex.: DELETE FROM anställd WHERE namn = Karlsson K ; VARNING! DELETE FROM anställd; tar bort alla rader från anställd. Inga frågor i stil med är du säker? eller något annat. Alla rader försvinner utom om det finns främmande-nyckel-beroenden. Då vägrar DBMS. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

39 Ta bort rader ur en tabell Kommandot DELETE FROM används för att ta bort data från en tabell. Ex.: DELETE FROM anställd WHERE namn = Karlsson K ; VARNING! DELETE FROM anställd; tar bort alla rader från anställd. Inga frågor i stil med är du säker? eller något annat. Alla rader försvinner utom om det finns främmande-nyckel-beroenden. Då vägrar DBMS. Lägger man till DELETE FROM anställd CASCADE; så tas alla rader bort från anställd och också alla rader i andra tabeller som är beroende av någon av raderna som tagits bort ur anställd DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

40 Uppdatera rader Kommandot UPDATE används för att ändra data i en tabell. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

41 Uppdatera rader Kommandot UPDATE används för att ändra data i en tabell. Ex.: UPDATE anställd SET lön = WHERE namn = Karlsson K ; DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

42 Uppdatera rader Kommandot UPDATE används för att ändra data i en tabell. Ex.: UPDATE anställd SET lön = WHERE namn = Karlsson K ; UPDATE anställd SET (lön=32400, chef= Näsström C ) WHERE namn = Karlsson K ; DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

43 Uppdatera rader Kommandot UPDATE används för att ändra data i en tabell. Ex.: UPDATE anställd SET lön = WHERE namn = Karlsson K ; UPDATE anställd SET (lön=32400, chef= Näsström C ) WHERE namn = Karlsson K ; UPDATE anställd SET lön = 2*lön WHERE chef IS NOT NULL; DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

44 Ladda data från fil / Spara data på fil Man kan hämta kommandon direkt från en fil, t.ex. skapas varuhusdatabasen genom kommandot \i vhdump DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

45 Ladda data från fil / Spara data på fil Man kan hämta kommandon direkt från en fil, t.ex. skapas varuhusdatabasen genom kommandot \i vhdump där filen vhdump innehåller alla kommandon för att både bygga tabellerna och för att fylla dem med data DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

46 Ladda data från fil / Spara data på fil Man kan hämta kommandon direkt från en fil, t.ex. skapas varuhusdatabasen genom kommandot \i vhdump där filen vhdump innehåller alla kommandon för att både bygga tabellerna och för att fylla dem med data Kopiera data till en enskild tabell går också bra på det viset men också med kommandot COPY. Ex.: COPY avdelning (avd, våning) FROM /home/serafim/avd.sql WITH DELIMITER DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

47 Ladda data från fil / Spara data på fil Man kan hämta kommandon direkt från en fil, t.ex. skapas varuhusdatabasen genom kommandot \i vhdump där filen vhdump innehåller alla kommandon för att både bygga tabellerna och för att fylla dem med data Kopiera data till en enskild tabell går också bra på det viset men också med kommandot COPY. Ex.: COPY avdelning (avd, våning) FROM /home/serafim/avd.sql WITH DELIMITER Kopiera data till en fil går också bra med kommandot COPY. Ex.: COPY avdelning TO /home/serafim/avd.sql DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

48 Ladda data från fil / Spara data på fil Man kan hämta kommandon direkt från en fil, t.ex. skapas varuhusdatabasen genom kommandot \i vhdump där filen vhdump innehåller alla kommandon för att både bygga tabellerna och för att fylla dem med data Kopiera data till en enskild tabell går också bra på det viset men också med kommandot COPY. Ex.: COPY avdelning (avd, våning) FROM /home/serafim/avd.sql WITH DELIMITER Kopiera data till en fil går också bra med kommandot COPY. Ex.: COPY avdelning TO /home/serafim/avd.sql dumpa hela databasen med OS-kommandot pg_dump databasnamn DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

49 Ladda data från fil / Spara data på fil Man kan hämta kommandon direkt från en fil, t.ex. skapas varuhusdatabasen genom kommandot \i vhdump där filen vhdump innehåller alla kommandon för att både bygga tabellerna och för att fylla dem med data Kopiera data till en enskild tabell går också bra på det viset men också med kommandot COPY. Ex.: COPY avdelning (avd, våning) FROM /home/serafim/avd.sql WITH DELIMITER Kopiera data till en fil går också bra med kommandot COPY. Ex.: COPY avdelning TO /home/serafim/avd.sql dumpa hela databasen med OS-kommandot pg_dump databasnamn dumpa alla databaser med OS-kommandot pg_dumpall DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

50 Index vad är det? Ett index är en datastruktur som används för att snabba upp sökningar i en tabell DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

51 Index vad är det? Ett index är en datastruktur som används för att snabba upp sökningar i en tabell Antag att vårt OS hanterar block som är 4096 byte stora. Det betyder att 4096 byte läses i varje enskild läsoperation. Varken mer eller mindre DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

52 Index vad är det? Ett index är en datastruktur som används för att snabba upp sökningar i en tabell Antag att vårt OS hanterar block som är 4096 byte stora. Det betyder att 4096 byte läses i varje enskild läsoperation. Varken mer eller mindre Antag att vi har en tabell med rader där raderna är så att vi kan packa 5 rader/block. Resten av blocket består av en header och lite oanvänt utrymme DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

53 Index vad är det? Ett index är en datastruktur som används för att snabba upp sökningar i en tabell Antag att vårt OS hanterar block som är 4096 byte stora. Det betyder att 4096 byte läses i varje enskild läsoperation. Varken mer eller mindre Antag att vi har en tabell med rader där raderna är så att vi kan packa 5 rader/block. Resten av blocket består av en header och lite oanvänt utrymme Då kommer filen som innehåller tabellen att vara knappt 820 MB. Inte många primärminnen klarar av att hålla en sådan fil i minnet och ändå ha utrymme för annat. DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

54 Index vad är det? Ett index är en datastruktur som används för att snabba upp sökningar i en tabell Antag att vårt OS hanterar block som är 4096 byte stora. Det betyder att 4096 byte läses i varje enskild läsoperation. Varken mer eller mindre Antag att vi har en tabell med rader där raderna är så att vi kan packa 5 rader/block. Resten av blocket består av en header och lite oanvänt utrymme Då kommer filen som innehåller tabellen att vara knappt 820 MB. Inte många primärminnen klarar av att hålla en sådan fil i minnet och ändå ha utrymme för annat. Antag också att en nyckel är 30 byte och en pekare 8 byte. Då får vi rum med 100 par <nyckel,pekare> i varje block. En sån fil blir block stor (41MB) DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

55 Index... Det får rum i minnet och om vi använder binärsökning i filen + linjär sökning i blocken så tar det 2 log = 14 läsningar i block för att hitta det rätta blocket DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

56 Index... Det får rum i minnet och om vi använder binärsökning i filen + linjär sökning i blocken så tar det 2 log = 14 läsningar i block för att hitta det rätta blocket Även om det inte får rum i minnet kan vi behålla några block i minnet hela tiden. Väljer vi de på avståndet 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8... av filens längd, kommer vi att kunna hitta vilken post som helst av de med väsentligt färre läsningar från sekundärminnet än 14 DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

57 Index... Det får rum i minnet och om vi använder binärsökning i filen + linjär sökning i blocken så tar det 2 log = 14 läsningar i block för att hitta det rätta blocket Även om det inte får rum i minnet kan vi behålla några block i minnet hela tiden. Väljer vi de på avståndet 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8... av filens längd, kommer vi att kunna hitta vilken post som helst av de med väsentligt färre läsningar från sekundärminnet än 14 Så trots den stora mängden kopior av nycklar (= redundans) så snabbar det upp systemet avsevärt DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

58 Index... Det får rum i minnet och om vi använder binärsökning i filen + linjär sökning i blocken så tar det 2 log = 14 läsningar i block för att hitta det rätta blocket Även om det inte får rum i minnet kan vi behålla några block i minnet hela tiden. Väljer vi de på avståndet 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8... av filens längd, kommer vi att kunna hitta vilken post som helst av de med väsentligt färre läsningar från sekundärminnet än 14 Så trots den stora mängden kopior av nycklar (= redundans) så snabbar det upp systemet avsevärt Det finns en mängd olika typer av index, alltid med stora tidsvinster som bonus DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

59 Index... DBMS genererar alltid (om man inte stänger av den faciliteten) ett s.k. B-träds-index för alla tabeller som har en primärnyckel angiven DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

60 Index... DBMS genererar alltid (om man inte stänger av den faciliteten) ett s.k. B-träds-index för alla tabeller som har en primärnyckel angiven Ibland kan det finnas anledning att göra fler index men oftast inte. Man kan för det mesta helt enkelt låta DBMS välja när index ska skapas och vilken sorts index som ska användas DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

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

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

Läs mer

Idag. 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? 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 mer

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

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

Läs mer

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

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

Läs mer

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

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

Läs mer

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

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

Läs mer

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

Lö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 mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

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

Idag. 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 Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem

Läs mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

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

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

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

Läs mer

Design och underhåll av databaser

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

Läs mer

Idag. Exempel. Exempel modellen (1) Exempel...

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

Läs mer

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

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

Läs mer

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

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

Läs mer

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

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

Läs mer

Skapa exempeldatabasen

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

Läs mer

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

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

Läs mer

Databaser - Design och programmering

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

Läs mer

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

Läs mer

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

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

Läs mer

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

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

Läs mer

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

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

Läs mer

Databasutveckling Introduktion till SQL och TSQL

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

Läs mer

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

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

Läs mer

Relationsmodellen och syntetisk databasdesign

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

Läs mer

Databaser och Datamodellering Foreläsning IV

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

Läs mer

Tentamen i Databasteknik

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

Läs mer

Databasteknik för D1, SDU1 m fl

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

Läs mer

Databasteknik för D1 m fl

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

Läs mer

Analytisk relationsdatabasdesign

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

Läs mer

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Läs mer

WCMS-15, Webbutvecklare CMS

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

Läs mer

Kort handledning för Databassystemet Ingres och gränssnittsprogrammet isql

Kort handledning för Databassystemet Ingres och gränssnittsprogrammet isql Kort handledning för Databassystemet Ingres och gränssnittsprogrammet isql Göran Landgren 2002 1 Starta gränssnittsprogrammet isql Institutionens databasystemet CA-OPENINGRES är under ständig exekvering

Läs mer

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

Webbprogrammering, grundkurs 725G54

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

Läs mer

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

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

Läs mer

Databaser och SQL - en kort introduktion

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

Läs mer

Tentamen i Databasteknik

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

Läs mer

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

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

Läs mer

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Vad är en databas? Databasutveckling Med MySQL/MariaDB Databasutveckling Med MySQL/MariaDB Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är en databas? Från Wikipedia En databas (tidigare databank) är en samling information som är organiserad

Läs mer

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

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

Läs mer

Structured query language (SQL)

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

Läs mer

Inga hjälpmedel är tillåtna

Inga hjälpmedel är tillåtna Databaser och Affärssystem Provmoment: Ladokkod: Tentamen ges för: Tentamen 41F08A KITEK15h 7,5 högskolepoäng TentamensKod: Tentamensdatum: 2016-10-27 Tid: 9-12 (3 timmar) Hjälpmedel: Inga hjälpmedel är

Läs mer

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

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

Läs mer

Karlstads Universitet, Datavetenskap 1

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

Läs mer

Introduktion MySQL och MariaDB

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

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF! Denna beskrivning har gjorts på Windows 2000 Server (men bör fungera även på Windows XP Home Edition/Professional och Windows 2003 Server). Att installera Oracle 10g kräver ca. 2 GB hårddiskplats och ca.

Läs mer

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

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

Läs mer

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

08/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 mer

Informationssystem och Databasteknik

Informationssystem och Databasteknik Informationssystem och Databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Inför projektarbetet: - sammansmältning av flera överlappande modeller av samma

Läs mer

02/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Dagens föreläsning. Om Lab 1. De 11 Stegen (Kokbok)

02/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 mer

Lösningsförslag, tentamen i Databaser

Lö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 mer

Konceptuella datamodeller

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

Läs mer

Filbeskrivningar ---------------- http://student.ing-steen.se/sql/ Eller på särskild CD skiva

Filbeskrivningar ---------------- http://student.ing-steen.se/sql/ Eller på särskild CD skiva Filbeskrivningar ---------------- http://student.ing-steen.se/sql/ Eller på särskild CD skiva OBS! Det finns ytterligare filer på Microsoft CD, som tillhör SQL 2000 Administration Self paced, vilka kan

Läs mer

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

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

Läs mer

NORMALISERING. Mahmud Al Hakim

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

Läs mer

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

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

Läs mer

Structured Query Language (SQL)

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

Läs mer

Det finns även möjlighet att göra "Java - kopplingar" mot DB2 enligt diverse standarder som ODBC, SQLj mm.

Det finns även möjlighet att göra Java - kopplingar mot DB2 enligt diverse standarder som ODBC, SQLj mm. Syftet med detta dokument är att ge studenterna de nödvändiga kunskaperna för att snabbt komma igång med att använda IBM DB2 för Windows / NT. DB2 v 6.1 är en i grunden en relationsdatabas men det finns

Läs mer

Starta MySQL Query Browser

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

Läs mer

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

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

Läs mer

Labb 1. prompt> mysql --host=db-und.ida.liu.se --user=[liuid] -- password=[lösenord] [liuid]

Labb 1. prompt> mysql --host=db-und.ida.liu.se --user=[liuid] -- password=[lösenord] [liuid] Labb 1 Del 1A Skapa och hantera tabeller Sy#e (översikt) SQL är både DDL (Data De0inition Language) och DML (Data Manipulation Language). DDL betyder att språket kan användas för att skapa, ändra, och

Läs mer

SEB. Four foils. SEB IT Lars-Göran Karlsson

SEB. Four foils. SEB IT Lars-Göran Karlsson SEB Four foils SEB IT Lars-Göran Karlsson SEB IT Nu ett IT bolag inom SEB koncernen Tidigare uppdelat på två bolag SEB IT Partner för utveckling SEB IT Service för drift Nu två enheter inom SEB IT SEB

Läs mer

LOTTA MANUAL. t.o.m. version Cederlund 2014-12-07

LOTTA MANUAL. t.o.m. version Cederlund 2014-12-07 LOTTA MANUAL t.o.m. version Cederlund 2014-12-07 Innehållsförteckning 1. Nedladdning, installation och start av programmet 2. Skapa en turnering 3. Lägga in spelare i programmet 3.1. Inmatning av spelare

Läs mer

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

Föreläsning 6 Databaser och säkerhet

Föreläsning 6 Databaser och säkerhet Databasbaserad publicering Föreläsning 6 1 Föreläsning 6 Databaser och säkerhet & Läs kapitel 13 i Databasteknik och kapitel 9 i boken PHP & MySQL: Novice to Ninja Databasbaserad publicering Föreläsning

Läs mer

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF! Denna beskrivning har gjorts på Windows XP Professional (men bör fungera även på Home Edition och Windows 2000/2003). Att installera Oracle 9i Personal Edition kräver ca. 3 GB hårddiskplats och ca. 200

Läs mer

ÖVERVAKNING AV SQL SERVER

ÖVERVAKNING AV SQL SERVER ÖVERVAKNING AV SQL SERVER Hantering resurser för samtidiga användare Övervakning av SQL Servers aktiviteter Hantering av blockerade processer Användning av SQL Profiler för att hitta besvärliga frågor

Läs mer

Tentamen i Databasteknik

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

Läs mer

Informa5onsmodellering

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

Läs mer

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

Läs mer

Databasspråket SQL - online.

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

Läs mer

Introduktion till frågespråket SQL (v0.91)

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

Läs mer

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

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

Läs mer

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

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

Läs mer

MySQL. Maths Göthe. 25 februari Inledning Några konventioner Licens... 2

MySQL. Maths Göthe. 25 februari Inledning Några konventioner Licens... 2 En liten introduktion Maths Göthe maths57gothe(at)yahoo(punkt)se 25 februari 2010 Innehåll 1 Inledning 2 1.1 Några konventioner.......................... 2 1.2 Licens................................. 2

Läs mer

ADO.NET Murach Kapitel 17-20

ADO.NET Murach Kapitel 17-20 Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan

Läs mer

TENTAMEN DATABASKUNSKAP ITEK12

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

Läs mer

Tentamen i. Databasteknik

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

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

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

Läs mer

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

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

Läs mer

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

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

Läs mer

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data 5HVLVWHQVWDEHOO Tack för att du valde programmet 5HVLVWHQVWDEHOO! Vi hoppas att programmet ska vara till stor hjälp i ditt arbete. Har du synpunkter på programmet är du mycket välkommen att höra av dig

Läs mer

Dokumentation för VLDIT AB. Online classroom

Dokumentation för VLDIT AB. Online classroom Dokumentation för VLDIT AB Online classroom 2 Introduktion VLDIT AB önskar area för att tillhandahålla ett kursutbud online för sina befintliga deltagare, men även för nya. Syfte för applikationen: tillhandhålla

Läs mer

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

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

Läs mer

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

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

Läs mer

Prova på-laboration i SQL

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

Läs mer

Dagens föreläsning. KTH & SU, CSC Databasteknik Föreläsning 10 sid 1

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

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

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

Läs mer

Databasspråket SQL - online.

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

Läs mer

Vad är SQL? Introduktion till SQL

Vad ä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 mer

Stored procedure i ASP.NET

Stored procedure i ASP.NET Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored

Läs mer

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar:

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar: Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522 2002-05-30 Läs detta innan du börjar: Tid: 14.00-18.00. Du får gå tidigast 15.00 Hjälpmedel Utdelade databashäften. Anteckningar i häftet får finnas

Läs mer

Fillagring och indexering

Fillagring och indexering Fillagring och indexering Lena Strömbäck Institutionen för datavetenskap (IDA) Databaser Världen Databas Modell Databas- Hanterings- System (DBMS) Queries Svar Queries Svar Användare Anv Updates Queries

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

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

Läs mer

Kapitel 4 Arkivmenyn Innehåll

Kapitel 4 Arkivmenyn Innehåll Kapitel 4 Arkivmenyn Innehåll ARKIVMENYN...2 Byt aktuell användare...2 Utskrift till skärm eller skrivare...3 SQL verktyget...4 Ny SQL...4 Hämta SQL...5 Spara SQL...5 Kör SQL...5 Visa som...5 Avsluta...5

Läs mer

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

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

Läs mer

Idag. Hur vet vi att vår databas är tillräckligt bra?

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