Föreläsning 5: Relationsmodellen
|
|
- Helena Henriksson
- för 6 å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
Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista
Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda
Vad är en databas? 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
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
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
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
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
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,
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
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
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
Databaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla
Tentamen 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
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,
Databaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.
Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Relationsalgebra Tilldelning := Relationsalgebran är sluten: Med hjälp av dessa operatorer kan andra (icke-primitiva) operatorer
Relationsalgebra. Varför behöver jag lära mig relationsalgebra?!
Relationsalgebra 1 Varför behöver jag lära mig relationsalgebra?! Relationsmodellen är den datamodell som används i de flesta moderna databassystemen Data beskrivs och lagras som relationer, dvs. som ett
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
DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index
INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE
Frå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ö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
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
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
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,
Inst. 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.
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
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
Fö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
EMPS(NAME, SALARY, DEPT)
Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer
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
Relationsmodellen. 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,
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ä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
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,
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
MODELLER OCH SPRÅK FÖR RELATIONSDATABASER: Relationsalgebra, Relationskalkyl (Tuple calculus) & SQL
MODELLER OCH SPRÅK FÖR RELATIONSDATABASER: Relationsalgebra, Relationskalkyl (Tuple calculus) & SQL Ted Codd 970 - klassisk artikel: The relational model of data - DATASTRUKTUR - OPERATIONER - INTEGRITY
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
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ö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
Relationskalkyl (RK)
1 Relationskalkyl (RK) Formellt frågespråk som är baserad på predikatkalkyl (logik) En formel i RK är icke-procedurell (deklarativ), dvs den specificerar vad som ska hämtas och inte hur Jämför med relationsalgebran
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
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
3. 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
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
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
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
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
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
Fö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
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
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
Skriftlig 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ö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)
Idag. 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
Ö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)
Databasutveckling 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
TENTAMEN 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
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,
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
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
An English version of the questions is found at the back of each page.
Lena Strömbäck Pawel Pietrzak 2004-06-02 Skriftlig tentamen i kursen TDDB48 Databasteknik Datum: 2003-06-02 Tid: 14-18 Lokal: GAR Hjälpmedel: Engelsk ordlista tillåten ej elektronisk iniräknare ej programmerbar
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
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
Varfö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å
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
Introduktion 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
SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation
SQL Structured Query Language Frågespråk för att används för data åtkomst data manipulation Kommandon Lägga in ny data, INSERT Ändra data, UPDATE Radera data, DELETE Hämta data, SELECT mfl 2005-10-13 Gk/ÖK:ITO,
Tentamen 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
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,
Frå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
Relationell 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
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
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.
Varfö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å
! 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)
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
Svar 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
Tentamen i Databasteknik
Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
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
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.
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
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
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
Databaser Design och programmering
Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning 2 Varför normalisera? Metod att skydda
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
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
Funktionella 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
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
TENTAMEN 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
Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen
Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem
Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget
Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man
Fö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
GIS, 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:
TENTAMEN 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
Frå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
Tentamen 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
! 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!
För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.
1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till
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