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

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

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

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

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

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

Universitetet: ER-diagram e-namn

Universitetet: ER-diagram e-namn

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

DEL I. Matematiska Institutionen KTH

MS-A0409 Grundkurs i diskret matematik Sammanfattning, del I

EMPS(NAME, SALARY, DEPT)

Borel-Cantellis sats och stora talens lag

Systemdesign fortsättningskurs

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

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

Jag läser kursen på. Halvfart Helfart

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

Databaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts

Digital signalbehandling Fönsterfunktioner

Föreläsning G04: Surveymetodik

MS-A0409 Grundkurs i diskret matematik I

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

Sydkraft Nät AB, Tekniskt Meddelande för Jordningsverktyg : Dimensionering, kontroll och besiktning

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

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)

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

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

Föreläsning 10: Kombinatorik

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

Föreläsning G70, 732G01 Statistik A. Föreläsningsunderlagen är baserade på underlag skrivna av Karl Wahlin

Geometriska summor. Aritmetiska summor. Aritmetiska talföljder kallar vi talföljder som. Geometriska talföljder kallar vi talföljder som

Datorövning 2 Fördelningar inom säkerhetsanalys

Samtal med Karl-Erik Nilsson

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

(a) om vi kan välja helt fritt? (b) om vi vill ha minst en fisk av varje art? (c) om vi vill ha precis 3 olika arter?

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

Lösning till tentamen för kursen Log-linjära statistiska modeller 29 maj 2007

Förfrågan till Klockarens redaktörer

1. Test av anpassning.

Grunderna för relationsmodellen!

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

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

Tentamen i Flervariabelanalys F/TM, MVE035

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

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

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

H1009, Introduktionskurs i matematik Armin Halilovic. använder vi oftast induktionsbevis.

Databaser design och programmering. Design processen ER- modellering

Universitetet: ER-diagram

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

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

Datorövning 2 Fördelningar inom säkerhetsanalys

Armin Halilovic: EXTRA ÖVNINGAR

Produsert for bevegelses hemmede, og er det mest fleksible og variasjonrike alternativ på markedet. Tilpasnings-mulighetene er nesten ubegrensede.

Tentamen Metod C vid Uppsala universitet, , kl

Högskoleutbildad 0,90*0,70=0,63 0,80*0,30=0,24 0,87 Ej högskoleutbildad 0,07 0,06 0,13 0,70 0,30 1,00

Jag läser kursen på. Halvfart Helfart

Grammatik för språkteknologer

Föreläsning 2: Punktskattningar

Kompletterande kurslitteratur om serier

Databaser Design och programmering

Tentamen i matematisk statistik

GÖTEBORGSSTUDENTER 2012

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna Föreläsning 26, 9/2 2011: y + ay + by = h(x)

Inledande matematisk analys (TATA79) Höstterminen 2016 Föreläsnings- och lekionsplan

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

För rörformiga instrument, slangar och liknande krävs speciella insatser för genomspolning för att få ett fullgott resultat.

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

Uppgifter 3: Talföljder och induktionsbevis

Inledande matematisk analys. 1. Utred med bevis vilket eller vilka av följande påståenden är sana:

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

Föreskrift. om publicering av nyckeltal för elnätsverksamheten. Utfärdad i Helsingfors den 2. december 2005

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Cartesisk produkt. Multiplikationsprincipen Ï Ï Ï

Föreläsning G70 Statistik A

SveTys. Affärskultur i Tyskland. Vad är det? Och vad ska jag tänka på?

Allmänna avtalsvillkor för konsument

Tommy Färnqvist, IDA, Linköpings universitet

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

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

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

Bertrands postulat. Kjell Elfström

LÖSNINGSFÖRSLAG TILL TENTAMEN I MATEMATISK STATISTIK

Datastrukturer och algoritmer

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

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Översikt av ouppklarade fall av dödligt våld i Skåne under tiden och framåt i tiden.

Ett enklare. sätt att arbeta. XOR Compact 4.0 Demohandledning

D 45. Orderkvantiteter i kanbansystem. 1 Kanbansystem med två kort. Handbok i materialstyrning - Del D Bestämning av orderkvantiteter

TMS136: Dataanalys och statistik Tentamen med lösningar

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

Översikt av ouppklarade fall av dödligt våld i Skåne under tiden och framåt i tiden.

Översikt av ouppklarade fall av dödligt våld i Skåne under tiden och framåt i tiden.

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

