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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 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 en databashanterare Ordlista UML ett språk för modellering av alla typer av problem relationsdatabas data ordnade i tabeller SQL ett språk för att hämta och ändra data i databasen databashanterare program som hanterar databasen En samling data som hör ihop som modellerar en del av verkligheten. som är persistent (dvs. inte försvinner när man avslutar programmet). En databas kan till exempel vara: en textfil. ett excel-dokument. en databas som hanteras av en databashanterare. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Vad är en databashanterare? Relationsdatabas Ett program som har till uppgift att lagra och hantera databaser. Kan hantera mycket data på ett effektivt sätt. Låter användaren specificera strukturen för databasen. Låter användare ställa frågor till databasen. Hanterar samtidig access till databasen. Exempel på databashanterare: MySQL Oracle Microsoft Access En relationsdatabas består av relationer (tabeller). En relation har attribut (kolumner itabellen). En relation består av en mängd tupler (rader itabellen) E. F. Codd EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

2 Exempel på en relation Kunder Exempel på en relation Bankkonton relation attribut adress Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund KontoNr saldo tupel EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Från problem till tabeller ER-modell I ER-modellen visas vilken information som ska finnas i databasen. hur de olika komponenterna hänger ihop. 1 Beskriv systemet i en ER-modell. 2 Översätt ER-modellen till relationer (tabeller). I kursen används UML (Unified Modeling Language) för att utrycka ER-modellen. ER står för Entity entitet ( sak, jfr objekt i programmering) Relationship samband 3 Skapa tabellerna i en databashanterare. Kund adress 1 Bankkonto kontonr saldo EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

3 Relationsmodell Nycklar Visar vilka tabeller det finns. Relationens schema (beskrivning av vad som kan lagras i tabellen) skrivs så här: Bankkonton(kontoNr, saldo, ) Kunder(,,, adress) En nyckel är ett (eller flera attribut tillsammans) vars värde garanterat är unikt. Det får alltså inte finnas flera tupler (rader) med samma värde på nyckeln. Man brukar välja ut en av nycklarna och kalla denna primärnyckel. Har man inget bra alternativ till primärnyckel kan man numrera tuplerna och använda numret som primärnyckel. relationens namn attribut Exempel: Kunder(,,, adress) Bankkonton(kontoNr, saldo, ) EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 SQL SQL-frågor SQL Structured Query Language Språk för att ställa frågor till databasen, t.ex. söka i databasen eller uppdatera data. Exempel: SELECT, FROM Kunder; På följande bilder finns exempel på SQL-frågor för att hämta information från en databas med tabellerna: Kunder(,,, adress) Bankkonton(kontoNr, saldo, ) EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

4 Hämta all information från en tabell Exempel: Tag reda på all information i tabellen Bankkonton. SELECT FROM Bankkonton; kontonr saldo Välja ut vissa kolumner Man kan välja ut vissa kolumner (attribut) genom att ange de önskade attributen i SELECT-delen. Exempel: Tag reda på alla kontons innehavare (personnummer) och kontonummer. SELECT, kontonr FROM Bankkonton; kontonr EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Döpa om kolumner Man kan döpa om namnen på de kolumner som visas. Exempel: Tag reda på alla kontons innehavare (personnummer) och kontonummer, men visa resultatet med andra kolumnnamn. SELECT AS kontoinnehavare, kontonr AS kontonummer FROM Bankkonton; Slå ihop kolumner Exempel: Visa personnummer och namn på alla kunder. Namnen ska vara på formen,. SELECT, +, + AS namn FROM Kunder; kontoinnehavare kontonummer namn Ek, Bo Bok, Lars Alm, Eva Alm, Sara EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

5 Sortera Exempel: Tag reda på alla kunder. Visa kunderna sorterade efter i första hand och i andra hand. SELECT FROM Kunder ORDER BY, ; adress Eva Alm Lund Sara Alm Lund Lars Bok Malmö Bo Ek Malmö Sortera i avtagande ordning: Visa ej dubletter Exempel: Tag reda på alla kontoinnehavares personnummer. Även om personen har flera konton ska personens personnummer bara med en gång. SELECT DISTINCT FROM Bankkonton; ORDER BY DESC, DESC; EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Välja ut vissa rader Övning Man kan välja ut vissa rader (tupler) genom att skriva ett villkor i WHERE-delen. Exempel: Tag reda på de kontonummer som hör till en kontoinnehavaren med personnummer Vilka kunder bor i Lund? SELECT kontonr FROM Bankkonton WHERE = ; kontonr Eva Sara Alm Alm EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

6 Flera delvillkor Man kan sätta ihop flera delvillkor i WHERE-delen med AND (och), OR (eller) och NOT (icke). Exempel: Vilken adress har personen med namnet Sara Alm. SELECT adress FROM Kunder WHERE = Sara AND = Alm ; adress Lund EDAA20 (Föreläsning databaser) HT / 66 Flera delvillkor forts Exempel: Vilken konton har ett saldo mellan och kr? eller SELECT FROM Bankkonton WHERE saldo >= AND saldo < 50000; SELECT FROM Bankkonton WHERE saldo BETWEEN AND 50000; kontonr saldo EDAA20 (Föreläsning databaser) HT / 66 Matcha strängar % motsvarar 0-många tecken, _ motsvarar exakt ett tecken. OBS! I den databashanterare som används på laborationerna är det som matchar 0-många tecken och? som matchar exakt ett tecken. Exempel: Visa kontonumren för de konton vars innehavare är födda år Övning Vilka kunder är födda i januari? SELECT kontonr FROM Bankkonton WHERE LIKE 85 ; kontonr EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

7 Mönster för en fråga Aggregatfunktioner SELECT kolumner FROM tabeller WHERE villkor; SELECT Vilka kolumner (attribut) ska med? FROM Vilka tabeller ska data hämtas ifrån? WHERE Vilka rader (tupler) ska med? Tips! Det är oftast enklast att börja med FROM när man ska formulera en fråga. Med aggregatfunktioner kan man t.ex. summera alla värden i en kolumn eller beräkna medelvärdet: SUM, AVG, MIN, MAX, COUNT Hur många konton finns det? 5 SELECT COUNT() FROM Bankkonton; Vilket är största saldot? SELECT MAX(saldo) FROM Bankkonton; EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Övning Hämta information från flera tabeller Hur många kunder bor i Lund? Vi har tidigare använt en SQL-fråga som visar information om alla kontons innehavare (personnummer) och kontonummer. All information finns i tabellen Bankkonton och SQL-frågan ser ut så här: SELECT, kontonr FROM Bankkonton; Antal 2 Antag att vi istället vill ta reda på kontoinnehavarnas namn istället för personnummer. Problemet är att de data vi vill ha finns i två olika tabeller: Bankkonton( kontonr, saldo, ) Kunder(,,, adress) EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

8 Tabellerna Bankkonton och Kunder kontonr saldo adress Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund EDAA20 (Föreläsning databaser) HT / 66 Felaktigt försök att hämta data från två tabeller För många rader Ta med bägge tabellerna i FROM-delen: SELECT,, kontonr FROM Bankkonton, Kunder; Resultatet blir den kartesiska produkten (alla rader matchas med alla): kontonr Ek Bo Bok Lars Alm Eva Alm Sara Ek Bo Bok Lars Alm Eva Alm Sara Ek Bo EDAA20 (Föreläsning databaser) HT / 66 Felaktigt försök att hämta data från två tabeller Kartesisk produkt Hämta data från två tabeller Join kontonr saldo Bankkonton_ Kunder_ adress Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund Vi vill bara matcha de rader som har samma personnummer i de bägge tabellerna: kontonr saldo adress Bo Ek Malmö Lars Bok Malmö Eva Alm Lund Sara Alm Lund Lösning: använd JOIN för att matcha rader med samma personnummer. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

