Division

DéfinitionDivision

La division est une opération binaire (c'est à dire portant sur deux relations).

La division de RD par Rd a pour résultat RQ tel que RQ comporte le plus grand ensemble possible de tuples qui concaténés à ceux de Rd donnent toujours un tuple de RD.

Fondamental

RQ = RD ÷ Rd si et seulement si :

  • Rd X RQ ⊆ dans RD

  • ∄ RQ' tel que RQ ⊂ RQ' et Rd X RQ' ⊆ dans RD

Syntaxe

RQ = Division (RD, Rd)

Attention

  • Tous les attributs de Rd sont des attributs de RD (c'est à dire de même nom et de même domaine), sinon ∀R, Rd X R donnera des tuples dont au moins un attribut n'appartient pas au schéma de RD.

  • RD a au moins un attribut de plus que Rd, sinon ∀R, Rd X R donnera des tuples qui ont au moins un attributs de plus que RD.

  • RQ comporte les attributs appartenant à RD mais n'appartenant pas à Rd

ConseilComparaison avec la division entière

  • RD est le dividende

  • Rd est le diviseur

  • RQ est le quotien (tel que RQ x Rd donne le plus grand entier inférieur à RD)

  • Il y a une sorte de reste Rr qui contient les tuples de RD qui ne sont pas retrouvés par l'opération Rd X RQ.

Exemple

Soit les deux relations suivantes : (RD) Pratique (personne, age, métier) et (Rd) Métier (métier)

(RD) Pratique

personne

age

métier

Dupont

20

Ingénieur

Dupont

20

Professeur

Durand

30

Professeur

Martin

40

Ingénieur

Martin

40

Professeur

(Rd) Métier

métier

Ingénieur

Professeur

Soit l'opération suivante : RQ = Division (Pratique, Métier)

On obtient alors la relation RQ composée des tuples suivants :

(RQ) Résultat

personne

age

Dupont

20

Martin

40

On peut considérer que le tuple (Durand, 30, Professeur) est ici une sorte de reste, il n'est pas retrouvé par l'opération Rd X RQ.

MéthodeRéponse aux questions : Pour tous les ...

La division permet de répondre aux questions du type : "Donnez toutes les personnes qui pratiquent tous les métiers de la relation métier".

RemarqueOpération additionnelle

La division n'est pas une opération de base, elle peut être réécrite en combinant le produit, la restriction et la différence.

SyntaxeSyntaxes alternatives

RQ = ÷ (RD, Rd)

RQ = RD ÷ Rd