Obbligatorisk oppgave 2 Slektsdatabase



Like dokumenter
Etternavn Fornavn Født Død Annet Felt

Normalisering. Hva er normalisering?

Normalisering. Partielle avhengigheter Transitive avhengigheter Normalformer: 1NF, 2NF, 3NF, BCNF Normaliseringsstegene Denormalisering

Normalisering. Hva er normalisering?

EKSAMEN 6102 / 6102N DATABASER

Normalisering. Hva er normalisering?

EKSAMEN DATABASER

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Det gjøres unntak fra oppmøteplikten og legitimeringsplikten for følgende grupper:

Det gjenstår nå kun å definere hva som skal være primærnøkkel i rolle rabellen.

UNIVERSITETET I OSLO

Databaser. - Normalisering -

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

2 Familiemønstre og samlivsformer, livsfaseseremonier. 5 Barns rettigheter og foreldrerollen. 8 Demokrati og verdier

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

UNIVERSITETET I OSLO

5602 DATABASER Bokmål/nynorsk. 17 (inkludert denne forsiden) Eksamensresultatene blir offentliggjort på Studentweb.

Datamodellering 101 En tenkt høgskoledatabase

Hjelp til MV-Login Administrasjon MikroVerkstedet A/S

1. Innføring i bruk av MySQL Query Browser

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Kunnskapsorganisasjon og gjenfinning 1

Databaser: Relasjonsmodellen, del I

Datamodellering med ORM

Datamodellering og databaser SQL, del 2

INF3100 V2015 Obligatorisk oppgave nr. 1

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Kommunal bolig - søknad

Del 1: ER-modellering og databaseteori

Farskap. foreldreansvar

Modeller for design av Web-Applikasjoner

Brukerveiledning lisensregistrering 2007

Oppgave 3 - normalisering

Datamodellering og databaser SQL, del 2

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Undersøkelse om familiepraksis og likestilling i innvandrede familier for Fafo

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

IN3020 V2019 Obligatorisk oppgave nr. 1

1. Normalisering Kommentarer til læreboka

BRUKERDOKUMENTASJON. SMS-kommunikasjon VERSJON 1 ( )

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

INF1300 Introduksjon til databaser

A: Hovedmenyer. A1: Brukersteder. Dette er din åpningsside. Den viser hovedmenyene i systemet.

UNIVERSITETET I OSLO

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2008

Datamodellering og databaser SQL, del 2

Datamodellering med E/R

Familierapport for Ole Haftorsen Grenne Side 1 Ektemann Ole Haftorsen Grenne [99]

Oppgaver Oppgave a: Sett opp mulige relasjoner

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

Databasedesign HVA? HVORDAN? E/R diagram. Begrepsmessig databasedesign. Logisk databasedesign. Fysisk databasedesign

EKSAMEN 6102 / 6102N DATABASER

INF3100 V2016 Obligatorisk oppgave nr. 1

Utøverregistrering på Internett: Brukerveiledning lisens

DIS-Norge Databehandling i slektsforskning

Brukerveiledning lisens

Innholdsfortegnelse. Online EDB AS Support Side 2

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.

Brukermanual. System for oversiktslister. Entreprenører

