Troels skrev:
> Problemet er databasen der indeholder diskografierne. Jeg vil
> gerne have at der står hvilke numre der er på de enkelte
> plader, men man kan jo ikke gå udfra at der er lige mange
> numre på pladerne så man kan derfor ikke bare lave felter der
> hedder nr_1, nr_2 osv. Omvendt vil jeg også gerne undgå at
> skulle lave tables til hver enkelt album.
Du har tænkt ganske fornuftigt. Et nummer på en plade udgør det man
i databaseterminologi kalder en entitet - det vil sige en
selvstændig enhed. Entiteter skal have deres egne tabeller - det
vil i dette tilfælde sige en tabel til alle enkeltnumrene. En anden
entitet er en plade og en tredje er et band.
Det du har brug for er en normaliseret databasestruktur - dvs. en
struktur hvor hver enkelt oplysning kun gemmes ét sted, og hvor
oplysninger af samme slags ligger i samme felt. Hvis man for at få
plads til nogle oplysninger laver felter som xx1, xx2, xx3, xx4 er
der ofte noget galt.
I dit tilfælde ville jeg lave følgende tabeller:
tbl_numre
nummerID,
pladeID,
placering,
Titel,
varighed
tbl_plader
pladeID,
bandID,
Titel,
pladeselskab,
antalcder
tbl_band
bandID,
bandNavn,
bandstart,
bandslut,
beskrivelse
tbl_medlemmer
personID
fornavn
efternavn
instrument
beskrivelse
tbl_spiller_i
personID
bandID
startaar
slutaar
På denne måde kan en person spille i flere bands, ligesom et band
kan have flere medlemmer. Hvert band kan udgive et antal plader og
hver plade kan indeholde et antal numre. Tabellerne kædes sammen
med referentiel integritet - hvis du ikke lige ved hvordan det
foregår vil jeg foreslå dig at købe en bog om databaser inden du
går i gang.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO -
www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)