Cours 4 : Langage SQL & Algèbre relationnelle

Slides:



Advertisements
Présentations similaires
Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Advertisements

26/ 04/ 2007 Auto-Jointure : SELECT * FROM Nom_relation R1 INNER JOIN Nom_relation R2 ON Condition_de_jointure; Problèmes Si des attributs de même nom.
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Bases de données : modèlisation et SGBD
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 5 : Accès aux données Bertrand Audras Microsoft Technology Center.
MODELISATION DES DONNEES Licence professionnelle A Lancini.
Jeudi 24/09 Correction TP du mardi 22/09
Techniques de R éé criture et Transformations Pierre-Etienne Moreau.
Fonctionnalités des SGBD
Algèbre relationnelle
Optimisation algébrique de requêtes relationnelles
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Fonctions Booléennes.
4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE.
Les requêtes Manière de dialoguer avec une base de donnée pour :
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Optimisation de Requêtes
Les Requêtes S.Q.L « Structured Query Language)
Connexion base de données
Cours N°4 Base de Données & Langage SQL
GRAFCET à choix de séquences
Le Langage d’Interrogation de Données LID Multi-table Jointures
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
Module 7 : Géométrie algorithmique. 23/7/2007Géométrie algorithmique2 Plan du module Aire dun triangle Problème 361.
Geti2101 : Systèmes d’Information et Informatique
Copyright Oracle Corporation, Tous droits réservés. 9 Écriture de Sous- Interrogations Synchronisées.
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
Algèbre relationnelle et SQL
1 Développement des Applications des Bases de Données Chapitre 6, Sections
Cours N°2 Base de Données & Langage SQL
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
SQL Injection Réalisée par: BEN NASR Houssem GMATI Idriss HADDAD Mohamed Aymen HAKIM Youssef.
Mise en œuvre du langage MDX
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
SQL partie3: Langage de définition des données
Cours 4: Optimisation & Normalisation Tuanloc NGUYEN Miage de Paris 12.
Aperture Science Project
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Schema Beans. Langage temperature Schema temperature
SQL Partie 1.
SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.
SQL Partie 2. SQL est un Langage de Manipulation de Données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Le langage SQL LDD : Langage de Définition de Données
Mise en œuvre du langage MDX
H5 Harry a un chapeau et une chouette mais pas de balai Harry a un chapeau et une chouette mais pas de balai.
Access Les requêtes Table médias Table (*) Requêtes simples.
Optimisation de requêtes
Introduction à Microsoft Access Rachid Kadouche 420-EDB-03 Hiver EDB-03 Rachid Kadouche.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
OPTIMISATION Institut National des Sciences Appliquées – Rouen Département Architecture des Systèmes d’Information.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Afficher des Données Issues de Plusieurs Tables
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Séance /10/2004 SGBD - Approches & Principes.
Cours n°2 Implémentation et exploitation
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle Exercices Université Panthéon-Assas Paris 2 L2 Economie-Gestion.
Traitement et optimisation de requêtes
Base de données Magasins.accdb
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
Bases de données : modèlisation et SGBD Séance 3.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Initiation aux bases de données et à la programmation événementielle
SQL LID – INTERROGATIN DES DONNEES
Description et données des tables Exercices complémentaires.
Algèbre relationnelle
Title. Text Title Text Title Text Title Text.
Transcription de la présentation:

Cours 4 : Langage SQL & Algèbre relationnelle Nguyen TuanLoc

Rappel sur l’algèbre relationnel Normalisation Forme conjonctive (p11 ν p12 v…v p1n) Λ (pm1 ν pm2 v…v pmn) Forme disjonctive (p11 Λ p12Λ … Λp1n) v (pm1 Λ pm2Λ…Λ pmn) (souvent disjonctive)

Exemple: schéma de la base de données pour les étudiants de la MIAGE Paris 12

Conjonctive SELECT ENSEIGNANTS.nom, ENSEIGNANTS.prenom, MATIERES.nommat FROM MATIERES INNER JOIN (ENSEIGNANTS INNER JOIN ENSEIGN_MAT ON ENSEIGNANTS.codens = ENSEIGN_MAT.codens) ON MATIERES.codemat = ENSEIGN_MAT.codemat WHERE (((ENSEIGNANTS.nom)="NGUYEN") AND ((MATIERES.nommat)="ACCESS" Or (MATIERES.nommat)="BASE DE DONNEES"));

Disjonctive SELECT ENSEIGNANTS.nom, ENSEIGNANTS.prenom, MATIERES.nommat FROM MATIERES INNER JOIN (ENSEIGNANTS INNER JOIN ENSEIGN_MAT ON ENSEIGNANTS.codens = ENSEIGN_MAT.codens) ON MATIERES.codemat = ENSEIGN_MAT.codemat WHERE ( ( (ENSEIGNANTS.nom)="NGUYEN" AND (MATIERES.nommat)="BASE DE DONNEES") OR ( (MATIERES.nommat)="ACCESS" AND (MATIERES.nommat)="BASE DE DONNEES"));

Normalisation de requête p1 Λ p2 < => p2 Λ p1 p1 v p2 < => p2 v p1 (commutativité) p1Λ(p2 Λ p3) < => p1Λp2Λp3 p1v(p2 v p3) < => p1vp2vp3 (associativité) p1Λ(p2vp3) < =>(p1Λp2)v(p1Λp3) p1v(p2Λp3) < =>(p1vp2) Λ(p1vp3) !(p1 Λ p2) < =>!p1 v !p2 !!(p) < => p

Exercice SELECT Title FROM Emp WHERE (Not (Title=’’linux’’) AND (Title=’’linux’’ OR Title=’’windows’’) AND Not (Title = ’’unix’’)) OR Ename = ’’Toward Linus’’; On suppose: p1 = Title=’’linux’’ p2 = Title=’’windows’’ p3 = Ename = ’’Toward Linus’’

Forme normale (!p1 Λ (p1 v p2) Λ !p2) v p3 Disjonctive: [(!p1 Λ p1) v (!p1 Λp2)] Λ !p2) v p3< => (!p2 Λ [(!p1 Λ p1) v (!p1 Λp2)]) v p3< => (!p2Λ(!p1 Λ p1))v(!p2Λ(!p1Λp2)) v p3 < =>(!p2Λ!p1Λp1)v(!p2Λ!p1Λp2) v p3 < =>(!p2 Λfalse) v (!p1 Λ false) v p3 < => false v false v p3 < => p3

Requête finale SELECT Title From Emp WHERE Ename =’’Toward Linus’’;

Règle de transformation Commutativité: R x S Ξ S x R R |x| S Ξ S |x| R R U S Ξ S U R Associativité ( R x S ) x T = R x ( S x T) ( R |x| S ) |x| T = R |x| ( S |x| T) Idempotence ΠA’ (ΠA’’(R) ) = ΠA’(R) (avec A’’ dans A’) …

Analyse Mise de la requête en forme normale Analyse lexical et syntaxique Type incorrect ou inexistant (schéma de la relation)

Simplification p Λ p < => p p v p < => p p Λ true < =>p p v false < => p p Λ false < => false p v true < => true p Λ !p < => false p v !p < => true p1 Λ (p1 v p2) < => p1 P1 v (p1 Λ p2) < => p1