Maria Berger - Maîtrise d'AES Algèbre relationnelle.

Slides:



Advertisements
Présentations similaires
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Advertisements

Algèbre relationnelle
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle.
BUR Tableur Tableur : Open Office Calc. BUR Tableur 2 Qu’est-ce qu’un tableur ?  Un logiciel permettant de manipuler des feuilles de calcul  Fonctionnalités.
SQL partie 5 1 LMD create – update – primary key secondary key.
Le langage de définition de données B.T.S. S.I.O – SI3 –
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
DOSSIER 07 – Interroger une base de données
L2A Semestre 4 Mehdi Benzine
Pierre Joli Cours de Mathématique Pierre Joli
Construire des requêtes
Initiation aux bases de données et à la programmation événementielle
Université Stendhal - Grenoble
Langage de manipulation de données (LMD)
Sous menu de l’application «micro» (‘IHM’)
Base de données: Généralité IFT6800 Jian-Yun Nie.
Semaine #1 INF130 par Frédérick Henri.
De l’étude du système d’information à la mise en œuvre sous Access
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
chapitre 1 : Généralités sur les Fonctions.
Technologies d’intelligence d’affaires
Cyber-Sphinx Séance 2.
Semaine #6 INF130 par Frédérick Henri.
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
SQL LID – INTERROGATIN DES DONNEES
Initiation aux bases de données sous Access. Plan I.Structure d’une base de données II.Langages de manipulation de données –Algèbre relationnelle (théorique)
Week 1 Lecture 1 Introduction à R L3PRO 2017.
Manipulation D’Une Base De Données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Calcul Relationnel Chapitre 4, Section 4.3.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Langage d’interrogation des Données LID
Modèle entité-association Exercice client : Une petite entreprise souhaite concevoir une base de données pour la gestion des commandes de ses clients,
Calcul Scientifique Initiation à SCILB
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
Langage d’interrogation des Données Les fonctions de groupes
Algèbre relationnelle
DOSSIER 09 – Le modèle relationnel
3. LE LANGAGE SQL DML (2) Version 2 - Janvier 2012
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
5 Introduction au modèle relationnel 5.1 Concepts de base
Semaine 3 Retour sur la semaine 2 Plan de séance
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
Cours 11 Introduction à Access Algèbre relationnelle
Base de données Table des clients Table des fournisseurs Table des commandes clients Formulaire des clients Formulaire des fournisseurs Formulaire des.
Conception d’unebasede données MERISE ( MÉTHODE D’ ETUDE ET DE RÉALISATION INFORMATIQUE POUR LES SYSTÈMES D’ENTREPRISE )
62 Modèle relationnel et algèbre relationnelle INT Management.
Systèmes d’Information et Application
Bases de Données Relationnelles(1)
Algèbre Relationnelle
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Systèmes d’Information et Application
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
LINQ. LINQ (Language-Integrated Query) est une nouveauté du.NET Framework 3.5 C’est le nom d’un ensemble de technologies basé sur l’intégration de fonctions.
Transcription de la présentation:

Maria Berger - Maîtrise d'AES Algèbre relationnelle

Maria Berger - Maîtrise d'AES La partie structurelle : le modèle relationnel Produit cartésien de 2 ensembles : Relation : – Sous-ensemble du produit cartésien d’une liste de domaines – Une relation est caractérisée par un nom – Représentation commode : table à 2 dimensions – Exemple : la relation Coureur est un sous-ensemble du produit cartésien : numéro X nom X CodeEquipe X CodePays

Maria Berger - Maîtrise d'AES La partie opérationnelle : l'algèbre relationnelle Une algèbre est un ensemble avec des opérations fermées sur cet ensemble. – Une algèbre relationnelle est un ensemble d’opérations agissant sur des relations et produisant des relations 4 opérations ensemblistes (union, intersection, différence, produit cartésien) 3 opérations spécifiques des BD relationnelles (sélection, projection, jointure)

Maria Berger - Maîtrise d'AES Opérations ensemblistes Union – Les relations doivent avoir le même schéma Professeur  Maître de conférence

Maria Berger - Maîtrise d'AES Opérations ensemblistes Intersection – Les relations doivent avoir le même schéma – Exemple : l’intersection de Professeur et Maître de conférence est une relation nulle (!) Différence – Les relations doivent avoir le même schéma – Exemple : la différence Professeur - Maître de conférence est la relation Professeur elle-même (!)

Maria Berger - Maîtrise d'AES Opérations ensemblistes Produit cartésien Numéro coureur Nom CoureurCode équipe Code pays 8ULLRICH JanTELALL 31JALABERT LaurentONCFRA 61ROMINGER TonyCOFSUI 91BOARDMAN ChrisGANG-B Code pays Nom Pays ALLAllemagne FRAFrance SUISuisse G-BGrande - Bretagne Numéro coureur Nom CoureurCode équipe Code pays Code pays Nom Pays 8ULLRICH JanTELALL Allemagne 8ULLRICH JanTELALLFRAFrance 8ULLRICH JanTELALLSUISuisse 8ULLRICH JanTELALLG-BGrande -Bretagne 31JALABERT LaurentONCFRAALLAllemagne…

Maria Berger - Maîtrise d'AES Opérations spécifiques " Sélection (ou restriction) : relation composée de n-uplets vérifiant une condition Numéro coureur Nom Coureur Code équipe Code pays 8ULLRICH JanTELALL 31JALABERT LaurentONCFRA 61ROMINGER TonyCOFSUI 91BOARDMAN ChrisGANG-B 114CIPOLLINI MarioSAEITA Quels sont les coureurs suisses ? R = SELECTION(COUREUR, CodePays = ‘‘SUI’’) NOTATION :  CodePays = ‘‘SUI’’ (COUREUR) Relation résultat