= x 1. Integration med avseende på x ger: x 4 z = ln x + C. Vi återsubstituerar: x 4 y 1 = ln x + C. Villkoret ger C = 1.

101. och sista termen 1

Tentamen i Elektronik, ESS010, del 2 den 14 dec 2009 klockan 14:00 19:00.

a) Beräkna E (W ). (2 p)

Transkript:

Databaser Desig och programmerig Relatiosmodelle Databasdesig Förstudie, behovsaalys defiitioer ER-modell -> relatiosmodell ycklar Relatiosmodelle Itroducerades av Edward Codd 1970 Mycket valig Stödjer kraftfulla och ädå ekla deklarativa språk Matematisk grud i relatiosalgebra Fuktioer Fuktio = avbildig (mappig) Y=X 2 Defiitiosmägde mappas till värdemägde Ka represeteras med tabell Varje värde i defiitiosmägde mappas på ett värde i värdemägde (me ej omvät)

Relatio = geeraliserad fuktio varje värde i defiitiosmägde ka mappas på flera värde i värdemägde Fler ä två kolumer Mägde som värde dras frå: domä, e för varje kolum Formellt: E relatio är e delmägd av kartesiska produkte av ett atal domäer Exempel om D1 ={Aa, Oskar} och D2 ={ma, kvia} så blir D1xD2 = {<Aa, ma>, <Aa, kvia>, <Oskar, ma>, <Oskar, kvia>} Relatioe R ka då t.ex vara de verklighetsbaserade delmägde {<Aa, kvia>, <Oskar, ma>} Relatioer - som tabeller Relatioe har attribut och är e mägd av tupler Attribut Attributvärde Studet Tupel Pr Nam epost 801212 Aa B abe 850101 Oskar A oska Relatioer som tabeller tupel = ordad lista av attributvärde. <Oskar, 800110, 0702345678> atalet värde kallas tupels grad. attributvärdea är atomära (odelbara).

Relatiosschema Alterativa otatioer: relatiosam (attributam1, attributam2,... attributamn). exempel: Perso (Nam, Adress, Telefo, Födelsedatum, Kö) Perso Nam Adress Föddat Kö Tel Perso Nam Adress Föddat Kö Tel Flera relatioer E databas består av flera relatioer med koppligar mella sig. Ex: studeter och kurser Studet Nam Adress Föddat epost Kurs Kurs Kurskod Nam Examiator Istitutio Referesattribut pr koto e-am tel.r. Uiversitetet: ER-diagram e-am am am f-am tjästerum f-am studet aställd e-post 1 ast.r löse m reg. på hålls av jobbar på betyg am kurskod 1 am läsperiod kurs asv. av 1 istitutio 1 driver projekt år poäg adress budget am tidspla

Frå ER till Relatiosmodell 1. För varje etitetstyp: defiiera motsvarade relatiosschema. Varje tupel i relatioe kommer att represetera e etitetsistas Valiga attribut blir attribut (kolumer) (1) Sammasatta attribut represeteras av delara (8) Multipelattribut blir e ege relatio med yckel till etitetstype och attributet ekelt (9) Svag etitetstyp får som extra attribut yckel till de ägade etitetstype (7) Frå ER till Relatiosmodell 2.För varje sambadstyp: 1:N sambad; lägg i 1-etitetes yckel i relatioe för N-etitete (2) 1:1 sambad; lägg i yckel till de ea etitete i de adras relatio (3) N:M sambad blir e ege relatio beståede av ycklara till båda etitetera (4) Flervägssambad blir e ege relatio som N:M (5) Ägadesambad igoreras Attribut på sambad läggs i i respektive relatio (6) Frå ER till Relatiosmodell 3.Markera ycklar Relatiosmodelle - ycklar ER-modelle har vissa ycklar (yckelattribut på etitetstyper) E viss tupel i relatiosmodelle represeterar e viss etitetsistas i ER-modelle. Relatioer som ej är baserade på etitetstyper vad har de för ycklar? Ka det fias alterativ?

Nycklar: Defiitioer Om ågot eller ågra av attribute i e relatio ka avädas för att idetifiera hela tupel så är det/de attribute e yckel E yckel är alltså e delmägd av attribute i e relatio. Superyckel Om k är e delmägd av attribute i e relatio R såda att k ka avädas för att idetifiera tuplera i R så är k e superyckel för R. Kadidatyckel = miimal superyckel E superyckel k är miimal om vi ite ka ta bort ågot attribut ur k så att de ya k, k', fortfarade är e superyckel. Geerellt fis det flera kadidatycklar för e relatiostabell De attribut som igår i ågo kadidatyckel kallas primattribut Primäryckel De kadidatyckel som väljs av databasdesiger som huvudyckel för e relatiostabell R kallas primäryckel eller yckel till R. Aväds i adra relatioer för att referera till e viss tupel i R. Primäryckel markeras i relatiosschemat

Frå ER till Relatiosmodelle : Nycklar Relatioer baserade på: valig etitetstyp svag etitetstyp multipelattribut Får som primäryckel: yckel ur ERdiagrammet. yckel till de ägade etitestype plus de partiella yckel. yckel till etitetstype plus attributet självt. Frå ER till Relatiosmodelle : ycklar, forts Relatioer baserade på: sambadstyp, M:N flervägssambadstyp Får som primäryckel: ycklara ur de två etitetstypera ycklara till de sammabuda etitetstyper som ka igå i flera sambadsistaser Frå ER till Relatiosmodelle 4. Kotrollera redudas: Förekla vid behov. Normalisera (jfr föreläsig om detta) 5. Specificera itegritetsvillkore, t.ex: att värdea för ett attribut måste vara ur attributets domä, och atomiskt. att referesattribut måste referera till e existerade tupel. sematisk itegritet Uiversitetet: Relatioer Studet (pr, e-am, f-am, epost, koto, löse) Kurs (am, kurskod, läsår, period, poäg, kursasv, istitutio) Aställd (f-am, e-am, astr, rum, telefo, istitutio) Istitutio (am, adress) Projekt(istitutio, am, tidspla, budget) RegistreradPå (studetpr, kursr, läsår, betyg)

Kokbok Exempel 2 1. Etitetstyper -> relatioer (kom ihåg alla attribut) 2. Sambadstyper i i relatioer eller blir ega relatioer 3. Nycklar 4. Redudaskotroll, ormaliserig 5.Itegritetsvillkor Ett större varuhusföretag har aställda, med am och lö, som arbetar på varuhusets olika avdeligar (am och ummer), där ma säljer olika varor (am och ummer). Varje avdelig har e chef, e av de aställda. Varora levereras av olika leveratörer (am och adress), och flera leveratör ka leverera samma varor, me till olika priser. Exempel 2, forts Exempel 2 ER-diagram Varuhuset har hemkörigsservice. Kuder som har koto hos varuhuset och amält e adress för leveraser ka beställa varor och få dem levererade hem. Varje såda beställig har ett orderummer och ett orderdatum, utöver lista av igåede varor (aturligtvis ka ma beställa mer ä e av varje vara vid ett visst tillfälle).

Exempel 2: Relatioer EMPS(ENAME, SALARY) MANAGERS(ENAME) DEPTS(DNAME, DEPT#) SUPPLIERS(SNAME, SADDR) ITEMS(INAME, ITEM#) ORDERS(O#, DATE) CUSTOMERS(CNAME, CADDR, BALANCE) Exempel 2, forts WORKS-IN (N:1) DEPT# läggs i i EMPS MANAGES (1:1) ENAME läggs i i DEPTS CARRIES (1:N) DEPT# läggs i i ITEMS SUPPLIES(SNAME, ITEM#, PRICE) INCLUDES(O#, ITEM#, QUANTITY) PLACED-BY (N:1) CNAME läggs i i ORDERS (IS-A behövs ite är MANAGERS fis) Exempel 2, ycklar 1. EMPS(ENAME, SALARY, DEPT#) 2. MANAGERS(ENAME) 3. DEPTS(DNAME, DEPT#, ENAME) 4. SUPPLIERS(SNAME, SADDR) 5. ITEMS(INAME, ITEM#, DEPT#) 6. ORDERS(O#, DATE, CNAME) 7. CUSTOMERS(CNAME, CADDR, BALANCE) 8. SUPPLIES(SNAME, ITEM#, PRICE) 9. INCLUDES(O#, ITEM#, QUANTITY) Exempel 2, forts: Kotrollera redudas och itegritetsvillkor: EMPS(ENAME, SALARY, DEPT#) MANAGERS(ENAME) DEPT(DNAME,DEPT#, ENAME) E relatio med bara ett attribut? Är ite MANAGERS e delmägd av EMPS? Me om vi kodar MANAGERS som attribut i EMPS: sematiskt itegritetsvillkor behövs