webForumDet fria alternativet

kan man...

Webbutveckling

25 svar · 603 visningar · startad av MizzK

Medlem sedan juni 2003410 inlägg
Frågan#1

koppla två attribut till samma i en annan tabell.. i den "nya" tabellen så är det på många sidan.. och isf hur?

ex.

[tabell1 med attibut1] 1:n till [tabell 2 med attibut1] samt n:1 [tabell3 attibut 1]

om ni försår =)

Medlem sedan mars 20034 471 inlägg
#2

Re: kan man...

MizzK skrev:

...om ni försår =)

Nej! :q I alla fall jag förstår inte ett jota...

Medlem sedan dec. 20003 563 inlägg
#3

Håller med föregående talare, om du inte talar om JOIN?
Man kan skapa relationer ja!
Men försök gärna förklara igen, och med ett exempel.

Medlem sedan juni 2003410 inlägg
#4

se filen jag skickar med.. så ser ni hur jag menar.. sen om det går hur vet den var den skall ta informationen ifrån, kan man ställa in så att det är antingen produkt1 eller produkt2 ??

relation.gif
Medlem sedan dec. 20003 563 inlägg
#5

Hmm. Om du skall göra något slags affärssystem så är inte detta det bästa?

tbl_orders
ID
customer
blablabal

tbl_all_products_that_is_ordered
ID
orderID
productID

tbl_products
ID
product_name

Tänker jag rätt eller tänker du fel? ;)

Medlem sedan juni 2003410 inlägg
#6

nja, inte riktigt så jag har tänkt.. men d var inte en dum ide det heller.. just nu är det så att vi har två olika typer av prdukter.. hyrprodukter ex. filmer, spel och dyligt, samt en tabell med livsmedelsprdukter.. och dessa vill jag ha i olika tabeller, men i order ha båda produkterna kopplade

Medlem sedan juni 2003410 inlägg
#7

har samma problem i en tabell som heter försäljning.. där man registerar alla försäljningar till kunder...

Medlem sedan dec. 20003 563 inlägg
#8

Det är väl bara att ange i tabellen orders vilken tabell man skall hämta produkten ifrån.

tbl_orders
ID | get_product_from_tabel_nr | ProductID

tbl_product_1
ID | name

tbl_product_2
ID | name
Medlem sedan maj 20018 027 inlägg
#9

MizzK skrev:

nja, inte riktigt så jag har tänkt.. men d var inte en dum ide det heller.. just nu är det så att vi har två olika typer av prdukter.. hyrprodukter ex. filmer, spel och dyligt, samt en tabell med livsmedelsprdukter.. och dessa vill jag ha i olika tabeller, men i order ha båda produkterna kopplade

Man skulle kunna tänka sig att ha både hyr- och livsmedel i samma tabell, där en kolumn får ange vilket av alternativen det är. Eller så skulle man kunna tänka sig att ha två olika kolumner i ordertabellen, vilka refererar till varsin produkttabell.

Medlem sedan juni 2003410 inlägg
#10

cyprys hur gör man det??

Medlem sedan dec. 20003 563 inlägg
#11

I kolumnen anger du tabellnamnet helt enkelt.

ID | get_product_from_tabel_nr | ProductID

2 | prod1 | 45
3 | prod1 | 63
4 | prod2 | 45

och sen hämtar du rätt tabell beroende på vilken slags SQL-sats du skall köra.

Medlem sedan juni 2003410 inlägg
#12

och var drar man relationen??

Medlem sedan maj 20018 027 inlägg
#13

cyprys skrev:

I kolumnen anger du tabellnamnet helt enkelt.

ID | get_product_from_tabel_nr | ProductID

2 | prod1 | 45
3 | prod1 | 63
4 | prod2 | 45

och sen hämtar du rätt tabell beroende på vilken slags SQL-sats du skall köra.

Hur hanterar databasen om du raderar bort produkt 45 i prod1-tabellen? Då borde den påpeka att det finns rader i order-tabellen som refererar till just den produkten endast i de fall där order-raderna innehåller både 45 och prod1. Inte i de fall där de innehåller 45 och prod2. Går det verkligen att sätta upp en sådan FK? Det känns som om det är enklare att modellera databasen på något annat vis, tex så som jag föreslog.

Medlem sedan dec. 20003 563 inlägg
#14

Eller så som jag sa i början ja.

Medlem sedan mars 20034 471 inlägg
#15

cyprys ursprungliga förslag tillsammans med en tabell typ borde göra precis vad du vill.

TYP
typnr   beskr
1       livsmedel
2       filmer
3       spel
...

PRODUKTER
id   namn                    typ
1    mjölk                    1
2    soppa                    1
3    Ronja Rövardotter        2
4    Destroy the Empire XXII  3

ORDER
id   kund        ...
1    ICA         ...
2    Speltokig   ... 

BESTÄLLT
ordID   prodID   ....
1          1
1          2
2          4

red: Få kolumnerna något så när raka...

Medlem sedan juni 2003410 inlägg
#16

det är ett "måste" att ha 2 st produkt tabeller, så d går inte att slå ihop dem...

Medlem sedan maj 20018 027 inlägg
#17

Använd i så fall två kolumner som får referera till varsin tabell:

order
--------------
id
prod1 FK
prod2 FK

Medlem sedan juni 2003410 inlägg
#18

då blir det en drös med tomma fält..

är intresserad av att höra hur cyprys tänkte innan

Medlem sedan juni 2003410 inlägg
#19

aasah i ditt exempel hur kopplar man d olika produktrerna till typ???

*nya uppdatering *
tänkte fel när jag såg ditt ex.. tänkte att du gjorde på ett annat sätt, nämligen att typ betydde namnen på produkt tabellerna =)

Medlem sedan maj 20018 027 inlägg
#20

MizzK skrev:

då blir det en drös med tomma fält..

Det gör väl inget?

392 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
131 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)