Oppgave 3 - normalisering



Like dokumenter
Kunnskapsorganisasjon og gjenfinning 1

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Del 1: ER-modellering og databaseteori

Oppgaver Oppgave a: Sett opp mulige relasjoner

1. Relasjonsmodellen Kommentarer til læreboka

HØGSKOLEN I OSLO Avdeling for journalistikk, bibliotek- og informasjonsfag Bibliotek- og informasjonsstudiene

UNIVERSITETET I OSLO

Databaser. - Normalisering -

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

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

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

UNIVERSITETET I OSLO

1. Innføring i bruk av MySQL Query Browser

Plenum: Nøkler, normalformer og funksjonelle avhengigheter

1. Datamodellering Kommentarer til læreboka

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

Brukerveiledning Pensumliste

Normalisering. Hva er normalisering?

Relasjonsdatabaseteori

Datamodellering 101 En tenkt høgskoledatabase

Normalisering. Hva er normalisering?

God Databasedesign: På vei mot Normalformer

Kunnskapsorganisasjon og gjenfinning sider (inklusive forside og vedlegg)

2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ]

En lett innføring i foreninger (JOINs) i SQL

Klæbu IL Hjemmeside Web-redaktører

Brukerveiledning nettsted Stjørdal kajakklubb. Tilgang til siden. Opprette bruker? Tilgang til siden... 1 Opprette bruker?... 1

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Oppdateringsanomalier Normalformer

Databaser: Relasjonsmodellen, del I

INF1300 Introduksjon til databaser

HØGSKOLEN I SØR-TRØNDELAG

Vårt nettsted En håndbok for lokale nettredaktører i fylkes- og lokallag

PUBLISERING AV INNHOLD TIL KVAMSSIDA.NO

Normalisering. Hva er normalisering?

Dagens tema: Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser

SQL Oppgave 3. SQL oppgave 3. Løsningsforslag

UNIVERSITETET I OSLO

Innføring i bruk av skolens/barnehagens hjemmesider (for ansatte)

Dagens program. Kunnskapsorganisasjon og gjenfinning 1. Spørring mot databaser: SQL 2 - Spørring mot flere tabeller

EKSAMEN 6102 / 6102N DATABASER

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

student s104111, s107911, s122357

1. SQL datadefinisjon og manipulering

CorePublish 6. Enklere kan det ikke bli!

EKSAMEN DATABASER

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

CustomPublish.com. Brukere. Introduksjon til brukerhåndtering i CustomPublish

UNIVERSITETET I OSLO

Repetisjon: Normalformer og SQL

Søknad på stilling i Bjugn kommune

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

Eksamen i Internetteknologi Fagkode: ITE1526

Introduksjon til Telltur

System-X brukermanual

Ved pålogging til: registreres følgende opplysninger i feltene:

Current Research Information System In Norway. Mona Hide Klausen - FoU-konsulent

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

RF Ny forvalter

Oppdateringsanomalier. Normalformer. Institutt for informatikk INF

1. Normalisering Kommentarer til læreboka

HØGSKOLEN I BERGEN Avdeling for ingeniarutdanning

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

Brukerveiledning VIGO bedrift FylkesAdministrator

Eksamen i IBE Databaser H 2008

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

En liten rekap. Spørrespråk. I dag SELECT

Art & Architecture Complete

Objektorientering i ER-modeller EER-modeller Enhanced Entity Relationship Models

Publiseringsløsning for internettsider

- Velkommen til klart.no -

1. SQL spørringer mot flere tabeller

Utøverregistrering på Internett: Brukerveiledning lisens

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

KOM I GANG MED WORDPRESS En enkel guide for å hjelpe deg gjennom det grunnleggende i Wordpress

Hvordan søke? Brukerveiledning. Nyttige tips. Gå til ditt biblioteks hjemmeside

Medlemshåndtering eroom

IN2090 Introduksjon til databaser

Ofte stilte spørsmål (OSS)

INFO122 Innføring i databaser. Oblig 2. av Frode H. Pedersen, Kjartan B. Michalsen og Kristin Breivik

Ny generell påmelding fra Agrando

FORENKLET HARVARD-STANDARD

Klikk på publisering + offentlig + nyhet for å lage en artikkel som skal komme som nyhetssak på forsiden av fylkeslagssiden.

Opprette local electronic collection med local portfolios manuelt

IN2090 Databaser og datamodellering. Databasedesign og normalformer

Innføring i bruk av skolens/barnehagens hjemmesider (for administrator)

Hvordan kontrollere en post for rapportering

INF1300 Introduksjon til databaser

Vi har visse forventninger til dere som har rollen superbrukere, og dere har sikkert forventninger til oss. For å unngår misforståelser, vil vi her

Etternavn Fornavn Født Død Annet Felt

Vi har visse forventninger til dere som har rollen superbrukere, og dere har sikkert forventninger til oss. For å unngår misforståelser, vil vi her

UNIVERSITETET I OSLO

Teknisk dokumentasjon for integrasjon. mellom SuperOffice og Visma Severa

PORTAL FORLAG Referanser og litteraturliste

Felles CRIStin møte ved NMBU Lisbeth Eriksen og Hilde M. Triseth NMBU Universitetsbiblioteket

Introduksjon til fagfeltet

Produktinformasjon WIPS publiseringsløsning

Web Tips #2 november 2011

Transkript:

Oppgave 3 - normalisering Løsningsforslag Oppgave 3 - løsning 22.10.2014 Øvelsesoppgave 3 1. Normaliser logisk skjema fra oppgave 1 og 2 (Læringssenter) 2. Normaliser logisk skjema fra seminarøvelsen (Nøsteelskere) Tips! Les evt. kap. 6 i Berget (2010) og lag en miniversjon av databasen med noe data i form av enkle tabeller (f.eks. i Excel), slik jeg har gjort det i NRKeksempelet. Det kan være enklere enn å normalisere det logiske skjema direkte. 1

Oppgave 1 og 2 - Læringssenter Oppgave 1 (ER-diagram) Du er formidlingsansvarlig i læringssenteret til en stor organisasjon der det produseres mange vitenskapelige artikler hvert år. Du skal nå lage en relasjonsdatabase der du kan registrere opplysninger om hvem som skriver, hva de skriver og hvor tekstene utgis. Det er flere krav til databasen: Hver ansatt skal registreres med ansattnummer og navn. Hver ansatt har tilknytning til én avdeling med navn og adresse. Alle artikler skal registreres med tittel. Disse kan publiseres i flere forskjellige tidsskrift. Tidsskriftene må registreres med ISSN, tittel, startår, sluttår og utgiver. Tidsskriftutgivernes navn og adresse skal registreres i databasen. Flere ansatte kan samarbeide om én artikkel. Hver artikkel skal registreres med opplysninger om hvilke(t) tidsskrift den er publisert i, samt tidsskriftets nummer og årstall. (Anta at alle tidsskriftutgivelser har ett nummer og ett årstall.) Det må også være mulig å registrere hvilke sider i tidsskriftet artikkelen er trykket. Lag et konseptuelt skjema (ER-diagram) for databasen. Ta med alle attributter og merk primærnøklene. Sammenhengstypene skal ha navn. (Husk også at sammenhengstyper i noen tilfeller har attributter.) Oppgave 2 (Logisk skjema) Ta utgangspunkt i kravene og ER-diagrammet fra oppg. 1 Lag det logiske skjemaet for databasen. Understrek primærnøklene og kursivér fremmednøklene Løsning oppg. 1 og 2 ER-diagram Logisk skjema Ansatt (Ansattnr, Fornavn, Etternavn, AvdelingsID) Avdeling (AvdelingsID, Navn, Adresse, Postnr, Sted) Tidsskrift (ISSN, Tittel, Startår, Sluttår, UtgiverID) Utgiver (UtgiverID, Navn, Adresse, Postnr, Sted) Publisering (ArtikkelID, ISSN, Nr, År, Sidetall) 2

1NF Ansatt (Ansattnr, Fornavn, Etternavn, AvdelingsID) Avdeling (AvdelingsID, Navn, Adresse, Postnr, Sted) Tidsskrift (ISSN, Tittel, Startår, Sluttår, UtgiverID) Utgiver (UtgiverID, Navn, Adresse, Postnr, Sted) Publisering (ArtikkelID, ISSN, Nr, År, Sidetall) Inneholder bare atomære verdier 2NF Primærnøkler som består av bare ett attributt (en kolonne) automatisk 2NF Ansatt (Ansattnr, Fornavn, Etternavn, AvdelingsID) Avdeling (AvdelingsID, Navn, Adresse, Postnr, Sted) Tidsskrift (ISSN, Tittel, Startår, Sluttår, UtgiverID) Utgiver (UtgiverID, Navn, Adresse, Postnr, Sted) Publisering (ArtikkelID, ISSN, Nr, År, Sidetall) Består av bare primærnøkkel automatisk 2NF Funksjonelt avhengig av hele primærnøkkelen. 2NF 3

3NF Ansatt (Ansattnr, Fornavn, Etternavn, AvdelingsID) Avdeling (AvdelingsID, Navn, Adresse, Postnr, Sted) Tidsskrift (ISSN, Tittel, Startår, Sluttår, UtgiverID) Utgiver (UtgiverID, Navn, Adresse, Postnr, Sted) Sted funksjonelt avhengig av postnr Brudd på 3NF Sted funksjonelt avhengig av postnr Brudd på 3NF Publisering (ArtikkelID, ISSN, Nr, År, Sidetall) Relasjoner som består av bare primærnøkkel automatisk 3NF Relasjoner som bare har ett attributt som ikke er en del av primærnøkkel automatisk 3NF Normalisert logisk skjema Ansatt (Ansattnr, Fornavn, Etternavn, AvdelingsID) Avdeling (AvdelingsID, Navn, Adresse, Postnr) Tidsskrift (ISSN, Tittel, Startår, Sluttår, UtgiverID) Utgiver (UtgiverID, Navn, Adresse, Postnr) Publisering (ArtikkelID, ISSN, Nr, År, Sidetall) Poststed (Postnr, Sted) Postnummer og sted er skilt ut i egen relasjon, med determinanten (Postnr) som fremmednøkkel i den opprinnelige relasjonen, og primærnøkkel i den nye relasjonen. 4