SLUTTPRØVE 5602 DATABASER I (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4

BRUK AV KONFIRMANTDATA

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

>>21 Datamodellering i MySQL Workbench

Østerå gårds- og slektshistorie Spørreskjema

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

INF130: Datahåndtering og analyse

INF1300 Introduksjon til databaser

Repetisjon: Normalformer og SQL

ISY G-prog Linker Endringsliste

Familierapport for Ingebrigt Andersen Monset og Marit Larsdatter Solbu

Formell demografi 1. Nico Keilman. Demografi grunnemne ECON 1710 Høst 2012

Struktur. Avsender (1,1) (+ åpning 1,1-3) Mottager (1,4) Hilsen (1,4) Takkebønn (ikke i Titus) Hoveddel (1,6-3,11) Avslutning (3,12-15)

Datamodellering med UML (forts.)

UNIVERSITETET I OSLO

Dagens tema: Oppdateringsanomalier Normalformer

Familiemønster og samlivsformer, livsfaseseremoniar. Barns rettar og foreldrerolla. Demokrati og verdiar

IN2090 Databaser og datamodellering. Databasedesign og normalformer

EKSAMEN DATABASER

Oppdateringsanomalier Normalformer

HØGSKOLEN I SØR-TRØNDELAG

PEDAGOGISK PSYKOLOGISK TJENESTE for Risør, Tvedestrand, Vegårshei og Gjerstad kommune Postboks 158, 4952 Risør, Tlf: Fax:

DU er med dette invitert til å være konfirmant i Skårer kirke! DU er med dette invitert til å være konfirmant i Skårer kirke

9-14. Tid: Målform: Sidetall: Hjelpemidler: Ingen. Merknader: Vedlegg: en lapp og. Avdeling

HØGSKOLEN I BERGEN Avdeling for ingeniarutdanning

ISY G-prog Beskrivelse Endringsliste

Blindpar. Tilfeldig bordplassering. Sittepar, flyttepar og turneringsledere. Skriv ut startliste. Turneringsmeny

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Endringer i Nettpensjon

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet. Løsningsforslag

NLM. Trossamfunn ILL: ANDREY KUZMIN / FOTOLIA.COM

Konfirmant. Kirken i Skedsmo, Pb. 313, 2001 Lillestrøm Velkommen! pamelding fortsetter: Andre opplysninger (sykdommer, allergier o.l.

Store forskjeller i ekteskapsmønstre blant innvandrere i Norge

Brukermanual. System for oversiktslister. Entreprenører

Kom i gang med Miljøagentenes nye medlemsregister.

En kort innføring i Lotte-Typehushold

Testrapport. Studentevalueringssystem

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Transkript:

Obbligatorisk oppgave 2 Slektsdatabase 5602 Databaser Gruppenavn LEK Lars- Martin Hejll Eirik Simensen Krister Moen 113495 113452 113055 H2011

Oppgave 1 Begrepsmessig datamodell (E/R- diagram) E/R- Diagram Physical modell For bedre oppløsning og størrelse se vedlagt filer E/R- Diagram.jpg, PD- E/R- Diagram.jpg og E/R- modell.cdm

Forretningsregler: 1) Alle personopplysninger er begrenset til mellom 1500 og 1900- tallet I oppgaveteksten er det oppgitt at det er lite sannsynlig at personer født før 1500 er nevnt i norske kirkebøker. Direktør Emanual Desperados har gitt føringer for at det ikke skal være mulig å registrer personer født etter 1900 av personvernhensyn. 2) Dødfødt i Begravelse tabell skal være Boolean (YES/NO) Default verdi No 3) Kjønn i person tabell, lovlige verdier: Mann eller Kvinne 4) Obligatoriske felter. Færrest mulig for å godta evt. mangefulle/svake opplysninger. Forutenom primærnøkler er Kjønn, fornavn, etternavn, fødselsdato og fødested (livskonstanter som alltid er tilgjengelige) satt til obligatoriske felter. (vi redigerte til dette etter importering til access. 5) Personnummeret skal være 1,3,5,7 eller 9 for kvinner og 2,4,6,8, eller 0 for menn. 6) Sivilstatus har kun fire betegnelser "ugift", "gift", "enke" og "enkemann" 7) I tabellen Begravelse skal PNR_Far oppgis vis den døde er et barn (18år) og PNR_Brud/brudgom oppgis som verge vis den døde var gift. 8) Dødsdato mindre enn begravelsesdato 9) Konfirmasjonsdato minst 12 år større en fødselsdato 10) Fødselsdato mindre en dødsdato 11) Fødselsdato mindre en dåpsdato 12) Barns fødselsdato minst 15 år større enn foreldrenes fødselsdato 13) Oppdatere sivilstatus og nytt bosted etter at en vielse er registrert 14) Innhenting av Pnr_Far og Pnr_Mor (Pnr_Verge) automatisk når PNR blir registrert ved hendelsene Konfirmasjon, Dåp og begravelse.

