J'ai un préfixe trie. Quel est le schéma recommandé pour représenter cette structure dans une base de données relationnelle? J'ai besoin de la sous-chaîne correspondante pour rester efficace.Comment stockez-vous un trie dans une base de données relationnelle?
Répondre
Qu'en est-il du design Materialized Path?
CREATE TABLE trie (
path VARCHAR(<maxdepth>) PRIMARY KEY,
...other attributes of a tree node...
);
Pour mémoriser un mot comme « stackoverflow »:
INSERT INTO trie (path) VALUES
('s'), ('st'), ('sta'), ('stac'), ('stack'),
('stacko'), ('stackov'), ('stackove'), ('stackover'),
('stackover'), ('stackoverf'), ('stackoverflo'),
('stackoverflow');
Le chemin matérialisé dans l'arbre est la séquence de caractères préfixé lui-même. Cela forme également la clé primaire. La taille de la colonne varchar est la profondeur maximum de trie que vous voulez stocker.
Je ne peux pas penser à quelque chose de plus simple et direct que cela, et il préserve le stockage et la recherche de chaîne efficace.
Le lien redirige vers rien d'intéressant. Voici une version archivée: http://web.archive.org/web/20071019044908/http://www.dbazine.com/oracle/or-articles/tropashko4 – Howie
@Howie, merci, j'ai répondu il y a 5.5 ans, donc Ce n'est pas une surprise que certains liens soient viciés. –
Pouvez-vous donner un exemple de comment allez-vous interroger cette table pour dire "st" et il y a plus de mots comme "stackoverflowone" – zengr
Est-ce que l'une de vos entités a une relation avec une autre? Sinon, c'est-à-dire non relationnel, une table de hachage avec une sérialisation le ferait.
- 1. Base de données relationnelle
- 2. Stockage d'objets R dans une base de données relationnelle
- 3. Utilisation de Lucene comme une base de données relationnelle
- 4. XSD neutre de base de données standard pour décrire un schéma de base de données relationnelle
- 5. Comment puis-je modéliser ceci dans une base de données relationnelle?
- 6. Question de modèle de conception de base de données relationnelle - base de données Massive Read Only
- 7. base de données relationnelle et la structure de réseau
- 8. Clojure: Comment générer un 'trie'?
- 9. Base de données orientée objet Objet Vs Base de données relationnelle
- 10. Modélisation de différents types d'utilisateurs dans une base de données relationnelle
- 11. Modéliser correctement les statistiques sportives dans une base de données relationnelle
- 12. Comment représenteriez-vous une entité relationnelle comme une seule unité de données récupérables dans BerkeleyDB?
- 13. Comment mettre à jour une table relationnelle?
- 14. Type de données Char dans le problème d'infrastructure d'entité relationnelle
- 15. Comment construire une structure relationnelle en javascript?
- 16. Structures de données persistantes efficaces pour la base de données relationnelle
- 17. Comment insérer un nom d'image dans une base de données?
- 18. Comment stocker un BLOB dans une base de données?
- 19. Représentation des paires clé/valeur où la valeur peut être de n'importe quel type (dans une base de données relationnelle)
- 20. Implémentation de Trie
- 21. Comment stocker des données modifiées dans une base de données?
- 22. Créer une base de données avec un emplacement de données spécifique dans MySQL pour une base de données
- 23. Conseils rapides sur la conception de base de données relationnelle pour MySQL
- 24. Pourquoi un déclencheur de base de données serait-il invalide dans une base de données Oracle?
- 25. Mapper la base de données relationnelle au format XML en C#
- 26. Utilisation d'une base de données relationnelle et d'un magasin valeur-clé en combinaison
- 27. comment stocker une date dans une base de données mysql?
- 28. Comment insérer une valeur Combobox dans une base de données
- 29. Dans ASP.NET est-il préférable de stocker un fichier téléchargé dans une base de données relationnelle, ou le mettre dans le système de fichiers?
- 30. Comment stocker un vecteur de données de temps/valeur dans une base de données
Oui, pas d'arbre. Voir http://en.wikipedia.org/wiki/Trie – dkretz
Est-ce que vous stockez et récupérez le trie dans/de DB à utiliser dans votre code? Parce que pour la recherche DB, il existe des outils intégrés comme l'indexation de texte intégral (basé sur des principes similaires) –