LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.

Slides:



Advertisements
Liknende presentasjoner
Kombinatorikk for lærerstudenter
Advertisements

Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Tabeller av objekter Klassen ArrayList
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Hvordan er et atom bygd opp?
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
1 Sannsynlighetsregning Gjenfinningssystemer og verktøy II Jon Anjer.
Kontoinnstillinger Slik kommer du til «Kontoinnstillinger»:
Fremtidsbilder og familiens betydning Noen hovedfunn og perspektiver.
Vigo Driftsorganisasjon IKS
Mange til mange sammenhengen
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.
Modeller for design av Web-Applikasjoner ➔ Kapittel 2: Data Modell ➔ Kapittel 3: Hypertekst Modell Av Eskil Saatvedt og Arianna Kyriacou.
Avansert SQL og problemløsning
Grunnleggende spørsmål om naturfag
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Databaseteori.
1 Kap 04 Datamodellering. 2 Datamodellering -Et språk for å analysere og beskrive virkeligheten. -En metode for å beskrive naturlige sammenhenger i data.
Normalformer – avleggs?
Prototyping & Use Case Software Engineering Gruppe
Unified Process – Elaboration Iterasjon 3
Databasehåndtering med MySQL
Eksempel AOA (Activity On Arc)
Diagnostisk undervisning  Viktig begrep: misoppfatning  En misoppfatning er en uutviklet begrepsforståelse eller en overgeneralisering.
Diagnostisk undervisning
Datamodellering Man is a knot, a web, a mesh into which relationships are tied. Only those relationships matter Saint-Exupéry.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Relasjonsmodellen, del II
Normalisering Framstillingen avviker noe fra læreboka,
Se ellers læreboka, kap , side
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Klargjøring fra forrige gang
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Siste forelesning ER/EER-modellering
Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
In 135 Datamodellering og databaser Introduksjon, Enkeltentiteten, Informasjon Ola Bø.
LC238D Datamodellering og databaser Else Lervik, september 2011 Forelesning 6, Uke 38 Objektorientering i ER-modeller.
Presentasjon av hovedprosjekt 23E Student:Veileder:Oppgavestiller: Ronny A. HansenArne B. MikalsenNordborg Kristen Videregående Skole
1 Kap 02 Relasjonsdatabaser. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk.
Kap 04 Datamodellering. Datamodellering -Et språk for å analysere og beskrive virkeligheten. -En metode for å beskrive naturlige sammenhenger i data som.
Forbindelser Diagrammer i UML består av ting med forbindelser
IT for Medisinsk sekretær Kai Hagali. Hva er fletting  Koble en database(Tabell) til ett dokument  En eller flere mottakere  Annet bruk en dokument.
Structured Query Language Kræsj-kurs
Bygge ontologier med ZTM Et lite eksempel med prosjekter, personer og dokumenter.
CLASS FRONTER En begynnerinnføring.
Nettbasert læringssystem Evaluering av LUVIT i bruk ved HiO
ER-modellen, notasjon ENTITETS- Attributter TYPE Relasjon
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
storoppgave OPPGAVE3: bibliotekdatabase
Introduksjon I126 Databaser og datamodellering Høsten 2000 Institutt for informatikk Universitet i Bergen.
Databaser II – Online bokdatabase
v/Bård Henry Moum Jakobsen
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Spørsmål og aktiviteter på ulike nivåer
Hvordan føre kilder?.
Prosjekt nr: 057EHovedprosjekt, 2HKI vår Hovedprosjekt vår 2002 Tittel:RMC på web Title:RMC goes to web.
Se ellers læreboka, kap , side
En formel er gyldig hviss den sann i alle tolkninger Utsagnslogikk Tolkning = linje i sannhetsverditabell Altså: En formel er gyldig hviss den har T i.
Online løpssøknad via ”Klubben Online” For O-sesongen 2006 skal alle orienteringsgrupper søke om sine arrangementer via elektronisk søknadsskjema i ”Klubben.
Trondheim Lytte- og Læresenter. Sammendrag Prosjektet ble iverksatt fordi Trondheim Lytte- og Læresenter så behovet i å ha et elektronisk kundearkiv i.
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
Småbarnspedagogikk Fordypningsenhet vår 2007 Pedagogisk arbeid med barn fra null til tre år.
UFLP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
INF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser
Utskrift av presentasjonen:

LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models Oppsummering: Å oversette fra ER- til relasjonsmodellside 2 Spesialisering og generaliseringside 3-6 Komposisjonside 7 Aggregeringside 8 Se ellers læreboka, side

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 2 Oppsummering: Å oversette fra ER-modell til relasjonsmodell 1. Lag en relasjon pr. entitetstype. 2. Oversett en-til-en-sammenhengstyper ved å legge inn fremmednøkkel på den ene av sidene. Hvis det er eksistensavhengighet (NOT NULL) på en av sidene, skal denne brukes. UNIQUE på fremmednøkkelen sikrer 1-multiplisiteten på motsatt side. Se side 193 i læreboka. 3. Oversett en-til-mange-sammenhengstyper ved å legge inn fremmednøkkel på mange-siden i forholdet. Se side Mange-til-mange-sammenhengstyper gir alltid opphav til en egen relasjon ("koplingstabell"). Se side Fremmednøkler fra begge sidene kommer inn og danner til sammen primærnøkkelen i en slik relasjon. (Alternativt kan man ha løpenummer som primærnøkkel. Fremmednøklene må likevel være med.) Det er mulig med ekstra attributter i tillegg, da vises det i ER- modellen ved en entitetstype med stiplet linje fram til den aktuelle sammenhengstypen. Eksempler på sammenhenger mellom tre entitetstyper (trinær sammenheng) samt entiteter av samme type (rekursjon og nettverk), samt identitetsavhengighet, se forelesning 4. I dag kommer flere regler: Hvordan overføre objektorientering fra UML-diagrammet til relasjonsmodellen? andelseier(and_eier_nr, fornavn, etternavn, telefon, ansiennitet) leilighet(leil_nr, ant_rom, ant_kvm, etasje, and_eier_nr*) student(studnr, fornavn, etternavn, adresse, postnr*) poststed(postnr, sted) student(studnr, etternavn, fornavn, adresse, telefon, fdato, epost) fag(fagkode, fagnavn, eks_dato, vekttall, brukernavn, passord) fagvalg(studnr*, fagkode*)

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 3 Spesialisering og generalisering •Spesialisering er prosessen for å finne forskjellene mellom entitetstyper ved å identifisere karakteristiske trekk ved dem. •Generalisering er prosessen som går ut på å redusere forskjellene mellom entitetstyper ved å identifisere deres fellestrekk. •Spesialisering viser roller. •Oversetter til relasjonsmodellen: person(person_id, etternavn, fornavn, adresse) forelder(person_id*, telefon_jobb, telefon_hjemme, stilling) laerer(person_id*, telefon_kontor, utdanning, ansiennitet) elev(person_id*, fodselsdato, morsmaal) Skisser SQL-setninger for • innlegging av ny forelder/laerer/elev • uthenting av all info om en forelder/laerer/elev

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 4 Overlappende / disjunkte delmengder {AND} betyr overlappende spesialisering, dvs at en person kan være f. eks. både forelder og lærer. {OR} betyr disjunkt spesialisering, dvs at hver person enten er forelder, lærer eller elev. Kan kravet om disjunkte mengder framkomme i relasjonsmodellen, eventuelt ved generering av databasen med SQL? person(person_id, etternavn, fornavn, adresse) forelder(person_id*, telefon_jobb, telefon_hjemme, stilling) laerer(person_id*, telefon_kontor, utdanning, ansiennitet) elev(person_id*, fodselsdato, morsmaal)

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 5 Total/delvis deltakelse person(person_id, etternavn, fornavn, adresse) forelder(person_id*, telefon_jobb, telefon_hjemme, stilling, status) laerer(person_id*, telefon_kontor, utdanning, ansiennitet) elev(person_id*, fodselsdato, maalform) Delvis deltakelse betyr at det kan finnes entiteter i superentitetstypen som ikke er med i noen av subentitetstypene. Total deltakelse betyr at alle entitetene i superentitetstypen må være med i minst en av subentitetstypene. Kan disse kravene framkomme i relasjonsmodellen, eventuelt ved generering av databasen med SQL?

Restriksjoner på spesialiseringen kan kombineres Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 6 Disjunkt (OR)Overlappende (AND) DelvisEn superentitet deltar i 0 eller 1 subentitetstype (0..1) En superentitet kan, men behøver ikke, delta i 1 eller flere subentitetstyper (0..*) TotalEn superentitet deltar i eksakt 1 subentitetstype (1..1) En superentitet deltar i minst 1 subentitetstyper (1..*)

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 7 Et større eksempel 3..7

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 8 Komposisjon avis(avisnavn,....) annonse(annonse_nr,...., avisnavn*) prosjekt(prosjnr, prosjektnavn, budsjett, forbruk) prosjektrapport(prosjnr*, dato, tittel, forfattere, sammendrag, innhold) Identitetsavhengighet En komposisjon er en meget sterk en-del-av-binding. Delene kan ikke leve uten at den delen de inngår i eksisterer. Delene kan kun inngå i én kompositt. Komposisjon innebærer eksistensavhengighet. NOT NULL Forskjell mellom de to Avis- Annonse- modellene? Støtte i relasjonsmodellen og SQL for komposisjon? For eksistensavhengighet? For identitetsavhengighet?

Datamodellering og databaser, databasedelen Else Lervik, september 2012 side 9 Aggregering •Aggregering er en løsere sammenheng enn komposisjon. De enkelte delene kan leve videre selv om den entiteten de er en del av, forsvinner. •Hva skiller dette fra en ”vanlig” sammenheng, dvs en strek uten aggregerings-rombe? husstand(husstand_id, adresse, boareal) person(person_id, etternavn, fornavn, epost, husstand_id*) kan være NULL