Algèbre relationnelle



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

COURS de BASES de DONNEES

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

Bases de Données. Plan

Le Langage SQL version Oracle

1 Introduction et installation

16H Cours / 18H TD / 20H TP

LE LANGAGE SQL2 1. INTRODUCTION

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

Le langage SQL Rappels

Les bases de données

Langage SQL : créer et interroger une base

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

Bases de données relationnelles & SQL

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

OBJECTIFS ET ARCHITECTURE DES SGBD

Bases de données relationnelles

Rappel sur les bases de données

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

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

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

Modélisation des données

Évaluation et optimisation de requêtes

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

Bases de données cours 1

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

CH.6 Propriétés des langages non contextuels

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

Cours: Les Jointures 1

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

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

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

Bases de données avancées Introduction

INTRODUCTION AU DATA MINING

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

Systèmes de Gestion de Bases de Données

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

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

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

Dossier I Découverte de Base d Open Office

Algèbre binaire et Circuits logiques ( )

Chapitre 1 Généralités sur les bases de données

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

TP Bases de données réparties

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

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

Interpréteur d algèbre relationnelle

TP 8: LES OPERATEURS ENSEMBLISTES

Bases de Données Avancées

MySQL / SQL EXEMPLES

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Base de Données et Langage SQL

Bases de données Cours 5 : Base de données déductives

Bases de données - Modèle relationnel

Information utiles. webpage : Google+ : digiusto/

CHAPITRE VIII : Les circuits avec résistances ohmiques

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Introduction aux Bases de Données

MODE OPERATOIRE OPENOFFICE BASE

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

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

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

Système binaire. Algèbre booléenne

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Introduction aux Bases de Données

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Vincent Augusto

Compte-rendu de projet de Système de gestion de base de données

Représentation géométrique d un nombre complexe

BASES DE DONNÉES RÉSEAUX ET HIÉRARCHIQUES

Systèmes de Gestion de Bases de Données (SGBD) relationnels Maude Manouvrier

Mejdi BLAGHGI & Anis ASSÈS

I4 : Bases de Données

V- Manipulations de nombres en binaire

Bases de données élémentaires Maude Manouvrier

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

LA GESTION DES VUES 1. INTRODUCTION

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Année Universitaire 2009/2010 Session 2 de Printemps

Conception d une base de données

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

Cours SQL. Base du langage SQL et des bases de données

Programmes des classes préparatoires aux Grandes Ecoles

TP3 : Creation de tables 1 seance

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

Groupe 11 TABLE DES MATIERES

PROJET 1 : BASE DE DONNÉES REPARTIES

UML et les Bases de Données

Intelligence Artificielle Planification

IFT1215 Introduction aux systèmes informatiques

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

SPECIFICATION DES ECHANGES DE DONNEES INFORMATISES (E.D.I.)

Transcription:

Algèbre relationnelle

Concepts Descriptifs : Bilan RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE

Langages de manipulation Langages formels : base théorique solide Langages utilisateurs : version plus ergonomique Langages procéduraux : définissent comment dériver le résultat souhaité Langages assertionnels (ou déclaratifs) : définissent le résultat souhaité

LMD classiques Langages formels langages algébriques : définissent un ensemble d opérateurs de manipulation langages prédicatifs (calcul) : définissent le résultat souhaité en utilisant des expressions de logique Langages utilisateurs inspirés principalement des langages algébriques : SQL inspirés des langage prédicatifs : QBE, QUEL

Opérations de base L algèbre relationnelle inventée par E.Codd comme une collection d opérations formelles qui agissent sur des relations et produisent les relations en résultats. AR est aux relations ce qu est l arithmétique aux entiers Une des forces essentielles du modèle Codd a introduit 8 opérations, certaines peuvent être composées à partir d autres 6 opérations (opérations de base) Deux types : Les opérations ensemblistes traditionnelles Les opérations spécifiques

Opérations Ensemblistes OPERATIONS ENSEMBLISTES POUR DES RELATIONS DE MEME SCHEMA UNION notée Produit cartésien notée X DIFFERENCE notée OPERATIONS BINAIRES Relation X Relation --> Relation EXTENSION Union externe pour des relations de schémas différents Ramener au même schéma avec des valeurs nulles

Opérations Ensemblistes Union Opération portant sur deux relations de même schéma RELATION1 et RELATION2 consistant à construire une relation de même schéma RELATION3 ayant pour tuples ceux appartenant à RELATION1 et RELATION2 ou aux deux relations. Plusieurs notations : RELATION1 RELATION2 UNION (RELATION1, RELATION2) APPEND (RELATION1, RELATION2)

Opérations Ensemblistes Union Opération ensembliste notée Deux relations avec le même schéma Résultat = les tuples des deux relations (sans les doublons)

