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 10:59]
Francesco Beretta [Un exemple de modèle conceptuel]
intro_histoire_numerique:modele_logique [2020/10/31 11:22]
Francesco Beretta [Le modèle logique ou relationnel]
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.
 ===== Le modèle logique ou relationnel ===== ===== Le modèle logique ou relationnel =====
  
Ligne 21: Ligne 21:
  
 Les principales règles: Les principales règles:
-  * on créer ​une table ou relation pour chaque classe+  * on crée une table ou relation pour chaque classe 
 +    * le nom de la table sera sans espaces et sans accents, uniquement avec des lettres en minuscule 
 +  * on attribue un identifiant unique à chaque classe 
 +    * cet identifiant s'​appelle clé primaire, //primary key// 
 +    * 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'​  
 +    * 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.  
 +     * cette table établit le lien entre les deux classes et exprime leur relation de 'n à n' 
 +     * les clés primaires (//primary key//) de chaque table sont reportées et deviennent des clés étrangères (//foreign key//) dans la table relation 
 +     * la table relation a le nom de la relation – celui-ci doit donc être unique dans le modèle conceptuel 
 +     * pour des raisons pratiques nous ajoutons une clé primaire spécifique pour la table relation sous la forme '​pk_'​ + nom de la table, par ex. //​pk_specializes_tag//​ pour la table //​specializes_tag//​. 
 + 
 +\\ 
 + 
 +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):​ 
 +\\ 
 + 
 +person(//​pk_person//,​ name, definition, death_date) \\ 
 +appellation(//​pk_appellation//,​ __pk_person__,​ name) \\ 
 +tag(pk_tag, name, definition) \\ 
 +tags(pk_tags,​ pk_person, pk_tag) \\ 
 + \\ 
 + \\ 
 + \\ 
 + \\ 
 + \\ 
 + \\ 
 + \\ 
 + \\ 
 + \\ 
 + 
 + 
intro_histoire_numerique/modele_logique.txt · Dernière modification: 2024/03/04 13:55 par Francesco Beretta