Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Data hierarki operasi MySQL

Apa yang saya gunakan adalah desain yang berbeda, dan meskipun memiliki keterbatasan, jika Anda dapat menanggungnya, itu sangat sederhana dan sangat efisien.

Berikut adalah contoh pohon taksonomi burung sehingga hierarkinya adalah Kelas/Ordo/Keluarga/Genus/Spesies - spesies adalah tingkatan paling bawah, 1 baris =1 spesies:

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

dan contoh datanya:

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

Ini bagus karena dengan cara ini Anda menyelesaikan semua operasi yang diperlukan dengan cara yang sangat mudah, selama kategori tidak mengubah levelnya di pohon.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyalin baris dan menyisipkan di tabel yang sama dengan bidang peningkatan otomatis di MySQL?

  2. Jumlahkan nilai kolom berdasarkan sekelompok nilai dari kolom lain

  3. Kata kunci SEPARATOR tidak berfungsi dengan baik di Formula Hibernate

  4. Memigrasikan MySQL ke PostgreSQL di AWS RDS, Bagian 2

  5. Mendapatkan id catatan yang dimasukkan terakhir dari tabel database di java?