sql >> Databáze >  >> RDS >> Mysql

Vytvářejte drobky kategorií uložených v MySQL

Rád používám Materializovanou cestu protože v podstatě obsahuje vaši drobečkovou stopu a usnadňuje provádění věcí, jako je výběr všech potomků uzlu bez použití rekurzivních dotazů.

Model zhmotněné cesty

Myšlenka modelu Materialized path je propojit každý uzel v hierarchii s jeho pozicí ve stromu. To se provádí pomocí zřetězeného seznamu všech předků uzlů. Tento seznam je obvykle uložen v řetězci s oddělovači. Všimněte si níže uvedeného pole „Linage“. CAT_ID NAME CAT_PARENT Lineage 1 Home . 2 product 1 .1 3 CD’s 2 .1.2 4 LP’s 2 .1.2 5 Artists 1 .1 6 Genre 5 .1. 5 7 R&B 6 .1. 5.6 8 Rock 6 .1. 5.6 9 About Us 1 .1

Procházení stolu

Select lpad('-',length(t1.lineage))||t1.name listing
From category t1, category t2
Where t1.lineage like t2.lineage ||'%'
    And t2.name = 'Home';
Order by t1.lineage;

Výpis

Home
-product
–CD’s
–LP’s
-Artists
–Genre
—R&B
—Rock
-About Us


  1. Importujte více souborů CSV do mysql

  2. Řešení problémů s replikací z databázových klastrů bez GTID do GTID MariaDB

  3. Jak navrhnout systém připravený na lokalizaci

  4. Jak efektivně vložit data souboru CSV do MYSQL pomocí Pythonu?