Avatar billede SandieM Nybegynder
11. december 2013 - 09:36 Der er 11 kommentarer

Normalisering 1.,2,3. nf

Jeg hader virkelig at skulle spørge her, fordi jeg selv gerne vil kunne det..

Men jeg er overhovedet ikke sikker i det jeg har gang i :/

Jeg skal lave normalisering og ER-diagrammer i 1.2.3 nf...

Jeg har 3 tabeller:
[IMG]http://i773.photobucket.com/albums/yy12/TineMou/tabeller_zps50be277d.jpg[/IMG][/URL]

og har fået det til:
[IMG]http://i773.photobucket.com/albums/yy12/TineMou/erdiagrammer_zps6ee64ed8.jpg[/IMG][/URL]

Er det fuldstændig forkert?
Altså jeg gør så events bliver delt op i tabeller, så der kommer 4 i alt..

en der hedder:

Bands:
Bandnavn
artist
11. december 2013 - 10:52 #1
En normalisering tager udgangspunkt i ALLE data, og så længe du er på 1. normalform er der tale om entiteter og ikke tabeller.

Så vidt jeg kan se i dine illustrationer koncentrerer du dig mere om relationer mellem tabeller, end om normalisering af datagrundlaget.
Avatar billede SandieM Nybegynder
11. december 2013 - 10:58 #2
Åh sorry :) nu blander jeg dem selvf. sammen...

ER-Diagrammet er self. for relationerne ml. tabellerne....

Jeg bliver helt forvirret, fordi jeg i mit hoved, har blandet de to ting sammen...
11. december 2013 - 11:10 #3
1.  Det er det Eksperten er til for, at spørge når man ikke er sikker.

2.  Du blander nogle ting sammen.  De tre tabeller Admin, Banner, og Events, sådan som du præsenterer dem, er allerede, hver for sig, i 3 normal form.  Hvor kommer opgaven at normalisere fra?  Er det en skoleopgave eller sådan noget?  Og hvor har du din forståen af normalformer fra?  Jeg fandt dette link, på dansk, der forklarer normalformerne:  http://www.kim-andersen.dk/database_normalisering/normalisering_database_sql_foerste_normalform.htm

3.  Så vil du udbrede det, således at du i databasen vil kunne gemme hvilke bands der spiller på hvilke events, og også således at du viser hvilke artister der spiller i hvilke bands (jeg går ud fra, at der kan være flere artister i et band.)  Den forkerte måde er en tabel for eksemppel således:

Bands
bandId  bandnavn  artist1navn  artist1telefon  artist2navn  artist2telefon ....

En sådan tabel er ikke normaliseret (det er nogen tid siden jeg har været inde på det, så jeg har ikke helt check på om det er første, anden, eller tredje normalform den ikke er i.)  Du skal i så tilfælde bruge en tabel Artist:

Artist
artistid  navn  telefon  adresse  ......

og en tabel Bands:

Bands
bandId  bandnavn    kontaktperson  ...

Og så en tabel der viser relationen mellem bands og artister (hver band kan have flere artister og hver artist kan, formodenligt, være med i flere bands)

Artister_i_bands
id  bandid  artistid

Hvis for eksempel band nummer 1 har artister nummer 3 og 4, og band nummer 2 har artister 1 og 4 får Artister_i_bands dette indhold:

Artister_i_bands
id  bandid  artistid
1        1          3
2        1          4
3        2          1
4        2          4

Ligeledes hvis der kan være mere end et band på en event og hvert band kan optræde i mere end en event kan du lave en Bands_i_events tabel efter samme princip, altså således:

Bands_i_events
id  eventid  bandid

Jeg håber dette kan være med til at hjælpe dig fremad.
Avatar billede SandieM Nybegynder
11. december 2013 - 11:13 #4
Tak for dit svar...Det hjalp en del...

Problemet er nok at vi i de opgaver vi har lavet egentlig har blandet ER-diagrammer sammen med normalisering på en eller anden måde, hvis I forstår.. Ligesom på billedet.. :S
Avatar billede SandieM Nybegynder
11. december 2013 - 11:16 #5
Det link, som du har sendt, har vi lavet opgaver udfra....

Lige nu har jeg bare svært ved at adskille de to ting af en eller anden underlig grund.....
11. december 2013 - 13:21 #6
Men også dine ER diagrammer passer ikke, ud fra de oplysninger der kan skønnes fra dine indlæg.  Dine admins er relevant for at logge på dit system, men der er ikke noget der tyder på, at banner data eller event data har noget at gøre med admin data.  Hvis det var således, at du i databasen ville holde styr på hvilken admin havde oprettet hvilke banners eller hvilke events (hvis for du for et banner havde brug for bannerid, pict, besk, OG admin id, så ville der være en relation.

Når du siger "...vi i de opgaver vi har lavet..." hvem er så 'vi'?  Har det at gøre med en undervisnings situation hvor en lærer har givet undervisning i ER og normalisering og har formuleret en opgave, som du nu skal løse indenfor en bestemt tidsfrist?  Eller er i simpelthen en gruppe mennesker der finder de dele spændende og som træning stiller hinanden opgaver?
Avatar billede SandieM Nybegynder
11. december 2013 - 18:32 #7
Det var en opgave..og så vil jeg også lære det....

Det er simpelthen SÅDAN et svært emne synes jeg, men det kræver vel øvelse..

Jeg fik lige lagt det væk.. Kigget på din formulering osv...

Det hjalp en DEL....
Så smid gerne et svar:)
Avatar billede SandieM Nybegynder
11. december 2013 - 18:33 #8
og når jeg siger vi, mener jeg selvf. det hold, jeg går på, hvor vi har lavet opgaver..
11. december 2013 - 18:59 #9
I såfald: svar fra mig.
19. december 2013 - 16:11 #10
SandieM, kom du fra det igen?  Hvis du har ændret mening og ikke vil acceptere mit svar, så opret selv et svar og accepter det.  Men luk venligst spørgsmålet (eller hvis du vil videre dermed, så kom ind og fortæl din hensigt.)
29. juli 2014 - 12:18 #11
SandieM, jeg prøver lige en gang mere - Jeg kom med indlæg på dit svar, og du bad om svar som jeg oprettede.  Kan jeg bede dig om nu at lukke spørgsmålet igen?  Hvis du alligevel ikke ønsker at acceptere mit svar, så opret selv et svar og accepter det.  Men lad mig (og de andre der deltog i spørgsmålet) ikke blive hængende i et evigheds-åbent spørgsmål.  Please.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester