Salut,
je sais que pour l'union les tables doivent avoir le même schéma
mais qu'en est t'il pour INTER(intersection) et MINUS(soustraction) ?
y'a t'il la division dans SQL ?
merci








Salut,
je sais que pour l'union les tables doivent avoir le même schéma
mais qu'en est t'il pour INTER(intersection) et MINUS(soustraction) ?
y'a t'il la division dans SQL ?
merci
Selon la théorie relationnelle, si a et b sont deux relations (tables en SQL) et si a et b sont du même type (même schéma selon votre expression), l’union de ces deux relations, a UNION b est une relation du même type et dont le corps est constitué de tous les tuples t tels que t apparaît dans a ou b ou les deux.
Concernant l’intersection, il en va de même :
Si a et b sont deux relations et si a et b sont du même type (même schéma selon votre expression), l’intersection de ces deux relations, a INTERSECT b est une relation du même type et dont le corps est constitué de tous les tuples t tels que t apparaît à la fois dans a et b.
Concernant la différence (plutôt que soustraction) :
Si a et b sont deux relations et si a et b sont du même type (même schéma selon votre expression), la différence entre ces deux relations, a MINUS b est une relation du même type et dont le corps est constitué de tous les tuples t tels que t apparaît dans a mais pas dans b.
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒
Un peu de lecture !
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Tutorial D et algèbre relationnelle
Défense et illustration de la quatrième forme normale (4NF)
Modélisation Entité-Relation vs Relation universelle
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.








merci beaucoup
SQL ne propose pas d’opérateur de division, il faut donc le paraphraser. En revanche, l’algèbre relationnelle fournit cet opérateur :
Soit a et b deux relations ayant respectivement pour attributs
X1, X2, .., XmetY1, Y2, ..., Yntels qu’aucun attribut Xi (i = 1, 2, ..., m) ne partage le même nom qu’un attribut Yj (j = 1, 2, ..., n) et soit c la relation ayant pour attributs
X1, X2, ..., Xm, Y1, Y2, ..., Yn(l’en-tête de c est donc l’union des en-têtes de a et b). Désignons maintenant X et Y comme représentant respectivement {X1, X2, .., Xm} et {Y1, Y2, ..., Yn}.
La division de a par b via c (a étant le dividende, b le diviseur et c le "médiateur") :
a DIVIDEBY b PER cest une relation d’en-tête {X} et dont le corps est constitué de tous les tuples {X x} figurant dans a et tels qu’un tuple {X x, Y y} apparaît dans c pour tous les tuples {Y y} figurant dans b. Moins formellement, disons que le résultat de la division est constitué des valeurs X de a dont les valeurs correspondantes Y dans c contiennent toutes les valeurs de b.
L’aspect théorique peut paraître parfois hermétique, aussi pouvez-vous examiner quelques cas pratiques en SQL, par exemple dans les discussions :
http://www.developpez.net/forums/sho...d.php?t=539241
http://www.developpez.net/forums/sho...d.php?t=360501
http://www.developpez.net/forums/sho...25&postcount=8
‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒‒
Un peu de lecture !
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Tutorial D et algèbre relationnelle
Défense et illustration de la quatrième forme normale (4NF)
Modélisation Entité-Relation vs Relation universelle
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Partager