Oppgave 2 Normalisering Vielse (VielseDato, VielseSted, ParretsNyeBosted, BrudgomFornavn, BrudgomEtternavn, Brudgom Fødselssted, Brudgom FødselsDato, Brudgom Bosted, Brudgom Sivilstatus, BrudFornavn, BrudEtternavn, BrudFødselssted, BrudFødselsdato, BrudBosted, BrudSivilstatus) Funksjonelle avhengigheter: BrudFornavn, BrudEtternavn, BrudgomFornavn, BrudgomEtternavn, VielsesDato à <alle kolonner> BrudFornavn, BrudEtternavn à BrudFødselsdato, BrudFødested BrudFornavn, BrudEtternavn, VielsesDato à BrudSivilstatus BrudFornavn, BrudEtternavn, VielsesDato à BrudBosted BrudgommFornavn, BrudgommEtternavn à BrudgommFødselsdato, Brudgomm Fødested BrudgommFornavn, BrudEtternavn, VielsesDato à BrudgommSivilstatus, BrudgommFornavn, BrudEtternavn, VielsesDato à BrudgommBosted BrudFornavn, BrudEtternavn, BrudgommFornavn, BrudgommEtternavn, Vielsesdato à Vielsessted BrudFornavn, BrudEtternavn, BrudgommFornavn, BrudgommEtternavn, Vielsesdato à Parrets nye Bo BrudFornavn, BrudEtternavn, BrudgommFornavn, BrudgommEtternavn, à VielsesDato Tabellstruktur: 2NF Ingen Anttributter er partielt avhengig av primærnøkkelen Vielse (VielseDato, VielseSted, BrudgomFornavn, BrudgomEtternavn, BrudFornavn, BrudEtternavn) Brud (Brudfornavn, BrudEtternavn, Brudfødselsdato, BrudFødested) Brudgomm (BrudgommFornavn, BrudgommEtternavn, BrudgommFødselsdato, BrudgommFødested) BrudBosted ( BrudFornavn, BrudEtternavn, VielsesDato, BrudBosted) BrudgommBosted (BrudgommFornavn, BrudgommEtternavn, VielsesDato, BrudgommBosted)

BrudSivilstand (BrudFronavn, BrudEtternavn, Vielsesdato, BrudSivilstan BrudgommSivilstand ( BrudgommFornavn, BrudgommEtternavn, Vielsesdato, BrudgommSivilstand) Parets nye bosted ( BrudFornavn, BrudEtternavn, BrudgommFornavn, BrudgommEtternavn, Parets nye Bosted) Tabellstruktur: B/C med fornuftig utforming Vielse ( VielseDato, VielseSted, BrudFornavn* BrudEtternavn*, BrudgommFornavn*, BrudgommEtternavn*) Person (Fornavn, Etternavn Fødselsdato, Fødested) Bosted (Dato, Fornavn*, Etternavn*, Bosted) Sivilstand (Dato, Fornavn*, Etternavn*, Sivilstand) Burd og Brudgomm kunne med fordel bli identifisert med PersonNr. Sted kunne med fordel bli fremednøkkel mot en sted tabell. Dette ville ført til en slik tabell: Vielse ( Dato, Sted, BrudPNr*, BrudgommPNr*) PNr (PNr, Fornavn, Etternavn, Fødselsdato, Fødested) Bosted (Dato, PNr*, Sted) Sivilstand (Dato, PNr*, Sivilstand) Oppgave 3 Access- database Indekser: Vi oprette Indekser i tabellen Person i atributtene Fornavn og Etternavn. Vi indeksert disse atributtene for å gjøre person søkefunksjonen mer effektiv. Vi tillot duplisering med tanke på at fler personer kan ha det samme navnet. Forretningsregler: 1) Alle personopplysninger er begrenset til mellom 1500 og 1900- tallet >=#01.01.1500# And <#01.01.1900# I oppgaveteksten er det oppgitt at det er lite sannsynlig at personer født før 1500 er nevnt i norske kirkebøker. Direktør Emanual Desperados har gitt føringer for at det ikke skal være mulig å registrer personer født etter 1900 av personvernhensyn. 2) Dødfødt i Begravelse tabell Is Not Null Or "No" Or "Yes" Default verdi er her satt til No 3) Kjønn i person tabell (lovlige verdier) Is Not Null Or "Mann" Or "Kvinne"

