vkladanie do databazy

Programovacie jazyky, rady, poradňa...
maros7777
Light Expert
Light Expert
Príspevky: 61
Registrovaný: 21 okt 2006, 16:37

vkladanie do databazy

Príspevok od používateľa maros7777 »

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
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

takéto veci sa robia spojovacími tabuľkami. V tvojom prípade môže byť je štruktúra id, kategoria, id_podkategorie a spominane dve podkategorie by tam boli ako dva záznamy
maros7777
Light Expert
Light Expert
Príspevky: 61
Registrovaný: 21 okt 2006, 16:37

Príspevok od používateľa maros7777 »

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? :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

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 :roll: ) 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
Napísať odpoveď