Universitetet: ER-diagram e-namn

Relevanta dokument
Universitetet: ER-diagram e-namn

Databaser - Design och programmering. Databasdesign. Funktioner. Relationsmodellen. Relationsmodellen. Funktion = avbildning (mappning) Y=X 2

Webprogrammering och databaser. Begrepps-modellering. Exempel: universitetsstudier Kravspec. ER-modellen. Exempel: kravspec forts:

Universitetet: ER-diagram

Databaser - Design och programmering. Programutveckling. Programdesign, databasdesign. Kravspecifikation. ER-modellen. Begrepps-modellering

Databaser - Design och programmering. Databasdesign. Kravspecifikation. Begrepps-modellering. Design processen. ER-modellering

Databaser Design och programmering

Borel-Cantellis sats och stora talens lag

MS-A0409 Grundkurs i diskret matematik Sammanfattning, del I

Jag läser kursen på. Halvfart Helfart

Tentamen 19 mars, 8:00 12:00, Q22, Q26

Genomsnittligt sökdjup i binära sökträd

ENDIMENSIONELL ANALYS B1 FÖRELÄSNING VI. Föreläsning VI. Mikael P. Sundqvist

Systemdesign fortsättningskurs

Design mönster. n n n n n n. Command Active object Template method Strategy Facade Mediator

