Secteur Tertiaire Informatique Filière étude - développement. Algèbre relationnelle : Présentation. Accueil. Apprentissage. Période en entreprise



Documents pareils
1 Introduction et installation

Bases de Données. Plan

16H Cours / 18H TD / 20H TP

COURS de BASES de DONNEES

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Langage SQL : créer et interroger une base

Introduction au Système de Gestion de Base de Données et aux Base de Données

Bases de Données Relationnelles. Le Modèle Relationnel

Le langage SQL Rappels

Les bases de données

Modélisation de bases de données : Le modèle relationnel

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Vincent Augusto

Rappel sur les bases de données

1 Modélisation d une base de données pour une société de bourse

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Dossier I Découverte de Base d Open Office

Information utiles. webpage : Google+ : digiusto/

Programmes des classes préparatoires aux Grandes Ecoles

Introduction aux Bases de Données

Le Langage SQL version Oracle

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Entrepôt de données 1. Introduction

I4 : Bases de Données

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Introduction à SQL2. Professeur Serge Miranda Directeur Master «MBDS»

Bases de données relationnelles

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Bases de données avancées Introduction

MODE OPERATOIRE OPENOFFICE BASE

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

INTRODUCTION AU DATA MINING

Systèmes d information et bases de données (niveau 1)

Bases de données relationnelles & SQL

TD n 10 : Ma première Base de Données

Chap. 2: L approche base de données

UML et les Bases de Données

Créer le schéma relationnel d une base de données ACCESS

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

MEGA Database Builder. Guide d utilisation

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Thierry Spriet Version rééditée au format PDF et remise en page

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Conception des bases de données : Modèle Entité-Association

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Créer une base de données

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Bases de données. Chapitre 1. Introduction

Bases de données cours 1

LE MODELE CONCEPTUEL DE DONNEES

OPTION SCIENCES BELLE-ISLE-EN-TERRE

Base de Données et Langage SQL

Bases de données réparties: Fragmentation et allocation

Traitement bas-niveau

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

NOTIONS DE PROBABILITÉS

Bases de données Cours 4 : Le langage SQL pour ORACLE

Chapitre 1 Qu est-ce qu une expression régulière?

Cours d'informatique

Bases de données - Modèle relationnel

Bases de données relationnelles : Introduction

IFT Concepts. Claude Frasson A de Bases de données avancées

SOMMAIRE. Travailler avec les requêtes... 3

Rapport d'analyse des besoins

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

COUCHE 7/OSI : TRANSFERT DE FICHIERS FTAM

MySQL / SQL EXEMPLES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Cours de Mécanique du point matériel

Cours 1 : introduction

PROTÉGER VOS BASES DE DONNÉES

Cours 1 : Qu est-ce que la programmation?

COURS CAPITOLE CONCOURS TREMPLIN 2 :

Bases de Données relationnelles et leurs systèmes de Gestion

EXCEL TUTORIEL 2012/2013

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Introduction aux bases de données: application en biologie

Introduction à l étude des Corps Finis

Modélisation des données

Les bases de données Page 1 / 8

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

1 Introduction. Business Intelligence avec SharePoint Server 2010

Systèmes de Gestion de Bases de Données

Présentation du module Base de données spatio-temporelles

Systèmes de Gestion de Bases de Données

INTRODUCTION : Données structurées et accès simplifié

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Fonctions de plusieurs variables

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Transcription:

Secteur Tertiaire Informatique Filière étude - développement Activité «Développer la persistance des données» Algèbre relationnelle : Présentation Accueil Apprentissage Période en entreprise Evaluation Code barre

SOMMAIRE I Structure des données d'un SGBD relationnel...4 I.1 La notion de domaine...4 I.2 La notion de relation (ou table)...4 I.3 La notion d attribut...5 II DEFINITION DE L ALGEBRE RELATIONNEL...6 III BASE DE TRAVAIL...7 IV OPERATEURS UNAIRES RELATIONNEL...9 V IV.1 IV.2 Sélection...9 Projection...9 OPERATEURS ENSEMBLISTES...10 V.1 Intersection...10 V.2 Union...11 V.3 Différence...12 VI OPERATEURS BINAIRES RELATIONNELS...14 VI.1 Le produit cartésien...14 VI.2 La jointure...15 VI.3 La division...17 Cas Papyrus 3/17

I STRUCTURE DES DONNEES D'UN SGBD RELATIONNEL Rappelons comment peut être défini simplement le modèle relationnel. Une base de données relationnelle se présente comme un ensemble de relations que l on appelle couramment des tables. Toute relation a un schéma qui décrit sa structure. Le schéma est composé d'un ensemble d'attributs (on utilise souvent le terme de colonnes) dont un sous-ensemble constitue la clé. La clé permet d'identifier les autres attributs de la relation. Les valeurs des attributs sont atomiques, c'est-à-dire non décomposables, et appartiennent au même domaine. Cependant, pour être capable de manipuler correctement les données d'une base relationnelle, des définitions plus précises et rigoureuses sont nécessaires. En fait, c'est à partir de la théorie des ensembles, base formelle sur laquelle repose le modèle relationnel, que se construisent les différents concepts. I.1 LA NOTION DE DOMAINE Le premier concept à définir est celui qui permet de préciser les ensembles de départ, ou domaines. Un domaine représente l'ensemble des valeurs admissibles pour un composant d'une relation. Il est caractérisé par un nom. Comme tout ensemble, un domaine peut être défini en extension (c'est-à-dire en donnant la liste exhaustive de toutes les valeurs qui le composent), ou en intension (en définissant une propriété caractéristique du domaine, d ailleurs on parle aussi de définition). Par exemple, il est identique de parler de l'ensemble {1,3,5,7,9} ou de l'ensemble {entiers impairs positifs et inférieurs à 10}. Ce concept de domaine est primordial pour assurer un contrôle lors de la manipulation de la base : toute valeur n'appartenant pas au même domaine de définition doit se voir rejetée. I.2 LA NOTION DE RELATION (OU TABLE) Pour appréhender facilement cette notion, nous allons prendre l exemple suivant : si l'on considère le domaine COULEUR = { rouge, vert, jaune } et le domaine FORME = { cube, sphère, cône }, le produit cartésien des deux domaines est composé des neuf tuples (ou enregistrements) qui sont : { cube rouge, cube vert, cube jaune, sphère rouge, sphère verte,...}. Au sens mathématique de Codd, la relation (ou table) peut être définie comme un sous-ensemble, caractérisé par un nom, du produit cartésien d'une liste de domaines. 4/17

On utilise généralement une représentation commode sous forme d'une table à deux dimensions, où chaque ligne correspond à un tuple (enregistrement) alors que chaque colonne correspond à un domaine du produit cartésien utilisé. Dans la liste de domaines, un même domaine peut bien sûr apparaître plusieurs fois. Par exemple, nous pouvons composer la relation suivante : cube rouge, cube jaune, sphère rouge, sphère vert, sphère jaune, cône rouge, qui matérialise le fait que tous les objets ne sont pas construits dans toutes les couleurs. I.3 LA NOTION D ATTRIBUT Le concept d'attribut a été introduit pour expliquer le rôle joué par un domaine dans une relation : il permet de distinguer les différentes colonnes, tout en permettant plusieurs colonnes du même domaine. Un attribut est une colonne d'une relation caractérisée par un nom. Par exemple, une relation VOL peut être constituée d'un n de vol, d'une ville de départ, d'une ville d'arrivée. Vous remarquerez que ces deux derniers attributs appartiennent au même domaine "villes desservies par un aéroport". Remarque : Les tuples correspondent à un ensemble de valeurs prises par les attributs d'une table pour représenter une entité, un objet ou un lien entre les objets du monde réel. Pour un objet donné, et à un instant donné, nous pouvons ne pas disposer de la totalité des informations permettant la description de cet objet ou de ce lien. Autrement dit, les valeurs de quelques attributs peuvent avoir des valeurs "inconnues" : elles sont dites NULLES (cela s écrit NULL). 5/17

II DEFINITION DE L ALGEBRE RELATIONNEL L'algèbre relationnelle est un concept mathématique de relation de la théorie des ensembles. L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Elle est constituée d'un ensemble d'opérations formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou encore la différence). Les principes de l'algèbre relationnelle sont beaucoup utilisés de nos jours par les SGDB pour la gestion des bases de données relationnelles. Ce chapitre présente les opérateurs utilisés en algèbre relationnelle. Pour plus de précisions, vous pouvez consulter le cours «3- Algèbre relationnelle - Compléments.doc». 6/17

III BASE DE TRAVAIL Tous les exemples et exercices dans ce cours concerneront la base de données suivante : Vous pouvez accéder à la DESCRIPTION (structure de la table) en tapant la commande suivante : DESC avion ou DESC vol ou DESC pilote Cette commande vous donne la liste des ATTRIBUTS et leur TYPE sous forme tabulaire. AVION(AV#, AVMARQ, AVNOM, CAP, LOC) PILOTE(PIL#, PILNOM, ADR) VOL(VOL#,PIL#,AV#,VD,VA,HD,HA) TABLE AVION (appelée aussi Relation AVION) : AV# : numéro d avion AVMARQ : marque de l avion AVNOM : type de l avion CAP : capacité en nb de passagers LOC : ville où est basé l avion N Marque Type Capacité Localisation AV# AVMARQ AVNOM CAP LOC 100 AIRBUS A320 300 Nice 101 BOIENG B707 250 Paris 102 AIRBUS A320 300 Toulouse 103 CARAVELLE Caravelle 200 Toulouse 104 BOEING B747 400 Paris 105 AIRBUS A320 300 Grenoble 106 ATR ATR42 50 Paris 107 BOEING B727 300 Lyon 108 BOEING B727 300 Nantes 109 AIRBUS A340 350 Bastia 7/17

TABLE PILOTE PIL# : numéro du pilote PILNOM : nom du pilote ADR : adresse du pilote N Nom Adresse PIL# PILNOM ADR 1 SERGE Nice 2 JEAN Paris 3 CLAUDE Grenoble 4 ROBERT Nantes 5 MICHEL Paris 6 LUCIEN Toulouse 7 BERTRAND Lyon 8 HERVE Bastia 9 LUC Paris TABLE VOL VOL# : numéro du vol AV# : numéro de l avion PIL# : numéro du pilote VD : ville départ VA : ville d arrivée HD : heure de départ HA : heure d arrivée N Avion Pilote Ville Départ Ville Arrivée Heure Départ Heure Arrivée VOL# AV# PIL# VD VA HD HA IT100 100 1 NICE PARIS 7 9 IT101 100 2 PARIS TOULOUSE 11 12 IT102 101 1 PARIS NICE 12 14 IT103 105 3 GRENOBLE TOULOUSE 9 11 IT104 105 3 TOULOUSE GRENOBLE 17 19 IT105 107 7 LYON PARIS 6 7 IT106 109 8 BASTIA PARIS 10 13 IT107 106 9 PARIS BRIVE 7 8 IT108 106 9 BRIVE PARIS 19 20 IT109 107 7 PARIS LYON 18 19 IT110 102 2 TOULOUSE PARIS 15 16 IT111 101 4 NICE NANTES 17 19 8/17

IV OPERATEURS UNAIRES RELATIONNEL Les opérateurs unaires sont les opérateurs qui ne font intervenir qu une seule table. IV.1 SELECTION Elle opère un découpage horizontal de la table. Certains enregistrements et tous les attributs. Syntaxe: R2 = Sélection de R1 (A1="condition de restriction") Exemples : Liste des avions avec toutes les informations R1 = sélection AVION (*) Liste des vols pour Nice R1 = sélection VOL (va=nice) Liste des avions qui ont plus de 200 places R1 = sélection AVION (cap >200) IV.2 PROJECTION Elle opère un découpage vertical de la table. Certains attributs et tous les enregistrements. Syntaxe: R2 = Projection de R1 (A1="Attribut à projeter ") Exemples : Liste de tous les numéros d avions R1 = projection AVION (av#) Liste des noms des pilotes R1 = projection PILOTE (pilnom) Liste des marques d avions R1 = projection AVION (avmarq) 9/17

V OPERATEURS ENSEMBLISTES V.1 INTERSECTION Est utilisé pour relier 2 tables uni compatibles, c est à dire ayant le même nombre d attributs et des attributs respectifs définis sur le même domaine. Pour l intersection il faut une structure identique. R1 : TABLE AVION AIRBUS AV# AVMARQ Ville Départ Ville Arrivée 100 AIRBUS NICE PARIS 100 AIRBUS PARIS TOULOUSE 105 AIRBUS GRENOBLE TOULOUSE 105 AIRBUS TOULOUSE GRENOBLE 109 AIRBUS BASTIA PARIS 102 AIRBUS TOULOUSE PARIS R2 : TABLE AVION PARIS AV# AVMARQ Ville Départ Ville Arrivée 100 AIRBUS NICE PARIS 107 BOEING LYON PARIS 109 AIRBUS BASTIA PARIS 106 ATR BRIVE PARIS 102 AIRBUS TOULOUSE PARIS R3: Intersection de R1 et R2 Syntaxe: R3 = Intersection (R1, R2) Exemples : AV# AVMARQ Ville Départ Ville Arrivée 100 AIRBUS NICE PARIS 109 AIRBUS BASTIA PARIS 102 AIRBUS TOULOUSE PARIS Liste des avions AIRBUS allant à Paris R1 = sélection AVION (avmarq=airbus) R2 = projection R1 (av#, avmarq) R3 = sélection VOL (va= Paris ) R4 = jointure R3 (av#=av#) AVION R5 = projection R4 (av#, avmarq) R6 = Intersection (R2, R5) // tous les avions Airbus // projection des attributs // tous les vols vers Paris // vols des avions pour Paris // projection des attributs // intersection des 2 relations 10/17

V.2 UNION Est utilisé pour relier 2 tables uni compatibles, c est à dire ayant le même nombre d attributs et des attributs respectifs définis sur le même domaine : il faut une structure identique. R1 : TABLE AVION PARIS NICE VOL Avion Pilote Ville Départ Ville Arrivée Heure Départ Heure Arrivée IT102 101 1 Paris Nice 12 14 IT118 256 1024 Paris Nice 9 10 IT112 812 2048 Paris Nice 12 14 IT123 999 1246 Paris Nice 19 20 R2 : TABLE AVION BRIVE MARSEILLE VOL Avion Pilote Ville Départ Ville Arrivée Heure Départ Heure Arrivée IT99 999 2 Brive Marseille 10 13 R3: Union de R1 et R2 Syntaxe : R3 =Union (R1, R2) Exemples: VOL Avion Pilote Ville Départ Ville Arrivée Heure départ Heure Arrivée IT99 999 2 Brive Marseille 10 13 IT102 101 1 Paris Nice 12 14 IT118 256 1024 Paris Nice 9 10 IT112 812 2048 Paris Nice 12 14 IT123 999 1246 Paris Nice 19 20 Liste des vols Paris-Nice et Toulouse-Paris R1 = sélection VOL (vd=paris et va=nice) R2 = sélection VOL (vd=toulouse et va=paris) R3 = Union (R1, R2) Liste des avions Airbus et Boeing R1 = sélection AVION (avmarq=airbus) R2 = sélection AVION (avmarq=boeing) R3 = Union (R1, R2) Liste des Airbus ou des avions de plus de 200 places R1 = sélection AVION (avmarq=airbus) R2 = sélection AVION (cap > 200) R3 = Union (R1, R2) 11/17

V.3 DIFFERENCE Est utilisé pour relier 2 tables uni compatibles, c est à dire ayant le même nombre d attributs et des attributs respectifs définis sur le même domaine. R1 : TABLE AVION AIRBUS AV# AVMARQ Ville Départ Ville Arrivée 100 AIRBUS NICE PARIS 100 AIRBUS PARIS TOULOUSE 105 AIRBUS GRENOBLE TOULOUSE 105 AIRBUS TOULOUSE GRENOBLE 109 AIRBUS BASTIA PARIS 102 AIRBUS TOULOUSE PARIS R2 : TABLE AVION PARIS AV# AVMARQ Ville Départ Ville Arrivée 100 AIRBUS NICE PARIS 107 BOEING LYON PARIS 109 AIRBUS BASTIA PARIS 106 ATR BRIVE PARIS 102 AIRBUS TOULOUSE PARIS R3 : Différence entre R1 et R2 Syntaxe: R3 = Différence (R1, R2) AV# AVMARQ Ville Départ Ville Arrivée 100 AIRBUS PARIS TOULOUSE 105 AIRBUS GRENOBLE TOULOUSE 105 AIRBUS TOULOUSE GRENOBLE R4: Différence entre R2 et R1 Syntaxe: R4 = Différence (R2, R1) AV# AVMARQ Ville Départ Ville Arrivée 107 BOEING LYON PARIS 106 ATR BRIVE PARIS Exemples : Liste des Airbus qui ne vont pas à Paris R1 = sélection AVION (avmarq= AIRBUS ) R2 = projection R1 (av#) R3 = sélection VOL (va= PARIS ) R4 = projection R3 (av#) R5 = différence (R1, R4) // tous les Airbus // tous les avions qui vont à Paris // tous les airbus qui ne vont pas à Paris 12/17

13/17

VI OPERATEURS BINAIRES RELATIONNELS Les opérateurs binaires sont ceux qui font intervenir deux tables. VI.1 LE PRODUIT CARTESIEN Il consiste à rassembler deux tables en une seule. R1 R2 A A1 A2 A3 B B1 B2 R3: Produit cartésien de R1 et R2 Syntaxe: R3 = Produit cartésien (R1, R2) A A1 A2 A3 A1 A2 A3 B B1 B1 B1 B2 B2 B2 14/17

VI.2 LA JOINTURE La jointure consiste à rechercher entre deux tables ayant un attribut commun (même type et même domaine de définition) tous les tuples (enregistrements) pour lesquels ces attributs ont la même valeur. La jointure entre les tables VOL et PILOTE consiste à rechercher toutes les informations du pilote de chaque avion. Concrètement elle réalise la concaténation des tuples (ou n-uplets) de Avion avec Pilote chaque fois que AVION.PIL# = VOL.PIL#.Vol Pilote Vol Av Pil VD VA HD HA IT101 100 2 PARIS TOULOUSE 11 12 IT100 100 1 NICE PARIS 7 9 IT102 101 1 PARIS NICE 12 14 IT103 105 3 GRENOBLE TOULOUSE 9 11 IT104 105 3 TOULOUSE GRENOBLE 17 19 IT105 107 7 LYON PARIS 6 7 IT106 109 8 BASTIA PARIS 10 13 Pil Nom 1 SERGE 2 JEAN 3 CLAUDE 7 BERTRAND 8 HERVE R: Jointure de Vol et Pilote : Syntaxe: R = jointure Vol (Pil = Pil) Pilote Vol Av PilVD VA HD HANom IT101 100 2PARIS TOULOUSE 11 12JEAN IT100 100 1NICE PARIS 7 9SERGE IT102 101 1PARIS NICE 12 14SERGE IT103 105 3GRENOBLE TOULOUSE 9 11CLAUDE IT104 105 3TOULOUSE GRENOBLE 17 19CLAUDE IT105 107 7LYON PARIS 6 7BERTRAND IT106 109 8BASTIA PARIS 10 13HERVE Dans notre exemple, la jointure est possible par l attribut PIL présent dans VOL et PILOTE. Exemples : 15/17

Liste des avions AIRBUS allant à Paris : R1 = sélection VOL (va=paris) R2 = sélection AVION (avmarq=airbus) R3 = jointure R1(av#=av#) R2 Nom des pilotes en service : On sait qu un pilote est en service s'il effectue des vols. R1 = sélection PILOTE (*) // on sélectionne tous les pilotes R2 = jointure R1 (pil#=pil#) VOL // on effectue une jointure avec vol R3 = projection R2(pilnom) // on affiche le nom des pilotes Nom des pilotes assurant un vol au départ de Paris : R1 = sélection VOL (vd=paris) R2 = jointure R1 (pil#=pil#) PILOTE R3 = projection R2 (pilnom) Nom des pilotes conduisant un Airbus : R1 = sélection AVION (avmarq=airbus) R2 = jointure R1 (av# = av#) VOL R3 = jointure R2 (pil# = pil#) PILOTE R4 = projection R3 (pilnom) 16/17

R1 VI.3 LA DIVISION B B1 B1 B2 B3 B4 B4 A A1 A2 A2 A1 A1 A2 R2 A A1 A2 R3: Division de R1 et R2 Syntaxe: R3 = division (R1, R2) B B1 B4 La division consiste à trouver la liste des valeurs d un attribut de R1 tel qu il existe un tuple dans R1 pour chaque valeur de R2 pour l attribut correspondant. Exemples : Liste des pilotes qui conduisent tous les avions Liste des avions qui vont dans toutes les villes 17/17

Etablissement référent Direction de l ingénierie Neuilly Equipe de conception Groupe d étude de la filière étude - développement Remerciements : Reproduction interdite Article L 122-4 du code de la propriété intellectuelle. «toute représentation ou reproduction intégrale ou partielle faite sans le consentement de l auteur ou de ses ayants droits ou ayants cause est illicite. Il en est de même pour la traduction, l adaptation ou la reproduction par un art ou un procédé quelconques.» Date de mise à jour 13/02/2008 afpa Date de dépôt légal février 08 a f p a / D i r ec t i o n d e l Ing é n i e r i e1 3 p la c e d u Gé n é r a l e d e G a u ll e / 9 31 0 8 M o n t r e u il C e d e x a s s o c i a t i o n n a t i o n a l e p o u r l a f o r m a t i o n p r o f e s s i o n n e l l e d e s a d u l t e s M i n i s t è r e d e s A f f a i r e s s o c i a l e s d u T r a v a i l e t d e l a S o l i d a r i t é