Seminarøvelse Håndarbeidsdatabase Basert på oppgave fra utsatt eksamen 12. august 2013 Riksbiblioteket skal utvikle et nasjonalt sosialt nettsted for håndarbeidsinteresserte. Du skal i denne oppgaven modellere databasen for å holde orden på dataene knyttet til denne tjenesten, som har fått navnet Nøsteelskere. Lag ER-diagram for databasen Gjør dine egne forutsetninger dersom noe er uklart Sett opp den logiske modellen (logisk skjema) for databasen. Understrek primærnøkler og merk fremmednøkler med kursiv eller asterisk (*). Løsning - seminarøvelse ER-diagram Logisk skjema Oppskrift (OppskriftID, Navn, Beskrivelse, Garntykkelse, Pinnetykkelse, Type, Kategori, Dato, Brukernavn) Prosjekt (ProsjektID, Navn, Startdato, Sluttdato, Status, Vanskelighetsgrad, Karakter, Brukernavn, OppskriftID) Bruker (Brukernavn, Fornavn, Etternavn, E-post, Passord, Bursdag, Regdato) 5

1NF Inneholder bare atomære verdier Bok ISBN Tittel Forfatter Forlag År 978-1570764585 Vintage Knits: 30 Knitting Designs from Rowan for Women and Men Kaffe Fassett Trafalgar Square Books 2010 Oppskrift (OppskriftID, Navn, Beskrivelse, Garntykkelse, Pinnetykkelse, Type, Kategori, Dato, Brukernavn) Oppskrift 123 Salina This pattern is available for $5.00 USD ( ) OppskriftID Navn Beskrivelse Garntykkelse Pinne- Tykkelse DK 3,75 mm Type Kategori Dato Brukernavn Knitting Sweater 21.10.14 LindaKnit ter 1NF Inneholder bare atomære verdier Prosjekt (ProsjektID, Navn, Startdato, Sluttdato, Status, Vanskelighetsgrad, Karakter, Brukernavn, OppskriftID) Prosjekt Prosjekt ID 321 Purple Salina Navn Startdato Sluttdato Status Vanskelighetsgrad Karakter Brukernavn OppskriftID 02.09.2013 02.01.2014 ferdig middels 4 ingridrk 123 Bruker (Brukernavn, Fornavn, Etternavn, E-post, Passord, Bursdag, Regdato) Bruker Brukernavn Fornavn Etternavn E-post Passord Bursdag Regdato ingridrk Ingrid Knutsen ingrid@mail.no Kodeord 05.04.1979 23.09.2007 6

1NF Inneholder bare atomære verdier Bokoppskrift ISBN OppskriftID 978-1570764585 123 Bokeier ISBN Brukernavn 978-1570764585 ingridrk 2NF Primærnøkler som består av bare ett attributt (en kolonne) automatisk 2NF Oppskrift (OppskriftID, Navn, Beskrivelse, Garntykkelse, Pinnetykkelse, Type, Kategori, Dato, Brukernavn) Prosjekt (ProsjektID, Navn, Startdato, Sluttdato, Status, Vanskelighetsgrad, Karakter, Brukernavn, OppskriftID) Bruker (Brukernavn, Fornavn, Etternavn, E-post, Passord, Bursdag, Regdato) Relasjoner som består av bare primærnøkkel automatisk 2NF 7

3NF Ingen av attributtene er funksjonelt avhengige av hverandre Oppskrift (OppskriftID, Navn, Beskrivelse, Garntykkelse, Pinnetykkelse, Type, Kategori, Dato, Brukernavn) Prosjekt (ProsjektID, Navn, Startdato, Sluttdato, Status, Vanskelighetsgrad, Karakter, Brukernavn, OppskriftID) Bruker (Brukernavn, Fornavn, Etternavn, E-post, Passord, Bursdag, Regdato) Relasjoner som består av bare primærnøkkel automatisk 3NF Normalisert logisk skjema Oppskrift (OppskriftID, Navn, Beskrivelse, Garntykkelse, Pinnetykkelse, Type, Kategori, Dato, Brukernavn) Prosjekt (ProsjektID, Navn, Startdato, Sluttdato, Status, Vanskelighetsgrad, Karakter, Brukernavn, OppskriftID) Bruker (Brukernavn, Fornavn, Etternavn, E-post, Passord, Bursdag, Regdato) Ingen endringer! 8