Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL stocke efficacement les bords de graphe non orientés

C'est probablement trop obsolète pour être utile, mais je posterai au cas où ça aiderait d'autres personnes !

Je stocke des graphiques non orientés comme votre deuxième exemple et j'ai une contrainte selon laquelle node_a doit être inférieur à node_b. Vous placez alors trivialement un UNIQUE contrainte sur la paire et savoir que les données sont cohérentes. Les requêtes doivent travailler un peu plus en comparant node_a au plus petit de {a,b} et node_b l'autre valeur. PostgreSQL (la base de données que je connais le mieux) fournit GREATEST() et LEAST() fonctions qui aident ici.