Normalisering. Christer Stuxberg Institutionen för Informatik och Media
|
|
- Gunilla Johansson
- för 8 år sedan
- Visningar:
Transkript
1 Normalisering Christer Stuxberg Institutionen för Informatik och Media
2 Översikt Normalisering Dataredundans och Uppdateringsanomalier Anomalier vid insättning Anomalier vid borttagning Anomalier vid modifiering Första Normalformen (1NF) Andra Normalformen (2NF) Tredje Normalformen (3NF) Exempel
3 Normalisering Normalisering togs fram av Codd 1972 för att underlätta designen av relationsdatabaser. Normalisering utförs ofta som en serie av tester på en tabell för att avgöra om den uppfyller eller bryter mot reglerna för en given normalform. Det finns ett flertal normalformer. De mest använda är första normalformen (1NF), andra normalformen (2NF) och tredje normalformen (3NF). Alla dessa normalformer bygger på regler om relationer bland kolumnerna i en tabell.
4 Normalisering Det finns två sätt att utföra normalisering på: den första är en bottom-up databasdesign metodologi medan den andra är en top-down utvecklingsprocess. I bottom-up analyserar vi sambanden mellan attribut för att skapa tabeller som representerar entiteter och deras samband. Vi designar databasen på tabellnivå helt enkelt. Utan att använda oss av ER-diagram. Normalisering används då för att städa upp dåligt strukturerade tabeller.
5 Normalisering I top-down använder man sig utav ER-modellering för att skapa en modell som representerar entiteter, relationer och attribut. ER-modellen översätts sedan till tabeller. När detta är gjort så normaliserar vi dessa tabeller för att se om tabellerna är korrekt designade.
6 Dataredundans och Operationsanomalier Ett av huvudmålen är att gruppera kolumner i tabeller för att minimera dataredundans och minska det nödvändiga fillagringsutrymmet för dessa tabeller. Tänk på dessa två tabeller: Staff (staffno, name, position, salary, dcenterno) Primärnyckel: staffno Främmande nyckel: dcenterno DistributionCenter (dcenterno, dadress, dtelno) Primärnyckel: dcenterno
7 Dataredundans och Operationsanomalier Ett annat sätt att utforma Staff och DistributionCenter tabellerna på är att slå ihop dem till en tabell: StaffDistrubitionCenter (staffno, name, position, salary, dcenterno, dadress, dtelno) Primärnyckel: staffno De verkar vara relativt lika. Men när vi börjar lägga in data i tabellerna så märker vi skillnader.
8 Staff och DistributionCenter Staff staffno name position salary dcenterno S1500 Tom Daniels Manager D001 S0003 Sally Adams Assistant D001 S0010 Mary Martinez Manager D002 S3250 Robert Chin Assistant D002 DistributionCenter dcenterno dadress dtelno D001 8 Jefferson Way, Portland, OR D002 City Center Plaza, Seattle, WA
9 StaffDistributionCenter staffno name position salary dcenterno dadress dtelno S1500 Tom Daniels Manager D001 8 Jefferson Way, Portland, OR S0003 Sally Adams Assistant D001 8 Jefferson Way, Portland, OR S0010 Mary Martinez Manager D002 City Center Plaza, Seattle, WA S3250 Robert Chin Assistant D002 City Center Plaza, Seattle, WA I StaffDistributionCenter finns det överflödig (redundant) data. Uppgifterna för ett distributionscenter upprepas för varje anställd vid det distributionscentret. Tabeller med redundant data kan ha problem som kallas uppdateringsanomalier (insättning, borttagning, modifikation)
10 Anomalier vid insättning (Insertion) Det finns två huvudsakliga typer av anomalier vid insättning: För att lägga till en ny anställd vid ett visst distributionscenter i StaffDistributionCenter så måste vi även lägga till de korrekta uppgifterna för det distributionscentret. För att lägga till ett nytt distributionscenter utan anställda i StaffDistributionCenter så måste vi lägga till nullvärden i kolumnerna som har med de anställda att göra.
11 Anomalier vid borttagning (Deletion) Om vi tar bort en post (rad) från StaffDistributionCenter tabellen som representerar den sista anställda vid ett distributionscenter så kommer all information om det distributionscentret att försvinna från databasen. staffno name position salary dcenterno dadress dtelno S1500 Tom Daniels Manager D001 8 Jefferson Way, Portland, OR S0003 Sally Adams Assistant D001 8 Jefferson Way, Portland, OR S0010 Mary Martinez Manager D002 City Center Plaza, Seattle, WA S3250 Robert Chin Assistant D002 City Center Plaza, Seattle, WA S0007 James Farmer Manager D th Avenue, New York, NY Om vi tar bort posten med James Farmer så förlorar vi även all information om center D003. Detta händer inte om vi hade haft frikopplade tabeller.
12 Anomalier vid modifikation Om vi vill ända ett värde i en av kolumnerna för ett specifikt distributionscenter i StaffDistributionCenter tabellen, t.ex. telefonnumret för center D001. Då måste vi ändra det värdet för alla anställda vi det distributionscentret. Annars kommer databasen att bli inkonsekvent.
13 Normalisering minskar risken av anomalier Tanken med normalisering är att frigöra databasen från tidigare nämnda anomalier. Det säkerställer att när ett nytt värde är introducerat i en relation så har det minimal påverkan på databasen och därför även minimal påverkan på programmet som använder databasen.
14 Första normalformen (1NF) En tabell i vilken skärningen mellan varje kolumn och rad (cell) innehåller endast ett värde. Det är den enda normalform som är avgörande för att skapa relationsdatabaser, men för att undvika uppdateringsanomalier (update anomalies) så är det rekommenderat att normalisera tom 3NF. En kolumn som innehåller mer än ett värde per rad måste tas bort för att skapa en ny tabell där dessa värden separeras och blir nya primärnycklar.
15 Exempel dcenterno P dadress dtelno D001 8 Jefferson Way, Portland, OR , , D002 City Center Plaza, Seattle, WA , Det finns flera värden i kolumnen dtelno för båda raderna. Tabellen är alltså inte i 1NF. dadress kolumnen ser ut att ha flera värden men det är endast en adress per rad.
16 Normalisering av tabellen Vi skapar tabellen DistributionCenter genom att ta bort dtelno: dcenterno P dadress D001 8 Jefferson Way, Portland, OR D002 City Center Plaza, Seattle, WA Och sen skapar vi tabellen DistributionCenterTelephone: dcenterno F dtelno P D D D D D
17 Främmande nycklar En främmande nyckel är en kolumn eller flera kolumner som används för att skapa en koppling mellan två tabeller. Tabellen som innehåller den främmande nyckeln kallas för den refererande tabellen och tabellen som innehåller kandidatnyckeln kallas för den refererade tabellen. Då meningen med en främmande nyckel är att identifiera en särskild rad i den refererade tabellen så krävs det generellt att den främmande nyckeln är samma som en kandidatnyckel i någon rad i den refererade tabellen
18 Andra normalformen (2NF) En tabell som är i 1NF och i vilket värdena i alla kolumner som inte är en del av primärnyckeln bestäms av alla kolumner som är den sammansatta primärnyckeln. Andra normalformen gäller tabeller med sammansatta primärnycklar. Dvs. primärnycklar som är sammansatta av två eller fler kolumner.
19 Exempel: TempStaffAllocation Primärnyckeln är sammansatt av staffno och dcenterno. staffno P dcenterno P name position hourswk S4555 D002 Ellen Layman Assistant 16 S4555 D004 Ellen Layman Assistant 9 S4612 D002 Dave Sinclair Assistant 14 S4612 D004 Dave Sinclair Assistant 10 Värdena i hourswk bestäms av (staffno, dcenterno) Värdena i name och position bestäms endast av staffno. Vi har alltså ett partiellt beroende och tabellen är inte i 2NF.
20 Funktionellt Beroende Funktionellt beroende beskriver relationerna mellan kolumnerna i en tabell och indikerar hur kolumnerna är relaterade till varandra. Föreställ er en tabell med kolumnerna a och b där värdet i kolumn a bestämmer värdet i kolumn b (detta skrivs a b) Om vi vet värdet för a så kommer värdet för b alltid att vara samma på alla ställen där a har samma värde. Men även om vi vet värdet för b så kan a ha flera olika värden.
21 Konsekvenser av Partiellt Beroende Partiellt beroende skapar problem, närmare bestämt redundant data. I vårat fall i kolumnerna name och position vilket kan leda till uppdateringsanomalier. T.ex. för att byta namn på Ellen Layman så måste vi uppdatera två rader i vår tabell. Om vi bara uppdaterar den ena raden så kommer databasen att bli inkonsekvent.
22 Normalisering av TempStaffAllocation Det partiella beroendet måste bort. Det gör vi genom att ta bort de kolumner som endast bestäms av en del av den primära nyckeln: staffno F^P dcenterno P hourswk S4555 D S4555 D004 9 S4612 D S4612 D Och sen skapar vi en ny fullt funktionellt beroende tabell staffno P name position S4555 Ellen Layman Assistant S4612 Dave Sinclair Assistant
23 Fullständigt Funktionellt Beroende Om a och b är kolumner i en tabell så är b helt beroende av a om b inte är beroende av en delmängd av a. Om b är beroende av en delmängd av a så kallas det för ett partiellt beroende. Den formella definitionen av 2NF är att tabellen är i 1NF och att alla kolumner som inte är primärnycklar är fullständigt funktionellt beroende av primärnyckeln.
24 Fullständigt Funktionellt Beroende i TempStaffAllocation tabellen hourswk är fullständigt funktionellt beroende av staffno och dcenterno staffno F^P dcenterno P hourswk S4555 D S4555 D004 9 S4612 D S4612 D Värdena i kolumnen hourswk kan endast bestämmas av värdena från staffno och dcenterno. Vi säger att (staffno, dcenterno) bestämmer hourswk (staffno, dcenterno) hourswk
25 Tredje Normalformen (3NF) Tabeller i 2NF har mindre redundans är tabeller i 1NF men de kan fortfarande lida av uppdateringsanomalier. En tabell som redan är i 1NF och 2NF och vars värden i alla kolumner som inte är primärnyckel endast kan bestämmas av primärnyckel kolumnen/-erna och inga andra kolumner. De funktionella beroenden som skapar problem kallas transitiva beroenden. En tabell är i 3NF om ingen kolumn är transitivt beroende av primärnyckeln.
26 Transitivt Beroende Beskriver beroendet mellan kolumnerna a, b och c. Om a bestämmer b (a b) och b bestämmer c (b c) så är c transitivt beroende av a via b (förutsatt att b eller c inte bestämmer a)
27 Exempel StaffDistributionCenter Transitiva beroenden har orsakat redundant data i kolumnerna dcenterno, dadress och dtel. staffno P name position salary dcenterno dadress dtelno S1500 Tom Daniels Manager D001 8 Jefferson Way, Portland, OR S0003 Sally Adams Assistant D001 8 Jefferson Way, Portland, OR S0010 Mary Martinez Manager D002 City Center Plaza, Seattle, WA S3250 Robert Chin Assistant D002 City Center Plaza, Seattle, WA S0007 James Farmer Manager D th Avenue, New York, NY Värdena i dadress och dtel bestäms av dcenterno. Värdena i dcenterno och dtel bestäms av dadress. Värdena i dcenterno och dadress bestäms av dtel.
28 Normalisering av StaffDistributionCenter Vi måste ta bort de kolumner som kan bestämmas av en kolumn som inte är primärnyckelkolumnen. Tabellen är inte i 3NF så länge vi har kvar dessa beroenden.
29 Normalisering av StaffDistributionCenter Så vi tar helt enkelt bort de kolumner som kan bestämmas av någon annan kolumn än primärnyckelkolumnen. Vi skapar en ny tabell (DistributionCenter) som innehåller dadress och dtel och vi sätter dcenterno som primärnyckel. dcenterno P dadress dtel D001 8 Jefferson Way, Portland, OR D002 City Center Plaza, Seattle, WA D th Avenue, New York, NY
30 Normalisering av StaffDistributionCenter Relationen mellan anställd och distributionscenter bibehålls eftersom en kopia av dcenterno kolumnen i StaffDistributionCenter tabellen blir en främmande nyckel: staffno P name position salary dcenterno F S1500 Tom Daniels Manager D001 S0003 Sally Adams Assistant D001 S0010 Mary Martinez Manager D002 S3250 Robert Chin Assistant D002 S0007 James Farmer Manager D003
31 Normalisering av StaffDistributionCenter Den nya tabellen DistributionCenter är även den i 3NF eftersom alla kolumner som inte är primärnycklar kan bestämmas med primärnyckeln. Vi kunde ha lämnat en kopia av någon av de andra kolumnerna och använt den som främmande nyckel eftersom de har samma egenskaper som dcenterno. De flesta 3NF tabeller är fria från uppdateringsanomalier. Det finns dock vissa som fortfarande är påverkade och som då behöver normaliseras enligt 4NF eller 5NF.
32 Fler Exempel Ett exempel på en 2NF tabell som inte möter kraven för 3NF är tabellen Top5ActionMovies: movietitle year actor actordob The Dark Knight 2008 Christian Bale 30-Jan-1974 Inception 2010 Leonardo DiCaprio 11-Nov-1974 Star Wars: Episode V 1980 Mark Hamill 25-Sep-1951 The Matrix 1999 Keanu Reeves 2-Sep-1964 Star Wars: Episode IV 1977 Mark Hamill 25-Sep-1951 Varje rad berättar vem som hade huvudrollen i en viss film från ett visst år.
33 Eftersom flera filmer kan ha samma namn så behöver vi sätta både movietitle och year som primärnyckel. movietitle P year P actor actordob The Dark Knight 2008 Christian Bale 30-Jan-1974 Inception 2010 Leonardo DiCaprio 11-Nov-1974 Star Wars: Episode V 1980 Mark Hamill 25-Sep-1951 The Matrix 1999 Keanu Reeves 2-Sep-1964 Star Wars: Episode IV 1977 Mark Hamill 25-Sep-1951
34 Anledningen till att den inte är i 3NF är att actordob är transitivt beroende av kandidatnyckeln (movietitle, year) via actor. Eftersom actordob är funktionellt beroende av actor så är tabellen sårbar för logisk inkonsekvens. Det finns inget som hindrar att samma skådespelare visas med olika födelsedatum på olika poster.
35 Lösning För att uppfylla 3NF så måste vi dela tabellen i två: movietitle P year P actor F The Dark Knight 2008 Christian Bale Inception 2010 Leonardo DiCaprio Star Wars: Episode V 1980 Mark Hamill The Matrix 1999 Keanu Reeves Star Wars: Episode IV 1977 Mark Hamill actor P Christian Bale Leonardo DiCaprio Mark Hamill Keanu Reeves actordob 30-Jan Nov Sep Sep-1964
SQL del 2. Christer Stuxberg Institutionen för Informatik och Media
SQL del 2 Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Repetition SELECT INSERT Mer SELECT Null sökning Gruppering (GROUP BY) Begränsad gruppering (HAVING)
Karlstads Universitet, Datavetenskap 1
DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 1 Normalisering Förut sunt förnuft Nu formell metod riktlinjer för att hjälpa till att gruppera attributen (egenskaperna) för varje relation
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
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
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
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
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
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
Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.
Normalisering Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info. Tillbaka i modelleringsfasen. 1NF: Vad menas med ett sammansatt attribut? Exempel:
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
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 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
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
Informationssystem och databasteknik
Informationssystem och databasteknik Föreläsning 5 Analytisk databasdesign F5! Funktionellt beroende: Pnr Namn Funktion (i vanlig mat. betydelse): 610321 11111 22222 33333 Maria Eva Sture Olle För varje
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
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
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
Analytisk relationsdatabasdesign
Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!
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
IT i organisationer och databasteknik
IT i organisationer och databasteknik Föreläsning 5 Analytisk databasdesign Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som
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,
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,
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
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
2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY!
ÖVNING 9 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)
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
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
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,
Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel:
ÖVNING 1. PRODUKT(Nummer, Namn, Typ, Klass, Prisklass, Vikt, Volym, Fraktkostnad) Nummer, Typ Namn, Klass, Pris, Prisklass, Vikt, Volym, Fraktkostnad Namn, Typ Nummer Typ Klass Pris Prisklass Vikt, Volym,
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,
Ö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)
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
Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman
Kvalitetstänkande Utgångsläge Samtliga ER-diagram har överförts till scheman Förbättra kvaliteten på relationsscheman Normalformler ger dugligare nycklar Hitta funktionella beroenden med hjälp av slutsatsdragning
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
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,
Universitetet: ER-diagram
Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda
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
Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)
Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) 1 Vad är en databas? Logiskt sammanhängande mängd av data,
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
Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng
Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng Datum: 2016-11-02 Tid: 08:15 13:15 Lärare: Peter Bellström, Katarina Groth, Remigijus Gustas Hjälpmedel: Inga Tentamen är på 40 poäng. Gränsen
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
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
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
Modul DB1-2 Datamodellering
Modul DB- Datamodellering Antal föreläsningar: Antal laborationer: Förkunskapskrav: Grundläggande kännedom om databaser (Modul DB-) Kurslitteratur: Referenslitteratur: Praktisk datamodellering ISBN: 9-44-800-
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
Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?
Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? En mängd program som tillåter användaren att skapa och underhålla
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
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
Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag
Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Inga hjälpmedel är tillåtna (annat än ordbok). Kort syntaxsamling för delar av SQL samt lista med symboler för relationsalgebraiska
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
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
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.
E-R-modellen, E-R-diagram 6-14. E-R-diagram. representerar entitetsmängder
E-R-modellen, E-R-diagram 6-14 Komponenter Rektanglar Ellipser Ruter Linjer E-R-diagram representerar entitetsmängder repr. attribut repr. relationskapsmängder länkar attribut till entitetsmängder och
Ö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)
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 i Databasteknik
Tentamen i Lördagen den 21 oktober 2006 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl. 10 15 LÖSNINGSFÖRSLAG
Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz Tentamen 2I033, IT i Organisationer och Databasteknik lördag 7/4 2004, kl. 0 5 LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna. Skriv bara på
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
Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng
Tentamen ISGB01, ISGB24 Databasdesign 7,5 Poäng Datum: 2016-09-30 Tid: 08.15-13.15 Lärare: Peter Bellström, Katarina Groth, Johan Högberg Tentamen är på 40 poäng. Gränsen för Godkänd (G) är 20 poäng. Gränsen
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ö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
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
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.
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)
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
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,
Modul DB1-1 Databasmodellering
Modul DB1-1 Databasmodellering Antal föreläsningar: 2 Antal laborationer: 1 Förkunskapskrav: Databasintroduktion Kurslitteratur: Referenslitteratur: Praktisk datamodellering ISBN: 91-44-38001-1 1 Innehållsförteckning
Idag. Hur vet vi att vår databas är tillräckligt bra?
Idag Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? DD1370 (Föreläsning 6) Databasteknik
2. Redundans 3. Normalformer
FÖ 6: Databaskursen 1. Normalisering 2. Redundans 3. Normalformer 4. UNF, 1NF, 2NF och 3NF 5. Funktionellt beroende 6. Determinanter 7. Datamodellering 8. Notation 9. Olika modeller 10. Begreppslista 11.
Ett arbetsexempel Faktureringsrutin
Ett arbetsexempel Faktureringsrutin Detta dokument är skrivet för att i första hand förstå den process som äger rum och vilka steg som man ska genomföra och att förstå vad som utförs i de tre viktiga stegen
TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18
Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 12 juni 2007, kl 14-18 Jourhavande lärare: Patrick Lambrix (013/28 26 05) Poäng: Tentan består av 2 delar.
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
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
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,
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
Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. 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: 2017-11-02 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna
Informationssystem och Databasteknik
Informationssystem och Databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Analytisk databasdesign Vad är ett databashanteringssystem? En mängd program som
Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.
Institutionen for datavetenskap CTH- TIN 140 Goteborg GU- INN 12 mw DATABASER D4 och GU HT -97 Andra omtentamen i DATABASER Obs! Larare-version, med losningar DAG: lo, 22 aug 1998 TID: kl. 8.45 { 12.45
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
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
Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer
Disposition 1. Kopplingen mellan Processanalys (DFDdiagram) och konceptuell modellering (ERdiagram) (se kap 4) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Databasen (Kap 2) Den relationella
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ösningsförslag till tentamen för DD1370 Databasteknik och informationssystem
Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem Torsdag 11 dec 2008 1. a) Jag använder kokbokens regler a. En objektklass som innehåller e-term(-er) bildar en tabell b. En
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
GIS, databasteknik och kartografi. Kursmaterial för databasdelen
GIS, databasteknik och kartografi Kursmaterial för databasdelen Våren 2004 Innehåll Objekt och objektklasser......................... 3 Samband och sambandsklasser...................... 4 Övningsuppgifter:
Databasdesign: Nulägesanalys av normalisering
Uppsala Universitet Instutitionen för Informatik och Media Databasdesign: Nulägesanalys av normalisering Johannes Wesslén Weiler Emelie Öhrn Kurs: Examensarbete Nivå: C Termin: VT-16 Datum: 160617 Sammanfattning
TDDI60 Tekniska databaser
Lena Strömbäck 2006-10-13 Skriftlig tentamen i kursen TDDI60 Tekniska databaser Datum: 2006-10-13 Tid: 8-12 Lokal: T2, U3 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Poängränser: Tentamen består
Tentamen i Databasteknik
Tentamen i Onsdagen den 7 mars 2007 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
TENTAMEN 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
Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna
Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Exempel tentamen 2I-1100 Informationssystem och Databasteknik Tentamen är öppen i så motto att läroböcker, föreläsningsanteckningar,
Tentamen. i Databasteknik. lördagen den 13 mars 2004. Tillåtna hjälpmedel: Allt upptänkligt material
Tentamen i lördagen den 13 mars 2004 Tillåtna hjälpmedel: Allt upptänkligt material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
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
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
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
För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.
1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till
Lö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
Fillagring och indexering
Fillagring och indexering Lena Strömbäck Institutionen för datavetenskap (IDA) Databaser Världen Databas Modell Databas- Hanterings- System (DBMS) Queries Svar Queries Svar Användare Anv Updates Queries
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