nom prénom nom prénom Durand Paul Juny Carole Dupont Caroline Dupont Corinne Dupont Corinne Personne1 nom prénom Fourt Lisa Personne2 Durand Paul Dupont Caroline Dupont Corinne Juny Carole Fourt Lisa Personne1 Personne2

Opérations Ensemblistes Différence Opération portant sur deux relations de même schéma RELATION1 et RELATION2 consistant à construire une relation de même schéma RELATION3 ayant pour tuples ceux appartenant à RELATION1 et n appartenant pas à RELATION2. Plusieurs notations : RELATION1 - RELATION2 DIFFERENCE (RELATION1, RELATION2) REMOVE (RELATION1, RELATION2) MINUS (RELATION1, RELATION2)

Opérations Ensemblistes Différence nom prénom nom prénom Durand Paul Juny Carole Dupont Caroline Dupont Corinne Dupont Corinne Fourt Lisa Personne 1 Personne 2 nom Durand Dupont prénom Paul Caroline Personne 1 Personne 2

Opérations Ensemblistes Produit cartésien Opération portant sur deux relations de même schéma RELATION1 et RELATION2 consistant à construire une relation de même schéma RELATION3 ayant pour schéma la concaténation de ceux des relations opérandes et pour tuples toutes les combinaisons des tuples des relations opérandes Plusieurs notations : RELATION1 X RELATION2 PRODUCT (RELATION1, RELATION2) TIMES (RELATION1, RELATION2)

Opérations Ensemblistes Produit cartésien

Opérations Ensemblistes Produit cartésien Opération binaire Sémantique : chaque tuple de R est combiné avec chaque tuple de S Schéma : schéma (R X S) = schéma(r) schéma(s) Précondition : R et S n ont pas d attributs de même nom (sinon, renommage des attributs avant de faire le produit)

Opérations Ensemblistes Produit cartésien nom prénom Durand Caroline Dupont Rose-Marie BonneAmie article prix collier 1000 roses 20 Cadeau nom prénom article prix Durand Caroline collier 1000 Durand Caroline roses 20 Dupont Rose-Marie collier 1000 Dupont Rose-Marie roses 20 Bonne Amie Cadeau

Opérations spécifiques Projection Opération sur une relation RELATION1 consistant à composer une relation RELATION2 en enlevant une à la relation initiale tous les attributs non mentionnés en opérandes et en éliminant les tuples en double qui sont conservés une seule RESULTAT fois RELATION

Opérations spécifiques Projection Opération unaire, notée π Elimination des attributs non désirés Exemple : π ETUDIANT, NUM_ETUDIANT, NOM_ETU Résultat : R(NUM_ETUDIANT, NOM_ETU)

Opérations spécifiques Projection numéro nom prénom 5 Durand Caroline 1 Germain Stan 12 Dupont Lisa 3 Germain Rose-Marie Personne prénom Caroline Stan Lisa Rose-Marie π prénom Personne

Opérations spécifiques Projection Projection sur les attributs Marque et Puissance numéro marque Puissance 902FEE Renault 7 434FR Renault 5 5647GT Peugeot 5 5643ER Citroen 9

Opérations spécifiques Restriction Opération sur une relation RELATION1 consistant à composer une relation RELATION2 de même schéma, mais comportant les seuls tuples qui vérifient la conition précisé en argument. <Attribut> <Opérateur> <Valeur> Opérateur parmi {=,<,,,,>, }

Opérations spécifiques Restriction σ[ nom=capitale ] Pays Pays dont le nom est le même que celui de sa capitale σ [ (surface>100 V surface<500) A(population>30 V population<300) ] Pays Pays dont la surface est comprise entre 100 et 500 ou dont la population est comprise entre 30 et 300 σetudiant, ADRESSE= " Dijon" Résultat : tous les étudiants de Dijon

Opérations spécifiques Restriction numéro nom prénom 5 Durand Caroline 1 Germain Stan 12 Dupont Lisa 3 Germain Rose-Marie numéro nom prénom 5 Durand Caroline 12 Dupont Lisa σ numéro 5 Personne Personne

Opérations spécifiques Restriction Restriction sur l' attribut marque= ' Renault' numéro marque Puissance 902FEE Renault 7 434FR Renault 5 5647GT Peugeot 5 5643ER Citroen 9

Opérations spécifiques Sélection Opération unaire notée σ La sélection génère une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont l expression logique E σ R

Opérations spécifiques Combinaison des opérations Les opérations de restriction et de projection peuvent se combiner pour réaliser des traitements plus élaborés sur des relations (sélection) numéro marque Puissance 902FEE Renault 7 434FR Renault 5 5647GT Peugeot 5 5643ER Citroen 9

Opérations spécifiques Jointure Une des opérations essentielles dans l algèbre relationnelle Opération consistant à rapprocher selon une condition les tuples de deux relations RELATION1 et RELATION2 afin de former une troisième relation RELATION3 qui contient l ensemble de tous les tuples obtenus en concaténant un tuple de RELATION1 en un tuple de RELATION2 vérifiant la condition de rapprochement Condition du type : <Attribut1> <opérateur> <Attribut2> L equi-jointure (critère de restriction est l'égalité) L inéqui-jointure sinon

Opérations spécifiques Jointure naturelle Une équijointure qui se fait sur la clé d'une relation et la référence à cette clé dans l'autre relation Exemple relations Vehicule(NV,Marque,Puiss,Couleur,NomCond) Personne(Nom,prénom,Adresse,Age) La jointure se fait sur le critère Nom=NomCond Les attributs en double ne sont représentés qu'une seule fois.

Opérations spécifiques Jointure naturelle Opération binaire notée prédicat Composition de deux relations sur un domaine commun, avec un prédicat de jointure Exemple : LIVRE LIVRE.NUM_LIVRE=EXEMPLAIRE.NUM_LIVRE EXEMPLAIRE Résultat : R(même schéma que le produit cartésien) contenant tous les tuples satisfaisant le prédicat

Exemple Jointure Nom Prénom Numéro avocat R1 = Collard Bebert 1 Vergès Jacquy 2 R2 = Numéro avocat Procès Résultat 1 HLM Perdu 2 Serial Killer Gagné 1 Outreau Perdu 2 Du siècle Gagné R1R2 = Nom Prénom Numéro avocat Procès Résultat Collard Bebert 1 HLM Perdu Vergès Jacquy 2 Serial Killer Gagné Collard Bebert 1 Outreau Perdu Vergès Jacquy 2 Du siècle Gagné 29/19

Exemple jointure Numéro Marque Puissance couleur NomCond 902FE Renault 7 Rouge Dupond 434FR Renault 5 Noir Martin 5647GT Peugeot 5Vert Martin Nom Prénom Adresse Age Dupond Paul Paris 25 Dupont Jacques Paris 23 Martin Georges Lyon 47 Durand Olivier Dijon 32 Toule Ange Marseille 31

Exemple jointure Numéro Marque Puissa couleur NomCond Prénom Adresse Age 902FE Renault 7 Rouge Dupond Paul Paris 25 434FR Renault 5 Noir Martin Georges Lyon 47 5647GT Peugeot 5 Vert Martin Georges Lyon 47

Semi-jointure Une semi-jointure est une jointure dont on ne garde que les attributs de l'une des deux relations jointes Une semi-jointure peut être assimilée à une restriction d'une relation à l'aide des valeurs d'un attribut d'une relation. Exemple : les personnes conduisant un véhicule.

Opérations dérivées Semi-Jointure Cru M il Qualité Volnay 1983 A Volnay 1979 B Chablis 1983 A Julienas 1986 C Cru Region Q ualm oy Volnay Bourgogne A Chablis Bourgogne A Chablis Californie B Cru M il Qualité Volnay 1983 A Volnay 1979 B Chablis 1983 A

Opérations dérivées Jointure externe Opération générant une relation RELATION3 à partir de deux relations RELATION1 et RELATION2 par jointure de ces deux relations et ajout des tuples de RELATION1 et RELATION2 ne participant pas la jointure, avec des valeurs nulles pour les attributs de l autre relation.

Opérations dérivées Jointure externe Cru M il Qualité Volnay 1983 A Volnay 1979 B Julienas 1986 C Cru Region Q ualm oy Volnay Bourgogne A Chablis Bourgogne A Chablis Californie B Cru M il Q ualité Region Q ualm o Volnay 1983 A Bourgogn y A Volnay 1979 B e Bourgogn A Chablis - - e Bourgogn A Chablis - - e Californie B Julienas 1986 C - -

Opérations dérivées Intersection Utilisés pour manipuler des relations Peuvent être obtenues par combinaison des opérations précédentes Opération classique de la théorie des ensembles adaptée aux relations de même schéma Opération portant sur deux relations de même schéma RELATION1 et RELATION2 consistant à construire une relation de même schéma RELATION3 ayant pour tuples ceux appartenant à la fois à RELATION1 et RELATION2.

Opérations dérivées Intersection Opération ensembliste notée Deux relations A et B avec le même schéma Résultat = les tuples qui sont dans A et dans B

nom prénom nom prénom Durand Paul Juny Carole Dupont Caroline Dupont Corinne Dupont Corinne Personne1 Fourt Lisa Personne2 nom prénom Dupont Corinne Personne1 Personne2

Opérations dérivées Intersection Plusieurs notations : INTERSECT (RELATION 1, RELATION 2) AND (RELATION 1, RELATION 2) Opération redondante avec les opérations de base, il est possible de l obtenir : INTERSECT (RELATION 1, RELATION 2) = RELATION 1- (RELATION 1, RELATION 2)

Opérations dérivées Division Permet de rechercher dans une relation les sous-tuples qui sont complétés par tous ceux d une autre relation Opération consistant à construire le quotient de la relation D(A1,A2.Ap,Ap+1, An) par la relation d(ap+1, An) comme la relation Q(A1,A2.Ap) dont les tuples sont ceux qui concaténés à tout tuple de d donnent un tuple de D. D d Division (D,d)

Opérations dérivées Division Cru M il Qualité Volnay 1983 A Volnay 1979 B Chablis 1983 A Chablis 1979 A Julienas 1986 A M il Qualité 1983 A 1979 A QUALITE VINS Cru CHABLIS CRU

Opérations dérivées Complément Ensemble des tuples du produit cartésien des domaines des attributs d une relation n appartenant pas à cette relation. Notation : NOT (RELATION1) COMP (RELATION1)

Opérations dérivées Complément Domaines : CRU = {Chablis, Volnay, Médoc} COULEUR= {Rouge, Rosé, Blanc} CRU Couleur CRU Couleur CHABLIS ROUGE CHABLIS BLANC CHABLIS ROSE VOLNAY ROSE VOLNAY ROUGE VOLNAY BLANC VOLNAY ROSE MEDOC ROUGE MEDOC BLANC

Opérations dérivées Eclatement Opération consistant à créer deux à partir d une relation RELATION1 et d une condition, la première contenant les tuples de RELATION1 et la deuxième ceux ne la vérifiant pas.

Opérations dérivées Fermeture transitive Opération sur une relation R à deux attributs (A1,A2) de même domaine consistant à ajouter à R tous les tuples qi se déduisent successivement par transitivité, c est-à-dire si l on a des tuples <a,b> et <b,c>, on ajoute <a,c>

Opérations dérivées Fermeture transitive PARENT Pierre Jeanne Paul Yves ENFANT Paul Paul Yves Jean Ascendant Pierre Jeanne Paul Yves Pierre Descenda nt Paul Paul Yves Jean Yves Jeanne Yves Pierre Jean Jeanne Jean Paul Jean

GRAPH E DES REQ UETES REPRESENTATION GRAPHIQUE DE LA REQUETE Prédicat Attributs X Prédicat de Jointure Restriction Projection P roduit J ointure Dif férence Union Intersection Division

Les expressions de l algèbre relationnelle

Langage algébrique Question 1 : Donner les degrés de vins de crus Morgan et de Millésime 1978 R1= RESTRICT (VINS, CRUS=MORGAN) R2= RESTRICT (VINS, MILLESIME=1978) R3= INTERSECT (R1,R2) RESULTAT=PROJECT(R3,DEGRE)

Langage algébrique Question 2 : Donner les noms et prénoms des buveurs de Morgan ou Chenas R1= RESTRICT (VINS, CRUS=MORGAN) R2= RESTRICT (VINS, CRUS=CHENAS) R3= UNION (R1,R2) R4=JOIN(R3,ABUS) R5=JOIN(R4,BUVEURS) RESULTAT=PROJECT(R5,NOM,PRENOM)

Langage algébrique Question 3 : Donner les noms et adresses des buveurs ayant bu plus de 10 bouteilles de Chablis 1976 avec le degré de ce vin : R1= RESTRICT (ABUS, QUANTITE>10) R2= RESTRICT (VINS, CRUS=CHABLIS) R3= RESTRICT (VINS, MILLESIME=1976 R4=INTERSECT(R2,R3) R5=JOIN(R1,R4) R6=PROJECT(R5,NB, DEGRE) R7=JOIN(R6,BUVEURS) RESULTAT=PROJECT(R7,NOM,ADRESSE,DEGR E)

Langage algébrique Question 4 : Donner les noms des buveurs n ayant bu que du Morgan R1=JOIN(BUVEURS,ABUS,VINS) R2=RESTRICT(R1,CRU=MORGAN) R3=PROJECT(R2,NOM) R4=RESTRICT(R1,CRU MOGAN) R5=PROJECT(R1,NOM) RESULTAT=MINUS(R3-R5)

Arbre algébrique Arbre dont les nœuds correspondent à des opérations de l algèbre relationnelle et les arcs à des relations de base ou temporaires représentant des flots de données entre opérations Noms et prénoms des buveurs habitant Paris ayant bu du Chablis depuis l 1 er Janvier.

Arbre algébrique Résultat B. Nom,B. Prenom A. Date > = 01. 01. 92 V. Cru = Chablis B. NB A. NB B. Adresses LIKE Paris A. NV V. NV = ABUS A VINS V Buveurs B