/ 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
Råd til design af database og forespørgsel
Fra : Nederbasse


Dato : 03-05-04 13:52

Hej

Jeg skal lave en db med mysql/php med foreløbig 4 tabeller:

Partner
Person
Cluster
Wp

En partner kan have flere personer
En partner kan være med i flere cluster
Et cluster har flere wp

Der kommer sikkert flere tabeller når jeg er færdig !!

Har tænkt på at lave en ekstra tabel som samler id fra de 4 tabeller men
hvordan henter jeg dataene ud ?
måske noget i denne stil:
SELECT * from partner.**, person.***, wp.****, cluster.*** where
samletabel.id 'nogetid'
eller kan det laves smartere eller bedre ?

Lars



 
 
Kristian Damm Jensen (03-05-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 03-05-04 20:44

"Nederbasse" <laneNOSPAM@jubiipost.dk> wrote in message news:<40963fc4$0$16439$14726298@news.sunsite.dk>...
> Hej
>
> Jeg skal lave en db med mysql/php med foreløbig 4 tabeller:
>
> Partner
> Person
> Cluster
> Wp
>
> En partner kan have flere personer
> En partner kan være med i flere cluster
> Et cluster har flere wp
>
> Der kommer sikkert flere tabeller når jeg er færdig !!
>
> Har tænkt på at lave en ekstra tabel som samler id fra de 4 tabeller men
> hvordan henter jeg dataene ud ?
> måske noget i denne stil:
> SELECT * from partner.**, person.***, wp.****, cluster.*** where
> samletabel.id 'nogetid'
> eller kan det laves smartere eller bedre ?

Jeg må indrømme, at jeg ikke fatter en dyt af, hvad du prøver at opnå.
Kan du være mere præcis? Evt. med et eksempel.

Kristian

Nederbasse (03-05-2004)
Kommentar
Fra : Nederbasse


Dato : 03-05-04 21:47


"Kristian Damm Jensen" <damm@ofir.dk> skrev i en meddelelse
news:2c9e2992.0405031144.4e922d15@posting.google.com...
> "Nederbasse" <laneNOSPAM@jubiipost.dk> wrote in message
news:<40963fc4$0$16439$14726298@news.sunsite.dk>...
> > Hej
> >
> > Jeg skal lave en db med mysql/php med foreløbig 4 tabeller:
> >
> > Partner
> > Person
> > Cluster
> > Wp
> >
> > En partner kan have flere personer
> > En partner kan være med i flere cluster
> > Et cluster har flere wp
> >
> > Der kommer sikkert flere tabeller når jeg er færdig !!
> >
> > Har tænkt på at lave en ekstra tabel som samler id fra de 4 tabeller men
> > hvordan henter jeg dataene ud ?
> > måske noget i denne stil:
> > SELECT * from partner.**, person.***, wp.****, cluster.*** where
> > samletabel.id 'nogetid'
> > eller kan det laves smartere eller bedre ?
>
> Jeg må indrømme, at jeg ikke fatter en dyt af, hvad du prøver at opnå.
> Kan du være mere præcis? Evt. med et eksempel.
>
> Kristian

Okay her er et foreløbigt diagram http://www.neder.dk/tmpo/dia.htm
grunden til jeg spørger er at jeg er ny i Mysql og ikke ved hvordan jeg skal
relatere tabellerne i Mysql .
Jeg er heller ikke sikker på hvordan min sql skal se ud for at hente
oplysningerne ud på den mest enkle måde, det jeg har testet har givet en
meget lang sql streng som:

SELECT tabel1.felt1, tabel1.felt2, tabel1.felt3, tabel2.felt1 o.s.v. FROM
tabel1 WHERE tabel1.id = tabel2.id AND tabel3.id = tabel4.id AND o.s.v.

Lars



Tor Lund (04-05-2004)
Kommentar
Fra : Tor Lund


Dato : 04-05-04 09:15

hvis du bare vil hente alt fra din person tabel eks. så prøv med denne.
"Select * From Person" , så for du alle oplysningerne der er i person
tabellen. hvis du vil præcisere det lidt mere kan du jo lave noget i stil
med "Select * From Person Where Name = 'Nederbasse' " . hvis det ikke er i
den retning du vil, så tror jeg ikke du har præciseret dit spørgsmål nok.
jeg kan ikke lige lure hvad du ønsker at trække ud fra databasen.

mvh Tor Lund



Nederbasse (04-05-2004)
Kommentar
Fra : Nederbasse


Dato : 04-05-04 11:02

"Tor Lund" <SLETDETTEmistral@tele2adsl.dk> skrev i en meddelelse
news:3iIlc.33$ku.8@news.get2net.dk...
| hvis du bare vil hente alt fra din person tabel eks. så prøv med denne.
| "Select * From Person" , så for du alle oplysningerne der er i person
| tabellen. hvis du vil præcisere det lidt mere kan du jo lave noget i stil
| med "Select * From Person Where Name = 'Nederbasse' " . hvis det ikke er i
| den retning du vil, så tror jeg ikke du har præciseret dit spørgsmål nok.
| jeg kan ikke lige lure hvad du ønsker at trække ud fra databasen.
|
| mvh Tor Lund
|
Jeg er ikke helt klar over hvordan jeg skal indsætte data fra tabellen
cluster i partner tabellen når en partner kan være med i flere cluster og et
cluster har flere wp.
Partner tabellen skal vel ikke laves sådan:

partner_id (PK)
cluster1
cluster2
cluster3
cluster4

Det vil give en del tomme felter og samtidig skal wp tabellen ind i cluster
tabellen
Cluster_id (PK)
wp1
wp2
wp3
wp4
wp5
det vil give endnu flere tomme felter.

så...?

Lars



Kristian Damm Jensen (04-05-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 04-05-04 20:45

"Nederbasse" <laneNOSPAM@jubiipost.dk> wrote in message news:<40976989$0$21156$14726298@news.sunsite.dk>...
> "Tor Lund" <SLETDETTEmistral@tele2adsl.dk> skrev i en meddelelse
> news:3iIlc.33$ku.8@news.get2net.dk...
> | hvis du bare vil hente alt fra din person tabel eks. så prøv med denne.
> | "Select * From Person" , så for du alle oplysningerne der er i person
> | tabellen. hvis du vil præcisere det lidt mere kan du jo lave noget i stil
> | med "Select * From Person Where Name = 'Nederbasse' " . hvis det ikke er i
> | den retning du vil, så tror jeg ikke du har præciseret dit spørgsmål nok.
> | jeg kan ikke lige lure hvad du ønsker at trække ud fra databasen.
> |
> | mvh Tor Lund
> |
> Jeg er ikke helt klar over hvordan jeg skal indsætte data fra tabellen
> cluster i partner tabellen når en partner kan være med i flere cluster og et
> cluster har flere wp.
> Partner tabellen skal vel ikke laves sådan:
>
> partner_id (PK)
> cluster1
> cluster2
> cluster3
> cluster4

Nej. partnerID skal være fremmednøgle i Cluster

> Det vil give en del tomme felter og samtidig skal wp tabellen ind i cluster
> tabellen
> Cluster_id (PK)
> wp1
> wp2
> wp3
> wp4
> wp5

Nej. clusterID skal være fremmednøgle i Wp.

> det vil give endnu flere tomme felter.
>
> så...?

Så noget tyder på, at du med fordel kan købe en grundbog i
databasedesign.

Access snyder folk. Den laver en del af arbejdet for dem, og skjuler
de "væmmelige" detaljer. Med det resultat, at folk tror, at de ved
hvordan man arbejder med databaser - men reelt ikke ved det. Jeg tror,
at det er den fælde du er faldet i.

VH
Kristian

Nederbasse (04-05-2004)
Kommentar
Fra : Nederbasse


Dato : 04-05-04 21:40

SNIP
>
> Så noget tyder på, at du med fordel kan købe en grundbog i
> databasedesign.
>
> Access snyder folk. Den laver en del af arbejdet for dem, og skjuler
> de "væmmelige" detaljer. Med det resultat, at folk tror, at de ved
> hvordan man arbejder med databaser - men reelt ikke ved det. Jeg tror,
> at det er den fælde du er faldet i.
>
> VH
> Kristian

Du har ret -jeg skulle slet ikke have spurgt her

Lars



Kristian Damm Jensen (04-05-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 04-05-04 10:07

"Nederbasse" <laneNOSPAM@jubiipost.dk> wrote in message news:<c76b40$1bv1$1@news.cybercity.dk>...
> "Kristian Damm Jensen" <damm@ofir.dk> skrev i en meddelelse
> news:2c9e2992.0405031144.4e922d15@posting.google.com...
> > "Nederbasse" <laneNOSPAM@jubiipost.dk> wrote in message
> news:<40963fc4$0$16439$14726298@news.sunsite.dk>...
> > > Hej
> > >
> > > Jeg skal lave en db med mysql/php med foreløbig 4 tabeller:
> > >
> > > Partner
> > > Person
> > > Cluster
> > > Wp
> > >
> > > En partner kan have flere personer
> > > En partner kan være med i flere cluster
> > > Et cluster har flere wp
> > >
> > > Der kommer sikkert flere tabeller når jeg er færdig !!
> > >
> > > Har tænkt på at lave en ekstra tabel som samler id fra de 4 tabeller men
> > > hvordan henter jeg dataene ud ?
> > > måske noget i denne stil:
> > > SELECT * from partner.**, person.***, wp.****, cluster.*** where
> > > samletabel.id 'nogetid'
> > > eller kan det laves smartere eller bedre ?
> >
> > Jeg må indrømme, at jeg ikke fatter en dyt af, hvad du prøver at opnå.
> > Kan du være mere præcis? Evt. med et eksempel.
> >
> > Kristian
>
> Okay her er et foreløbigt diagram http://www.neder.dk/tmpo/dia.htm

Det diagram kunne jeg i grove træk selv have lavet ud fra din
beskrivelse. Bortset fra, at diagrammet tilsyneladende mangler nogen
fremmednøgler. Hvordan skal man, med dette layout, afgøre hvilken
partner en given person er relateret til?

Det svarer stadig ikke på spørgsmålet: Hvad er det du ønsker at opnå
med din forespørgsel?

> grunden til jeg spørger er at jeg er ny i Mysql og ikke ved hvordan jeg skal
> relatere tabellerne i Mysql .

Hvad mener du med at "relatere tabellerne"? Definition af
referentielle afhængigheder?

> Jeg er heller ikke sikker på hvordan min sql skal se ud for at hente
> oplysningerne

Igen: Hvilke oplysninger er det, du vil have?

> ud på den mest enkle måde, det jeg har testet har givet en
> meget lang sql streng som:
>
> SELECT tabel1.felt1, tabel1.felt2, tabel1.felt3, tabel2.felt1 o.s.v. FROM
> tabel1 WHERE tabel1.id = tabel2.id AND tabel3.id = tabel4.id AND o.s.v.

Det giver ikke mening. Du kan ikke referere til tabel2, tabel3 osv.
når de ikke fremgår af FROM-klausulen.

Det *ser ud til* at det du prøver at lave er ét stort join, der henter
alle data fra hele databasen. Er det korrekt?

VH
Kristian

Nederbasse (04-05-2004)
Kommentar
Fra : Nederbasse


Dato : 04-05-04 16:17


> SNIP
> Det *ser ud til* at det du prøver at lave er ét stort join, der henter
> alle data fra hele databasen. Er det korrekt?
>
> VH
> Kristian

ja det er stort set alle data jeg vil have ud, ikke på en gang men ud fra
hvad brugeren vil vide.
Problemet er at hvis en partner er med i 2 cluster og disse 2 cluster
indeholder flere wp, hvordan skal databasen så bygges op ?

Lars



Søg
Reklame
Statistik
Spørgsmål : 177493
Tips : 31966
Nyheder : 719565
Indlæg : 6408479
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste