MATHÉMATIQUES DISCRÈTES Chapitre 6 (relations)

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Informatique appliquée à la gestion Bases de données www. labri
Algorithmes et structures de données avancées Cours 7
COURS DE MATHEMATIQUES DISCRETES SM
Algèbre relationnelle
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Nicolas Bourbaki.
INTRODUCTION.
Encadrés: Chapitre 13 Distances
David Rolland, formateur en mathématiques
LMD: Langage de Manipulation de Données
COURS SUR LA THEORIE DES GRAPHES
Eléments d ’algèbre relationnelle
Chapitre 4 Symétrie centrale.
Graphes Conceptuels J.F. Baget Inria.
Jeux combinatoires et théorie des groupes. Jeux: Activités intellectuelles ou gestuelles qui nont dautre fin que lamusement de la personne qui sy livre.
LANGAGES LIES AU MODELE RELATIONNEL
Chap 4 Les bases de données et le modèle relationnel
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Vers la conception objet
Algèbre relationnelle et SQL
MODULE 11 Mathématiques SN Les VECTEURS
Espaces vectoriels Montage préparé par : S André Ross
Mais en mathématiques, qu'est ce qu'une ligne de niveau?
IFT Complexité et NP-complétude
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Algèbre Relationnelle
Optimisation des Requêtes Relationnelles
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Mathématiques SN Les VECTEURS Réalisé par : Sébastien Lachance.
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 4)
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Mathématiques Discrètes
ETAPE04 « Des besoins d’information… » « Des besoins d’information » En définissant son schéma relationnel, le Moulin des Costières définit une organisation.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Programmation linéaire en nombres entiers
MATHÉMATIQUES DISCRÈTES Chapitres 6-7 François Meunier DMI.
Problème de double digestion
Sélection de colonnes (la projection)
CHAPITRE III Calcul vectoriel
OUTILS MATHEMATIQUES POUR LES SII
Chapitre 3: Translation et Vecteurs
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Sections 6, 7, 8)
Mathématiques Discrètes Chapitre 2 (section 3)
6. Problème de flot à coût minimum.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 5)
Les vues Une vue: c’est une relation virtuelle. Définie par:
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Langage Relationnel Graphe de Requêtes
Nouvelles Technologies Internet & Mobile
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
Files de priorité (Priority Queue)
Systèmes d'information décisionnels
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
La matière qui nous entoure
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Bases de données – Cours 3
Pierre Joli Cours de Mathématique Pierre Joli
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
LES POSTULATS DE LA MÉCANIQUE QUANTIQUE
Cycle, Cocycle, Arbre et Arborescence
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

MATHÉMATIQUES DISCRÈTES Chapitre 6 (relations) François Meunier DMI

Relations Des objets mathématiques qui spécifient et décrivent des relations entre des éléments d’un ensemble ou plusieurs ensembles. Une fonction f qui projette un ensemble A sur un ensemble B assigne exactement un élément de B à chaque élément de A. Les relations n’ont pas de restriction. Un élément dans A peut être assigné à plus qu’un élément dans B. Les relations sont des généralisations des fonctions; elles peuvent être utilisées pour exprimer une plus grande classe de relations entre ensembles.

Relations binaires Avec A, B des ensembles. Les relations entre les éléments de ces deux ensembles sont représentés par une Relation binaire. i.e. une relation binaire de A à B est un ensemble R où a R b dénote (a, b) ∈ R. a est en relation avec b par R. R A X B Les éléments de A X B et R sont des paires ordonnées puisque le premier élément de l’ensemble vient de l’ensemble A et le second élément de l’ensemble B. Posons A = {2, 3, 4}, et B ={4, 5}. Alors A X B ={(2, 4), (2, 5), (3, 4), (3, 5), (4, 4), (4, 5)}.

Relations VS graphes Posons A = {2, 3, 4}, et B ={4, 5}. Alors A X B ={(2, 4), (2, 5), (3, 4), (3, 5), (4, 4), (4, 5)}. (2, 4) 2 (2, 5) (3, 4) 3 (3, 5) (4, 4) 4 (4, 5)

Relations binaires Posons A = {2, 3, 4}, et B ={4, 5}. Alors A X B ={(2, 4), (2, 5), (3, 4), (3, 5), (4, 4), (4,5)}. Autres relations de A à B: i) Ø ii) {(2, 4)} iii) {(2, 4), (2, 5)} iv) {(2, 4), (3, 4), (4, 4)} v) {(2, 4), (3, 4), (4, 5)} vi) A X B Pour des ensembles finis A, B avec |A| = m et |B| = n, il existe 2mn relations de A à B, incluant la relation vide et la relation A X B elle-même.

Propriétés des Relations La relation de A sur A i.e. A X A est une relation binaire sur A. Cette relation est Réflexive, si chaque élément a de A est en relation avec lui-même. R sur A est réflexive si ∀a ((a, a) ∈ R) où A est l’univers du discours.

Propriétés des Relations Posons A = {1, 2, 3, 4} R1 et R2 sont des relations réflexives puisqu’elles contiennent toutes les paires de la forme (a, a). R1 = {(1, 1), (1, 2), (1, 4), (2, 1), (2, 2), (3, 3), (4, 1), (4, 4)}. R2 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)}.

Propriétés des Relations La relation R sur A est symétrique si (a, b) ∈ R ⇒ (b, a) ∈ R, pour tout a, b ∈ A Posons A={1, 2, 3} R1 = {(1, 2), (2, 1), (1, 3), (3, 1)}. symétrique R2= {(1, 1), (2, 2), (3, 3), (2, 3), (3, 2)}. réflexive et symétrique R3= {(1, 1), (2, 3), (3, 3)}. Non réflexive et non symétrique.

Propriétés des Relations Une relation R sur A est antisymétrique si (a, b)R et (b, a)R seulement quand a = b Aussi exprimée par: a≠b, (a,b)R → (b,a)R. Une relation R sur A est asymétrique si (a, b)R implique que (b,a)R pour tout a, bA.

Antisymmétrie Les termes symétrie et antisymétrie ne sont pas opposés, puisqu’une relation peut avoir les deux propriétés ou ne pas les avoir. Une relation ne peut avoir ces deux propriétés si elle contient des paires de la forme (a, b) où a ≠ b. Symétrie et Asymétrie, sont opposées.

Symétrie - Antisymétrie R1 = {(1,1), (1, 2), (2, 1)}  Symétrique R2 = {(1,1), (1, 2), (1, 4), (2, 1), (2, 2), (3, 3), (4, 1), (4, 4)}  Symétrique R3 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} Antisymétrique R4 = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)}  Asymétrique

Transitivité Une relation R est transitive ssi (pour tout a,b,c) (a,b)R  (b,c)R → (a,c)R. Donc si a est “ en relation avec ” b et b est “en relation avec ” c, alors a est “en relation avec ” c avec b jouant le rôle d’ “intermédiaire”. Ex: A = {1, 2, 3, 4) R = {(2, 1), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3)}

Combiner des Relations Les relations sont des ensembles, et par conséquent, nous pouvons appliquer les opérations usuelles sur les ensembles sur ces relations. Si nous avons deux relations R1 et R2, et chacune d’elle provient d’un ensemble A appliquée à un ensemble B, alors nous pouvons les combiner comme: R1 U R2, R1 ∩ R2, ou R1 – R2. Dans chaque cas, le résultat donne une autre relation de A à B.

Combinaisons de Relations: Exemple Posons A = {1, 2, 3} et B = {1, 2, 3, 4} R1 ={(1, 1),(2, 2),(3, 3)} R2 = {(1, 1),(1, 2),(1, 3),(1, 4)} R1∪ R2={(1, 1),(1, 2),(1, 3),(1, 4),(2, 2),(3, 3)} R1∩ R2={(1, 1)} R1 – R2={(2, 2), (3, 3)} R2 – R1={(1, 2),(1, 3),(1, 4)}

Combiner des Relations Autre approche pour combiner des relations. Définition: Posons R une relation entre A et B et S une relation entre B et C. La composition de R et S est une relation consistant de paires ordonnées (a, c), où aA, cC, et pour lequel un élément bB tel que (a, b)R et (b, c)S. LA composition de R et S est exprimée par SR. Donc, si la relation R contient une paire (a, b) et la relation S contient une paire (b, c), alors SR contient une paire (a, c).

Combiner des Relations Exemple: Posons D et S des relations sur A = {1, 2, 3, 4}. D = {(a, b) | b = 5 - a} “b égal (5 – a)” S = {(a, b) | a < b} “a est plus petit que b” D = {(1, 4), (2, 3), (3, 2), (4, 1)} S = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} SD = {(2, 4), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)} D projette un élément a à l’élément (5 – a), ensuite S projette (5 – a) à tous les éléments  que (5 – a), résultant à SD = {(a,b) | b>5 – a} ou SD = {(a,b) | a + b>5}.

Combiner des Relations Définition: Posons R une relation sur A. La puissance Rn, n = 1, 2, 3, …, est définie de façon inductive par: R1 = R Rn+1 = RnR La composition multiples de R: Rn = RR … R (n fois la relation R)

Combiner des Relations Supposons: R définie sur N par: xRy ssi y = x2 et S définie sur N par: xSy ssi y = x3 Quelle est la relation composée SR ?

Combiner les Relations (visualisation) xRy ssi y = x 2 xSy ssi y = x 3 Sont des fonctions (carré et cube) alors la composition SR est la fonction composition (mise à la 6ième puissance). xSRy ssi y = x 6 Composer (combiner) les relations suivantes: 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 5 5

