Outils du site

La vie est une Maladie Sexuellement Transmissible dont l'issue est fatale ! [Inconnu]

60-database:foreignkey

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
60-database:foreignkey [2019/03/02 01:34] Roge60-database:foreignkey [2020/02/18 00:06] (Version actuelle) – [Primary key] Roge
Ligne 1: Ligne 1:
  
-====== Foreign key ======+====== P/F key ======
  
 +
 +===== Primary key =====
 +
 +https://en.wikipedia.org/wiki/Primary_key
 +
 +
 +Une clé primaire est un ensemble minimal d'attibuts qui permet d'identifier de manière unique un tupel.
 +
 +<note>
 +PostgreSql (et probablement tous les autres moteurs) crée automatiquement un index pour la clé primaire.
 +</note>
 +==== natural key ====
 +
 +Une clé natuelle est une colonne existante qui permet d'identifier de manière unique chaque tuple.
 +
 +Exemple : 
 +  * Dans une table de lien, qui est composé de deux colonnes issues de deux autres tables, l'ensemble des colonnes constitue une clé naturelle 
 +  * Dans une table de hash (Clé, valeur) la clé est naturellement une clé primaire.
 +
 +
 +==== surrogate key ====
 +
 +Une clée fabriquée spécifiquement pour identifier chaque tuple (séquence, timesatamp ...) est appelée clé technique ou surrogate key.
 +
 +Elle est particulièrement utilisée dans le cas où une clé natuelle nécessiterait trop de colonnes.
 +
 +
 +
 +
 +
 +===== Foreign key =====
  
 //"**L'absence de FOREIGN KEYs dans une base de données apporte de multiples préjudices** que nous venons d'énumérer. Le fait que la structure de la base, comme le code applicatif, ne sont pas de votre oeuvre, ne peut en aucun cas justifier l'absence de professionalisme. Par conséquent, le préjudice subit par l'absence de ces FOREIGN KEYs peut donc être condamné devant les tribunaux. En effet, les principes généraux du droit sont la Loi, mais aussi les usages (us et coutumes) et la jurisprudence."// Cf. [[https://sqlpro.developpez.com/article/fk-sql-vs-appli/|https://sqlpro.developpez.com/article/fk-sql-vs-appli/]]\\ //"**L'absence de FOREIGN KEYs dans une base de données apporte de multiples préjudices** que nous venons d'énumérer. Le fait que la structure de la base, comme le code applicatif, ne sont pas de votre oeuvre, ne peut en aucun cas justifier l'absence de professionalisme. Par conséquent, le préjudice subit par l'absence de ces FOREIGN KEYs peut donc être condamné devant les tribunaux. En effet, les principes généraux du droit sont la Loi, mais aussi les usages (us et coutumes) et la jurisprudence."// Cf. [[https://sqlpro.developpez.com/article/fk-sql-vs-appli/|https://sqlpro.developpez.com/article/fk-sql-vs-appli/]]\\
-Un attribut est une clé étrangère (Foreign key) s'il définit une référence vers un attribut qui est soit unique, soit une clé primaire d'une autre table.+ 
 +<note tip>Un attribut est une clé étrangère (Foreign key) s'il définit une référence vers un attribut qui est soit unique, soit une clé primaire d'une autre table.</note>
  
 //"L´**intégrité référentielle** est une situation dans laquelle pour chaque information d'une [[https://fr.wikipedia.org/wiki/Table_(base_de_données)|table]] A qui fait référence à une information d'une table B, l'information référencée existe dans la table B. L'intégrité référentielle est un gage de [[https://fr.wikipedia.org/wiki/Cohérence|cohérence]] du contenu de la base de données."// [Cf. [[https://fr.wikipedia.org/wiki/Intégrité_référentielle|Wikipedia]]] //"L´**intégrité référentielle** est une situation dans laquelle pour chaque information d'une [[https://fr.wikipedia.org/wiki/Table_(base_de_données)|table]] A qui fait référence à une information d'une table B, l'information référencée existe dans la table B. L'intégrité référentielle est un gage de [[https://fr.wikipedia.org/wiki/Cohérence|cohérence]] du contenu de la base de données."// [Cf. [[https://fr.wikipedia.org/wiki/Intégrité_référentielle|Wikipedia]]]
Ligne 10: Ligne 42:
 Les foreign keys permettent au SGBD de maintenir l'intégrité référentielle d'une base de données. Les foreign keys permettent au SGBD de maintenir l'intégrité référentielle d'une base de données.
  
-=====   ===== 
- 
-[[http://xwiki.webinage.fr/bin/edit/Main/Bases de données/Foreign key/WebHome?section=1|Modifier]] 
  
 ===== Aller plus loin ===== ===== Aller plus loin =====
  
-[[http://xwiki.webinage.fr/bin/edit/Main/Bases de données/Foreign key/WebHome?section=2|Modifier]] 
  
 [[https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK|Foreign keys PostreSQL]] [[https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK|Foreign keys PostreSQL]]
Dernière modification : 2019/03/02 01:34