/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Hjælp til database-design
Fra : Mikkel Z. Herold


Dato : 12-12-05 11:10

Hej.

Jeg kunne godt tænke mig at lave en online database over mine CD'er (så
er jeg nemlig fri for at tænke på backup!).

Jeg har adgang til og erfaring med MySQL, men jeg er lidt i tvivl om,
hvordan jeg skal strikke det sammen. Jeg vil nemlig gerne have
tracklister med på alle CD'erne.

Foreløbig har jeg lavet to tabeller:

"albums", som indeholder felterne nummer (auto_increment), album_id,
kunstner, titel, noter, type og pris.

"numre", som indeholder felterne album_id, disk, nummer og titel.

Det er tabellen "numre", jeg ikke kan hitte ud af at lave smartest, så
den tager højde for, at det samme nummer kan optræde på flere
forskellige CD'er. Min umiddelbare tanke (som ikke er implementeret i
tabellen ovenfor) var at gemme én sangtitel pr. record og så knytte
felter til, som fortæller på hvikle(n) CD nummeret findes samt hvilken
disk og nummer sangen er på hver enkelt af dem.

Jeg kan selvfølgelig lave et array med PHP som jeg serialize'r og så
gemmer som tekst, men så mister jeg muligheden for at søge på feltet, ikke?

Forslag eller henvisninger til tutorials er meget velkomne.

Mvh.

Mikkel


--
"At first just a rustle of canvas
And the gentlest breath on my face
But a galloping line of white horses
Said that soon we were in for a race"
Sting - The Wild Wild Sea

http://www.mzh.dk

 
 
Michael Zedeler (12-12-2005)
Kommentar
Fra : Michael Zedeler


Dato : 12-12-05 11:27

Mikkel Z. Herold wrote:
> Jeg kunne godt tænke mig at lave en online database over mine CD'er (så
> er jeg nemlig fri for at tænke på backup!).

Du kunne også overveje nogle af de gratis systemer på nettet:

http://freshmeat.net/search/?q=music+database§ion=projects

De fleste er Open Source, så hvis du mangler noget, kan du tilføje det
selv og endda måske få det med i distributionen.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Niels Gjermandsen (12-12-2005)
Kommentar
Fra : Niels Gjermandsen


Dato : 12-12-05 11:56

Hej


"Mikkel Z. Herold" <mikkel@[remove_this]mzh.dk> skrev i en meddelelse
news:439d4c6b$0$10505$ba624c82@nntp02.dk.telia.net...
> Hej.
>
> Jeg kunne godt tænke mig at lave en online database over mine CD'er (så er
> jeg nemlig fri for at tænke på backup!).
>
> Jeg har adgang til og erfaring med MySQL, men jeg er lidt i tvivl om,
> hvordan jeg skal strikke det sammen. Jeg vil nemlig gerne have tracklister
> med på alle CD'erne.
>
> Foreløbig har jeg lavet to tabeller:
>
> "albums", som indeholder felterne nummer (auto_increment), album_id,
> kunstner, titel, noter, type og pris.
>
> "numre", som indeholder felterne album_id, disk, nummer og titel.
>
> Det er tabellen "numre", jeg ikke kan hitte ud af at lave smartest, så den
> tager højde for, at det samme nummer kan optræde på flere forskellige
> CD'er. Min umiddelbare tanke (som ikke er implementeret i tabellen
> ovenfor) var at gemme én sangtitel pr. record og så knytte felter til, som
> fortæller på hvikle(n) CD nummeret findes samt hvilken disk og nummer
> sangen er på hver enkelt af dem.

Din tabel er da god nok da du jo bare skal skrive hvert nummer på hver CD
ind i sin egen post. Du har jo et felt der kan sammenkæde din Album tabel
til de enkelte poster i en forespørgsel.

Du kan så søge på nunnerets titel eller på albummet osv efter behov.

Så dine tabeler er da OK

Det eneste du kan komme ud for er de CDalbum hvor der er flere forskellige
kunstnere der har givet tilskud til netop denne CD.