Anmärkning: I några böcker använder man följande beteckning ]a,b[, [a,b[ och ]a,b] för (a,b), [a,b) och (a,b].

Vad är det okända som efterfrågas? Vilka data är givna? Vilka är villkoren?

KOM IHÅG ATT NOTERA DITT TENTAMENSNUMMER NEDAN OCH TA MED DIG TALONGEN INNAN DU LÄMNAR IN TENTAN!!

Sannolikhetslära. c 2015 Eric Järpe Högskolan i Halmstad

Induktion LCB Rekursion och induktion; enkla fall. Ersätter Grimaldi 4.1

REGULJÄRA SPRÅK (8p + 6p) 1. DFA och reguljära uttryck (6 p) Problem. För följande NFA över alfabetet {0,1}:

Remiss Remissvar lämnas i kolumnen Tillstyrkes term och Tillstyrkes def(inition) och eventuella synpunkter skrivs i kolumnen Synpunkter.

1. Hur gammalt är ditt barn?

Höftledsdysplasi hos dansk-svensk gårdshund - Exempel på tavlan

Föreläsning G04: Surveymetodik

Studentens personnummer: Giltig legitimation/pass är obligatoriskt att ha med sig. Tentamensvakt kontrollerar detta.

Databasteori. Övningar

DEL I. Matematiska Institutionen KTH

RESTARITMETIKER. Avsnitt 4. När man adderar eller multiplicerar två tal som t ex

Tentamen i Linjär Algebra, SF december, Del I. Kursexaminator: Sandra Di Rocco. Matematiska Institutionen KTH

AMF. I princip är det bara möjligt att flytta privat sparande och sparande där avtalet tecknats efter den 2 februari i fjol.

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

Linjär Algebra (lp 1, 2016) Lösningar till skrivuppgiften Julia Brandes

Duo HOME Duo OFFICE. Programmerings manual SE

(a) Skissa täthets-/frekvensfunktionen och fördelningsfunktionen för X. Glöm inte att ange värden på axlarna.

Databasteori Övningar

2. Konfidensintervall för skillnaden mellan två proportioner.

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

Ny lagstiftning från 1 januari 2011

Allmänna avtalsvillkor för konsument

4. Uppgifter från gamla tentor (inte ett officiellt urval) 6

Lärarhandledning Att bli kvitt virus och snuva - När Lisa blev av med förkylningen

H1009, Introduktionskurs i matematik Armin Halilovic POLYNOM, POLYNOMDIVISION, ALGEBRAISKA EKVATIONER, PARTIALBRÅKSUPPDELNING. vara ett polynom där a

Linköpings tekniska högskola IKP/Mekaniksystem Mekanisk värmeteori och strömningslära. Exempeltentamen 3. strömningslära, miniräknare.

vara ett polynom där a 0, då kallas n för polynomets grad och ibland betecknas n grad( P(

Resultatet av kryssprodukten i exempel 2.9 ska vara följande: Det vill säga att lika med tecknet ska bytas mot ett plustecken.

1. Hur gammalt är ditt barn?

Ekvationen (ekv1) kan beskriva en s.k. stationär tillstånd (steady-state) för en fysikalisk process.

Databasteori Övningar

F4 Matematikrep. Summatecken. Summatecken, forts. Summatecken, forts. Summatecknet. Potensräkning. Logaritmer. Kombinatorik

NORMALISERING. Mahmud Al Hakim

Lösningar och kommentarer till uppgifter i 1.1

101. och sista termen 1

Förfrågan till Klockarens redaktörer

Konceptuella datamodeller

1. Test av anpassning.

Återanvändning. Två mekanismer. Nedärvning av egenskaper (inheritance) Objekt komposition

MS-A0409 Grundkurs i diskret matematik I

Kundundersökning Kommuninfo/ Kuntainfo: Enkät om kommunens informationsverksamhet

Många tror att det räcker

Stat. teori gk, ht 2006, JW F13 HYPOTESPRÖVNING (NCT ) Ordlista till NCT

SANNOLIKHETER. Exempel. ( Tärningskast) Vi har sex möjliga utfall 1, 2, 3, 4, 5 och 6. Därför är utfallsrummet Ω = {1, 2, 3, 4, 5,6}.

Operativsystem - Baklås

Örserumsviken. Förorenade områden Årsredovisning. Ansvar för sanering av förorenade områden. Årsredovisningslagen och god redovisningssed

Digital signalbehandling Alternativa sätt att se på faltning

TMS136: Dataanalys och statistik Tentamen med lösningar

Föreläsning 10: Kombinatorik

Grammatik för språkteknologer

F10 ESTIMATION (NCT )

Digital signalbehandling Fönsterfunktioner

Applikationen kan endast användas av enskilda användare med förtroenderapportering.

Egna funktioner. Vad är sin? sin är namnet på en av många inbyggda funktioner i Ada (och den återfinns i paketet Ada.Numerics.Elementary_Functions)

= (1 1) + (1 1) + (1 1) +... = = 0

Tentamen i Statistik, STA A10 och STA A13 (9 poäng) 26 mars 2004, klockan

Tentamen i Statistik, STA A13 Deltentamen 2, 5p 5 juni 2004, kl

Jag läser kursen på. Halvfart Helfart

TENTAMEN I MATEMATISK STATISTIK Datum: 13 mars 08

Induktion och Binomialsatsen. Vi fortsätter att visa hur matematiska påståenden bevisas med induktion.

Sannolikheten. met. A 3 = {2, 4, 6 }, 1 av 11

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Tentamen Metod C vid Uppsala universitet, , kl

Slutrapport Bättre vård i livets slutskede

GÖTEBORGSSTUDENTER 2012

Sannolikhetslära statistisk inferens F10 ESTIMATION (NCT )

HC. A ndersens magiska Sagovärld. Evenemangsguide. 27sept 3nov lightsinalingsas.se. för dig som endast låter fantasin sätta gränserna.

Lösningar till tentamensskrivning i kompletteringskurs Linjär Algebra, SF1605, den 10 januari 2011,kl m(m + 1) =

Vid mer än 30 frihetsgrader approximeras t-fördelningen med N(0; 1). Konfidensintervallet blir då

. Mängden av alla möjliga tillstånd E k kallas tillståndsrummet.

Enkät inför KlimatVardag

Fakta om plast i havet

Intervallskattning. c 2005 Eric Järpe Högskolan i Halmstad. Antag att vi har ett stickprov x 1,..., x n på X som vi vet är N(µ, σ) men vi vet ej

Armin Halilovic: EXTRA ÖVNINGAR

Befolkning per födelseland Reviderad metod vid framskrivningar. Version: 2

Tentamen 9 juni 2016, 8:00 12:00, Q21

Kompletterande kurslitteratur om serier

Subsystem. Klasser är ett bra sätt att organisera små system. Klasser är för små enheter för att organisera stora system

Marknaden för PPM-förvaltning

Uppgifter 3: Talföljder och induktionsbevis

Smärtlindring vid medicinsk abort

vara ett polynom där a 0, då kallas n för polynomets grad och ibland betecknas n = grad( P(

Transkript:

Databaser Desig och programmerig Fortsättig på relatiosmodelle: Normaliserig fuktioella beroede ormalformer iformatiosbevarade relatiosschemauppdelig Varför ormalisera? Metod att skydda oss frå dum desig Lagra samma data flera ggr i oöda Ite kua lagra viss iformatio Otydlig betydelse av e tupel som ka komma frå otydlig betydelse av etitetsistas tel.r. pr koto e- Uiversitetet: ER-diagram e- f- tjästerum f- studet aställd e-post 1 ast.r löse m reg. på hålls av jobbar på betyg kurskod 1 läsperiod kurs asv. av 1 istitutio 1 driver projekt år poäg adress budget tidspla Relatiosmodell Uiversitetet Studet (pr, e-, f-, epost, koto, löse) Kurs (, kurskod, läsår, period, poäg, kursasv, istitutio) Aställd (f-, e-, astummer, rum, telefo, istitutio) Istitutio (, adress) Projekt(istitutio,, tidspla, budget) RegistreradPå (studetpr, kursr, läsår, betyg)

Relatioe kurs (exempel) Problem med kurs Kurskod År Nam Läsperiod Poäg Kursasvarig Asv Ist 729G68 2008 Databaser vt2 7.5 Eva Ragemalm IDA 732G16 2008 Databaser vt2 7.5 Eva Ragemalm IDA HIBB31 2006 Databaser Vt1 5 Magus Igmarso IDA HIBB31 2005 Databaser Vt2 5 Eva Ragemalm IDA Samma, poäg och istitutio återkommer: redudas Tar plats. Uppdaterigsaomali Isättigsaomali Borttagigsaomali Otydlig tolkig Hur udvika redudas? Normaliserig 1:a Normalform E metod att fia redudas Normaliserigs-villkor: ormalformer Begrepp: fuktioella beroede kom ihåg: ycklar och primattribut iformatiosbevarade schemauppdelig Alla attribut ska vara atomära (odelbara) Relatiosmodelle atar att alla attribut är odelbara. 2:a ormalform, 3:e ormalform, BCNF baseras på Fuktioella beroede i relatioe.

Fuktioellt beroede X är e delmägd av attribute i e relatio. Om X etydigt bestämmer värdet på ett attribut Y, kallas det att Y är fuktioellt beroede av X eller att X bestämmer Y. X Y X kallas determiat i det fuktioella beroedet. Exempel För ycklar fis alltid fb till alla attribut i hela tupel: ex: Studet {pr} {e-, f-, koto, epost, löse} me äve: {epost} {pr, e-, f-, koto, löse} {koto} {pr, e-, f-, epost, löse} Fuktioella beroede, forts Fuktioella beroede baseras på relatioes sematik. Ett fb ska gälla i alla möjliga istaser av database OBS: Att det fis ett fb X Y betyder ite att det fis ett fb Y X Fuktioella beroede ka härledas Trasitivitet: om X Y och Y Z så X Z Ka iblad vara svårt att avgöra vilket som kom först (ex: pr, koto, löse) Reflexivitet: X X alltid. Om Y"X så X Y Augmetatio: Om X Y och ett fb X Z så har vi också ett fb {XY} Z

Fullt fuktioellt beroede Givet X Y. Om iget attribut ka tas bort ur X uta att vi förlorar det fuktioella beroedet (dvs X är miimal), kallas det fullt fuktioellt beroede, ffb ex: Kurs (, kurskod, läsår, period, poäg, kursasv, istitutio) {kurskod, läsår} {kursasv} FFB {kurskod, läsår} {poäg} Ej FFB för e kurs får ite ädra poäg hur som helst Fullt fuktioellt beroede, forts exemplet kurs {kurskod} {poäg} FFB Ett attribut (poäg) är ej FFB av yckel Adra FFB i Kurs: {kurskod} {} FFB {kurskod} {istitutio} FFB OBS att verklighete styr Adra ormalforme - 2NF Exempel 2NF Defiitio: Ett relatiosschema R är i 2NF om det är i 1:a ormalform och varje icke-primattribut A i R är FFB av varje kadidatyckel i R. Fråga: Är alla attribut som ite är primattribut FFB av alla kadidatycklar? Relatioe Studet (pr, e-, f-, epost, koto, löse) Har FFB: {pr} {e-, f-, löse} {koto} {e-, f-, löse} {epost} {e-, f-, löse}

Exemplet kurs Kurs (, kurskod, läsår, period, poäg, kursasv, istitutio) {kurskod, läsår} {kursasv} FFB {kurskod, läsår} {läsperiod} {kurskod} {poäg} {kurskod} {} {kurskod} {istitutio} FFB FFB FFB FFB Relatiosschemauppdelig Lyft ut det/de problematiska fuktioella beroedet/a till e ege tabell Exempel: Kurs (kurskod,, poäg, istitutio) KursÅr(kurskod, läsår, kursasv, läsperiod) aturlig sammasättig Uppfyller ej 2NF Iformatiosbevarade relatiosschemauppdelig Om vi delar upp e relatio R i relatioera R1 och R2 så kallas uppdelige iformatiosbevarade om R1 atural joi R2 iehåller samma iformatio som R. Iformatiosbevarade relatiosschemauppdelig, exempel Perso(Pr,Nam,Adress) med fuktioella beroede: Pr Nam, Pr Adress, ite Nam Adress Varke mer eller midre pr pr Adress 7908101234 Aa Ågata 3 7908101234 Aa 8112237890 Aa Rydsv.12 8112237890 Aa Adress Ågata 3 Rydsv.12 Aa Aa

Exempel Exempel, forts E firma som admiistrerar adrahadsuthyrig av lägeheter vill hålla reda på kotraktisiformatioe. Ma vill hålla reda på vem hyr vad (kud, kudummer, lägehetsummer, lägehetsadress) är (start och slutdatum) samt till vilke hyra (som är olika för varje lägehet). De lagrar också iformatio om vem som egetlige äger lägehete. För tills vidare -kotrakt registreras slutdatum som ull. Varje perso atas bara hyra varje lägehet e gåg och ka bara hyra e lägehet åt gåge. E ägare ka dock låta firma hatera flera lägeheter. Möjlig relatiosmodell: Kotrakt(kudNr, lghnr, knam, lghadr, start, slut, hyra, ägarnr, änam) Exempel, forts Exempel, forts 1:a ormalform? 2:a ormalform? Fuktioella beroede? Kotrakt(kudNr, lghnr, knam, lghadr, start, slut, hyra, ägarnr, änam) Fb1, 5 och 6 visar kadidatycklara: {kudnr, lghnr}, {lghnr, start} samt {kudnr, start} Primattribut? kudnr, lghnr, start Det iebär att följade attribut är ickeprimattribut: knam, lghadr, slut, hyra, ägarnr, änam 2NF?

Exempel, forts Dela upp relatioe så att de problematiska beroedea får e ege relatio. Kud(kudNr, knam) Lgh(lghNr, lghadr, hyra, ägarnr, änam) Hyra(kudNr, lghnr, start, slut) Är dessa i 2NF? Övig på iformatiosbevarade relatiosschemauppdelig Är iformatioe bevarad? Tredje ormalform - 3NF Defiitio: Ett relatiosschema R är i 3NF om det är i 2NF och det för varje FFB X A som fis i R, gäller ågot av följade villkor: a) X är e superyckel för R b) A är ett primattribut i R Fråga för 3NF: Exempel (3NF) För varje beroede: är X e superyckel eller Y ett primattribut? Dela upp ige. LghIfo(lghNr, lghadr, hyra, ägarnr) Ägare (ägarnr, änam) Kud(kudNr, knam)

Boyce-Codd ormalform - BCNF Ett relatiosschema R är i BCNF om det är i 3NF och för varje beroede X A som fis i R, X är e superyckel för R. Dvs alla determiater är atige e kadidatyckel eller iehåller e (hel). Exempel (BCNF) Fråga för BCNF: är varje determiat e superyckel? LghIfo(lghNr, lghadr, hyra, ägarnr) Ägare (ägarnr, änam) Kud(kudNr, knam) Hyra(kudNr, lghnr, start, slut) 3NF/BCNF Ytterligare exempel Ite alltid möjligt att trasformera ett schema till BCNF och behålla beroedea. 3NF har de flesta av BCNF s fördelar. Det är ite självklart att ma måste uppfylla BCNF. OBS: 3NF tillåter ågo sorts redudas som BCNF ite gör (fuktioella beroede mella primattribut). Atag att uthyrigsfirma ispekterar varje lägehet mella uthyrigara och oterar brister och problem. När ispektio ska göras rekvirerar ma e bil som aväds uder dage. E bil ka dock avädas av flera persoer uder samma dag, me e ispektör bokar samma bil hela dage. E ispektör ka ispektera flera lägeheter uder samma dag, me varje lägehet ispekteras edast e gåg e viss dag.

Exempel på rapport Det fis alltså ett (eller flera) sådaa rapportformulär per lägehet. Fuktioella beroede? Exempel, forts. Facit: lgh(lghnr, lghadr) persoal(pnr, pnam) ispektio(lghnr, idatum, itid, kommetar, pnr) persobil(pnr, idatum, bil)