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é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/10/31 11:18]
Francesco Beretta [Le modèle logique ou relationnel]
intro_histoire_numerique:modele_logique [2020/10/31 14:05]
Francesco Beretta [Un exemple de modèle conceptuel]
Ligne 12: Ligne 12:
  
  
-Sur ce graphique représentant le modèle conceptuel, on reconnaît ​des classes avec leurs propriétés, ​des relations (orientées) entre les classes ​et leurs cardinalités.+Sur ce graphique représentant le modèle conceptuel, on reconnaît ​les classes avec leurs propriétés, ​et les relations (orientées) entre les classes ​avec leurs cardinalités. 
 +\\ 
 +Ce modèle conceptuel permet de traiter un questionnement de base relevant de la méthode proposopographique,​ comprenant ces aspects: 
 +  * dater et localiser les naissances des personnes (afin de les afficher sur une carte) 
 +  * représenter les liens familiaux: parents, fratrie, jumeaux, etc. 
 +  * gérer les différentes appellations des personnes 
 +  * classifier les personnes avec une classification définie par l'​utilisateur (//​tags//​) 
 +  * traiter les métiers et autres occupations des personnes, leur évolution dans le temps, et pouvoir les cartographier
 ===== Le modèle logique ou relationnel ===== ===== Le modèle logique ou relationnel =====
  
Ligne 27: Ligne 34:
     * par convention nous choisissons de nommer cet identifiant avec le nom de la table, précédé de '​pk_',​ par ex. //​pk_person//​ pour la table ou relation //person//.     * par convention nous choisissons de nommer cet identifiant avec le nom de la table, précédé de '​pk_',​ par ex. //​pk_person//​ pour la table ou relation //person//.
   * les relations de '1 à n' sont exprimées par un report de la clé primaire de la table/​classe du côté '​1'​ vers la table/​classe du côté '​n' ​   * les relations de '1 à n' sont exprimées par un report de la clé primaire de la table/​classe du côté '​1'​ vers la table/​classe du côté '​n' ​
-    * la clé primaire (//primary key//) de la table du côté '​1'​ de vient une clé étrangère (//foreign key//) dans la table du côté '​n' ​+    * la clé primaire (//primary key//) de la table du côté '​1'​ de vient une clé étrangère (//foreign key//) dans la table du côté 'n
 +    * par convention, les clés primaires sont préfixées par 'fk_' ​
   * les relations de 'n à n' sont exprimées par la création d'une nouvelle table ou relation. ​   * les relations de 'n à n' sont exprimées par la création d'une nouvelle table ou relation. ​
      * cette table établit le lien entre les deux classes et exprime leur relation de 'n à n'      * cette table établit le lien entre les deux classes et exprime leur relation de 'n à n'
Ligne 36: Ligne 44:
 \\ \\
  
-Si on applique ces réglès au modèle conceptuel de l'​exemple,​ on obient ces relations (les clés primaires ​et étrangères sont soulignées):​+Si on applique ces réglès au modèle conceptuel de l'​exemple,​ on obient ces relations (les clés primaires ​sont en italique, les clés étrangères sont soulignées):​
 \\ \\
-<​code>​ + 
-person(__pk_person__, name, definition, death_date) +person(//​pk_person//​, name, definition, gender, death_date, __fk_birth__\\ 
-appellation(pk_appellation, ​@pk_person, name) + 
-</code>+appellation(//pk_appellation//__pk_person__, name) \\ 
 + 
 +tag(//pk_tag//, __fk_parent_tag__,​ name, definition) \\ 
 + 
 +tags(//​pk_tags//,​ __fk_person__,​ __fk_tag__) \\ 
 + 
 +pursuit(//​pk_pursuit//,​ __fk_person__,​ __fk_occupation__,​ __fk_organisation__,​ begin_date, end_date) \\ 
 + 
 +organisation(//​pk_organisation//,​ __fk_geographical_place__,​ name, definition) \\ 
 + 
 +occupation(//​pk_occupation//,​ name, definition) \\ 
 + 
 +specializes_occupation(//​pk_specializes_occupation//,​ __fk_parent_occupation__,​ __fk_child_occupation__) \\ 
 + 
 +birth(//​pk_birth//,​ date, __fk_geographical_place__,​ __fk_union__) \\ 
 + 
 +union(//​pk_union//,​ __fk_union_type__,​ begin_date, end_date, __fk_person_1__,​ __fk_person_2__) \\ 
 + 
 +union_type(//​pk_union_type//,​ name, definition) \\ 
 + 
 +geographical_place(//​pk_geographical_place//,​ name, definition, longitude,​latitude,​ __fk_geographical_place_type__) \\ 
 + 
 +geographical_place_type(//​pk_geographical_place_type//,​ name, definition) \\ 
 + 
 + 
 +===== Création de la base de données SQLite qui implémente le modèle logique ou relationnel ​ ===== 
 + 
 +\\ 
 + 
  
intro_histoire_numerique/modele_logique.txt · Dernière modification: 2024/03/04 13:55 par Francesco Beretta