• Aucun résultat trouvé

Théorie des ensembles et SGBD-R Résumé et exercices – après-midi

N/A
N/A
Protected

Academic year: 2022

Partager "Théorie des ensembles et SGBD-R Résumé et exercices – après-midi"

Copied!
21
0
0

Texte intégral

(1)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 1/21

Théorie des ensembles et SGBD-R

Résumé et exercices – après-midi

Bertrand LIAUDET

SOMMAIRE

SOMMAIRE 1

ENSEMBLES ET RELATIONS ENTRE LES ELEMENTS 2

A - Théorie 2

1 – Notion de tuple et de composant (ou attribut) 2

2 – Opération sur les tuples : concaténation de deux tuples 5

3 – Opération sur les ensembles : produit cartésien 6

4 – Relations entre les objets de 2 ensembles 7

5 – Propriétés des relations entre 2 ensembles : de l’application à la bijection 9

B – Exercices et applications 11

1 – Exercices : Trouver des ensembles – Première approche de la modélisation des BD 11

2 – Exercice : définir des ensembles 12

3 – Modélisation de BD et de diagramme de classes – MEA et UML 13

4 – Langage SQL des bases de données relationnelles 17

Dernière édition : septembre 2019

(2)

ENSEMBLES ET RELATIONS ENTRE LES ELEMENTS

A - Théorie

1 – Notion de tuple et de composant (ou attribut) Définition d’un couple

En mathématiques, un couple de deux objets est un nouvel objet constitué par ces deux objets dans un ordre déterminé. Un couple se représente ainsi : C = (e1, e2).

Par définition, un couple est ordonné et donc : (e1, e2) != (e2, e1) Notion de tuple

Un n-uplet ou « tuple » est une généralisation de la notion de couple. Il est constitué de n objets.

Un n-uplet ou « tuple » se représente ainsi : T = (e1, e2, …, en)

Notion de composant ou d’attribut

Chaque partie du tuple est appelée « composant » du tuple, ou attribut du tuple.

Sémantique

Un tuple est un objet constitué de plusieurs caractéristiques.

Un ensemble est une réunion d’objets (ou d’éléments). En général, les éléments d’un ensemble sont des objets de même nature. Si les éléments ont plusieurs caractéristiques, ce sont des tuples.

Exemple : un ensemble de 3 couples de (nom, adresse_mail) : { (toto, toto@ gmail.com ), (titi, titi@ gmail.com ), (tutu, tutu@ gmail.com ) }.

(3)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 3/21

Distinction entre tuple et ensemble

Ensemble

• Un ensemble à 2 éléments est une paire, à 3 éléments un trio, à 4 un quartet, etc.

• On représente les ensembles plutôt avec des accolades.

• Les ensembles peuvent avoir un très grand nombre d’éléments.

• Il n’a aucun ordre pour les éléments de l’ensemble. Être en premier, deuxième ou troisième ne signifie rien.

Exemple : on définit un ensemble de deux noms d’employé : {toto, tata}. L’ordre n’a pas d’importance. On peut écrire : {tata, toto}, c’est la même chose.

Tuple

• Un tuple à 2 composants est un couple, à 3 composants un triplé, à 4 un quadruplé, etc.

• On représente les tuple plutôt avec des parenthèses.

• En général, les tuples ont un petit nombre de composants.

• L’ordre des composants du tuple est significatif. Être en premier ne signifie pas la même chose qu’être en second. Etc.

Exemple : on définit un tuple avec un nom d’employé et le nom de son supérieur hiérarchique : (toto, tata). L’ordre est significatif : (toto, tata) ce n’est pas la même chose que (tata, toto).

(4)

Applications en informatique

Base de données

Une base de données contient des tables du type de tableau excel.

Chaque tableau est un ensemble de ligne et chaque ligne est un tuple.

Par exemple, la ligne 1 vaut : (1, « toto », « informaticien»). Chaque composant à une signification particulière.

On donne un nom à chaque composant du tuple, qu’on appelle « attribut ».

