Mysql
 sql >> база данни >  >> RDS >> Mysql

Оперативни йерархични данни на MySQL

Това, което използвам, е различен дизайн и въпреки че има ограничения, ако можете да ги понесете, той е много прост и много ефективен.

Ето пример за таксономично дърво на птици, така че йерархията е клас/разред/семейство/род/вид - видът е най-ниското ниво, 1 ред =1 вид:

CREATE TABLE `taxons` (
  `TaxonId` smallint(6) NOT NULL default '0',
  `ClassId` smallint(6) default NULL,
  `OrderId` smallint(6) default NULL,
  `FamilyId` smallint(6) default NULL,
  `GenusId` smallint(6) default NULL,
  `Name` varchar(150) NOT NULL default ''
);

и примера на данните:

+---------+---------+---------+----------+---------+-------------------------------+
| TaxonId | ClassId | OrderId | FamilyId | GenusId | Name                          |
+---------+---------+---------+----------+---------+-------------------------------+
|     254 |       0 |       0 |        0 |       0 | Aves                          |
|     255 |     254 |       0 |        0 |       0 | Gaviiformes                   |
|     256 |     254 |     255 |        0 |       0 | Gaviidae                      |
|     257 |     254 |     255 |      256 |       0 | Gavia                         |
|     258 |     254 |     255 |      256 |     257 | Gavia stellata                |
|     259 |     254 |     255 |      256 |     257 | Gavia arctica                 |
|     260 |     254 |     255 |      256 |     257 | Gavia immer                   |
|     261 |     254 |     255 |      256 |     257 | Gavia adamsii                 |
|     262 |     254 |       0 |        0 |       0 | Podicipediformes              |
|     263 |     254 |     262 |        0 |       0 | Podicipedidae                 |
|     264 |     254 |     262 |      263 |       0 | Tachybaptus                   |

Това е чудесно, защото по този начин изпълнявате всички необходими операции по много лесен начин, стига категориите да не променят нивото си в дървото.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Експортирайте MySQL база данни към SQLite база данни

  2. Не може да се свърже с базата данни след известно време на внедряване на сървъра

  3. Променете часовата зона на mysql от phpMyAdmin

  4. Генеалогично дърво mysql

  5. Заменете нулеви стойности в sql, като използвате оператор select в mysql?