4) Obligatoriske felter. Færrest mulig for å godta evt. mangefulle/svake opplysninger. Forutenom primærnøkler er Kjønn, fornavn, etternavn, fødselsdato og fødested (livskonstanter som alltid er tilgjengelige) satt til obligatoriske felter. 5) Personnummeret skal være 1,3,5,7 eller 9 for kvinner og 2,4,6,8, eller 0 for menn. IIf(([Kjønn]="Mann");[PNR] Mod 2=1;IIf(([Kjønn]="Kvinne");[PNR] Mod 2=0)) 6) Sivilstatus har kun fire betegnelser "ugift", "gift", "enke" og "enkemann" Is Null Or "gift" Or "ugift" Or "enke" Or "enkemann" 7) I tabellen Begravelse skal PNR_Far oppgis vis den døde er et barn (18år) og PNR_Brud/brudgom oppgis som verge vis den døde var gift. 8) Dødsdato mindre enn begravelsesdato 9) Konfirmasjonsdato minst 12 år større en fødselsdato 10) Fødselsdato mindre en dødsdato 11) Fødselsdato mindre en dåpsdato 12) Barns fødselsdato minst 15 år større enn foreldrenes fødselsdato 13) Oppdatere sivilstatus og nytt bosted etter at en vielse er registrert 14) Innhenting av Pnr_Far og Pnr_Mor (Pnr_Verge) automatisk når PNR blir registrert ved hendelsene Konfirmasjon, Dåp og begravelse. En fellesnevner for noen av de forretningsreglene som ikke lot seg implementere, grunner i at kolonnene betingelsene strekker seg over flere tabeller. Valg i forbindelse med generering av databasen Vi valgte å samle alle livskonstanter i tabellen Person. Her samlet vi i tillegg informasjon om foreldre ved hjelp av egenkoplinger. Det ble opprettet fire entiteter for de fire forskjellige hendelsene, Dåp, konfirmasjon, Vielse og begravelse. Hendelsen flytting implementerte vi ved hjelp av entiteten Bosted, som igjen er en svak entitet mot entiteten Person. På denne måten fikk vi også tilknyttet den tidsvarierende opplysningen, bosted mot person. For den tidsvarierende opplysningen sivilstand (Eksteskapelig status) ble det opprette en svak entitet (sivilstand) mot entiteten person. Vi har ikke åpnet for skilsmisse, men har tillat fornyelse av ekteskap. Vi opprettet to entiteter (Sted og Matrikkel) for å definere sted, ved en hendelse og ved flytting/bosted. Entiteten Matrikkel er svak mot entiteten Sted.

I tabellen Begravelse opprettet vi attributten P.nrVerge for å være fleksibel for både ektefelle og far. Øvrige oppgaver Oppgave1 Vi startet utviklingen av den begrepsmessige datamodellen med penn og papir og satt opp ulike forslag til entiteter og attributter. Vi oppdaget fort at informasjonen ble omfattende. Vi byttet ut penn og papir med tavle og kritt slik at hele ER- Modellen ble vist på en tavle. På denne måten ble det mer oversiktlig og hele gruppen kunne delta med innspill. Når modellen begynte å bli ferdigstilt, overførte vi modellen til Power Designer. I Power Designer møtte vi utfordringer med tanke på relasjoner. Disse utfordringene førte til at vi flere ganger måtte vende tilbake til tavlen. Etter flere forsøk (9) ble vi fornøyd med modellen. Oppgave 2 På denne oppgaven valgte vi også å bruke tavle, for å få oversikt over tabellen Vielse som var utgangspunktet. Vi startet med å definere alle mulige avhengigheter utfra tabellen Vielse. Vi oppdaget at tabellen inneholdt flere funksjonelle avhengigheter og ingen transitive avhengigheter. Normaliseringsprosessen ble startet ved 2NF, og så over til Boyce- Codd normalform med en mer fornuftig utforming. Vi forbeholdt oss retten til å endre noen attributter og entiteter for å optimalisere tabellen. Oppgave 3 Se Valg i forbindelse av generering av databasen Oppgave 4 I Access- applikasjonen valgte vi først å lage en hoved- meny. I hovedmenyen opprettet vi knapper for å registrere hendelsene Dåp, Konfirmasjon, Vielse og Begravelse. I tillegg laget vi en knapp Personer som åpner en ny meny, hvor en ny person kan legges til, slettes, endres eller søkes etter. Det ble opprettet en knapp for forhåndsvisning og utskrift av en kirke rapport som viser alle hendelser som har foregått i en spesiell Kirke. Bruker skriver her inn fra dato og til dato for de ulike hendelsenene som har forgått i en kommune i en spesiell Kike. Til slutt ble det opprettet en Avslutt knapp for å avslutte Access. For at Sindre skal kunne briljere med en utlegning om sub typer og makro programmering på den årlige høstgrøtfesten i binge lokalet på krok- ryggen, la vi med en kort innføring i dette (PDF/Latex).