caute,
neviem si pomoct, ako co najlepsie vkladat do databazy. chcem do databazy vkladat podkategorie, ale jedna polozka moze mat jednu, dve, pat alebo aj ziadnu podkategoriu. cize ked ulozim vsetko do jednej polozky tabulky, tak sa to bude z nej tazko vyberat. a nechcem v tabulke vytvorit bunky podkategoria1, podkategoria2, ... pretoze to sa mi zda neefektivne.
napr. jedna polozka bude mat podkategoriu auto
druha bude mat kolesa, auto
a teraz budem chciet vybrat polozky, ktore maju podkategoriu auto.
ale budem aj chciet pri vypise poloziek boli podkategorie klikatelne. napr. dam vypisat vsetko. polozka XY bude mat podkategorie kolesa, auto a ked kliknem na kolesa tak mi vybere vsetky polozky, ktore obsahuju kolesa, atd..
dufam, ze chapete co chcem. proste poradte mi, ze ako najlepsie ukladat viac poloziek do jednej bunky tabulky, aby som s kazdou jednou vedel bez problemov pracovat.
Dakujem
vkladanie do databazy
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
ak som to spravne pochopil, tak jednu tabulku budem mat napr.
kategoria
id_podkategoria
a druhu budem mat
id_podkategoria
nazov_podkategoria
do prvej tabulky vlozim kategoriu a do id_podkategoria dam napr. 1 4
a do akeho typu by si to ukladal? lebo toto je v podstate to iste ako keby tam priamo vypisujem podkategorie. ked budem pisat select a budem chcet vybrat id_podkategoria == 4 tak sa k tomu aj tak priamo nedostanem. ci nepochopil som?
kategoria
id_podkategoria
a druhu budem mat
id_podkategoria
nazov_podkategoria
do prvej tabulky vlozim kategoriu a do id_podkategoria dam napr. 1 4
a do akeho typu by si to ukladal? lebo toto je v podstate to iste ako keby tam priamo vypisujem podkategorie. ked budem pisat select a budem chcet vybrat id_podkategoria == 4 tak sa k tomu aj tak priamo nedostanem. ci nepochopil som?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
zle si to pochopil. V hlavnej tabuľke kde máš produkty alebo čo to je nemáš nič s kategoriami spoločné (inak porušuješ 2. normálovú formu). Ty potrebuješ zabezpečiť kardinalitu M:N a to sa robí prepojovacími tabuľkami ako som napísal (tak to vypadá keď si niekto myslí že na programovanie netreba teoriu
) Každopádne, bolo by to nejak takto:
1) v tabuľke s kategoriami máš id kategorie a názov kategorie (je to vlastne zoznam všetkých kategorii, aby sa neporušila tentokrát zase 1. NF)
2) v tabuľke s produktami alebo čo to máš nemáš nič o podkategoriach
3) máš tabuľku napríklad s názvom kat_podkat kde si eviduješ vzťahmi medzi nimi, a bude mať id, id_kategorie, id_podkategorie. A ak bude jedna kategoria mať viac podkategorii, bude to ako viac riadkov:
1 - 4 - 8
1 - 4 - 9
kde 4 je id kategorie, ktorá má dve podkategorie a to 8 a 9. Potom si jednoduchým selektom zistíš všetky podkategorie danej kategorii. Ak to potrebuješ aj inými údajmi (ako ich názvy) tak jednoduché vonkajšie spájania
1) v tabuľke s kategoriami máš id kategorie a názov kategorie (je to vlastne zoznam všetkých kategorii, aby sa neporušila tentokrát zase 1. NF)
2) v tabuľke s produktami alebo čo to máš nemáš nič o podkategoriach
3) máš tabuľku napríklad s názvom kat_podkat kde si eviduješ vzťahmi medzi nimi, a bude mať id, id_kategorie, id_podkategorie. A ak bude jedna kategoria mať viac podkategorii, bude to ako viac riadkov:
1 - 4 - 8
1 - 4 - 9
kde 4 je id kategorie, ktorá má dve podkategorie a to 8 a 9. Potom si jednoduchým selektom zistíš všetky podkategorie danej kategorii. Ak to potrebuješ aj inými údajmi (ako ich názvy) tak jednoduché vonkajšie spájania