Combiner les Relations (visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4

Combiner les Relations (visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4

Combiner les Relations (visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4

Combiner les Relations (visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4

Combiner les Relations (visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4

Exponentiation Une relation R sur A peut être composée avec elle-même, donc exponentiable: DÉF: Trouvons R 3 si R est donnée par: 1 1 2 2 3 3 4 4

Exponentiation R R 1 1 1 2 2 2 3 3 3 4 4 4

Exponentiation R R R 2 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4

Exponentiation R R R 2 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 R 2 R 1 1 1 2 2 2 3 3 3 4 4 4

Exponentiation R R R 2 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 R 2 R R 3

Représentation par Graphe Orienté Une autre façon de représenter une relation R sur A est avec un graphe orienté (GO) (“directed graph”). L’ensemble A est représenté par des noeuds (ou sommets) et quand une ralation aRb est créée, un lien orienté (ou flèche) ab est créé. Des loupes représentent aRa. Représentons la relation R 3 par un GO.

Représentation par GO R 3 1 1 2 2 3 3 4 4

Représentation par GO R 3 1 1 2 2 3 3 4 4 2 1 3 4

Application: BD Relationnelle Les BD Relationnelles permettent d’organiser la structure de larges BDs Design plus simple Fonctionnalités puissantes Permet l’utilisation d’algorithmes de recherche efficients Les BDs ne sont pas toutes relationnelles Anciens systèmes de BD XML – structure de données sous forme d’arborescence

Exemple 1 Une BD relationnelle avec un schéma : …etc. 1 Name 2 Favorite Soap 3 Favorite Color 4 Occupation 1 Kate Winslet Leonardo DiCaprio 2 Dove Dial 3 Purple Green 4 Movie star …etc.

Exemple 2 La table de l’addition mod 2: + 1

Exemple 3 Appariement entre des pigeons et des mangeoires où les pigeons peuvent partager les mangeoires: Crumb 1 Pigeon 1 Crumb 2 Pigeon 2 Crumb 3 Pigeon 3 Crumb 4 Crumb 5

Relations: Représentées comme des sous-ensembles de produits Cartésiens Exemples: BD  {Names}×{Soaps}×{Colors}×{Jobs} addition mod 2  {0,1}×{0,1}×{0,1} Pigeon-Crumb  {pigeons}×{crumbs} Liens de descendances  {people}×{people}

Relations: Représentées comme des sous-ensembles de produits Cartésiens Quel est le sous-ensemble de l’addition mod 2 ? Ce sous-ensemble est: { (0,0,0), (0,1,1), (1,0,1), (1,1,0) }

Opérations sur des BD Plusieurs opérations découlant de la notion de relation sont utiles en BD, comme par exemples: Jointure (join): une généralisation de l’intersection et du produit Cartésien. Projection: restreindre le nombre de coordonnées.

Jointure (join) La jointure de deux relations R, S est la combination de relations en reliant les derniers types (éléments, attributs) de R et les premiers types de S (supposant que ces types sont les mêmes). Le résultat est une relation avec les types particuliers de S les types communs de S et R et les types particuliers de R.

Jointure (join) Ex: Supposons R est l’addition mod 2 et S est la multiplication mod 2: R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } S = { (0,0,0), (0,1,0), (1,0,0), (1,1,1) } Dans un cas 2-join nous joignons les éléments de R et S dont les 2 dernières coordonnées de R et les 2 premières de S sont égales, nous pouvons joindre ces coordonnées et garder les informations de R et S. Par exemple: (0,1,1) 2-join (0,1,1,1) (1,1,1)

Jointure (join) R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } S = { (0,0,0), (0,1,0), (1,0,0), (1,1,1) } Avec la notation J2(R,S) pour la 2-join. J2(R,S) = { (0,0,0,0), (0,1,1,1), (1,0,1,0), (1,1,0,0) } Pour des relations R,S, quelconque? J0(R,S) => produit Cartésien Jn(R,S) pour n le nombre de coordonnées de R et S => est l’intersection quand n est le nombre de coordonnées

Jointure (join) Exemple de inner join en langage sql orders suppliers SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_date FROM suppliers, orders WHERE suppliers.supplier_id = orders.supplier_id; orders suppliers résultats

Jointure (join) Exemple de outer join en langage sql orders suppliers SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_date FROM suppliers, orders WHERE suppliers.supplier_id = orders.supplier_id(+); orders suppliers résultats

Projection La projection est une opération qui permet d’ignorer certaines coordonnées. Considérons encore R: R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } En projetant les 1ière et 3ième coordonnées, nous ignorons la 2ième coordonnée. nous générons un élément de la projection 1,3: 1,3 projection (0,1,1) (0,1)

Projection R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } Utilisation la notation P1,3(R) pour une projection 1,3. P1,3(R) = { (0,0), (0,1), (1,1),(1,0) }