Föreläsning 5: Relationsmodellen
|
|
- Helena Henriksson
- för 5 år sedan
- Visningar:
Transkript
1 Föreläsning 5: Relationsmodellen DVA234 Databaser IDT Akademin för Innovation, Design och Teknik
2 Innehåll Föreläsningens mål: Att ge en överblick över hur relationsmodellen fungerar Relationsmodellen Relationsalgebra 2
3 Relationsmodellen Grunden för alla relationsdatabaser Principerna utvecklades av matematikern E. F. Codd ( ) Idéerna presenterades i en numera klassisk artikel: A Relational Model of Data for Large Shared Data Banks, CACM 13. No 6 (June 1970) Första databaserna som byggde på denna modell: IBM, System/R Ingres 3
4 Relationsmodellens tre komponenter Datastruktur Beskrivningen av relationsmodellen för användare Datat i en databas uppfattas som tabeller och inget annat än tabeller Dataintegritet Egenskaper och krav på datat, t ex att tabellrader ska vara unika (m.h.a primär nyckel) referensintegritet (m.h.a främmande nyckel) Datamanipulering Operatorer som tillhandahålls för användaren för att manipulera tabeller, t ex för att hämta data Operatorerna skapar (härleder) nya tabeller utifrån givna Särskilt viktiga operationer är: restrict, project och join 4
5 Relationsmodellens datastruktur Bygger på följande abstrakta datamodell: Data representeras som rader i en tabell. Varje rad kan utläsas som ett sant påstående (eng. proposition). Exempel: Studenten med login brm02001 heter Bosse i förnamn och Ringholm i efternamn och har 2.7 i medelbetyg Operatorer som tillhandahålls skapar nya (sanna) påståenden utifrån givna påståenden. Exempel: Loffe heter Carlzon i efternamn, eller STUDENT Nisse har högre medelbetyg än Bosse. Login# Förnamn Efternamn Medelbetyg brm02001 Bosse Ringholm 2.7 lcn98005 Loffe Carlzon 3.2 nnn99009 Nisse Nilsson 4.2 mon01002 Mimmi Olsson 4.5 5
6 Relationsmodellen - dataintegritet Dataintegritet uppnås genom restriktioner: Domänrestriktioner Varje attribut måste ha en given typ (int, float, char, personnr.) Alla data i ett visst attribut måste innehålla värden inom typens domän t.ex. om typen är int så måste alla värden vara heltal. (Domän kan vara annorlunda än datatyp, int månad kan bara vara 1-12) Nyckelrestriktioner Primärnyckel varje rad har en unik primärnyckel Kandidatnycklar = andra möjliga minimala nycklar (se nästa föreläsning) t.ex, en relation med studid som primärnyckel är personnr en kandidatnyckel Entitetsintegritet Alla relationer MÅSTE ha en primärnyckel Referensintegritet Främmande nycklar MÅSTE innehålla värden från en primärnyckel Semantiska restriktioner Ytterligare krav på attribut och förhållanden mellan attribut kan finnas Detta löses med CHECK CONSTRAINTS (t.ex. CHECK CONSTRAINT age>=0) (Pseudokod) 6
7 Naturlig eller surrogatnyckel Naturlig nyckel tas från verkligheten, t ex: Personnummer, studentid, osv osv CIVILSTÅND Gift Skiljd Surrogatnyckel är fiktiv, t ex: 1,2,3, GUID ( ) (Stöd i SQL Server!!! IDENTITY) CIVIL_ID CIVILSTÅND 1 Gift 2 Skiljd 7
8 Naturlig eller surrogatnyckel För och nackdelar med båda Fördelar med naturlig nyckel: Naturliga nycklar är lättare ätt förstå och få en överblick över databasen. Datamodellen garanterar unikhet (alla nycklar olika) Med surrogatnyckel kan man peta in skiljd flera gånger Det finns lösningar på detta (check constraint UNIQUE) Kräver ofta fler index (ett på id, samt ett på det man normalt söker CIVIL_ID efter) Surroganycklar genererar ofta fler joinar Nackdelar med naturlig nyckel Kan man garantera unikhet på en naturlig nyckel? Joinar över int är mer effektiva än joinar över strängar Att ändra en nyckel kan vara mycket jobb Dock finns ON UPDATE CASCADE 1 Gift CIVILSTÅND 2 Skiljd 3 Skiljd 8
9 Formell definition av en relation En Relation kan definieras på flera sätt. Schemat för en relation: R (A1, A2,...An) Relationsschemat R är definierad m.a.p. attributen A1, A2,...An Exempel - KUND (Kund#, Kundnamn, Adress, Telnr) Här är KUND en relation som är definierad för de fyra attributen Kund#, Kundnamn, Adress och Telnr, där varje attribut är associerad med en domän eller en mängd av tillåtna värden. T ex, domänen för Kund# kan vara 6-siffriga nummer. 9
10 Relationsmodellen - Datamanipulering Data kan manipuleras med hjälp av väldefinierade relationsoperationer. Codd definierade 8 st Operationerna arbetar endast med relationer Indata: en eller flera relationer Utdata: en ny relation Detta ger en CLOSURE-egenskap Utdata från en operation kan bli indata till en annan dvs, operationer kan kaskadkopplas 10
11 Codds ursprungliga operationer 8 (ursprungliga) operationerna: Restrict/Select Project Product Union Difference Intersection Join (natural) Divide 11
12 Relationsalgebra Relationsalgebra är en uppsättning (teoretiska) operationer som kan användas för manipulering av relationer. Ett uttryck i relationsalgebran extraherar nya relationer utifrån givna och kan på detta vis användas som ett grundläggande frågespråk i en RDBMS. T ex relationsfrågespråket SQL bygger till stora delar på operationerna i relationsalgebran (ej enbart dock). Relationsalgebra är procedurellt, dvs beskriver steg för steg hur ett resultat (en ny relation) erhålls. 12
13 Syntax för relationsalgebra Relationer benämns med sitt namn t.ex. STUDENT, EMPLOYEE osv En unär operation tar en relation som indata, och producerar en relation som utdata! "#$$%&' ()*+,-./ En binär operation tar två relationer som indata, och producerar en relation som utdata ()*+,-./1! "#$$%&' ()*+,-./2 där! är en relationsoperation Låt oss se på ett konkret exempel 13
14 Select-operatorn (Restrict) SELECT-operatorn (kallas även RESTRICT) används för att filtrera bort oönskade tupler i en relation. Generell syntax: σ villkor (R) Där σ står för SELECT-operatorn och villkor är ett booleskt villkorsuttryck över attribut från relationen R. Semantik: Skapa en relation med alla tupler från R som uppfyller villkoret. Informellt skulle vi kunna säga att:! "#$%#&'( ) *+, ) -./012. motsvarar SELECT * FROM STUDENT WHERE program= DVP 14
15 PROJECT-operatorn PROJECT-operatorn används för att extrahera relationer över utvalda attribut (kolumner). Oftast använd för att skala bort oönskade kolumner. Generell syntax: π attributlista (R) där π står för PROJECT-operatorn och attributlista är en kommaseparerad lista av attribut i relationen R. Semantik: Skapa en ny relation med alla tupler från R projicerade över attributen i attributlistan. Informellt skulle vi kunna säga att:! "#$%&''$, ')*' +,-./0, motsvarar SELECT personnr, namn FROM STUDENT 15
16 Kaskadkoppling av unära operationer Operationer kan kaskadkopplas (nästlas) Ponera följande SQL fråga: SELECT personnr, namn FROM STUDENT WHERE program= DVP Detta skrivs då: eller:! "#$%&''$, ')*' + "$&,$)*-. / "$&,$)*-. / ;624<3! "#$%&''$, ')*'
17 Namnbyte på relationer och attribut Ibland kan det vara bekvämt, i vissa fall nödvändigt, att byta namn på relationer eller attribut. Två sätt: Det icke-formella DVPSTUD ß σ Program= DVP (STUDENT) R(ssn, name) ß π personnr, namn (DVPSTUD) Den formella, genom RENAME-operatorn enligt syntaxen: ρ S (R) relation R döps om till S. ρ S(B1, B2,, Bn) (R) relation R döps om till S och attributen i R döps om till B1, B2,, Bn ρ (B1, B2,, Bn) (R) attributen i R döps om till B1, B2,, Bn 17
18 UNION operatorn Unionoperatorn slår ihop tuplerna från två tabeller Dubletter elimineras Ett krav är att båda tabellerna har samma attribut Ponera följande tabeller R1 R2 A B A x y B m n A y z B n o!1!2 Ger då: x y z m n o I SQL skrivs detta som: SELECT A, B FROM R1 UNION SELECT A, B FROM R2 18
19 INTERSECT operatorn Intersectoperatorn tar snittet av tuplerna från två relationer Ett krav är att båda tabellerna har samma attribut Ponera följande tabeller R1 R2 A x y B m n A y z B n o!1!2 Ger då: A y B n I SQL skrivs detta som: SELECT A, B FROM R1 INTERSECT SELECT A, B FROM R2 19
20 DIFFERENCE operatorn Differenceoperatorn tar alla tupler från R1 minus tuplerna från R2 Ett krav är att båda tabellerna har samma attribut Tupler i R2 som inte finns i R1 ignoreras Ponera följande tabeller R1 R2 A x y B m n A y z B n o!1!2 Ger då: A x B m I SQL skrivs detta som: SELECT A, B FROM R1 EXCEPT SELECT A, B FROM R2 20
21 PRODUCT-operatorn Product-operatorn är densamma som från matematiken, dvs bildar mängden av tupelkombinationer från två relationer (alltså binär operator). En skillnad mot de binära mängdoperatorerna är att relationerna behöver inte vara av samma typ. Syntax: R 1 R 2 Semantik: Skapa en ny relation som består av tuplerna i R 1 kombinerade med tuplerna i R 2. 21
22 Exempel PRODUCT operatorn Ponera följande tabeller R1 R2 A B C D x m z o y n v p!1!2 Ger då: I SQL skrivs detta som: A B C D x m z o x m v p y n z o y n v p SELECT A,B,C,D FROM R1 CROSS JOIN R2 22
23 PRODUCT i sin ensamhet är näst intill meningslös eftersom den lätt genererar falska tupler (bryter mot kravet på sanna påståenden) Ponera följande tabeller Anställd Personnr Namn AvdID Per Nilsson U Karin Berg M Frida Ström U Avdelningar AvdID Avdelning Hus U Utveckling Borgen M Marknad Templet E Ekonomi Bunkern Vad blir Anställd x Avdelningar??? 23
24 PRODUCT i sin ensamhet Anställd Personnr Namn Anställd.AvdID Avdelningar.AvdID Avdelning Hus Per Nilsson U U Utveckling Borgen Karin Berg M U Utveckling Borgen Frida Ström U U Utveckling Borgen Per Nilsson U M Marknad Templet Karin Berg M M Marknad Templet Frida Ström U M Marknad Templet Per Nilsson U E Ekonomi Bunkern Karin Berg M E Ekonomi Bunkern Frida Ström U E Ekonomi Bunkern Alla röda rader är falska, d 24
25 (INNER) JOIN-operatorn Istället används Product-operatorn nästan alltid tillsammans med selectoperatorn Denna kombination kallas INNER JOIN R!" joinvillko r Inner join sammanför tupler från två relationer baserat på ett matchande attribut Semantik: Skapa en relation som består av kombinationen av tuplerna i R1 resp. R2. som tillsammans uppfyller joinvillkoret. S 25
26 Exempel INNER JOIN Nytt försök att sätta ihop våra tabeller men nu med en inner join Anställd Avdelningar Personnr Namn AvdID AvdID Avdelning Hus Per Nilsson U U Utveckling Borgen Karin Berg M Frida Ström U M Marknad Templet E Ekonomi Bunkern!"#$Ä&&' *+,-ä//0.*20345*206/+7+89:.*2034!;'<&"=">!? ger då: Anställd Personnr Namn Anställd.AvdID Avdelningar.AvdID Avdelning Hus Per Nilsson U U Utveckling Borgen Karin Berg M M Marknad Templet Frida Ström U U Utveckling Borgen Motsvarande i SQL är: SELECT * FROM Anställd JOIN Avdelningar ON Anställd.AvdID=Avdelningar.AvdID 26
27 INNER JOIN-operatorn (forts) INNER JOIN kan alltså skrivas som Product & Select: Där villkor är på formen: Tecknet R!" joinvillko r S ºs joinvillkor (R S) Generellt skrivs joinvillkor som: villkor AND villkor AND... AND villkor Θ =, >, ³, <,, ¹ A i ΘB j (theta) står för ett av jämförelseoperatorerna: En generell JOIN kallas därför THETA-JOIN 27
28 EQUIJOIN och NATURAL JOIN En EQUIJOIN är en JOIN där jämförelseoperatorn alltid är =, dvs exakt matchning mellan två attribut. R!" A = B i j S Och den vanligaste matchningen är exakt jämförelse mellan attribut med samma namn i bägge relationerna. Detta kallas för NATURAL JOIN och skrivs: R *S Semantik för NATURAL JOIN: Skapa en relation som består av kombinationen av tuplerna i R1 resp. R2 och som uppfyller villkoret att värdena är lika för samtliga attribut med samma namn i R1 resp. R2. 28
29 Outer join En outer join behåller tuplerna som inte matchas av joinvillkoret De tupler som inte matchas fylls på med null-värden Den finns i 3 varianter Left outer join Behåller tuplerna i den vänstra relationen Right outer join Behåller tuplerna i den högra relationen Full outer join Behåller tuplerna i båda relationerna R > villkor S R < villkor S R >< villkor S 29
30 Exempel RIGHT OUTER JOIN Ponera följande två tabeller Anställd Personnr Namn AvdID Per Nilsson U Karin Berg M Frida Ström U Avdelningar AvdID Avdelning Hus U Utveckling Borgen M Marknad Templet E Ekonomi Bunkern!"#$Ä&&' < *+,-ä//0.*20345*206/+7+89:.*2034!;'<&"=">!? ger då: Anställd Personnr Namn Anställd.AvdID Avdelningar.AvdID Avdelning Hus Per Nilsson U U Utveckling Borgen Karin Berg M M Marknad Templet Frida Ström U U Utveckling Borgen NULL NULL NULL E Ekonomi Bunkern Motsvarande i SQL är: SELECT * FROM Anställd RIGHT JOIN Avdelningar ON Anställd.AvdID=Avdelningar.AvdID 30
31 DIVIDE-operatorn Används för att hitta tupler som är kombinerade med samtliga tupler från en viss relation. Syntax: R S Är svår att intuitivt förstå, och direkt motsvarighet i SQL saknas Svarar på frågor av typen: Vilka studenter har gått ALLA kurser givna av läraren xxx? Precis som Division är motsatsen till multiplikation i matematiken är Divide-operatorn motsatsen till Product-operatorn 31
32 DIVIDE-operatorn Ponera följande relationer A O x y Så blir ju! #: AxO 1 x 1 y 2 x 2 y 3 x 3 y 32
33 DIVIDE-operatorn (AxO) A = O då blir : AxO 1 x 1 y 2 x 2 y 3 x 3 y A 1 2 = 3 O x y 33
34 DIVIDE-operatorn (AxO) O = A Och : AxO 1 x 1 y 2 x 2 y 3 x 3 y O = x y A
35 DIVIDE-operatorn Ponera följande tabeller: Studentreg Anna Anna Anna Pelle DVA234 DVA235 DVA336 DVA234 xxx- Kurser = DVA234 Resultat Anna Linda Pelle Linda Linda Oskar DVA336 DVA234 DVA235 DVA336 DVA235 Kurser givna av lärare xxx Studenter som läser alla kurser som ges av xxx Alla studenters registreringar 35
36 Kaskadkoppling av binära operationer Naturligtvis kan även binära operation kaskadkopplas Exempel Binär och unär kaskadkoppling:!1 %&''()* + %&''()*!2 Exempel Två binära operationer!1 %&''()*!2!3 Grundregeln är att man evaluerar inifrån och ut genom parenteserna precis som vanligt 36
37 Summering av föreläsningen Föreläsningens mål: Att ge en överblick över hur relationsmodellen fungerar Relationsmodellen Relationsalgebra 37
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 merVad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Läs merVad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.
Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling
Läs merGrunderna 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 merVad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Läs merTentamen. 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 merGrunderna i SQL del 1
Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 3 Kap. 4 Kap. 5 utom
Läs merTENTAMEN För kursen. Databasteknik. Ansvarig för tentamen: Anna Palmquist. Förfrågningar: Anslås inom 3 veckor
TENTAMEN För kursen DATUM: 2015-11-06 TID: 14 19 Ansvarig för tentamen: Anna Palmquist Förfrågningar: 0734-612003 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,
Läs merDatabaser. Vad du ska lära dig: Ordlista
Databaser Vad du ska lära dig: Ordlista Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda en
Läs merStarta 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 merProgramdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys
Läs merDatabaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla
Läs merTentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13
Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 203 kl. 9-3 Inga hjälpmedel tillåtna (syntaxsammanställning
Läs merTentamen DATABASTEKNIK - 1DL116
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,
Läs merDatabaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
Läs merInformationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.
Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Relationsalgebra Tilldelning := Relationsalgebran är sluten: Med hjälp av dessa operatorer kan andra (icke-primitiva) operatorer
Läs merRelationsalgebra. Varför behöver jag lära mig relationsalgebra?!
Relationsalgebra 1 Varför behöver jag lära mig relationsalgebra?! Relationsmodellen är den datamodell som används i de flesta moderna databassystemen Data beskrivs och lagras som relationer, dvs. som ett
Läs merGrunderna i SQL del 1
Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE Kap. 3 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join Kap. 4 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 5 utom
Läs merDDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index
INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE
Läs merFrågespråk mot relationsmodellen
HUND Mindy Ossi Frågespråk mot relationsmodellen Relationsalgebra Relationsalgebra Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Med hjälp av dessa operatorer kan andra
Läs merLösningar till tentamen i EDAF75
Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte
Läs merKarlstads 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 mer1.Lär känna MS SQL Observera. Tips. Förberedelse
1.Lär känna MS SQL 2008 Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill genomföra
Läs merTENTAMEN. 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 merInst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).
Inst. för Data- och Systemvetenskap SU Maria Bergholtz Tentamen 2/3 205 kl. 4 8 Inga hjälpmedel är tillåtna (annat än ordbok). Skall även användas som omtentamen för DB:EIT/DSK/FK samt äldre databaskurser.
Läs merKonceptuella datamodeller
Databasdesign Relationer, Nycklar och Normalisering Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Konceptuella datamodeller Om man ska skapa en databas som beskriver en del av verkligheten
Läs merDatabasdesign. E-R-modellen
Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19
Läs merFöreläsning 6: Normalisering & funktionella beroenden
Föreläsning 6: Normalisering & funktionella beroenden DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över hur normalisering fungerar Önskvärda
Läs merEMPS(NAME, SALARY, DEPT)
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
Läs merTentamen 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 merRelationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella
Relationsmodellen 2-1 Relationsmodellen Relations modellen är idag den mest änvända datamodellen för kommersiella applikationer. Relationsdatabasstruktur En relationsdatabas består av en samling tabeller,
Läs merTENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor
TENTAMEN För kursen DATUM: 2013-12-12 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,
Läs merLär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse
Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill
Läs merTENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor
TENTAMEN För kursen DATUM: 2014-11-07 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,
Läs merConcepts learned this far. ER till relationer. ER till relationer. ER till relationer. TDDD12 Database Technology
2008-04-07 TDDD12 Lecture 3: EER and mapping E 1 TDDD12 Database Technology Concepts learned this far Lecture 3: EER/ER and mapping to relations by Juha Takkinen 2008-04-07 1 2 2008-04-07 TDDD12 Lecture
Läs merMODELLER OCH SPRÅK FÖR RELATIONSDATABASER: Relationsalgebra, Relationskalkyl (Tuple calculus) & SQL
MODELLER OCH SPRÅK FÖR RELATIONSDATABASER: Relationsalgebra, Relationskalkyl (Tuple calculus) & SQL Ted Codd 970 - klassisk artikel: The relational model of data - DATASTRUKTUR - OPERATIONER - INTEGRITY
Läs merDatabaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:
Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Individuell prövning 41E03B Öppen för alla Tentamensdatum: 2013-08-20 Tid: 09:00-13:00 Hjälpmedel: Inga hjälpmedel
Läs merFö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 merLösningsförslag till Tentamen,
Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz och Paul Johannesson Lösningsförslag till Tentamen, 022 2I-00 Informationssystem och databasteknik För att erhålla betyget tre räcker
Läs merRelationskalkyl (RK)
1 Relationskalkyl (RK) Formellt frågespråk som är baserad på predikatkalkyl (logik) En formel i RK är icke-procedurell (deklarativ), dvs den specificerar vad som ska hämtas och inte hur Jämför med relationsalgebran
Läs merNORMALISERING. Mahmud Al Hakim
NORMALISERING Mahmud Al Hakim mahmud@webacademy.se 1 SCHEMA Schema eller databasschema är en beskrivning av vilka data som kan finnas i en databas, oberoende av vilka data (innehållet) som råkar finnas
Läs merDatabaser och Datamodellering Foreläsning IV
Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt
Läs mer3. Dynamiska webbplatser, 20 Yhp (4 v)
Webbutvecklare CMS, Yh-utbildning, 2 år, 400 Yhp, Medieinstitutet, www.m Webbutvecklare CMS, Yh-utbildning, 2 år, 400 Yhp, Medieinstitutet, www.medieinstitutet.se, sida 3/12 3. Dynamiska webbplatser, 20
Läs merDatabasens består av: Tabell Kolumner fält Rader poster (varje post är unik)
Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information
Läs merRelationsmodellen 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 merDatabasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Läs merSample exam questions. Database exam TIG058
Sample exam questions Database exam TIG058 Distribution of topics covered 1. Grundläggande om Databaser och Databashanterare (5p) 2. SQLite-databashanteraren (5p) 3. SQL - SELECT, ORDER BY, WHERE, LIMIT
Läs merStructured query language (SQL)
Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser
Läs merFöreläsning 2: Översikt över ett databassystem
Föreläsning 2: Översikt över ett databassystem DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över databassystemets arkitektur, delar och
Läs merDIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:
DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL r s använder vi för att uttrycka frågor där ordet alla figurerar: Ex. Vilka personer har stamkundskort vid ALLA klädesbutiker i stad X? Vilka personer har bankkonto
Läs merDesign och underhåll av databaser
Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller
Läs merSkriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18
LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och
Läs merLösningsförslag Tentamen, 25 april 03
Lösningsförslag Tentamen, 25 april 03 Uppgift 1 Kommentar: Svårigheterna ligger i att differentiera mellan BIL och BILMODELL och MOTOR och MOTORTYP. Båda avbildare ett sk. powertype-förhållande (templatecopy)
Läs merIdag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...
Idag Databaskvalitet(??) Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? Det finns metoder
Läs merÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!
ÖVNING 10 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)
Läs merDatabasutveckling Tabeller. tinyint 1 byte (0-255) Upp till 8 bytes
Databasutveckling Tabeller Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Datatyper Heltal bit 0, 1 eller NULL tinyint 1 byte (0-255) smallint int bigint 2 bytes 4 bytes 8 bytes Decimaltal
Läs merTENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18
Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18 Jourhavande lärare: Pawel Pietrzak (013/28 24 10, 013/21 01 17) Poäng: Tentan
Läs merTENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor
TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,
Läs merDatabasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Läs merDatabasspråket SQL - online.
Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company
Läs merAn English version of the questions is found at the back of each page.
Lena Strömbäck Pawel Pietrzak 2004-06-02 Skriftlig tentamen i kursen TDDB48 Databasteknik Datum: 2003-06-02 Tid: 14-18 Lokal: GAR Hjälpmedel: Engelsk ordlista tillåten ej elektronisk iniräknare ej programmerbar
Läs merLite 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 merWebbprogrammering, grundkurs 725G54
Webbprogrammering, grundkurs 725G54 Bootstrap jquery SEO RWD MuddyCards. Tidigare Muddycards Många positiva kommentarer Ibland för högt tempo på föreläsning Lägg ut labbar tidigare Mer föreläsningar (2
Läs merVarför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem
till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så
Läs merLogisk databasdesign
NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen
Läs merIntroduktion till databaskursen. Välkomna. till kursen. Databasteknik och informationssystem. DD1370 (kursomgång dbtinf12)
Välkomna Introduktion till databaskursen Välkomna till kursen Databasteknik och informationssystem DD1370 (kursomgång dbtinf12) En kurs om grunderna i databasteknik DD1370 (Föreläsning 1) Databasteknik
Läs merSQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl 2005-10-13 Gk/ÖK:ITO,
Läs merTentamen DATABASTEKNIK - 1DL116, 1MB025
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande
Läs mer732G16: Databaser - Design och programmering
732G16: Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Johan Falkenjack, IDA (johan.falkenjack@liu.se) Fö 1 Introduktion 2 Kursöversikt Teori och praktik Kursbok, lektionshäfte,
Läs merFrågespråk och SQL. nikos dimitrakas rum 2423
Frågespråk och SQL nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 5, 6 (och lite överallt) (4.1, 4.2) (4th edition) Kapitel 5, 6 (och lite överallt) (4.1, 4.2) (5th edition) Kapitel
Läs merRelationell databasdesign
Relationell databasdesign Kapitel 7 Relationell databasdesign sid Uppdelning m.h.a. funktionella beroenden 3 Funktionella beroenden - teori 12 Uppdelningsalgoritmer 27 Designprocess 33 Relational oath
Läs merFö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 merDatabasspråket SQL - online.
Webprogrammering och databaser Fö 5 Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company.
Läs merVarför ska man lära sig sånt? Välkomna. Vad är databaser bra till? Kursansvarig. till kursen. Databasteknik och informationssystem
till databaskursen Varför ska man lära sig sånt? till databaskursen till kursen Databasteknik och informationssystem Nästan alla större system idag innehåller eller använder data lagrad i en databas Så
Läs mer! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU
Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)
Läs merWebprogrammering 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 merSvar till tentamen DATABASTEKNIK - 1DL poäng
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Svar till tentamen 2002-12-17 DATABASTEKNIK - 1DL116 5 poäng Datum Tisdagen den 17:e December Tid 14:00-19:00 Jourhavande lärare
Läs merTentamen i Databasteknik
Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs merDatabaser 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 merDatabasspråket SQL - online.
Webprogrammering och databaser Fö 5 Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company.
Läs merIdag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)
Idag 1. Från modell till databasstruktur 2. Prata med databaser (frågepsråket SQL) DD1370 (Föreläsning 3) Databasteknik och informationssystem 7,5 hp Hösten 2008 1 / 22 Från verklighet via modell till
Läs merDatabaser och. SQL, utsökningar mot flera tabeller TENTA. # radnr (#) studnr (#) kursnr * tentadatum * betyg
Databaser och Informationssystem 15 hp IK1008 Föreläsning 8 SQL, utsökningar mot flera tabeller Övningsuppgifter STUDENT TENTA KURS # studnr * fnamn * enamn o regdatum # radnr (#) studnr (#) kursnr * tentadatum
Läs merFrån verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas
Idag 1. Från modell till databasstruktur Från verklighet via modell till databas När vi analyserat den värld vi vill representera i en databas har vi tagit med alla möjliga kopplingar och beskrivit dem
Läs merDatabaser Design och programmering
Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning 2 Varför normalisera? Metod att skydda
Läs merDatabaser - Design och programmering
Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt
Läs merDatabaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?
Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb
Läs merFunktionella beroenden - teori
Relationell databasdesign, FB Teori 7-12 Funktionella beroenden - teori Vid utformning av databassystem är det av största vikt att man kan resonera systematiskt om funktionella beroenden bl.a. för att
Läs merProva på-laboration i SQL
Prova på-laboration i SQL Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-19 1. Introduktion till databaser Databaser finns i så gott som alla sammanhang
Läs merTENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18
Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar. För
Läs merIdag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen
Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem
Läs merIdag. 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 merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merGIS, databasteknik och kartografi. Databasmodellering
Databasmodellering 1. När vi studerar verkligheten för att beskriva (en del av) den i ett system (inte bara datorer), måste vi göra en modell. 2. Modelleringsverktyget ska ha egenskaper som gör att vi:
Läs merTENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18
Institutionen för datavetenskap Linköpings universitet TETAME TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Jourhavande lärare: Lena Strömbäck (Patrick Lambrix, 0703-492066) Poäng: Tentan
Läs merFrågeoptimering. Frågeoptimering kapitel 14
Frågeoptimering kapitel 14 Frågeoptimering sid Introduktion 1 Transformering av relationsuttyck 4 Kataloginformation för kostnadsestimering Statisk information för kostnadsestimering Kostnadsbaserad optimering
Läs merTentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl
Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen Lördag 8 juni kl. 10-14 Inga hjälpmedel tillåtna (syntaxsammanställning
Läs mer! 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 merFör att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.
1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till
Läs merInformationssystem 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