Le 1, c’est l’id. « toto » c’est le nom. « ingénieur » c’est le métier.

On accède à un composant en passant par l’élément et en suffixant le composant : tuple1.nom

Programmation objet

Une classe définit un concept. On la note avec une majuscule en premier : Chat

Un objet est une instance d’une classe : un objet « tombe sous le concept » de sa classe.

Un objet est noté avec une minuscule en premier : félix.

On peut se doter d’une collection d’objets : un tableau, une liste, un arbre, etc.

Une collection, c’est un ensemble.

(5)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 5/21

2 – Opération sur les tuples : concaténation de deux tuples Définition

La concaténation de 2 tuples est un tuple constitué de tous les composants des 2 tuples, dans l’ordre.

La concaténation du triplet (1, 2 , 3) et du couple (4, 5) c’est le quintuplet (1, 2, 3, 4, 5).

Etant donné que (1,2,3,4,5) != (4,5,1,2,3), la concaténation n’est pas commutative.

(6)

3 – Opération sur les ensembles : produit cartésien Définition

Soit E et F deux ensembles de tuples.

E  F = c’est l’ensemble des tuples constitués par la concaténation de chaque tuple de E avec chaque tuple de F.

E  F = { (e, f) / e  E et f  F } Cardinal d’un produit cartésien

card ( E  F ) = card ( E )  card ( F ) Exemple

Soit E un ensemble de couples et F un ensemble de triplets.

E = { (1,2) ; (3,4) } F = { (1,2,3) ; (4,5,6) ; (7,8,9) }

E X F = { (1,2,1,2,3), (1,2, 4,5,6), (1,2,7,8,9), (3,4,1,2,3), (3,4, 4,5,6), (3,4, 7,8,9)}

E X F est un ensemble de quintuplets. Card (E X F) = 2  3 = 6 – Représentation avec des tableaux

E F G= E F

1 2 X 1 2 3 = 1 2 1 2 3

3 4 4 5 6 1 2 4 5 6

7 8 9 1 2 7 8 9

3 4 1 2 3

3 4 4 5 6

3 4 7 8 9

(7)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 7/21

4 – Relations entre les objets de 2 ensembles Schéma sagittal d’une relation

Soit L un ensemble de lions. L = {l1, l2, l3, l4}

Soit G un ensemble de gazelles. G = {g1, g2, g3}

On s’intéresse à la relation : « manger ». Les lions mangent les gazelles.

On peut décrire la situation par un « schéma sagittal » (sagitta veut dire flèche en latin)

Lions manger Gazelles

0.* 0.*

Notion de cardinalité

0.* représente la « cardinalité » de la relation.

On dit : minimum 0, maximum plusieurs (ou N).

l1 l2 l3 l4 l5

g1 g2 g3 g4

(8)

Relation et produit cartésien

On peut décrire la situation comme un ensemble de couples M = { (g1, l1), (g1, l2), (g2, l2), (g2, l3) , (g2, l4) , (g3, l4) } M (manger) est un sous-ensemble de L  G

Tableaux de listes

On peut aussi décrire la situation par des tableaux de listes

Un tableau de lions

Les lions Les gazelles mangées

l1 g1

l2 g1, g2

l3 g2

l4 g2, g3

Un tableau de gazelles

Les gazelles Les lions mangeurs

g1 l1, l2

g2 l2, l3, l4

g3 l4

(9)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 9/21

5 – Propriétés des relations entre 2 ensembles : de l’application à la bijection Application

Une application est une relation qui à tout élément de E associe un unique élément de F.

On note l’application f. f(x) = y. y est l’image de x. x est l’antécédent de y.

Exemple

Soit E = {e1, e2, e3, e4, e5 } un ensemble d’employés, et D = {d1, d2, d3 } un ensemble des départements. Les employés travaillent dans un département et un seul.

La relation « travailler dans » est une application de E vers D

E travailler dans D

e1 e2 e3

d1 d2 d3

1.1 0.*

(10)

Injection

Une application de E dans F est une injection si et seulement si tout élément de F possède au plus un antécédent.

E F

Surjection

Une application de E dans F est une surjection si et seulement si tout élément de F possède au moins un antécédent.

E F

Bijection

Une application de E dans F est une bijection si et seulement si elle est injective et surjective.

Autrement dit si tout élément de F possède un antécédent et un seul.

E F

e5

. . .

e5

. .

e

5 e

5

1.1 0.1

1.1 1.*

1.1 1.1

(11)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 11/21

B – Exercices et applications

1 – Exercices : Trouver des ensembles – Première approche de la modélisation des BD REPRISE DES EXERCICES DU MATIN

1

Une entreprise a des employés qui travaillent dans différents départements. Un employé est embauché à une certaine date et a une fonction et un salaire. Les fonctions dans l’entreprise sont fixées par l’entreprise.

• Quels sont les ensembles qu’on peut concevoir à partir de cette description ?

• Imaginez quelques éléments à mettre dans chaque ensemble.

• Imaginez des relations entre les éléments des chaque ensemble. Précisez les cardinalités.

2

Une bibliothèque gère des adhérents qui peuvent emprunter des livres. On gère tous les emprunts dans le temps. Un livre peut donc avoir été emprunté par plusieurs adhérents.

• Quels sont les ensembles qu’on peut concevoir à partir de cette description ?

• Imaginez quelques éléments à mettre dans chaque ensemble.

• Imaginez des relations entre les éléments des chaque ensemble. Précisez les cardinalités.

3

Une émission de télévision est diffusée sur une chaine et une seule caractérisée par son numéro et son canal. Les émissions ont des animateurs. Un animateur peut participer à plusieurs émissions.

• Quels sont les ensembles qu’on peut concevoir à partir de cette description ?

• Imaginez quelques éléments à mettre dans chaque ensemble.

• Imaginez des relations entre les éléments des chaque ensemble. Précisez les cardinalités.

(12)

2 – Exercice : définir des ensembles

1

A est l’ensemble des employés de l’entreprise. Ils ont tous un numéro d’employé, différent pour chacun d’eux, un nom et un salaire et une date d’embauche

Définir mathématiquement en compréhension B l’ensemble des employés dont le salaire est supérieur à 2000.

Définir mathématiquement en compréhension C l’ensemble des employés dont le salaire est supérieur à 1500 et qui ont été embauché en 2016.

Faites un schéma de ces trois ensembles et de leurs relations.

2

Soit un ensemble de personnes P = {p1, p2, …, p9, p10}

p1, p3, p5, p6 et p7 sont adhérents à la bibliothèque de la ville.

p1, p2, p3, p7, p10 travaillent à la bibliothèque de la ville.

➢ Quels sont les ensembles dont on parle ?

➢ Représentez graphiquement les ensembles et leurs éléments

➢ Quelles relations existe-t-il entre ces ensembles ?

➢ Y a-t-il une ou plusieurs relations d’héritage, si oui, lesquelles

(13)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 13/21

3 – Modélisation de BD et de diagramme de classes – MEA et UML Situation décrite

Les lions et les gazelles ont un nom, une date de naissance et un poids.

Les Lions ont une couleur de crinière. Les Gazelles une longueur de corne.

Les lions mangent les gazelles.

Représentation ensembliste : schéma sagittal

Cette représentation montre les ensembles avec leurs éléments et les relations entre les éléments.

On donne aussi les cardinalités de la relation.

l1 l2 l3 l4

g1 g2 g3

Lions manger Gazelles

0.* 0.*

Animaux

(14)

Formalisme MEA

Les formalismes MEA et UML montrent les attributs et les relations entre ensemble.

Ils sont équivalents, à la syntaxe près.

Formalisme UML

(15)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 15/21

Exercices – Modélisation ensembliste

1

Soit les deux ensembles suivants : E1 = {a, b, c, d, e}, E2 = {A, B, C, D, E}

Soit l’ensemble de couples suivant : {(a,A), (b,A), (c,C), (d,D), (e,D) } Représenter ces couples sous la forme :

➢ d’un schéma sagittal en précisant les cardinalités

➢ de 2 tableaux de listes

➢ d’un MEA

La relation de E1 vers E2 est-elle une application, une injection, une surjection, une bijection ? La relation de E2 vers E2 est-elle une application, une injection, une surjection, une bijection ?

2

On reprend l’exemple du cours des employés et des départements.

On a un ensemble d’employés E = {e1, e2, e3, e4, e5 } et un ensemble des départements D = {d1, d2, d3 }

Les employés travaillent dans un département et un seul. L’ensemble des relations est le suivant : {(e1, d1), (e2, d1), (e3, d2), (e4, d3), (e5, d3)}

Représenter ces couples sous la forme :

➢ d’un schéma sagittal en précisant les cardinalités

➢ de 2 tableaux de listes

➢ d’un MEA

(16)

3

Soit l’ensemble de couples suivant : {(a,a), (a,b), (a,c), (b,c), (b,d), (d,d) } Représenter ces couples sous la forme :

➢ d’un schéma sagittal en précisant les cardinalités

➢ de 2 tableaux de listes

➢ d’un MEA

Les relations dans un sens et dans l’autre sont-elles des applications, des injections, des surjections, des bijections ?

4

Soit une bibliothèque municipale. Elle gère des adhérents et des livres. Les adhérents empruntent des livres.

Quels ensembles peuvent représenter la situation ?

Quelles relations entre les ensembles peuvent représenter la situation. Préciser les cardinalités.

Pour chaque relation, préciser si c’est une application, une injection, une surjection ou une bijection.

(17)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 17/21

4 – Langage SQL des bases de données relationnelles Présentation

Langage SQL

Le langage SQL est le langage des bases de données relationnelles.

Exemple mathématique

On veut le sous ensemble P des entiers pairs.

P = {x  N / x%2=0 } : ensemble des x appartenant à N tel que x modulo 2 égale 0

En SQL, cette définition en compréhension s’écrit : SELECT * FROM N WHERE x%2=0

Exemple avec des tuples

E ensemble d’élèves avec un nom, une adresse mail et une ville d’habitation.

On définit l’ensemble ainsi : E(nom, mail, ville)

« nom », « mail » et « ville » sont les nom des composants des tuples de l’ensemble E.

Par exemple E={(toto, toto@gmail.com, paris) ; (titi, titi@gmail.com, meudon) ; … }.

On cherche R, l’ensemble de tous les élèves parisiens.

R = { x  E / x.ville = « Paris » }

En SQL : SELECT * FROM E WHERE ville = « Paris » Soit : Sectionner tout de E où ville = Paris.

(18)

Jointure

Principes

La jointure est l’opération fondamentale du SQL. Comprendre la jointure, c’est comprendre le SQL, et réciproquement, et inversement !

La jointure est une opération basée sur le produit cartésien.

Il y a ensuite un WHERE qui permet d’éliminer les résultats sans intérêt.

Exemple

Soit E(nom, numDepTrav) = {(toto, 10), (tata, 10), (titi, 20) }. E est une ensemble d’employés.

Ils ont un nom et un numéro du département dans lequel il travaille qu’on appelle numDepTrav.

Soit D (numDept, ville) = {(10, Paris), (20, Meudon) }. D est un ensemble de départements. Ils ont un numéro qu’on appelle numDep et une ville de localisation du département.

On veut construire un ensemble d’employés E2 pour lequel chaque tuple précise la ville du département.

E2 = { x  E X D / x.numDepTra = x.numDep }

La restriction x.numDepTra = x.numDep permet d’éliminer du produit cartésien les tuples non significatifs. Il ne reste alors que les employés avec des informations sur leurs départements.

En SQL, on écrit SELECT * FROM E, D WHERE E.numDepTra = D.numDep

(19)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 19/21

Représentation de la jointure avec des tableaux

E D E2 = { x  E X D / x.numDepTra = x.numDep }

toto 10 X 10 Paris = toto 10 10 Paris

