Algèbre relationnelle

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Informatique appliquée à la gestion Bases de données www. labri
Access Frédéric Gava (MCF)
Calculs de complexité d'algorithmes
Le Modèle Relationnel (Chapitre 4)
Le Modèle Logique de Données
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles
Le modèle logique (Relationnel) de données
TP 3-4 BD21.
Optimisation de Requêtes
LE MODELE RELATIONNEL INVENTE PAR T. CODD (IBM SAN-JOSE)
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Initiation à la programmation et algorithmique cours 3
Les fonctions.
Initiation au système d’information et aux bases de données
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Initiation au système d’information et aux bases de données
Analyse et Conception des Systèmes d’Informations
Développement d’applications web
Contrôles d'accès aux données
Eléments d ’algèbre relationnelle
LE LANGAGE SQL Langage de manipulation de données (LMD)
B.Shishedjiev - Modèle relationnel
Initiation aux bases de données et à la programmation événementielle
Introduction à la conception de Bases de Données Relationnelles
Transformation du diagramme de classe en modèle relationnel
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Le modèle relationnel.
3 Introduction au modèle relationnel 3.1 Concepts de base
L’utilisation des bases de données
Cours N°2 Base de Données & Langage SQL
MODELE RELATIONNEL concept mathématique de relation
Staf 2x Cours de bases de données
Algèbre Relationnelle
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
Inventé par T. Codd (IBM Recherche)
Cours de Management des Systèmes d’Information
Maria Berger - Maîtrise d'AES
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
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.
Algèbre Relationnelle : Implémentation
Optimisation de requêtes
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
PostgreSQL – Présentation
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
DOSSIER G10 – La base de données Relationnelle
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
 L’information est conservée sous forme de tables  Contient: ◦ Un nom ◦ Une clé primaire ◦ Une liste de colonnes ◦ Les informations/données (sous forme.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Bases de données – Cours 3
Bases de données – Cours 2
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
Transcription de la présentation:

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

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 2001-2002

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) L'alg₩bre relationnelle est aux relations ce que l'arithm₫tique est aux nombres. But : sp₫cifier des interrogations sur un BD pour en tirer des informations. Les op. Rel. Sont sp₫cifiques aux BD relationnelles. Les expressions alg₫briques transforment des tables en une table (propri₫t₫ de fermeture) Maria Berger - Maîtrise d'AES 2001-2002

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 2001-2002

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 Exemple : la différence Professeur - Maître de conférence est la relation Professeur elle-même (!) Maria Berger - Maîtrise d'AES 2001-2002

Opérations ensemblistes Produit cartésien Code pays Nom Pays ALL Allemagne FRA France SUI Suisse G-B Grande -Bretagne Numéro coureur Nom Coureur Code équipe pays 8 ULLRICH Jan TEL ALL 31 JALABERT Laurent ONC FRA 61 ROMINGER Tony COF SUI 91 BOARDMAN Chris GAN G-B Numéro coureur Nom Coureur Code équipe pays Nom Pays 8 ULLRICH Jan TEL ALL Allemagne FRA France SUI Suisse G-B Grande -Bretagne 31 JALABERT Laurent ONC FRA ALL Allemagne… Maria Berger - Maîtrise d'AES 2001-2002

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 pays 8 ULLRICH Jan TEL ALL 31 JALABERT Laurent ONC FRA 61 ROMINGER Tony COF SUI 91 BOARDMAN Chris GAN G-B 114 CIPOLLINI Mario SAE ITA Quels sont les coureurs suisses ? Relation résultat R = SELECTION(COUREUR, CodePays = ‘‘SUI’’) NOTATION : CodePays = ‘‘SUI’’(COUREUR) Maria Berger - Maîtrise d'AES 2001-2002

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,Nationalité}(COUREURS) Nom Coureur Code pays ULLRICH Jan ALL JALABERT Laurent FRA ROMINGER Tony SUI BOARDMAN Chris G-B CIPOLLINI Mario ITA Relation résultat Maria Berger - Maîtrise d'AES 2001-2002

Opérations spécifiques Jointure : Code pays Nom Pays ALL Allemagne FRA France SUI Suisse G-B Grande -Bretagne Numéro coureur Nom Coureur Code équipe pays 8 ULLRICH Jan TEL ALL 31 JALABERT Laurent ONC FRA 61 ROMINGER Tony COF SUI 91 BOARDMAN Chris GAN G-B Numéro coureur Nom Coureur Code équipe pays Nom Pays 8 ULLRICH Jan TEL ALL Allemagne 31 JALABERT Laurent ONC FRA France 61 ROMINGER Tony COF SUI Suisse 91 BOARDMAN Chris GAN G-B Grande -Bretagne Relation résultat Maria Berger - Maîtrise d'AES 2001-2002

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

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 2001-2002

Maria Berger - Maîtrise d'AES 2001-2002 Union Intersection Différence a b c x y x y a b c x y x y Sélection Projection Produit cartésien Maria Berger - Maîtrise d'AES 2001-2002

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 2001-2002

Maria Berger - Maîtrise d'AES 2001-2002 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 Références, prix et quantités des produits commandés en plus de 10 exemplaires par commande ? Maria Berger - Maîtrise d'AES 2001-2002

Maria Berger - Maîtrise d'AES 2001-2002 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 = 160 000 char Maria Berger - Maîtrise d'AES 2001-2002

Maria Berger - Maîtrise d'AES 2001-2002 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 2001-2002

Maria Berger - Maîtrise d'AES 2001-2002 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 2001-2002

Maria Berger - Maîtrise d'AES 2001-2002 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 2001-2002

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

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,...) La cl₫ d'une relation est un ensemble d'attributs minimum dont la connaissance permet d'identifier un tuple unique de la relation consid₫r₫e La contraine de cl₫ impose que chaque relation poss₩de une cl₫. Equivalent à l'identifiant dans le md₩le E-A.. Maria Berger - Maîtrise d'AES 2001-2002