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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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