9 Hämta data från två tabeller JOIN Tag reda på alla kontons innehavare (namn) och kontonummer. SELECT,, kontonr FROM Bankkonton INNER JOIN Kunder ON Bankkonton. = Kunder.; Resultatet blir en rad per konto: kontonr Alm Eva Ek Bo Alm Sara Alm Eva Ek Bo Vi har matchat raderna i Bankkonton och Kunder, men bara tagit med de rader där kontotinnehavarens personnummer är lika med kundens personnummer. EDAA20 (Föreläsning databaser) HT / 66 Mönster för JOIN SELECT kolumnlista FROM tabell1 {INNER LEFT [OUTER] RIGHT [OUTER]} JOIN tabell2 ON tabell1.kolumn1 = tabell2.kolumn2; Man kan använda AND i ON-villkoret om man vill utföra join på flera attribut. Med INNER JOIN menas att vi tar den kartesiska produkten av tabell1 och tabell2, men bara behåller de rader med samma värde på tabell1.kolumn1 och tabell2.kolumn2. OUTER JOIN används då man vill ha med tupler från ena tabellen som inte har någon motsvarighet i den andra tabellen. T ex innebär RIGHT OUTER JOIN att varje tupel i högra tabellen matchas med de som passar i vänstra tabellen, om ingen matchande tupel finns fylls attributen från vänstra tabellen med null. EDAA20 (Föreläsning databaser) HT / 66 OUTER JOIN Exempel Tag reda på alla kontons innehavare (namn) och kontonummer. Men tag med även med namnen på de kunder som inte har något konto: SELECT,, kontonr FROM Bankkonton RIGHT OUTER JOIN Kunder ON Bankkonton. = Kunder.; Resultatet blir en rad per konto samt en rad för de kunder som ej har något konto: kontonr Ek Bo Ek Bo Bok Lars Alm Eva Alm Eva Alm Sara EDAA20 (Föreläsning databaser) HT / 66 Join med tre tabeller mönster SELECT kolumnlista FROM tabell3 INNER JOIN (tabell1 INNER JOIN tabell2 ON tabell1.kolumn1 = tabell2.kolumn2) ON tabell3.kolumn3 = tabell1.kolumn4; Utför JOIN på två tabeller (tabell1 INNER JOIN tabell2 ON tabell1.kolumn1 = tabell2.kolumn2) och betrakta resultatet som en ny tabell som kan ingå i en JOIN med den tredje tabellen: tabell3 INNER JOIN (...) ON tabell3.kolumn3 = tabell1.kolumn4; EDAA20 (Föreläsning databaser) HT / 66

10 Subfrågor IN Tag reda på vem som har högsta saldot. SELECT FROM Bankkonton WHERE saldo = (SELECT MAX(saldo) FROM Bankkonton); Tag reda på vilka kunder som saknar konto. SELECT, FROM Kunder WHERE NOT IN (SELECT FROM Bankkonton); Observera att man inte kan ha aggregatfunktioner direkt i where-villkoret, utan måste använda en subfråga. Bok Lars Observera att IN används här (och inte =). Tecknet = kan bara användas för att jämföra ett värde med ett annat. Men subfrågan i exemplet kan ge flera personnummer som resultat. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Gruppera GROUP BY Ibland vill man gruppera raderna i en tabell och behandla varje grupp för sig. Så här gör man för att summera alla kontons saldo: SELECT SUM(saldo) FROM Bankkonton; Om man istället vill se hur mycket pengar varje enskild person har på sina konton måste man dela in kontona i en grupp per kund och summera saldot i varje grupp: SELECT, SUM(saldo) AS saldototalt FROM Bankkonton GROUP BY ; Gruppera GROUP BY Forts. Gruppering: kontonr saldo saldototalt EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

