-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ajouter un diagramme du schéma de BDD #9
Comments
Je ne trouve pas le diagramme beaucoup plus clair que le fichier SQL source, mais ça ne me dérange pas de l'ajouter dans le dépôt s'il vous convient. Le CREATE TABLE textes
-( id integer primary key not null
-, nature text not null
-, num text
-, nor char(12) unique -- only used during factorization
-, titrefull_s text unique -- only used during factorization
+( id integer primary key not null
+, nature text not null
+, num text
+, nor char(12) unique -- only used during factorization
+, titrefull_s text unique -- only used during factorization
, UNIQUE (nature, num)
); |
Cool, merci ^^ |
J'ai proposé un petit changement à sqlite2dot.py pour le rendre compatible avec python3 : FredrikKarlssonSpeech/sqlite2dot#2 |
Bonjour, Je suis en train d'essayer d'utiliser legi.sqlite pour créer un embedding de tous les articles en vigueur, et pouvoir faire de la recherche sémantique dessus. J'essaye de comprendre comment je peux faire une jointure sur les tables de manière à produire au final des documents de ce type :
Le schéma m'aide un peu à visualiser la base, mais il me semble qu'il manque la representation de clés étrangères, par exemple pour faire le lien entre un article et sa hierarchie ? Merci pour ce super travail ! |
@didmar Il me semble que ce n'est pas possible en une seule requête SQL, car il faudrait que les jointures soient récursives pour récupérer les titres de sections. |
@Changaco OK, effectivement c'est ce que j'avais cru comprendre par rapport aux sections. SELECT
a.id, -- ID de l'article (code qui commence par LEGI)
a.num, -- son numéro dans le texte,
t.nature, -- nature du texte (code, décret, ...)
t.titre, -- titre du texte (code civil, ...)
a.bloc_textuel -- texte de l'article en HTML
FROM articles a INNER JOIN textes_versions t
ON a.cid = t.id WHERE a.etat = "VIGUEUR" -- uniquement les textes en vigueur |
À la nuit du code citoyen, @Pierrot-ongit et moi avons créé un diagramme du schéma de base de données de legi.py, notamment pour mieux visualiser sa structure et l’utiliser dans nos programmes. Un résultat est disponible sur http://lab.seb35.fr/legi.svg (créé par https://github.com/dargosch/sqlite2dot).
On a cherché quelque temps avant de trouver un outil qui faisait le job, avec la difficulté supplémentaire que le schéma SQLite n’est pas compatible avec MySQL.
Où peux-t-on stocker de façon pérenne ce résultat ? Dans un sous-dossier /doc de legi.py ? Dans un wiki ?
Pour mettre à jour ce diagramme, il suffit quasiment d’exécuter sqlite2dot (avec tclsh comme indiqué dans le README) puis dot (GraphViz). À noter que dot ne comprenait pas une ligne du résultat de sqlite2dot, je l’ai retiré mais ça reste un problème mineur.
The text was updated successfully, but these errors were encountered: