Gå til innhold

Anbefalte innlegg

Jeg skal lage en ER-modell for følgende case:

 

Petter har en stor CD-samling som han ønsker å få kontroll over. Han har derfor tenkt å lage en database hvor han kan lagre informasjon om alle CDene sine slik at han for eksempel kan søke etter en sang og så finne ut hvilken CD den er på. For hver CD trenger han å lagre tittelen, utgivelsesåret og alle sangene (inkludert spornummer og tittel). For å støtte CDer med forskjellige artister (for eksempel Absolute Music-serien), må databasen støtte at de forskjellige sporene på en CD kan være med ulike artister. Databasen skal også støtte at flere artister kan være med på én sang, slik tilfellet er for duetter. Dersom en artist eller et band har en internettside vil Petter også ha muligheten til å lagre adressen til den.

 

Så langt har jeg bare satt opp dette, uten relasjoner:

 

CD

artist

navn

sanger med spornummer og tittel

utgivelsesår

 

SANG

navn

 

ARTIST/BAND

navn

nettside

 

Synes det er litt snodig og kunne trengt litt hjelp.

Lenke til kommentar
Videoannonse
Annonse

En CD-database kan fort bli komplisert. Nettopp på grunn av dette med at en sang/CD kan tilhøre flere artister/band. I oppsettet ditt savner jeg iværtfall noe under SANG for å koble en (eller flere) artister/band til sangen. (Hva med spilletid på sangen, kan vel også taes med?)

Men er sikker på at det er noen som har laget en CD database selv. De kan sikkert gi deg tips ;)

Endret av t0my
Lenke til kommentar
En CD-database kan fort bli komplisert. Nettopp på grunn av dette med at en sang/CD kan tilhøre flere artister/band.

7158835[/snapback]

Det er det minste problemet. Hakket verre er at en artist eller en gruppe kan opptre under forskjellige navn. Prince er ekspert i dette, men man har også slike praktiske detaljer som at både Silje Vige og Silje Nergaard har utgitt artist både med fult navn og som "Silje".

 

Som du nevnte, dette blir fort et sant mareritt :)

 

Skal man trekke fram andre festlige problemstillinger, så kan man f eks se på bandsammensetningen i Pink Floyd over tid.

Lenke til kommentar

Det du må huske på er at hver sang kan ha en eller flere artister. Du kan derfor ikke relatere en artist direkte til cden. Istedet må du lage en Artist-tabell, en Spor-tabell og en SporArtist-tabell. I tillegg må du selvfølgelig ha en Album-tabell.

 

*Album

AlbumId (PK)

Tittel

Utgivelsesår

 

*Spor

SporId(PK)

AlbumId (FK)

Nummer

Tittel

 

*SporArtist

SporId (PK+FK)

ArtistId (PK+FK)

 

*Artist

ArtistId (PK)

Navn

HomePageURL

PK=PrimaryKey. En tabell med flere PK betyr at PK er sammensatt.

FK=ForeignKey

Lenke til kommentar
Prøvde på en modell her, men får ikke til alle relasjonene:

 

 

Du skal ha en til mange mellom Album og Spor. Relasjonen du har mellom Artist og Album skal bort da du kan utlede artisten(e) for et album via SporArtist tabellen.

 

ER-modell i tekstform blir da slik:

Album --. en til mange -- Spor

Spor -- en til mange -- SporArtist

Artist -- en til mange -- SporArtist

Endret av kaffenils
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...