tata 10 20 Meudon toto 10 20 Meudon

titi 20 tata 10 10 Paris

tata 10 20 Meudon titi 20 10 Paris titi 20 20 Meudon

On ne garde que les tuples significatifs.

Relations ensemblistes

Par exemple : A  B s’écrit en SQL : SELECT * FROM A UNION SELECT * FROM B Ces opérations sont toutefois secondaires dans le langage.

Jointure externe

La jointure externe est une opération spéciale du SQL : elle consiste à faire une jointure et un complémentaire.

C’est une opération utile en SQL mais trop compliquée pour être abordée dans ce cours.

En SQL, on écrit : SELECT * FROM A LEFT JOIN B etc.

(20)

Exercices – SQL et théorie des ensemble

1

On se donne un ensemble E de personnes dont chaque tuple est un triplet avec trois composants : un nom, une adresse mail et un âge.

Donnez une définition mathématique en compréhension du sous-ensemble R de E dont les personnes ont moins de 30 ans.

Ecrivez la requête SQL correspondant à cette définition.

2

Soit A = {(1, a1, 1), (2, a2, 1), (3, a3, 2) } B= {(1, b1), (2, b2)}

Les composants des tuples sont appelés : ta1, ta2, ta3 pour A et tb1, tb2 pour B.

1) Définir en extension AB 2) Quel est le cardinal de AB

3) Définir en extension E = { x  E X D / x.ta3 = x.tb1 } 4) Donnez la requête SQL correspondant à E.

5) Quel est le cardinal de E ?

(21)

IPI – Module MAT-120 – Théorie des ensembles et SGBDR – 2 – Bertrand Liaudet - page 21/21

3

Soit A un ensemble d’élèves. A = {(1, « fifi »), (2, « soso »), (3, « loulou ») }

Soit B un ensemble de notes. B= {(« math », 18, 1), (« math », 14, 2), (« math », 8, 3), (« BD», 16, 1), (« BD», 10, 2), (« algo», 14, 1), (« algo», 12, 2), (« algo», 15, 3) }

Les composants des tuples sont appelés : ta1, ta2 pour A et tb1, tb2, tb3 pour B.

1) Quel est le cardinal de A, de B, de AB ?

2) Définir en extension E = { x  AB / x.ta1 = x.tb3 } 3) Quel est le cardinal de E ?

4) Comment interprétez-vous l’ensemble E ? 5) Donnez la requête SQL correspondant à E.

6) Définir en extension F = { x  AB / x.ta1 = x.tb3 et x.ta1=2 } 7) Quel est le cardinal de F ?

8) Comment interprétez-vous l’ensemble F ? 9) Donnez la requête SQL correspondant à E.

Références

Documents relatifs

Ces sommes ne peuvent être retirées, en tout ou en partie, qu’après notification à la société par lettre recommandée avec demande d’avis de réception six (6) mois au moins

Une batterie d’accumulateurs porte les inscriptions 12 V /

On dit que r est une relation de bon ordre sur a, ou que (a, r) est bien ordonné, si r est une relation d’ordre sur a et r est un bon ordre, c’est-à-dire, tout sous-ensemble non vide

Il  nous  faudra  parfois  effectuer  des  opérations  sur  les  ensembles.  Par  exemple,  nous  voudrons peut‐être  trouver  des  éléments communs 

C’est donc dans ou de cet espace qu’est née une littérature dont « Robben Island » est devenue le symbole?. Il est important de noter que cette littérature revêt une

Clapier-valladon (1980) (2) propose, de manière pratique, trois prin- cipales étapes d'analyse de contenu thématique: des lectures répétées nous familiarisent avec le

Seta Vannina Dermatologue vannina.seta@aphp.fr Sin Carole Dermatologue carole.sin@ch-argenteuil.fr Skowron François Dermatologue fskowron@ch-valence.fr;. Tancrede-Bohin

Ils sont ensuite émis sans vitesse par la source S, puis accélérés par un champ électrostatique uniforme qui règne entre S et P tel que.. U sp