Maria Berger - Maîtrise d'AES Opérations spécifiques Projection : relation restreinte aux attributs spécifiés dans la projection – Exemple : Nom et nationalité des coureurs ? R = PROJECTION(COUREUR, NomCoureur, Nationalité) NOTATION :  {NomCoureur,codepays} (COUREURS) Nom CoureurCode pays ULLRICH JanALL JALABERT LaurentFRA ROMINGER TonySUI BOARDMAN ChrisG-B CIPOLLINI MarioITA Relation résultat

Maria Berger - Maîtrise d'AES Opérations spécifiques Jointure : Code pays Nom Pays ALLAllemagne FRAFrance SUISuisse G-BGrande - Bretagne Numéro coureur Nom CoureurCode équipe Code pays 8ULLRICH JanTELALL 31JALABERT LaurentONCFRA 61ROMINGER TonyCOFSUI 91BOARDMAN ChrisGANG-B Numéro coureur Nom CoureurCode équipe Code pays Nom Pays 8ULLRICH JanTELALLAllemagne 31JALABERT LaurentONCFRAFrance 61ROMINGER TonyCOFSUISuisse 91BOARDMAN ChrisGANG-BGrande - Bretagne Relation résultat

Maria Berger - Maîtrise d'AES Opérations spécifiques Jointure (suite) – Notation : Coureur  Pays  -jointure : jointure sous condition autre que l’égalité

Maria Berger - Maîtrise d'AES Opérations spécifiques Division : relation composée des n-uplets tels que le produit cartésien avec le diviseur soit un sous-ensemble de la relation dividende (…?) Participer Epreuve Relation résultat de Particier  Epreuve Quels sont les athlètes qui ont participé à toutes les épreuves ?

Maria Berger - Maîtrise d'AES abcabc xyxy aabbccaabbcc xyxy xyxy xyxy Produit cartésien SélectionProjection UnionIntersectionDifférence

Maria Berger - Maîtrise d'AES Remarques sur l'algèbre relationnelle L'algèbre relationnelle permet l‘étude des opérateurs entre eux (commutativité, associativité, groupe d'opérateurs minimaux,...) – équivalence de certaines expressions – programmes d'optimisation qui transforment toute requête en sa forme équivalente la plus efficace L'opération de jointure est très coûteuse : proportionnelle au nombre de n-uplets (m*n pour deux relations jointes) – toujours préférable de faire les restrictions le plus tôt possible afin de manipuler des tables les plus réduites possibles.

Maria Berger - Maîtrise d'AES Pourquoi une requête est-elle meilleure qu'une autre ? – Une requête n'est pas l'unique solution d'un problème. efficacités différentes – Exemple : Fournisseur (N°fno, Nom, Adresse, Ville) Produit (N°prod, Designation, Prix, Poids, Couleur) Commande (N°comm, N°fno#, N°prod#,, Quantité) Produit = 8 lignes * 5 colonnes * 10 char = 400 char Commande = 10 lignes * 4 colonnes * 10 char = 400 char NoProd, prix et quantités des produits commandés en plus de 10 exemplaires par commande ?

Maria Berger - Maîtrise d'AES – R1= JOINTURE( Commande, Produit, Produit.N°prod = Commande.N°prod) – R2 = SELECTION(R1, Quantité > 10) – R3 = PROJECTION(R2, N°prod, Prix, Quantité) R1 = jointure sur la table Commande et la table Produit = 400*400 = char

Maria Berger - Maîtrise d'AES – R1 = PROJECTION(SELECTION( Commande, Quantité>10), N°prod, Quantité) – R2 = JOINTURE(R1, PROJECTION( Produit, N°prod, Prix), R1.N°prod = PROJ.N°prod) – R3 = PROJECTION(R2, N°prod, Prix, Quantité) R2 = jointure sur le couple (N°prod, Prix) de la table Produit = 8*2*10 = 160 char et sur le couple (N°prod, Quantité) de la table Commande = 2*2*10 = 40 char – Total = 40*160 = 6400 char Gain de 75% (facteur 25) en taille mémoire

Maria Berger - Maîtrise d'AES Clés d’une relation Clé primaire – Colonne(s) dont les valeurs permettent de repérer une seule ligne. – Exemple : dans la table COUREUR, c’est la colonne Numéro_Coureur qui est la clé. Clé étrangère – Colonne constituée de la clé primaire d’une autre table – Traduit l’existence d’un lien entre 2 tables

Maria Berger - Maîtrise d'AES Exercices CRU(NomCru,Commune,Région,Couleur) VINS(Région,Couleur,Millésime,Qualité) CEPAGE-REGION(Cépage,Couleur) Req1 : Tous les crus ? Réponse : CRU (!)

Maria Berger - Maîtrise d'AES Req2 : Tous les crus rouges La liste des noms de crus rouges” PROJECTION(SELECTION(CRU, couleur=rouge), NomCru)

Maria Berger - Maîtrise d'AES Contraintes d'intégrité Un des outils les plus importants d'un SGBD Contraintes de clé : – Vérification de l'unicité des clés Contraintes de types de données : – Vérification des types de données saisies (entiers, réels, dates, chaînes de caractères, booléens...) – Vérification des domaines de validité (entier compris entre 0 et 20 pour une note d‘étudiant,...) Contraintes d'intégrité référentielles : – Vérification à partir des clés étrangères (la clé primaire associée n'existe pas, note d'un étudiant qui n'existe pas, conséquences d'une suppression d'une fiche,...)