Pereiti prie turinio

Kategorijų su subkategorijomis principas, duomenų bazė


Rekomenduojami pranešimai

http://i.imgur.com/u0fWXnn.png

Paaiškinkite man kaip duomenų bazėje atrodo toks kategorijų išsaugojimas. Kiekviename lygyje gali būti N kategorijų. Ir tų lygių taip pat gali būti N.

 

Jei galite pateikite trumpą užpildytų lentelių pavizdį remiantis pateiktu paveikslėliu.

Redagavo F00G
Nuoroda į pranešimą
Dalintis kituose puslapiuose

http://i.imgur.com/u0fWXnn.png

Paaiškinkite man kaip duomenų bazėje atrodo toks kategorijų išsaugojimas. Kiekviename lygyje gali būti N kategorijų. Ir tų lygių taip pat gali būti N.

 

Jei galite pateikite trumpą užpildytų lentelių pavizdį remiantis pateiktu paveikslėliu.

 

Dažniausiai tai realizuojama panaudojus "Nested set" http://en.wikipedia.org/wiki/Nested_set_model

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Arba klasikinis sprendimas be įmantrybių.

 

PVZ:

 

lentele_bendra:
id, pavadinimas
1, Transportas;
2, Technika;
3,...

lentele_transportas:
id, pavadinimas 
1, Automobiliai;
2, Moto;
3,...

lentele_automobiliusupirkimas:
id, pavadinimas 
1, Acura;
2, Aixam;
3,...

ir t.t.

 

 

Na ir darai atitinkantį SELECT'ą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Arba klasikinis sprendimas be įmantrybių.

 

PVZ:

 

lentele_bendra:
id, pavadinimas
1, Transportas;
2, Technika;
3,...

lentele_transportas:
id, pavadinimas 
1, Automobiliai;
2, Moto;
3,...

lentele_automobiliusupirkimas:
id, pavadinimas 
1, Acura;
2, Aixam;
3,...

ir t.t.

 

 

Na ir darai atitinkantį SELECT'ą.

 

košmaras čia ne sprendimas :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dažniausiai tai realizuojama panaudojus "Nested set" http://en.wikipedia.org/wiki/Nested_set_model

O IPB varikliukas irgi tokiu pačiu principu skirsto katalogus? Nors uzdarbis.lt turi tik 2 lygius (0 ir 1, katalogas ir jo sub katalogai), tačiau turbūt galima sukurti jų ir daugiau.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Struktura:

 

id
name
parent

 

jeigu kateogrija gali priklausyti keliom kateogrijom/subkategorim tai surisima reikia perkelt i atskira table.

 

id
cat_id
parent_id

 

Šis variantas turi trūkumų. pvz neišrūšiuoji kategorijų taip:

Butai

Namai

Patalpos

Sklypai

Sodybos

Garažai

Nuoma

Medžiagos, įranga

Statybos paslaugos

Kita

 

aišku galima susivesti iš eilės ir rūšiuoti pagal id, bet vėliau norint kategoriją Patalpos perkelti aukščiau/žemiau tampa neįmanoma

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Atrodo pagaliau supratau. :ph34r:

 

http://i.imgur.com/pVY9dF3.png

 

Pagal 'priority' būtų galima rūšiuoti katalogus esamus tame pačiame 'level'. O 'is child of' nurodo to katalogo 'tėvą'.

 

Manau 'level' nereikalingas čia, vistiek pagal parent_id gausi visus 'vaikus' kategorijai ir tada pagal 'priority' juos išrūšiuot gali

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...