Universitetet: ER-diagram e-namn

Relevanta dokument
Universitetet: ER-diagram e-namn

Universitetet: ER-diagram

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:

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

Databasteori. Övningar

Databasteori Övningar

Databasteori Övningar

MS-A0409 Grundkurs i diskret matematik Sammanfattning, del I

Borel-Cantellis sats och stora talens lag

Jag läser kursen på. Halvfart Helfart

Systemdesign fortsättningskurs

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

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

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

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

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

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].

MS-A0409 Grundkurs i diskret matematik I

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

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

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

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

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?

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

DEL I. Matematiska Institutionen KTH

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

Databasteori. Övningar

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

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

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

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

Ny lagstiftning från 1 januari 2011

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

Duo HOME Duo OFFICE. Programmerings manual SE

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

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

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

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

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

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

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

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

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}.

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

Föreläsning G04: Surveymetodik

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

101. och sista termen 1

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

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

Databasteori. Övningar

Armin Halilovic: EXTRA ÖVNINGAR

1. Hur gammalt är ditt barn?

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

Operativsystem - Baklås

Kontrakt baserad design. Design by contract

Allmänna avtalsvillkor för konsument

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

Digital signalbehandling Alternativa sätt att se på faltning

NORMALISERING. Mahmud Al Hakim

F10 ESTIMATION (NCT )

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

Förfrågan till Klockarens redaktörer

Föreläsning 10: Kombinatorik

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

Konceptuella datamodeller

Många tror att det räcker

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

x 1 x 2 x 3 x 4 x 5 x 6 HL Z x x x

Efter tentamen För kurser med fler än 60 examinerande meddelas resultatet SENAST 20 arbetsdagar efter examinationen annars 15 arbetsdagar.

Karlstads Universitet, Datavetenskap 1

GÖTEBORGSSTUDENTER 2012

IAB Sverige Juni 2017

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

Anvisningar för inrättande av utbildningsprogram vid Humanistiska fakulteten

Digital signalbehandling Fönsterfunktioner

Räkning med potensserier

Sannolikhetslära statistisk inferens F10 ESTIMATION (NCT )

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)

Enkät inför KlimatVardag

Tentamen Metod C vid Uppsala universitet, , kl

Jag läser kursen på. Halvfart Helfart

TENTAMEN I MATEMATISK STATISTIK Datum: 13 mars 08

Kontrollskrivning 3 i SF1676, Differentialekvationer med tillämpningar. Tisdag kl 8:15-10

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

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Kommunstyrelsens planutskott

1. Test av anpassning.

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

Grammatik för språkteknologer

IAB Sverige Juni 2017

TMS136: Dataanalys och statistik Tentamen med lösningar

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

Fakta om plast i havet

Kontrollskrivning 2 till Diskret Matematik SF1610, för CINTE1, vt 2019 Examinator: Armin Halilovic Datum: To Σ p P/F Extra Bonus

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

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 tidspla budget 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 As vist 732G16 2009 Databaser vt2 7.5 Eva Ragemalm IDA 729G64 2009 Databaser ht2 7.5 Eva Ragemalm IDA 732G16 2008 Databaser vt2 7.5 Eva Ragemalm IDA 732G16 2007 Databaser vt2 7.5 Magus Igmarso IDA HIBB31 2006 Databaser Vt1 5 Magus Igmarso IDA TSEA23 2009 Datorgrafik HT2 6 Igemar Ragemal ISY 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 relatiosschemauppdelig 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 relatioe: ex: Studet {pr} {e-} {pr} {f-} {pr} {koto} {pr} {epost} {pr} {löse} me äve: {pr} {pr} {koto} {pr,e-,f-,epost,koto,löse} {epost} {pr,e-,f-,epost,koto,löse} Fuktioella beroede, forts Fullt fuktioellt beroede 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 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 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? Exempel 2NF Exemplet kurs 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} 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} Uppfyller ej 2NF 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) iformatiosbevarade? Iformatiosbevarade relatiosschemauppdelig Om vi delar upp e relatio R i relatioera R1 och R2 så kallas uppdelige iformatiosbevarade om R1 * R2 iehåller samma iformatio som R. * = aturlig sammasättig Varke mer eller midre aturlig sammasättig Sammasättig av relatioer e operatio frå relatiosalgebra. R VS varje tupel i relatioe R kombieras med varje tupel ur S och de där villkoret V är uppfyllt blir resultatet Iformatiosbevarade relatiosschemauppdelig, exempel Perso(Pr,Nam,Adress) med fuktioella beroede: Pr Nam, Pr Adress, ite Nam Adress ex: studet kurs kurs=kurskod Naturlig sammasättig: R*S varje tupel i R kombieras med varje tupel ur S och de där de attribut som har samma i R och S har samma värde, väljs ut. pr Adress 7908101234 Aa Ågata 3 8112237890 Aa Rydsv.12 pr 7908101234 Aa 8112237890 Aa Adress Aa Ågata 3 Aa Rydsv.12

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 icke-primattribut: 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? Är iformatioe bevarad? Övig på iformatiosbevarade relatiosschemauppdelig Kud Lgh Kud Lgh Start Slut Hyra Ägar Ägar r Nr Nam Adr Nr Nam CR76 PG4 J.Kay Lagv 4 81112 90312 3200 CO40 T.Moe CR76 PG16 J.Kay Nyv 12 90313 ull 3500 CO93 U.Si CR56 PG4 A.So Lagv 4 90313 ull 3200 CO40 T.Moe CR56 PG35 A.So Husg 1 71112 90310 3000 CO93 U.Si CR56 PG16 A.So Nyv 12 60801 71110 3500 CO93 U.Si 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: För varje beroede: är X e superyckel eller Y ett primattribut? Dela upp ige. Exempel (3NF) LghIfo(lghNr, lghadr, hyra, ägarnr) Ägare (ägarnr, änam) Kud(kudNr, knam) Hyra(kudNr, lghnr, start, slut) Är dessa i 3NF?

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). Fråga för BCNF: är varje determiat e superyckel? 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.

Ispektios Tid Kommetar Ispektör Ispektör BilNr datum Nr Nam Ispektios Tid Kommetar Ispektör Ispektör BilNr 08-08-10 10.00 Trasigt prosli SG37 A Beech ABC123 datum Nr Nam 09-08-15 15.00 Fit SG14 David Ford DEF098 08-08-10 10.00 Trasigt prosli SG37 A Beech ABC123 10-11-10 08.00 Mögel i badrum SG14 David Ford ABC123 09-08-15 15.00 Fit SG14 David Ford DEF098 10-11-10 15.00 Slitet bord i kök SG14 David Ford ABC123 Exempel på rapport Det fis alltså ett (eller flera) sådaa rapportformulär per lägehet. Lägehetsummer: PG4 Lägehetsadress Studetv 8 Nollköpig Fuktioella beroede? Exempel, forts. Facit: lgh(lghnr, lghadr) persoal(pnr, pnam) ispektio(lghnr, idatum, itid, kommetar, pnr) persobil(pnr, idatum, bil)