Avatar billede pnr Nybegynder
27. april 2005 - 15:27 Der er 12 kommentarer og
2 løsninger

Hjælp til sql-sætning med dynamiskeparametre

Jeg har en database der indeholder et dynamiskproduktkatalog. Dvs. at alle specifikationerne for de enkelte produkter er dynamiske, det er også dynamisk hvilke oplysninger der skal vises i en listevisning. Det er i forbindelse med den listevisning jeg har brug for lidt eksperthjælp.

Jeg har følgende database http://test.ibil.dk/db.gif mit spørgsmål omhandler de tabeller jeg har slået en rød streg omkring.

Jeg skal have vist en liste af data for en bestemt underkategori. Hvilke specifikationer der høre til hvert produkt er bestemt af underkategorien, og det er de data der skal vise i en listevisning også. Hvis variablen "MedtagesIOversigt" er 1 skal denne specifikation vises i en listevisning.

Det jeg så skal bruge er følgende liste visning eks.

Vægt    Længde    Brede    Pris
12            13          12      100
21            31            21      900
OSV.

Vægt, Længde, Brede og Pris er værdier der står i feltet ”navn” i tabellen specifikationsData

Data for Vægt, Længde osv. står i feltet ”værdie” i tabellen beskrivelse.

Er der nogen der kan hjælpe med at lave en sql-sætning der kan returnere dette?
Avatar billede janus_007 Nybegynder
27. april 2005 - 20:48 #1
Det bliver aldrig godt og du får aldrig en db der kan bruges til noget seriøst. Overhold 1., 2. og 3. normalform. Det vil du være meget mere tilfreds med i længden.

Læs lidt mere om det her: http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=95
Avatar billede pnr Nybegynder
28. april 2005 - 07:45 #2
Der var desværre nogle små fejl på det databasediagram jeg havde refereret til, de skulle nu være rettet, det beklager jeg!

janus_007: Når du skriver at jeg skal overholde normaliseringsreglerne 1,2 og 3 er det så de små fejl i mit diagram som jeg nu har rettet du referere til, eller er det noget overordnet? Jeg synes ellers at jeg har prøvet at over holde alle 3 regler.
Avatar billede pnr Nybegynder
29. april 2005 - 23:39 #3
Er der slet ikke nogen der kan hjælpe her?
Avatar billede arne_v Ekspert
30. april 2005 - 00:19 #4
Jeg kommer med lidt blandede kommentarer.
Avatar billede arne_v Ekspert
30. april 2005 - 00:20 #5
Burde aktiv ikke være i UnderKategori og Produkt fremfor i UnderKategoriData og ProduktData ?

(aktiv afhænger vel ikke af sprog ligesom navn)
Avatar billede arne_v Ekspert
30. april 2005 - 00:21 #6
Hvad dækker relationen mellem Beskrivels eog ProduktData over ?
Avatar billede arne_v Ekspert
30. april 2005 - 00:22 #7
Skal Specifikation.typeId være en del af PK ?
Avatar billede arne_v Ekspert
30. april 2005 - 00:22 #8
Men ellers er der ikke noget som springer i mine øjne.
Avatar billede arne_v Ekspert
30. april 2005 - 00:24 #9
Dit oprindelige problem er meget vanskeligt fordi du vil have
værdier fra rækker angivet som kolonner i query output.

Jeg vil heltklart forselå at du flytter det fra SQL til dit programmerings
sprog.
Avatar billede pnr Nybegynder
30. april 2005 - 08:02 #10
Rart at se dig på banen arne_v, så var det bare surt at jeg gik så tidligt i seng ;-/

aktiv er af hængig af sprog, man kan eks. godt have et produkt som man sælger i danmark men ikke i england (det kan godt være at min navngiving hvad det angår er lidt misvisende).

Relationen mellem beskrivelse og produktData dækker over følgende: "produktData" indeholder de ting der altid gør sig gældne for det enkelte produkt, mens "beskrivelse" indholder værdierne for de dynamiske specifikationer der er for hvert produkt. De dynamiske specifikationer er bestemt af den underkategori som produktet høre under.

eks.

hvis underkategori er Hardidske kunnne der være følgende specifikationer for alle underliggende produkter (det er de data der står i tabellen "specifkationsdata"):

fabrikat
diskkapasitet
omdrejninger
interface

Værdierne for disse specifikationer finder man så i tabellen beskrivelse.

Problemet omkring tabellen beskrivelse er lidt specielt, men jeg kan prøve at forklare hvordan det hænger sammen.
Der kan være X antal specifikationer for hver underkategori, det er produktet så afhænig af. der kan være X antal beskrivelser for et produkt (bestemt af hvilken underkategori produktet høre under). Hver beskrivelse kan være på X antal sprog.  Dvs. hvis hver beskrivelse skal have en uniknøgke(PK) skal den enten være en sammensat nøgle af 3 som jeg har lavet det, eller den skal have en fortløbende primærnøgle. Jeg valgt den første løsning da jeg synes den giver mest mening.

Det bliver kodet i ASP.NET det ved du jo også lidt om arne_v, kan du evt. hjælp mig igang? skal jeg flytte spørgsmålet?
Avatar billede arne_v Ekspert
04. maj 2005 - 20:03 #11
Ofte giver id felter pænere SQL end sammensatte nøgler.

Hvor langt er du nået i ASP.NET ?
Avatar billede pnr Nybegynder
06. maj 2005 - 08:10 #12
Jeg har fået det implementeret i asp.net ved at bruge nested repeater og det virker fint :-)

arne_v: Tusind tak for dine råde! hvis du får 40 point jeg selv tager 35 point er det så ok med dig?
Avatar billede arne_v Ekspert
06. maj 2005 - 09:41 #13
helt ok
Avatar billede pnr Nybegynder
12. maj 2005 - 15:56 #14
Så er der også lige et svar fra mig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester