Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Hierarchiczne dane operacyjne MySQL

To, czego używam, to inny projekt i chociaż ma ograniczenia, jeśli możesz je znieść, jest bardzo prosty i bardzo wydajny.

Oto przykład drzewa taksonomicznego ptaków, więc hierarchia to Klasa/Porządek/Rodzina/Rodzaj/Gatunek - gatunek to najniższy poziom, 1 rząd =1 gatunek:

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 ''
);

i przykład danych:

+---------+---------+---------+----------+---------+-------------------------------+
| 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                   |

To jest świetne, ponieważ w ten sposób wykonujesz wszystkie potrzebne operacje w bardzo łatwy sposób, o ile kategorie nie zmieniają swojego poziomu w drzewie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak programowo wykonać KIEDY i TO na aktualizacji MySQL za pomocą Pythona i Django?

  2. Jak zachować połączenie z bazą danych na serwerze WWW Pythona?

  3. Jak zaktualizować zmienione dane do Bazy Danych za pomocą JTable?

  4. Określanie mySQL ENUM w modelu Django

  5. PHP/Mysql Search — rozróżnianie wielkości liter