Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
intro_histoire_numerique:modele_logique [2020/11/09 11:17] Francesco Beretta [Un exemple de modèle conceptuel] |
intro_histoire_numerique:modele_logique [2020/11/11 20:38] Francesco Beretta |
||
---|---|---|---|
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, [[http://phn-wiki.ish-lyon.cnrs.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}}. | ||
\\ | \\ | ||
+ | |||
+ | |||
+ | |||
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) | ||
Ligne 160: | Ligne 167: | ||
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'. |