/ 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
Mange til mange relation
Fra : Aron Calvert


Dato : 31-10-03 05:29

Hey allesammen.
Har lige et kort spørgsmål.

Når man har en mange til mange relation,
er det så ikke rigtigt man skal lave sin relationship om til en tabel,
ud fra sine primary key's?

Hvis ja.
Jeg kan ikke se det fikse i den metode, man skal jo selv oprette dataen
i den tabel.
hvis man så bagefter vil lave en 'SELECT * FROM relationshipTabel WHERE 1'
Så får jeg jo bare de primary keys som er i den relationshipTabel, dem
kender jeg jo i forvejen.

Håber der er nogen som forstår hvor jeg vil hen, selv om det er
underligt formuleret.

// Aron


 
 
Nikolaj Hansen (31-10-2003)
Kommentar
Fra : Nikolaj Hansen


Dato : 31-10-03 16:27


"Aron Calvert" <No-spam@presi.dk> wrote in message
news:3fa1e4f0$0$69996$edfadb0f@dread12.news.tele.dk...
> Hey allesammen.
> Har lige et kort spørgsmål.
>
> Når man har en mange til mange relation,
> er det så ikke rigtigt man skal lave sin relationship om til en tabel,
> ud fra sine primary key's?

Ja det er korrekt.

>
> Hvis ja.
> Jeg kan ikke se det fikse i den metode, man skal jo selv oprette dataen
> i den tabel.

Det er også korrekt - Prøv at overveje hvordan du ellers vil lave den. En
alm. foreign key giver kun muliged for 1:N relationer.

> hvis man så bagefter vil lave en 'SELECT * FROM relationshipTabel WHERE 1'
> Så får jeg jo bare de primary keys som er i den relationshipTabel, dem
> kender jeg jo i forvejen.
>
> Håber der er nogen som forstår hvor jeg vil hen, selv om det er
> underligt formuleret.
>
> // Aron
>

Tabel A: PK1,col1,col2
Tabel B: PK2,col1,col2

Rel C: PK1,PK2

Derudover er der to regler:
1. I relationen skal hver kollone så være en foreign key til henholdsvis a
og b. Det medfører at du kun kan oprette relationer på data, der eksisterer
i a og b.
2. PK1+PK2 skal være sammensat primær nøgle på Rel C.

Det er vigtigt at sørge for at nøglerne i sådan et setup er indekserede.

Dvs.

Select a.col1,b.col2
from a,b,c
where
a.PK1=c.PK1 and
b.PK2=c.PK2



Aron Calvert (31-10-2003)
Kommentar
Fra : Aron Calvert


Dato : 31-10-03 19:41

Nikolaj Hansen wrote:

> "Aron Calvert" <No-spam@presi.dk> wrote in message
> news:3fa1e4f0$0$69996$edfadb0f@dread12.news.tele.dk...
>
>>Hey allesammen.
>>Har lige et kort spørgsmål.
>>
>>Når man har en mange til mange relation,
>>er det så ikke rigtigt man skal lave sin relationship om til en tabel,
>>ud fra sine primary key's?
>
>
> Ja det er korrekt.
>
>
>>Hvis ja.
>>Jeg kan ikke se det fikse i den metode, man skal jo selv oprette dataen
>>i den tabel.
>
>
> Det er også korrekt - Prøv at overveje hvordan du ellers vil lave den. En
> alm. foreign key giver kun muliged for 1:N relationer.
>
>
>>hvis man så bagefter vil lave en 'SELECT * FROM relationshipTabel WHERE 1'
>>Så får jeg jo bare de primary keys som er i den relationshipTabel, dem
>>kender jeg jo i forvejen.
>>
>>Håber der er nogen som forstår hvor jeg vil hen, selv om det er
>>underligt formuleret.
>>
>>// Aron
>>
>
>
> Tabel A: PK1,col1,col2
> Tabel B: PK2,col1,col2
>
> Rel C: PK1,PK2
>
> Derudover er der to regler:
> 1. I relationen skal hver kollone så være en foreign key til henholdsvis a
> og b. Det medfører at du kun kan oprette relationer på data, der eksisterer
> i a og b.
> 2. PK1+PK2 skal være sammensat primær nøgle på Rel C.
>
> Det er vigtigt at sørge for at nøglerne i sådan et setup er indekserede.
>
> Dvs.
>
> Select a.col1,b.col2
> from a,b,c
> where
> a.PK1=c.PK1 and
> b.PK2=c.PK2
>
>

Ok. mange tak. Så vil jeg se om ikke der findes en anden løsning.
Men tak for svaret.


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

Månedens bedste
Årets bedste
Sidste års bedste