11 Gruppering Kommentarer Övning Antal kunder i Lund, Malmö,... Aggregatfunktionerna, SUM, AVG, MIN, MAX, COUNT, arbetar egentligen mot grupper och returnerar ett resultat per grupp. Om man använder aggregatfunktionerna utan att gruppera räknas alla tupler i tabellen som en grupp. Endast attribut som räknas upp i GROUP BY får väljas ut i SELECT. Exempel: SELECT, SUM(saldo) AS saldototalt FROM Bankkonton GROUP BY ; adress antal Lund 2 Malmö 2 EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 HAVING Having kan användas för att välja ut visa rader när man grupperat. Exempel: Summera hur mycket pengar varje enskild person har på sina konton. Men tag bara med personer som har mindre än kr: SELECT, SUM(saldo) AS saldototalt FROM Bankkonton GROUP BY Bankkonton. HAVING SUM(saldo) < 10000; SaldoTotalt JOIN mellan samma tabell Tag reda på de kunder som har samma som någon annan kund. Tips! Låtsas som om det finns två tabeller med kunder där vi ska jämföra et från den ena tabellen med et från den andra. Vi behöver då två olika namn på tabellen Kunder, t ex Kunder1 och Kunder2. SELECT Kunder1., Kunder2.PersonNr, Kunder1. FROM Kunder AS Kunder1 INNER JOIN Kunder AS Kunder2 ON Kunder1. = Kunder2. WHERE Kunder1. < Kunder2.; Kunder1.PersonNr Kunder2.PersonNr Alm EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

12 Från problem till databas Sammanfattning Från problem till databas Exempel: Studentregister 1 Beskriv systemet i en ER-modell. I ER-modellen visas vilken information som ska lagras i databasen och hur de lika komponenterna hänger ihop. 2 Översätt ER-modellen till en relationsmodell. I relationsmodellen visas vilka relationer (tabeller) som ska finnas. 3 Skapa tabellerna i en databashanterare. En databas för registrering av kurser, studenter och resultat ska utvecklas. Studenter har personnummer och ett namn. När en student är godkänd på en kurs registreras betyget 3, 4 eller 5. En kurs har en (ex: EDAA20), ett namn och ett antal. en ges av en institution. Institutionen har ett namn och en adress. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 ER-modell ER-modell Studentregister ER står för Entity entitet ( sak, jfr objekt i programmering) Relationship samband I ER-modellen ser man: entitetstyper påminneromklasseriprogrammeringmeninnehåller bara attribut. attribut egenskaper hos entitetsyper och även hos samband ibland samband mellan entitetstyperna Det finns olika sätt att utrycka en ER-modell. I kursen används UML (Unified Modeling Language). Student Resultat 1 betyg 1 1 Institution namn adress EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

13 Multiplicitet Samband kan ha namn Vid sambandens ändar kan man ange multiplicitet (aritet). Ex 1: En företag har flera anställda. En person kan arbeta i flera företag. Man kan ge sambanden namn. Ex: anställer Företag Person Företag Person Ex 2: En företag har flera anställda. En person är bara anställd vid ett företag. eller Person arbetar hos Företag Företag 1 Person Multipliciteten anges som ett heltal (t.ex. 1) eller ett intervall (t.ex. 0..1). betyderettobegränsatantal. Vid sambandets ändar kan man skriva ut roller. Ex: Person anställd arbetsgivare Företag EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Svårplacerade attribut Lösning 1: lägg till en entitetstyp En student läser många kurser. En kurs läses av många studenter. Det finns alltså ett många-till-många-samband mellan student och kurs. Student Men attributet betyg kan inte placeras i någon av entitetstyperna Student eller. En student klarar flera kurser och har då flera betyg. En kurs har flera godkända studenter. En lösning är att placera attributet betyg i en egen entitetstyp: Student Resultat 1 betyg 1 EDAA20 (Föreläsning databaser) HT / 66 Svårplacerade attribut Lösning 2: samband med attribut Ett annat sätt att hantera betygen är att lägga till ett attribut till sambandet mellan Student och. Student Resultat betyg EDAA20 (Föreläsning databaser) HT / 66

14 Diskutera Undvik redundans Fanns det något liknande fall på första databaslaborationen? Student Resultat 1 betyg 1 institutionsnamn 1 Institution namn adress Student Attributet institutionsnamn uttrycker samma sak som sambandet mellan och Institution och ska därför inte vara med i ER-modellen Resultat betyg (Däremot kommer förmodligen tabellen er ha ett sådant attribut för att implementera detta samband.) EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Primärnyckel En nyckel är ett (eller flera attribut tillsammans) vars värde garanterat är unikt. Man brukar välja ut en av nycklarna och kalla denna primärnyckel. Primärnycklarna kan markeras genom understrykning. Arv En speciell typ av samband mellan entitetstyper är arv. IexempletärverFysiskpersonochJuridiskpersongemensamma egenskaper från Person. Student 1 Resultat betyg 1 Person namn Fastighet fastighetsnummer 1 Institution namn adress Fysisk person personnummer Juridisk person organisationsnummer EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

15 Övning Från ER-modell till relationer Utveckla en ER-modell för följande problem: Ett gäng ornitologer vill ha hjälp med att utveckla en databas som håller reda på de olika fågelobservationer de gjort. Man vill hålla reda på datum och tid för observationen samt förstås vilken fågelart som observerats. Dessutom vill man ha möjlighet att lägga in information om observationen (t ex 1 ex födosökande ). En observation görs av en fågelskådare. I databasen vill man lagra information om fågelskådarna, t ex namn. Tänk på att namnen inte behöver vara unika. En observation görs vid en viss lokal (t ex Silvåkratornet eller Vombs ängar ). En lokal ligger i ett visst landskap. Flera lokaler kan anges för en och samma observation. Till exempel anges ofta båda lokalerna Silvåkratornet och Krankesjön vid observationer som görs vid Silvåkratornet. Man vill kunna lagra en beskrivning av lokalen i databasen. När det gäller fåglarna vill man hålla reda på både det svenska och det vetenskapliga namnet. EDAA20 (Föreläsning databaser) HT / 66 1 Låt varje entitetstyp blir en relation med samma attribut som entitetstypen. Studenter(,, ) er(,, ) Institutioner(namn, adress) Resultat(betyg) 2 Låt varje samband blir en relation. Attributen ska vara primärnycklarna hos entitetstyperna i respektive ände samt sambandets egna attribut. Undantag: Om man har ett många-till-en-samband kan man istället lägga till nyckeln från en-sidan som attribut på många-sidan. er(,,, institutionsnamn) Resultat(,, betyg) EDAA20 (Föreläsning databaser) HT / 66 Studentregistret Olika modeller Tabeller i exemplet studentregister: Studenter(,, ) er(,,, institutionsnamn) Institutioner(namn, adress) Resultat(,, betyg) ER-modellen är en konceptuell modell. Den beskriver verkligheten, t.ex. hur olika saker hänger ihop. Samma teknik att modellera verkligheten kan man använda i andra sammanhang, t.ex. vid programmering eller annat problemlösande. Relationsmodellen är en implementeringsmodell och beskriver vilka tabeller som ska finnas. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

16 Övning Integritetsvillkor Utveckla en relationsmodell för databasen med fågelobservationer. Utgå från den ER-modell vi gjorde tidigare under föreläsningen. Börja med entitetstyperna och låt dem bli en relation. Implementera sedan sambanden (ny relation eller attribut i redan befintlig relation). Villkor som begränsar vilka data som kan lagras i databasen. Hindrar oss att lägga in felaktiga data. Nyckelvillkor Två tupler kan inte ha samma värden på primärnyckeln. Attributen i primärnyckeln kan inte ha värdet NULL. Referensintegritet seföljandebilder. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66 Referensintegritet Främmande nyckel Referensintegritet En främmande nyckel är ett attribut (eller en kombination av attribut) som refererar till en nyckel i en annan relation. Exempel: institutionsnamn är främmande nyckel och refererar till nyckeln namn i relationen Institution. er(,,, institutionsnamn) Institutioner(namn, adress) Detta betyder att om det i tabellen er finns en rad EDAA20 Programmering och databaser 7.5 Datavetenskap så måste det i tabellen institutioner finnas en rad med samma institutionsnamn: Datavetenskap Ole Römers väg Lund Med referensintegritet menas alltså att det måste finnas en motsvarande entitet i andra änden av sambandet. 1 Institution namn adress Exempel: Varje kurs hör till en institution. För att man ska kunna lägga in ett institutionsnamn i tabellen måste det namnet finnas i tabellen Institution. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

17 Övning Index Vilka främmande nycklar finns i tabellerna i databasen för fågelobservationer? Vart refererar de? Man kan sätta ett index på ett attribut. Detta innebär att tabellen lagras på ett sådant sätt att det går snabbare att söka efter tupler med ett visst värde på attributet. Men insättningar, borttagningar och uppdateringar går långsammare. Ofta skapas det automatiskt ett index till nyckelattributen. EDAA20 (Föreläsning databaser) HT / 66 EDAA20 (Föreläsning databaser) HT / 66

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

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

Läs mer

Databaser. Vad du ska lära dig: Ordlista

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

Läs mer

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

Laborationer - databaser, EDAA20 Programmering och databaser

Laborationer - databaser, EDAA20 Programmering och databaser LUNDS TEKNISKA HÖGSKOLA EDAA20 Programmering och databaser Institutionen för datavetenskap HT 2015 Laborationer - databaser, EDAA20 Programmering och databaser I kursens databasdel ingår två obligatoriska

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

Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema

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

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

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

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

Läs mer

Grunderna i SQL del 1

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

Läs mer

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

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

DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:

DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar: DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL r s använder vi för att uttrycka frågor där ordet alla figurerar: Ex. Vilka personer har stamkundskort vid ALLA klädesbutiker i stad X? Vilka personer har bankkonto

Läs mer

Föreläsning 3 Dagens föreläsning går igenom

Föreläsning 3 Dagens föreläsning går igenom Databasbaserad publicering Föreläsning 3 1 Föreläsning 3 Dagens föreläsning går igenom E/R-modellen & Läs om E/R-diagram i kapitel 2-3 i boken "Databasteknik" eller motsvarande avsnitt på http://www.databasteknik.se/webbkursen/er/index.html

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

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

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

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

Lösningar till tentamen i EDAF75

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

Läs mer

Relationsdatabasdesign

Relationsdatabasdesign Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2

Läs mer

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

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-08-20 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

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

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

Databaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg

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

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

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

Läs mer

07/11/14. Databasteknik och informationssystem DD1370 F2. Allmänna frågor. Är Lab0 svårbegriplig? Nu: Clickers. Är Kurswebben svårbegriplig?

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

Läs mer

Grunderna för relationsmodellen!

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

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

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

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

Läs mer

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

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

Läs mer

1. SQL 2. Utsökningar mot flera tabeller. 4. IN-operatorn 5. Join 6. Kartesisk produkt 7. Tabellalias

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

Läs mer

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

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

Läs mer

Föreläsning 4 Dagens föreläsning går igenom

Föreläsning 4 Dagens föreläsning går igenom Databasbaserad publicering Föreläsning 4 1 Föreläsning 4 Dagens föreläsning går igenom E/R-modellen, fortsättning Frågor till flera tabeller samtidigt Många-till-många-relationer Läs om E/R-diagram i kapitel

Läs mer

Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,

Läs mer

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

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

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

Structured query language (SQL)

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

Läs mer

Databaser och. SQL, utsökningar mot en tabell

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

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

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

Tentamen för DD1370 Databasteknik och informationssystem

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

Läs mer

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2016-11-04 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna

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

Institutionen för datavetenskap HT 2017

Institutionen för datavetenskap HT 2017 LUNDS TEKNISKA HÖGSKOLA EDAA20 Programmering och databaser Institutionen för datavetenskap HT 2017 Laborationer - databaser EDAA20 Programmering och databaser I kursens databasdel ingår två obligatoriska

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

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

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

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

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

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

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

Datalager och datautvinning

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

Läs mer

Laboration SQL. Kom igång. http://www.tfe.umu.se/courses/systemteknik/webbkurser/d&w/laborationer/sql.ht...

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

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

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

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

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.

Läs 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

Grunderna i SQL del 1

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

Läs mer

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2) Databaser och databasdesign Den relationella modellen, normalisering och modellering (2) Varför databaser (DB)? Vi vill och måste kunna lagra data på sätt som motsvarar olika verksamheters behov Vad är

Läs mer

Tentamen plus lösningsförslag

Tentamen plus lösningsförslag Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje

Läs mer

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

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

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

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

Läs mer

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Databaser design och programmering. Fö 2: Design processen, ER-modellering Databaser design och programmering Fö 2: Design processen, ER-modellering 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

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

Exempel-Tentamen III

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

Läs mer

Logisk databasdesign

Logisk databasdesign NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen

Läs mer

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Webprogrammering och databaser Personal: Examinator Jalal Maleki, jalma@ida.liu.se

Läs mer

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 729G28 Webprogrammering och databaser Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi 2 Personal Examinator, Ansvarig databasteori: Eva Ragnemalm, eva.ragnemalm@liu.se

Läs mer

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

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

Läs mer

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

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

Läs mer

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

Läs mer

Del 2: ER-modellering och överföring till Databasstruktur v0.9

Del 2: ER-modellering och överföring till Databasstruktur v0.9 DD1370: Databaser och Informationssystem Hösten 2014 Del 2: ER-modellering och överföring till Databasstruktur v09 Petter Ögren 1:e December Disclaimer: Dessa anteckningar har producerats under viss tidspress,

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Normalisering. Christer Stuxberg Institutionen för Informatik och Media Normalisering Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Normalisering Dataredundans och Uppdateringsanomalier Anomalier vid insättning Anomalier vid borttagning

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

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

Karlstads Universitet, Datavetenskap 1

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

Läs mer

Sample exam questions. Database exam TIG058

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

Läs mer

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

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

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 14 16, 25 mars 2015 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd

Läs mer

Lösningsförslag till Exempel tentamen

Lösningsförslag till Exempel tentamen Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Lösningsförslag till Exempel tentamen 2I-1033 IT i Organisationer och Databasteknik Tentamenstiden är 5 timmar Skriv bara på

Läs mer

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

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

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

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13 Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 203 kl. 9-3 Inga hjälpmedel tillåtna (syntaxsammanställning

Läs mer

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

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

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

Läs mer

16/12/14. Databasteknik och informationssystem DD1370. Dagens föreläsning (den sista!) Motivera med kokbok! Idag: Inga knappar L. Dagens föreläsning

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)

Läs mer

732G16: Databaser - Design och programmering

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

Läs mer

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)

25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt) 25//4 Påminnelse inför Lab redovisningen Databasteknik och informationssystem DD370 Föreläsning 5: ER-modellenà Databas Påminnelse: Kursens mål. Förklara ett databashanteringssystems funktioner och uppbyggnad

Läs mer

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

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

Läs mer

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

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

Se kurshemsidan för användbara länkar för att genomföra denna laboration.

Se kurshemsidan för användbara länkar för att genomföra denna laboration. Laboration, SQL DML Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Observera dock att alla uppgifter måste kunna redovisas på redovisningstillfället. Laborationen ska

Läs mer

Databasspråket SQL - online.

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.

Läs mer