Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Dữ liệu phân cấp điều hành MySQL

Những gì tôi sử dụng là một thiết kế khác, và mặc dù nó có những hạn chế, nếu bạn có thể chịu được chúng, nó rất đơn giản và rất hiệu quả.

Đây là một ví dụ về cây phân loại của các loài chim nên phân cấp là Lớp / Thứ tự / Họ / Chi / Loài - loài là cấp thấp nhất, 1 hàng =1 loài:

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

và ví dụ về dữ liệu:

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

Điều này thật tuyệt vì bằng cách này bạn hoàn thành tất cả các thao tác cần thiết một cách rất dễ dàng, miễn là các danh mục không thay đổi cấp độ của chúng trong cây.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhiều bảng hay một bảng lớn trong SQL?

  2. MySQL:Có thể 'lấp đầy' một SELECT với các giá trị mà không có bảng không?

  3. Sử dụng hàm nào để băm mật khẩu trong MySQL?

  4. có giới hạn kích thước tệp khi tạo tệp csv bằng php và mysql không?

  5. Trả về kết quả mặc định cho giá trị IN bất kể