FR:Rails port/Database schema

From OpenStreetMap Wiki
Jump to navigation Jump to search

Il s'agit de Développer la documentation sur la façon dont les différentes tables de la base de données sont disposées dans l'application principale d'OpenStreetMap, le rails port. Cette base de données stocke toutes les données relatives directement au site web et à l'API d'openstreetmap, et surtout les tables de géodonnées contiennent les données cartographiques réelles, c'est-à-dire les Data Primitives. (nœuds/voies/rapports/balises, etc.) et leur historique d'édition.

Les changements de schéma sont effectués occasionnellement sous forme de "migrations" de rails, et donc les migrations definitions in git doivent être considérés comme la "seule vraie source" pour les définitions de schéma. En fait, il n'est pas nécessaire, du moins en théorie, de comprendre le schéma sous-jacent de la base de données, puisque les interactions de code dans l'application rails ont lieu via les modèles de Rails (les ActiveRecord), et les interactions de données par des outils tiers ont lieu via l'API. Cependant, si vous développez sur votre propre serveur de test, vous pouvez être curieux de savoir comment la base de données sous-jacente est structurée.

La dernière version du schéma de la base de données peut être trouvée dans le dépôt Rails port git.

Un diagramme ER détaillé du schéma supportant le port rails peut être trouvé ici ici (créé le 12/2014)

Tableaux

Tableaux de géodonnées

Il existe deux tables pour chaque ensemble de Données Primitives : la table principale et la table courante.

La table courante (par exemple current_nodes, current_ways) est la dernière révision, utilisée pour dessiner la carte. La table maîtresse comprend l'historique de toutes les éditions précédentes. La table actuelle est donc un sous-ensemble de la table maîtresse.

La latitude et la longitude sont stockées sous forme d'"entiers échelonnés" avec un facteur d'échelle de 1e7, de sorte qu'une latitude entière de -412870685 équivaut à -41,2870685.

Diagramme

OSM DB Schema 2016-12-13.svg