Webprogrammerig och databaser Koceptuell datamodellerig med Etitets-Relatiosmodelle Begrepps-modellerig Mål: skapa e högivå-specifikatio iformatiosiehållet i database Koceptuell modell är oberoede DBMS (dvs. ige häsy till implemetatiosdetaljer) ER-modelle Eligt ER-modelle består e domä etiteter (saker) som har sambad med varadra Varje etitet har ett atal attribut och varje attribut har ett visst värde. Exempel: uiversitetsstudier Krspec Atag att uiversitetet behöver ett databassystem för att hålla rätt studeter som går kurser, vem som ger vilka kurser och var de persoera är aställda (vilke istitutio). Datakr: För att represetera studeter behöver vi lagra (för och efter skiljs så att ma ekelt ka sortera efter), persoummer för att få ett uikt id, koto och löseord. Exempel: krspec forts. Kurser har kurskoder,, ges e viss period och ägs (asvaras för) e viss istitutio. De ger ett visst atal poäg och hålls ågo som är aställd högskola. Olika år ka e viss kurs ges olika läs-perioder och olika persoer. Istitutioe som asvarar för kursera är ite ödvädigtvis samma istitutio som lärare är aställd. Exempel: krspec forts: Fuktioskr: Ma ska kua söka ut vilka studeter som går e viss kurs och vilket betyg de fått kurse. Äve vem som udervisar vilke kurs är viktigt och var de är aställda. Vi vill kua hitta telefoummer och iformatio om var aställda har sia tjästerum.
Exempel: krspec forts: Vi vill också kua skicka epost till studeter och hjälpa dem hålla rätt sia löseord. Vi vill också lagra iformatio om vilka betyg studeter får de kurser de går. Mycket iformatio Hur strukturera detta? ER-modelle Studera de värld som skall modelleras och idetifiera de: Etitetstyper Sambadstyper Attribut som behövs för problemlösige. Etitetstyp E typ företeelse som behöver represeteras. E idivid de type är e etitetsistas Etitetsistas Aa Axelsso Globe Databaser - desig och prog. Nokia AB E=MC 2 Etitetstyp Perso Byggad/hus Kurs Företag Idé Sambadstyp Represeterar ett förhållade mella två eller flera etitetstyper. Om etitetsistasera ka höra ihop fis det e sambadsistas mella dem. Sambadstype är mägde sådaa sambadsistaser. Ex: studeter som går kurser: Går-kurs är e sambadstyp Exempel: uiversitetsstudier Hur hitta etitetstyper och sambadstyper? ER-modell, otatio ER-modeller beskrivs oftast i diagramform. Tips: Sut föruft Etitetstyper är ofta substativ Meigar där etitetstypera kombieras beskriver ofta sambadstyper. Går
Attribut Attribut: exempel De egeskaper hos etitetstyper som vi är itresserade represeteras som e etitetstyps attribut. Varje attribut har e domä (värdemägd) som ager de tillåta värdea för attribute. Lärare Aa Axelsso ka t.ex. beskrivas som följade etitet: Attribut Nam Aställigsr 234 Adress Attributvärde Aa Axelsso Studetväge 8, tr Telefo 0-222 Kurser 729G68, 732G6 Värde I e ER-modell brukar ma idetifiera tre slags värde: ekla (ex. aställigsummer) sammasatta (ex. Adress) multipla (ex. kurser) ull Nyckelattribut Idetifierig yckelattribut igår i ERmodellerig och databasdesig. Ett attribut med uika värde för varje istas e etitetstyp kallas yckelattribut Om iget attribut esamt är uikt för varje istas? Flera tillsammas (gör sammasatt). markeras i ER-diagrammet med uderstrykig attributet Nyckelattribut i exemplet? Sambadstyper: kardialitet Specificerar atalet sambadsistaser e viss typ som e etitetsistas ka igå i. För biära sambadstyper (siffra skrivs vid respektive etitetstyp i diagrammet): e-till-e (:) e-till-måga (:N) måga-till-e (N:) måga-till-måga (M:N) Kardialitet för flervägssambad uttrycks i ord Sambadstyper: deltagade specificerar om e etitetsistas måste ha ett sambad via sambadsistase. Om alla etiteter e viss typ måste delta i ett sambad de type kallas det totalt/fullstädigt deltagade. Om alla etitetsistaser ite måste delta i ågo sambadsistas är det partiellt deltagade. Totalt deltagade ritas i diagrammet som dubbelstreck mella etitetstyp och sambadstyp.
Uiversitetsexemplet e- f- läsperiod betyg år kurskod e-post poäg kurs pr reg. löse koto studet m asv. hålls e- f- istitutio adress jobbar aställd tel.r. Exempel: uiversitetsstudier etitetstyp uta id Atag att rektor utlyser pegar för pedagogiska projekt, som istitutioera ka arragera. Ma vill kua söka efter alla olika projekte, kolla deras tidsplaer och budgetar. Projekte idetifieras med. För varje istitutio fis e kotroll att e är uika, me istitutioera pratar ite med varadra. tjästerum ast.r Svag etitetstyp Är e etitetstyp vars istaser ite ka idetifieras uta att blada i e istas e aa etitetstyp. De idetifierade etitetstype kallas ägade etitetstyp och sambadet som aväds vid idetifikatio kallas ägade sambad och e svag etitetstyp måste ha totalt deltagade i det ägade sambadet. Idetifierade attribut i de svaga etitete kallas partiell yckel. ER-diagram, exemplet e- f- läsperiod betyg år kurskod e-post poäg kurs pr reg. löse koto studet m asv. hålls e- f- istitutio adress jobbar aställd driver tel.r. tjästerum ast.r projekt budget tidspla Verifiera ER-modelle mot täkta frågor Vilka studeter är registrerade e viss kurs och vilka betyg har de fått? Vem håller e viss kurs, var är de aställd? Vilke istitutio ger e viss kurs? Vilka kurser ges e viss istitutio? Vilka lärare har kurser för e viss studet? Desigbeslut att täka vid desig begreppsmodell: Udvik redudas. ex: attribut som fis flera etitetstyper sambadstyper som går att härleda Ekelt är vackert. Udvik oödiga etitetstyper. etitetstyper med :-sambad ka vara variater samma etitetstyp. etitetstyper som bara förbider adra etitetstyper. Vilka lärare har kurser för e viss istitutio? å adra sida: iga lösa etitetstyper
Avvägigar: Fler desigbeslut attribut eller sambad med aa etitetstyp? flera ekla attribut eller ett sammasatt? flervägssambad eller e etitetstyp i mitte? Summerig: desigprocesse hittills Skapa krspecifikatio Skilj ut datadesig frå fuktiosdesig Skapa ER-modell: etitetstyper (t.ex via substativ) sambadstyper, kardialitet och deltagade attribut till etitetstyper ycklar Summerig forts: desigprocesse hittills Graska modelle redudas ekelhet kotrollera mot trasaktioer Ett exempel till Företaget består ett atal deligar. Varje delig har ett, ett ummer, e chef och ett atal aställda. Startdatum för varje deligschef registreras. E delig ka ha flera lokaler. Varje delig fiasierar ett atal projekt. Varje projekt har ett, ett ummer och e lokal. För varje aställd lagras följade iformatio:, persoummer, adress, lö och kö. Ett exempel till, forts E aställd jobbar för edast e delig me ka jobba med flera projekt som ka tillhöra olika deligar. Iformatio om atalet timmar (per vecka) som e aställd jobbar med ett projekt sparas. Iformatio gällade de aställdes chef sparas också. För varje aställd lagras iformatio om familje försäkrigsskäl. För varje familje medlem lagras för, födelsedatum, kö samt relatio till de aställde. Frågor till exempel 2 Herr Ohlsso är sjuk idag, sök ut alla projekt där ha jobbar så att ma ka sätta upp aslag i lokale om att ha är sjuk. De aställda som har bar uder 2 år ska få ett erbjudade om barförsäkrig (lista aställda med bar uder 2) Projekt X behöver att ma lägger mer tid. De chefer som har folk som jobbar projekt X ska sammakallas för förhadligar.