Normalisering. Christer Stuxberg Institutionen för Informatik och Media
|
|
- Gunilla Johansson
- för 7 å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)
Läs merKarlstads 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
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 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 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 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 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 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 merNormalisering. 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:
Läs merKarlstads 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 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 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 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 merInformationssystem 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
Läs merDatabaser och databasdesign. Den relationella modellen, normalisering och modellering (2)
Databaser och databasdesign Den relationella modellen, normalisering och modellering (2) Varför databaser (DB)? Vi vill och måste kunna lagra data på sätt som motsvarar olika verksamheters behov Vad är
Läs 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 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 merAnalytisk relationsdatabasdesign
Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!
Läs merExempel-Tentamen III
Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Exempel-Tentamen III Inga hjälpmedel tillåtna (syntaxsammanställning behövs inte på denna tentamen) Skriv bara på en sida av
Läs merIT 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
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 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 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 merStructured Query Language (SQL)
Structured Query Language (SQL) Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Introduktion Enkla frågor (queries) Hämta en specifik kolumn Sök Sammanfattning
Läs mer2NF 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)
Läs merRelationsdatabasdesign
Vad är Relationsdatabasdesign? Relationsdatabasdesign nikosd@kth.se 08-7904460 rum 8522 Connolly/Begg (3rd edition) Kapitel 4., 4.2 och 5 (4th edition) Kapitel 5., 5.2 och 6 (5th edition) Kapitel 6., 6.2
Läs 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 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 merPga 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,
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 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 merTentamen plus lösningsförslag
Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje
Läs merKvalitetstä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
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 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 merUniversitetet: ER-diagram
Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda
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 merFö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,
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 merTentamen 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ä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 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 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 merModul 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-
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 merFöreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?
Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? En mängd program som tillåter användaren att skapa och underhålla
Läs merTER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)
1 (7) Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen Sal (1) Tid Kurskod Provkod Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen
Läs 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 merTentamen 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
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 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 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 merE-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
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 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 i Databasteknik
Tentamen i Lördagen den 21 oktober 2006 Tillåtna hjälpmedel: Allt skrivet material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs merTentamen 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å
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 merTentamen 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
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 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 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 merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 13 Mars 2014 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje blad.
Läs 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 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 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 merModul 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
Läs merIdag. Hur vet vi att vår databas är tillräckligt bra?
Idag Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? DD1370 (Föreläsning 6) Databasteknik
Läs mer2. 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.
Läs merEtt 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
Läs merTENTAMEN 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.
Läs merDatabaser design och programmering. Fö 2: Design processen, ER-modellering
Databaser design och programmering Fö 2: Design processen, ER-modellering 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign
Läs 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 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 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 merTentamenskod: 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
Läs merInformationssystem 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
Läs merUppgift 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
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 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 merDisposition. 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
Läs mer25/11/14. Databasteknik och informationssystem DD1370. Påminnelse inför Lab 1 redovisningen. Repetition: ER modellering (gammalt + nytt)
25//4 Påminnelse inför Lab redovisningen Databasteknik och informationssystem DD370 Föreläsning 5: ER-modellenà Databas Påminnelse: Kursens mål. Förklara ett databashanteringssystems funktioner och uppbyggnad
Läs merLösningsförslag till tentamen för DD1370 Databasteknik och informationssystem
Lösningsförslag till tentamen för DD1370 Databasteknik och informationssystem Torsdag 11 dec 2008 1. a) Jag använder kokbokens regler a. En objektklass som innehåller e-term(-er) bildar en tabell b. En
Läs 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 merGIS, 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:
Läs merDatabasdesign: 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
Läs merTDDI60 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
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 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 merExempel 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,
Läs merTentamen. i Databasteknik. lördagen den 13 mars 2004. Tillåtna hjälpmedel: Allt upptänkligt material
Tentamen i lördagen den 13 mars 2004 Tillåtna hjälpmedel: Allt upptänkligt material Använd bara framsidan på varje blad. Skriv max en uppgift per blad. Motivera allt, dokumentera egna antaganden. Oläslig/obegriplig
Läs 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 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 merTentamen för DD1370 Databasteknik och informationssystem
Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje
Läs 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 merLösningsförslag, tentamen i Databaser
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser 2004-04-20 1. ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi
Läs merFillagring och indexering
Fillagring och indexering Lena Strömbäck Institutionen för datavetenskap (IDA) Databaser Världen Databas Modell Databas- Hanterings- System (DBMS) Queries Svar Queries Svar Användare Anv Updates Queries
Läs 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 mer