Outils pour utilisateurs

Outils du site


intro_histoire_numerique:modele_logique

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
intro_histoire_numerique:modele_logique [2020/11/08 00:49] – fberettaintro_histoire_numerique:modele_logique [2026/09/14 12:00] (Version actuelle) – modification externe 127.0.0.1
Ligne 9: Ligne 9:
  
  
-{{:intro_histoire_numerique:mcd_to_database_example.jpg?300|Exemple de modèle conceptuel}}+{{:intro_histoire_numerique:mcd_to_database_example_drawio.jpg?300|Exemple de modèle conceptuel}}
  
 +Modèle conceptuel réalisé avec le logiciel //diagrams.net// (draw.io) (clicker sur le diagramme deux fois pour afficher). Concernant le logiciel, [[https://wiki.larhra.fr/doku.php?id=intro_histoire_numerique:modelisation_bases_donnees&#logiciel_pour_realiser_le_modele_conceptuel|voir cette page]].
 +
 +
 +Télécharger le {{:intro_histoire_numerique:mcd_to_database_example.drawio.zip|fichier XML au format .drawio ici}} et ouvrez-le dans //diagrams.net//.
  
 \\ \\
 +
 +
 +
 Ce modèle conceptuel permet de traiter (de manière relativement simple mais efficace) un questionnement  relevant de la méthode prosopographique, comprenant ces aspects: Ce modèle conceptuel permet de traiter (de manière relativement simple mais efficace) un questionnement  relevant de la méthode prosopographique, comprenant ces aspects:
   * dater et localiser les naissances des personnes (afin de les afficher sur une carte)   * dater et localiser les naissances des personnes (afin de les afficher sur une carte)
   * représenter les liens familiaux: parents, fratrie, jumeaux, etc.   * représenter les liens familiaux: parents, fratrie, jumeaux, etc.
 +    * on utilise la classe Union qui représente la relation des parents (mariage, union libre, etc.) donnant lieu aux naissances
 +    * les autres rapports de parentée sont __calculés__ à partir des unions
 +    * les autres rapports de parentée ne doivent pas être renseignés en utilisant la classe union 
   * gérer les différentes appellations des personnes   * gérer les différentes appellations des personnes
   * classifier les personnes avec une classification définie par l'utilisateur (//tags//)   * classifier les personnes avec une classification définie par l'utilisateur (//tags//)
Ligne 54: Ligne 64:
 person(//pk_person//, name, definition, gender, death_date, __fk_birth__, notes) \\ person(//pk_person//, name, definition, gender, death_date, __fk_birth__, notes) \\
  
-appellation(//pk_appellation//, __pk_person__, name, sources, notes) \\+appellation(//pk_appellation//, __fk_person__, name, sources, notes) \\
  
 tag(//pk_tag//, __fk_parent_tag__, name, definition, notes) \\ tag(//pk_tag//, __fk_parent_tag__, name, definition, notes) \\
Ligne 104: Ligne 114:
   * choisir le type par dévaut SQLite3   * choisir le type par dévaut SQLite3
   * appuyer sur le bouton '+' en vert   * appuyer sur le bouton '+' en vert
-  * entrer un nom pour la base de données (sans espaces, seulement avec des '_' entre les paroles, et sans accents), par ex. __prosopographie__ +  * apparaît cette boîte de dialogue:{{:intro_histoire_numerique:capture_d_ecran_2023-11-02_110119.png?nolink&200|}} 
-  * naviguer vers le dossier 'bases_sqlite' précédemment créé.+  * naviguer avec le bouton 'Fichier' vers le dossier 'bases_sqlite' précédemment créé. 
 +  * entrer un nom pour la base de données (sans espaces, seulement avec des '_' entre les paroles, et sans accents), par ex. __prosopographie.sqlite__
   * appuyer sur le bouton 'Enregistrer'   * appuyer sur le bouton 'Enregistrer'
   * on revient à la boîte de dialogue 'Database', on lit le chemin vers le fichier SQLite et son nom, prosopographie.db, et on valide avec le bounton 'OK'.   * on revient à la boîte de dialogue 'Database', on lit le chemin vers le fichier SQLite et son nom, prosopographie.db, et on valide avec le bounton 'OK'.
Ligne 117: Ligne 128:
 Instructions: Instructions:
  
-  * commencer par ajouter des tables qui n'ont pas de clés étrangères, par ex. 'geographical_place_type'+  * commencer par ajouter des tables qui n'ont pas de clés étrangères qui références des tables externes, par ex. 'geographical_place_type'
   * click droit sur 'Tables' à gauche dans la liste des objets de la base de données et 'Create a table'   * click droit sur 'Tables' à gauche dans la liste des objets de la base de données et 'Create a table'
   * insérer le nom de la table   * insérer le nom de la table
Ligne 157: Ligne 168:
  
 On procède ainsi pour toutes les autres tables. On procède ainsi pour toutes les autres tables.
 +
 +  * **IMPORTANT** : Traitement des **dates**
 +    * dans une base de données SQLite (sqlite3) le format de DATE n'imposte pas de contrainte précise, ça peut être un chiffre ou une chaine de caractères (cf. [[https://www.w3resource.com/sqlite/sqlite-data-types.php|ces explications]])
 +    * Si on traite uniquement des dates dans l'Ére commune ou chrétienne (après Jésus-Christ) on peut utiliser la valeur VARCHAR pour les dates, en mettant une limite à 12 charactères et en utilisant le format ISO qui permet les dates tronquées et le tri de type texte: 1900-10-15, 1900-10, 1900.
 +    * Si on a des dates avant l'Ère commune, deux champs sont nécessaires : année (entier avec valeur négatives possible) ; mois-jour si nécessaire (varchar)
 +    * Si on a besoin de heures:minues:secondes les ajoute (dans les deux cas) après le jour, par exemple sous cette forme 1900-10-15T09-10-04
 +
  
 A noter que on ne pourra pas créer la table 'person' ou 'birth' directement avec toutes les clé étrangères, car 'birth' dépend de 'union' qui dépend à son tour de 'person'. A noter que on ne pourra pas créer la table 'person' ou 'birth' directement avec toutes les clé étrangères, car 'birth' dépend de 'union' qui dépend à son tour de 'person'.
intro_histoire_numerique/modele_logique.1604792981.txt.gz · Dernière modification : de fberetta