Men lav entabel med kunstnerene og lav et felt i cin tabel Numre der linker
til kunstnertabellen, så kan du angive KunstnerID ud for hvert nummer.
Fjern Kunstner fra din tabel Album og lav et andet felt der beskriver for
eksempel "Gruppe, Orkester, Samling eller anden form for fællesbetegnelse
for kunstnerne", Nu har du så løst dette problem. Og du har jo også den
fordel at du kan have f.eks. Væss go 1 og to liggende der er det jo sådan at
samme nummer men forskellige kunstnere.
Med den nye tabel så kan man jo også søge på kunstneren og se alt hvad man
har registreret på netop denne kunstner. Og dennes navn går jo kun igen et
sted i databasen.

Der er nu taget højde for mange flere situationer.

Husk nor du taster i en tabel enten direkte eller med en formular og det er
i MSAccess så kan du jo bare bruge "Ctrl+' " til at gentage indholdet i
feltet i poasten ovenfor, så skal man ikke skrive det hele flere gange..

Jeg håber dette kan hjælpe?
Mvh
Niels Gjermandsen



>
> Jeg kan selvfølgelig lave et array med PHP som jeg serialize'r og så
> gemmer som tekst, men så mister jeg muligheden for at søge på feltet,
> ikke?
>
> Forslag eller henvisninger til tutorials er meget velkomne.
>
> Mvh.
>
> Mikkel
>
>
> --
> "At first just a rustle of canvas
> And the gentlest breath on my face
> But a galloping line of white horses
> Said that soon we were in for a race"
> Sting - The Wild Wild Sea
>
> http://www.mzh.dk



Stig H. Jacobsen (12-12-2005)
Kommentar
Fra : Stig H. Jacobsen


Dato : 12-12-05 20:18

On Mon, 12 Dec 2005 11:09:47 +0100, Mikkel Z. Herold wrote:

> Jeg kunne godt tænke mig at lave en online database over mine CD'er (så
> er jeg nemlig fri for at tænke på backup!).

Jeg vil også foreslå dig, at kigge på nogle af de online
jukeboxe/databaser, som allerede findes. Du kan enten lære af
deres database-design eller bruge løsningerne som de er.

F.eks. er Calliope og Otto begge baserede på Mysql/PHP/Perl - du
kan finde dem på sourceforge.net.

--
Stig

Martin (14-12-2005)
Kommentar
Fra : Martin


Dato : 14-12-05 21:17

Mikkel Z. Herold wrote:
> Hej.
>
> Jeg kunne godt tænke mig at lave en online database over mine CD'er (så
> er jeg nemlig fri for at tænke på backup!).
>
> Jeg har adgang til og erfaring med MySQL, men jeg er lidt i tvivl om,
> hvordan jeg skal strikke det sammen. Jeg vil nemlig gerne have
> tracklister med på alle CD'erne.
>
> Foreløbig har jeg lavet to tabeller:
>
> "albums", som indeholder felterne nummer (auto_increment), album_id,
> kunstner, titel, noter, type og pris.

Jeg må nok indrømme jeg ville lave det helt anderledes.

Jeg ville lave en tabel med kunster info (fx fødselsår fornavn efternavn
etc.)

En album tabel med et ID, titel, type og pris

En trackliste, med kunstner id, og navnet på tracken.

Derved slipper du fx for at lave et album der hedder fx
Mange artister - Now Christmas 2005
Mange artister - Absolute Music 3640230 (eller hvor højt de efterhånden
er nået :P)

Og faktisk imellem album og trackliste ville jeg smide endnu en tabel
med følgende
ID, track_id og album_id

Så kan samme track sagtens være på 4-5 albums, men du behøver kun at
oprette tracken 1 gang.

Om det er den optimale løsning aner jeg ikk, men som jeg ser det i
hovedet, så ville det virke perfekt :)

Har iøvrigt brugt noget lign til min film database
Altså:
Film info tabel (produktions år etc)
Skuespiller info tabel (navn født etc)
skuespiller_til_film tabel (film_id og skuespiller_id)
Instruktør info tabel (navn født etc)
instruktør_til_film tabel (film_id og instruktør_id)

Så slap jeg for at skrive 30 gange info om den samme skuespiller, da
skuespilleren var med i 30 film.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste