Stockage et utilisation d un multi direct acyclique graphe pour PostgreSQL 8.2. Jonathan Winandy Juillet 2008

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Stockage et utilisation d un multi direct acyclique graphe pour PostgreSQL 8.2. Jonathan Winandy Juillet 2008"

Transcription

1 Stockage et utilisation d un multi direct acyclique graphe pour PostgreSQL 8.2 Jonathan Winandy Juillet

2 Table des matières 1 Introduction 3 2 Le modèle Nested set Présentation du modèle Représentation du modèle Utilisations du modèle Récupération d un sous-arbre Trouver toutes les feuilles Trouver le chemin vers la racine Trouver la profondeur des noeuds Trouver la profondeur des noeuds dans un sous arbre Trouver les fils directs d un noeud Annexes 8 Tables des figures

3 1 Introduction Cet article a pour but de documenter l utilisation des direct acyclique graphes en tant que structure hiearchique. De ce fait ce article survole un certain nombre de domaine liée à l informatique : 2 Le modèle Nested set 2.1 Présentation du modèle Le modèle connu généralement comme Nested set, est une façon de gérer la hierarchie (dans les arbres). Le modèle conçoit les arbres sous forme de boîtes imbriquées. Dans cette représenation, chaque enfant est contenu par son père comme on peut voir dans la figure 2.1. root root A B A B C D E C D E F G F G Fig. 2.1 Exemple d arbre dans le modèle classique (Adjacency List Model) et dans le modèle Nested set Ce modèle a un interêt particulier dès lors que l on veut parcourir de manière directe l arbre. C est à dire que dans la première représentation, pour connaître tout les fils de B, D-E-F-G, il faut parcourir de manière récursive tous les noeuds en dessous de B pour récupérer l information. Dans le cas du modèle Nested set, il suffit de prendre tous les éléments de la boite B. La différence est relativement importante puisquecela dimunue l ordre de complexité des algorythmes. 2.2 Représentation du modèle L idée de boite englobante se modèlise en ajoutant aux noeuds deux nouvelles propriètés qui sont la position sur un axe d entier naturel de l extrémité gauche et de l extrémité droite. Comme on le voit sur la figure 2.2, cette numérotation est suffisante pour décrire la structure d un arbre, et de plus est porteuse d un certain nombre d information complémentaires, en particulier sur les sous-arbres. On abandonne alors le classique modèle hierarchique en base de données qui consiste à stocker pour chaque noeud son noeud parent, pour stocker pour chaque noeud la position de sa partie gauche et de sa partie droite. Le calcul de la valeur des node left et node right ce fait en numérotant de gauche à droite les noeuds, comme sur la figure 2.2. Cette nouvelle structure perd donc la clès étrangère node parentid qui est remplacé par les valeurs contenues dans node left et node right. 2.3 Utilisations du modèle Le but ici est de montrer quelques utilisations du modèle dans une base données, ainsi les manières de gérer les différents cas d utilisation qui se présente. Dans les exemples suivants, je considère que le noeud N1 est le noeud E qui a pour node id = 6, node left = 9 et node left = 14 comme dans la figure

4 root A B C D E F G Fig. 2.2 Numérotation des noeuds dans la méthode du nested set node pk node id fk node parentid node name modification node pk node id fk node parentid node name + node left + node right Fig. 2.3 Modification du type node CREATE TABLE node ( n o d e i d INT PRIMARY KEY, node name VARCHAR( 2 0) NOT NULL, n o d e l e f t INT NOT NULL, n o d e r i g h t INT NOT NULL ) ; INSERT INTO node VALUES ( 1, r o o t, 1, 1 6 ), ( 2, A, 2, 5 ), ( 3, C, 3, 4 ), ( 4, B, 6, 1 5 ), ( 5, D, 7, 8 ), ( 6, E, 9, 1 4 ), ( 7, F, 1 0, 1 1 ), ( 8, G, 1 2, 1 3 ) ; Fig. 2.4 Insertion du modèle et de quelques données test dans une base de données suportant le SQL 4

5 2.3.1 Récupération d un sous-arbre La récupération du sous-arbre donc le noeud N1 en est racine, ce fait en deux étapes : 1. Récupération des informations 1 sur le noeud N1 qui a pour id = N1id : SELECT INTO N1 FROM node WHERE n o d e i d = N1id ; S p é c i f i q u e 6 ; E ; 9 ; 1 4 PlpgSQL 2. Réquête avec les propriètes de N1 dans la clause W HERE : SELECT FROM node WHERE node. n o d e l e f t > N1. n o d e l e f t AND node. n o d e r i g h t < N1. n o d e r i g h t ; 7 ; F ; 1 0 ; ; G ; 1 2 ; 1 3 On peut en faire la synthèse en une seule requète 2 : SELECT FROM node WHERE node. n o d e l e f t > (SELECT n o d e l e f t FROM node WHERE n o d e i d = N1id ) AND node. n o d e r i g h t < (SELECT n o d e r i g h t FROM node WHERE n o d e i d = N1id ) ; 7 ; F ; 1 0 ; ; G ; 1 2 ; Trouver toutes les feuilles Les feuilles sont caractèrisable par le fait que node right node left = 1, ce qui donne la requète suivante : SELECT FROM node WHERE node. n o d e r i g h t = node. n o d e l e f t + 1 ; 3 ; C ; 3 ; 4 5 ; D ; 7 ; 8 7 ; F ; 1 0 ; ; G ; 1 2 ; Trouver le chemin vers la racine Avec le modèle nested set, on peut retrouver un chemin vers la racine sans pour avoir à faire des multiples jointures : SELECT FROM node WHERE N1. n o d e l e f t BETWEEN node. n o d e l e f t AND node. n o d e r i g h t 1 ; r o o t ; 1 ; ; B ; 6 ; ; E ; 9 ; Trouver la profondeur des noeuds En utilisant le cas d utilisation précedant, trouver le chemin vers la racine, et en utilisant la fonction d agrégat count, on est à même de trouver la profondeur des noeuds : 1 J utilise ici un syntaxe qui est spécifique à PlPgSQL, il serait adéquat de l adaper au language de programmation qui intéroge la base de données, ou d utiliser une requète imbriquée. 2 En suposant que la base de données que vous utilisez supporte les requètes imbriquèes, PostgreSQL le fait. 5

6 SELECT node. node id, node. node name, (COUNT( p a r e n t. n o d e i d ) 1) AS node depth FROM node, node AS p a r e n t WHERE node. n o d e l e f t BETWEEN p a r e n t. n o d e l e f t AND p a r e n t. n o d e r i g h t GROUP BY node. node id, node. n o d e l e f t, node. node name 1 ; r o o t ; 0 2 ; A ; 1 3 ; C ; 2 4 ; B ; 1 5 ; D ; 2 6 ; E ; 2 7 ; F ; 3 8 ; G ; Trouver la profondeur des noeuds dans un sous arbre La méthode consiste à reprendre la requète précédente, et à limiter les parents au sous-arbre à l aide d un réquète imbriqué : SELECT node. node id, node. node name, COUNT( p a r e n t. n o d e i d ) AS node depth FROM node, (SELECT FROM node WHERE node. n o d e l e f t > B. n o d e l e f t AND node. n o d e r i g h t < B. n o d e r i g h t ) AS p a r e n t WHERE node. n o d e l e f t BETWEEN p a r e n t. n o d e l e f t AND p a r e n t. n o d e r i g h t GROUP BY node. node id, node. n o d e l e f t, node. node name Sous a r b r e de B 5 ; D ; 1 6 ; E ; 1 7 ; F ; 2 8 ; G ; 2 Une variante où on inclut la racine dans le résultat SELECT node. node id, node. node name, COUNT( p a r e n t. n o d e i d ) 1 AS node depth FROM node, (SELECT FROM node WHERE node. n o d e l e f t >= B. n o d e l e f t AND node. n o d e r i g h t <= B. n o d e r i g h t ) AS p a r e n t WHERE node. n o d e l e f t BETWEEN p a r e n t. n o d e l e f t AND p a r e n t. n o d e r i g h t GROUP BY node. node id, node. n o d e l e f t, node. node name Sous a r b r e de B 4 ; B ; 0 5 ; D ; 1 6 ; E ; 1 7 ; F ; 2 8 ; G ; Trouver les fils directs d un noeud Le modèle du nested set n est pas adapté à ce genre de requète qui ne sont pas directe comme pour le Adjacency List Model. SELECT node. node id, node. node name, COUNT( p a r e n t. n o d e i d ) 1 AS node depth FROM node, (SELECT FROM node WHERE 6

7 node. n o d e l e f t >= B. n o d e l e f t AND node. n o d e r i g h t <= B. n o d e r i g h t ) AS p a r e n t WHERE node. n o d e l e f t BETWEEN p a r e n t. n o d e l e f t AND p a r e n t. n o d e r i g h t GROUP BY node. node id, node. n o d e l e f t, node. node name HAVING COUNT( p a r e n t. n o d e i d ) < 3 B e t f i l s d i r e c t s de B 4 ; B ; 0 5 ; D ; 1 6 ; E ; 1 7

8 3 Annexes Table des figures 2.1 Exemple d arbre dans le modèle classique (Adjacency List Model) et dans le modèle Nested set Numérotation des noeuds dans la méthode du nested set Modification du type node Insertion du modèle et de quelques données test dans une base de données suportant le SQL

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

Plus en détail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données Cours 3. : Le langage SQL Vincent Martin email : vincent.martin@univ-tln.fr page personnelle : http://lsis.univ-tln.fr/~martin/ Master 1. LLC Université du Sud Toulon

Plus en détail

Informatique en CPGE (2015-2016) Le langage SQL

Informatique en CPGE (2015-2016) Le langage SQL Informatique en CPGE (2015-2016) Le langage SQL S. B. Lycée des EK 30 mai 2016 Le SQL (Structured Query Language = langage de requêtes structuré) est un langage informatique de dialogue avec une base de

Plus en détail

1/28 XML. I XML = extensible markup language. I Langage de description de documents (semi)-structurés, utilisant des.

1/28 XML. I XML = extensible markup language. I Langage de description de documents (semi)-structurés, utilisant des. 1/28 2/28 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 XML I XML = extensible markup language I Langage de description de documents (semi-structurés, utilisant des balises

Plus en détail

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4 DUT Génie Biologique Option Bioinformatique Les bases de données relationnelles avec MySQL Éric Pipard Travaux Pratiques n 4 Jointures externes Requêtes internes et externes Vues et transactions Objectifs

Plus en détail

Bases de données Cours 7 : Modèle relationnel-objet

Bases de données Cours 7 : Modèle relationnel-objet -relationnel Cours 7 : Modèle relationnel-objet ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://pages-perso.esil.univmed.fr/ papini/ -relationnel Plan du cours 1 Introduction 2

Plus en détail

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Interface Web PhpPgAdmin: permet de faire des requêtes SQL ( 1 commandes) permet de visualiser

Plus en détail

Optimisation des Requêtes D après J. Akoka - I. Wattiau

Optimisation des Requêtes D après J. Akoka - I. Wattiau NFE113 Administration et configuration des bases de données 2011 Optimisation des Requêtes D après J. Akoka - I. Wattiau 1 Eric Boniface Introduction Fournir l'algorithme d'accès à la B.D. pour répondre

Plus en détail

Bases de données (SQL)

Bases de données (SQL) Bases de données (SQL) Skander Zannad et Judicaël Courant 2014-03-26 1 Le modèle logique (MLD) On a représenté des données par des tables. Par exemple, pour les films : The good, the Bad and the Ugly 1966

Plus en détail

1/39. I Langage d interrogation et modification des données (DML) I Langage de définition du schéma (DDL)

1/39. I Langage d interrogation et modification des données (DML) I Langage de définition du schéma (DDL) Introduction 1/39 2/39 Introduction Anne-Cécile Caron Licence MIAGE - BDD 2015-2016 A partir de l algèbre relationnelle s est construit un langage informatique permettant d interroger les données : SQL

Plus en détail

Le langage SQL (deuxième partie) c Olivier Caron

Le langage SQL (deuxième partie) c Olivier Caron Le langage SQL (deuxième partie) 1 Les requêtes de consultation Représente la majorité des requêtes 1 Les requêtes de consultation Représente la majorité des requêtes Encapsule complètement l algèbre relationnel

Plus en détail

Bases de Données. SQL: Définition

Bases de Données. SQL: Définition Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 SQL: Définition Structured Query Langage(SQL): - Langage g de base dans les SGBD - Langage de

Plus en détail

PROJET de BD. Licence. 6 juin 2003 version 1.0. Benoit Bourdin / Stephane Poinsart / Samnang Traing enseignante: Veronique Ventos

PROJET de BD. Licence. 6 juin 2003 version 1.0. Benoit Bourdin / Stephane Poinsart / Samnang Traing enseignante: Veronique Ventos PROJET de BD Licence 6 juin 2003 version 1.0 Benoit Bourdin / Stephane Poinsart / Samnang Traing enseignante: Veronique Ventos 1 1 Création de la base 1.1 Schema Lors de la conception des requetes, nous

Plus en détail

Pierre Parrend, Régis Martinez, Soumaya El Kadiri Introduction à SQL, QLIO, 2006-2007. SQL: Introduction

Pierre Parrend, Régis Martinez, Soumaya El Kadiri Introduction à SQL, QLIO, 2006-2007. SQL: Introduction Introduction à SQL IUT Lumière, DUT QLIO 2006-2007 Pierre Parrend, Régis Martinez, Soumaya El-Kadiri SQL: Introduction I. Le Language SQL Pour interroger une Base de Données (BD), il faut dialoguer avec

Plus en détail

Modification des données stockées dans une base. LIF4 - Initiation aux Bases de données : SQL - 3. Exemple. Insertion. Insertion utilisant une requête

Modification des données stockées dans une base. LIF4 - Initiation aux Bases de données : SQL - 3. Exemple. Insertion. Insertion utilisant une requête Modification des données stockées dans une base LIF4 - Initiation aux Bases de données : SQL - 3 E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery La modification s effectue par

Plus en détail

Introduction au langage SQL

Introduction au langage SQL Introduction au langage SQL Les bases de données relationnelles Le langage SQL est un langage universel destiné à travailler sur des bases de données relationnelles. Nous considérerons ici qu'une base

Plus en détail

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression

Plus en détail

TP n o 14 : Bases de données, première partie

TP n o 14 : Bases de données, première partie TP n o 14 : Bases de données, première partie I Introduction Dans ce TP nous allons effectuer des opérations élementaires sur une base de données ne comportant qu une seule table. Lors de la prochaine

Plus en détail

Bases de données (SQL)

Bases de données (SQL) Skander Zannad et Judicaël Courant Lycée La Martinière-Monplaisir 2014-03-26 1 Le modèle logique (MLD) On a représenté des données par des tables. Par exemple, pour les films : titre date Gran Torino 2008

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

Plus en détail

TP 4 -Arbres Binaires -

TP 4 -Arbres Binaires - L3 Informatique Programmation fonctionnelle OCaml Année 2013/2014 TP 4 -Arbres Binaires - Un arbre binaire est une structure de données qui peut se représenter sous la forme d une hiérarchie dont chaque

Plus en détail

1/24. I On peut toujours faire du relationnel : enrichissement de SQL2. Introduction 3/24 SGBDOO

1/24. I On peut toujours faire du relationnel : enrichissement de SQL2. Introduction 3/24 SGBDOO ntroduction 1/24 2/24 Anne-Cécile Caron Master MAGE - BDA 1er trimestre 2013-2014 La norme SQL 3 aussi appelée SQL 99 Extension du modèle relationnel à l objet nécessité de structures de données plus sophistiquées

Plus en détail

Les Bases de Données

Les Bases de Données Les Bases de Données 1. Introduction 1.1 Définition On peut parler de bases de données partout où des informations sont plus ou moins structurées et rassemblées dans des systèmes organisés. La gestion

Plus en détail

INTRODUCTION A SQL. http://www.lri.fr/~rigaux/bd/sql.html

INTRODUCTION A SQL. http://www.lri.fr/~rigaux/bd/sql.html 012345678901234567890123 INTRODUCTION A SQL SQL = Structured Query Language SEQUEL = Structured English as a QUEry Language standard ISO depuis 87. Avantages : implanté + ou - complètement sur principaux

Plus en détail

LES REQUÊTES EN LANGAGE S.Q.L.

LES REQUÊTES EN LANGAGE S.Q.L. LES REQUÊTES EN LANGAGE S.Q.L. Une base de données contient un nombre important d informations. Ces informations sont organisées, mais pour être effectivement exploitables, il faut pouvoir sélectionner,

Plus en détail

TD6 - Audit. Corrigé. 14 janvier 2016

TD6 - Audit. Corrigé. 14 janvier 2016 TD6 - Audit Corrigé Chantal Keller 14 janvier 2016 1 Généralités Question 1 Peut-on avoir confiance dans les tests détection d infection (c est-à-dire regardant a posteriori

Plus en détail

Mapinfo et les requêtes SQL

Mapinfo et les requêtes SQL 31 janvier 2007 Master I Géo-Environnement INTRODUCTION Introduction - Généralités SQL (Structured Query Language) est un LDD (Language de Définition de Données) Créer / modifier / supprimer tables LMD

Plus en détail

3. Nom et prénom des athlètes triés par pays et par ordre alphabétique.

3. Nom et prénom des athlètes triés par pays et par ordre alphabétique. Département Informatique et Statistique, Faculté de SEG, Université Lumière Lyon 2 M2 Informatique spécialité IDS-IIDEE Année 2011-2012 Bases de données objets TD n 3 : Collections J. Darmont (http:eric.univ-lyon2.fr~jdarmont,

Plus en détail

SQL (Deuxième partie) Walter RUDAMETKIN

SQL (Deuxième partie) Walter RUDAMETKIN SQL (Deuxième partie) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Les requêtes de consultation Représente la majorité des requêtes Encapsule complètement l'algèbre relationnel Une

Plus en détail

Optimisation de requêtes

Optimisation de requêtes Optimisation de requêtes Illustration avec Oracle J. Akoka - I. Wattiau Introduction BUT : Fournir l'algorithme d'accès à la base de données pour répondre à une requête exprimée en langage assertionnel

Plus en détail

PostgreSQL. quand on est développeur. Dimitri Fontaine dimitri@2ndquadrant.fr. 31 Octobre 2012

PostgreSQL. quand on est développeur. Dimitri Fontaine dimitri@2ndquadrant.fr. 31 Octobre 2012 PostgreSQL quand on est développeur Dimitri Fontaine dimitri@2ndquadrant.fr 31 Octobre 2012 Dimitri Fontaine dimitri@2ndquadrant.fr PostgreSQL 31 Octobre 2012 1 / 29 Dimitri Fontaine 2ndQuadrant France

Plus en détail

COURS : ENJEUX DE LA DOCUMENTATION ET PRATIQUES DOCUMENTAIRES EC 3 : N 3

COURS : ENJEUX DE LA DOCUMENTATION ET PRATIQUES DOCUMENTAIRES EC 3 : N 3 COURS : ENJEUX DE LA DOCUMENTATION ET PRATIQUES DOCUMENTAIRES EC 3 : N 3 Logiciels documentaires Par : Sahbi SIDHOM MCF.Université de Lorraine & Lab. LORIA / KIWI Cours en ligne : www.loria.fr/~ssidhom/

Plus en détail

Optimisation. Bases de Données. Année 2007-08

Optimisation. Bases de Données. Année 2007-08 Optimisation Bases de Données Année 2007-08 Les index Les index sont utilisés pour accélérer l accès aux données. fonction de hachage qui permet de retrouver rapidement un ou des enregistrements les clés

Plus en détail

Les triggers. Introduction 1/18. Objectifs. I Utiliser à bon escient le paramétrage des triggers :

Les triggers. Introduction 1/18. Objectifs. I Utiliser à bon escient le paramétrage des triggers : 1/18 2/18 Anne-Cécile Caron Licence MIAGE - Bases de Données 2015-2016 Objectifs Après ce cours, les TD et TP correspondants, vous devez être capables de I Ecrire en PL/SQL des triggers liés aux tables.

Plus en détail

Introduction aux Systemes d Information et aux Bases de Données

Introduction aux Systemes d Information et aux Bases de Données Introduction aux Systemes d Information et aux Bases de Données L2 Informatique Serenella Cerrito Département d Informatique Évry 2014-2015 Quels valeurs peut prendre un attribut? Ici, les types les plus

Plus en détail

Cours 3 Le langage SQL

Cours 3 Le langage SQL DUT SRC IUT de Marne-la-Vallée 05/02/2014 M2203 Bases de données Cours 3 Le langage SQL Philippe Gambette Sources Cours de Tony Grandame à l'iut de Marne-la-Vallée en 2010-2011 Cours de Mathieu Mangeot,

Plus en détail

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés www.fenetresurtoile.com Jean-François Ramiara FAD Réseau Pyramide 14/01/2013 Toulouse 1 www.fenetresurtoile.com Sommaire Introduction Ajout avec SQL Modification avec SQL Suppression avec SQL Mises à jour

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

Bases de données IUP2. Sujet de l examen du 20 janvier 2004 (8h30-11h30) et son corrigé

Bases de données IUP2. Sujet de l examen du 20 janvier 2004 (8h30-11h30) et son corrigé Bases de données IUP2 Sujet de l examen du 20 janvier 2004 (8h30-11h30) et son corrigé 1 Requêtes 1. On considère une relation suivante : Ordinateur(IP, nom, constructeur, modèle, lieu) Représentez EN

Plus en détail

BASE DE DONNÉES T.P.1 SQL3

BASE DE DONNÉES T.P.1 SQL3 Faculté des Sciences et Techniques Année Universitaire 2005-2006 Master 1 Informatique BASE DE DONNÉES T.P.1 SQL3 DEZE Simon DAUVERGNE Sébastien 1 Introduction Ce TP constitué de deux exercices vise à

Plus en détail

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année Plan Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 1 : Généralités & rappels 1.1 Avant-propos 1.2 Algèbre relationnelle kn@lri.fr http://www.lri.fr/~kn 2/18 But du cours Organisation

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

SQL : Origines et Evolutions

SQL : Origines et Evolutions SQL : Origines et Evolutions SQL est dérivé de l'algèbre relationnelle et de SEQUEL Il a été intégré à SQL/DS, DB2, puis ORACLE, INGRES, Il existe trois versions normalisées, du simple au complexe : SQL1

Plus en détail

TD sur les requêtes SQL 3 décembre 2008 Prérequis : Modèle conceptuel de données (entité-association), modèle relationnel, bases du langage

TD sur les requêtes SQL 3 décembre 2008 Prérequis : Modèle conceptuel de données (entité-association), modèle relationnel, bases du langage TD sur les requêtes SQL 3 décembre 2008 Prérequis : Modèle conceptuel de données (entité-association), modèle relationnel, bases du langage SQL. Durée : 1 h 50 TD 3 Requêtes SQL Description du système

Plus en détail

Python: Manipulation d Informations 02/05/2013

Python: Manipulation d Informations 02/05/2013 Python: Manipulation d Informations 02/05/2013 Sommaire 1. Introduction 2. Bases de données 3. Systèmes de gestion de bases de données 4. Grammaire SQL 5. Python et les bases de données : le module «SQLite»

Plus en détail

Bases de données. cours 5. www.liafa.univ-paris-diderot.fr/~zielonka

Bases de données. cours 5. www.liafa.univ-paris-diderot.fr/~zielonka Bases de données cours 5 www.liafa.univ-paris-diderot.fr/~zielonka R a b c 1 8 1 1 6 2 2 11 1 2 6-5 S c d 2 6 3 2 3 1 13 9 select sum(a*d) as X, C from R natural join S where C in (select a+1 from R) group

Plus en détail

Le sujet comporte 7 pages. A,B C D C D E E A

Le sujet comporte 7 pages. A,B C D C D E E A Université Paris 7 Master 1 Informatique, Bases de données avancées. 10 janvier 2014 Durée : 2h30 Documents manuscrits, notes de cours, notes de TD/TP autorisés. Livres, ordinateurs, téléphones portables

Plus en détail

INTRODUCTION AUX BASES DE DONNÉES EN BIODIVERSITÉ Atelier CEBioS MRV, Septembre 2015. André Heughebaert Belgian Biodiversity Platform

INTRODUCTION AUX BASES DE DONNÉES EN BIODIVERSITÉ Atelier CEBioS MRV, Septembre 2015. André Heughebaert Belgian Biodiversity Platform INTRODUCTION AUX BASES DE DONNÉES EN BIODIVERSITÉ Atelier CEBioS MRV, Septembre 2015 André Heughebaert Belgian Biodiversity Platform CONTENU 1. 2. 3. 4. 5. 6. 7. Introduction Données Metadonnées SQL NoSQL

Plus en détail

Ou comment multiplier les fonctionnalités de SAS!

Ou comment multiplier les fonctionnalités de SAS! Ou comment multiplier les fonctionnalités de SAS! 24/02/2012 1 Aurélien VESIN Introduction SAS : Datamanagementpuissant grâce aux étapes DATA Mais les étapes data ont des limites : Agrégation de données

Plus en détail

MySQL. Plan. François Gannaz. 1 Introduction : MySQL à grands traits Qu est-ce? Le modèle relationnel. 2 Conception d une base de donnée relationnelle

MySQL. Plan. François Gannaz. 1 Introduction : MySQL à grands traits Qu est-ce? Le modèle relationnel. 2 Conception d une base de donnée relationnelle p. 1 MySQL François Gannaz Grenoble INP Formation Continue Plan p. 2 1 Introduction : MySQL à grands traits Qu est-ce? Le modèle relationnel 2 Conception d une base de donnée relationnelle 3 Administration

Plus en détail

«14_Synthese _PHP_MySQL_cours_4»

«14_Synthese _PHP_MySQL_cours_4» «14_Synthese _PHP_MySQL_cours_4» Maintenant que nous nous sommes connectés à la base de données et y avons mis des informations via un formulaire (cours 13), nous allons voir comment interroger nos tables

Plus en détail

UFR de Mathématiques et Informatique

UFR de Mathématiques et Informatique UFR de Mathématiques et Informatique Licence professionnelle "Les métiers de l'internet" Réf. Regles_MCD_MPD.doc Module BD1 (Partiel et examen) Date dernière version : Avril 2002 Diffusion : apprenants

Plus en détail

BASES DE DONNÉES : COMPLÉMENTS

BASES DE DONNÉES : COMPLÉMENTS : personne pe eleve enseigne personne pp prof num_p num_p num_classe pe.prenom = pp.prenom num_pro f = pp.num_p pe.nom pe.prenom Objectifs A la fin de la séquence d enseignement l élève doit pouvoir :

Plus en détail

4. Concepts pour la manipulation des données Implémentation en SQL

4. Concepts pour la manipulation des données Implémentation en SQL 4. Concepts pour la manipulation des données Implémentation en SQL 4.1. OPERATEURS DE L ALGEBRE RELATIONNEL ALGEBRE RELATIONNELLE = { opérateurs sur les relations donnant en résultat des relations } Opérateurs

Plus en détail

Introduction au langage SQL

Introduction au langage SQL Introduction au langage SQL SQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé servant à effectuer des opérations sur des bases de

Plus en détail

Faculté I&C, Claude Petitpierre, André Maurer. Bases de données. SQL (Structured Query Language)

Faculté I&C, Claude Petitpierre, André Maurer. Bases de données. SQL (Structured Query Language) Bases de données SQL (Structured Query Language) Une base de données contient des tables idv region cepage annee Lavaux chasselas 2005 Chianti sangiovese 2002 2 Bourgogne pinot noir 2000 Le nom et le type

Plus en détail

Plans d'exécution et EXPLAIN. Marc Cousin

Plans d'exécution et EXPLAIN. Marc Cousin Plans d'exécution et EXPLAIN Marc Cousin 1 Exécution d'une requête Analyse (parser) Réécriture (rewriter) Planification (planner) Exécution (executor) 2 SQL est déclaratif SELECT x,y,z FROM t1 JOIN t2

Plus en détail

SQL Description des données : création, insertion, mise à jour. Définition des données. BD4 A.D., S.B., F.C., N. G. de R.

SQL Description des données : création, insertion, mise à jour. Définition des données. BD4 A.D., S.B., F.C., N. G. de R. SQL Description des données : création, insertion, mise à jour BD4 AD, SB, FC, N G de R Licence MIASHS, Master ISIFAR, Paris-Diderot Mars 2015 BD4 (Licence MIASHS, Master ISIFAR, Paris-Diderot) SQL 1/21

Plus en détail

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation.

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Bienvenue! Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Téléchargez les logiciels nécessaires pour cette formation : http ://formation-web.via.ecp.fr

Plus en détail

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role IFT7 Programmation Serveur Web avec PHP Introduction à MySQL Base de donnée relationnelle Une base de données relationnelle est composée de plusieurs tables possédant des relations logiques (théorie des

Plus en détail

Bases de Données Relationnelles. SQL Le langage de définition des données de SQL

Bases de Données Relationnelles. SQL Le langage de définition des données de SQL Bases de Données Relationnelles SQL Le langage de définition des données de SQL Introduction SQL : Structured Query Language SQL est normalisé SQL 2: adopté (SQL 92) SQL 3: adopté (SQL 99) Standard d'accès

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

M O D E L I S AT I O N D E L A B A S E D E D O N N E E S D U N E I M P R I M E R I E D E C A R T E S D E V I S I T E

M O D E L I S AT I O N D E L A B A S E D E D O N N E E S D U N E I M P R I M E R I E D E C A R T E S D E V I S I T E C A R T E S M O D E L I S AT I O N D E L A B A S E D E D O N N E E S D U N E I M P R I M E R I E D E C A R T E S D E V I S I T E G U S TAV O B A R R E N O J O S E C A R L O S C O R R E I A R E M I H Ä

Plus en détail

Chapitre 4 : Le langage SQL

Chapitre 4 : Le langage SQL Chapitre 4 : Le langage SQL Table des matières I) Introduction...2 II) Rappel...2 III) Gestion de la base de données...2 1) Création de la base de données...2 2) Modification de la base de données...2

Plus en détail

Exploiter les données d'un PGI avec SQL

Exploiter les données d'un PGI avec SQL Exploiter les données d'un PGI avec SQL Propriétés Description Titre de la production Auteur Exploiter les données d'un PGI avec SQL Véronique Bennetot-Dereux GREID Académie de Créteil v.bennetot-dereux@ac-creteil.fr

Plus en détail

ORACLE SQL LDD. Langage de définition de données

ORACLE SQL LDD. Langage de définition de données ORACLE SQL LDD Langage de définition de données Le langage SQL (Structured Query Language) SQL a été normalisé par l ANSI puis par l ISO depuis 1986 sous ses différents aspects : LDD : définition des données

Plus en détail

1 Les arbres binaires en Java

1 Les arbres binaires en Java Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2002 2003 TP N 10 Arbres binaires Buts : structuration des arbres binaires en Java. classes internes. objets de parcours.

Plus en détail

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Introduction aux bases de données relationnelles

Introduction aux bases de données relationnelles Formation «Gestion des données scientifiques : stockage et consultation en utilisant des ases de données» 24 au 27 /06/08 Introduction aux ases de données relationnelles Christine Tranchant-Dureuil UMR

Plus en détail

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table Les requêtes de consultation Représente la ma jorité des requêtes SQL (Deuxième partie) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Encapsule complètement l'algèbre relationnel Une

Plus en détail

Modèle relationnel Création et modification des relations en SQL

Modèle relationnel Création et modification des relations en SQL Modèle relationnel Création et modification des relations en SQL ENT - Clé sql2009 BD - Mírian Halfeld-Ferrari p. 1 Insertion dans une relation Pour insérer un tuple dans une relation: insert into Sailors

Plus en détail

Cours n 6 SQL : Langage de définition des données (LDD)

Cours n 6 SQL : Langage de définition des données (LDD) Cours n 6 SQL : Langage de définition des données (LDD) Chantal Reynaud Université Paris X - Nanterre UFR SEGMI - IUP MIAGE Cours de Systèmes de Gestion de Données Licence MIAGE 2003/2004 1 Plan I. Langage

Plus en détail

T-GSI Ch.1 Ch.3 Le Langage SQL, support de cours CORRIGÉ

T-GSI Ch.1 Ch.3 Le Langage SQL, support de cours CORRIGÉ T-GSI Ch.1 Ch.3 Le Langage SQL, support de cours CORRIGÉ Support de cours : a) Quelles sont les différentes catégories de film (code et libellé)? SELECT codecat, libcat SELECT * SELECT categorie.* SELECT

Plus en détail

Table des Temps. Création et Utilisation d'une Table des Temps

Table des Temps. Création et Utilisation d'une Table des Temps Table des Temps Création et Utilisation d'une Table des Temps Dans beaucoup de cas de programmation, il est nécessaire d'avoir à disposition une table de référence pour tous les jours de l'année et différentes

Plus en détail

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

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Module MABD Master Informatique Spécialité IAD. Cours 3 Modèle objet-relationnel et SQL3

Module MABD Master Informatique Spécialité IAD. Cours 3 Modèle objet-relationnel et SQL3 Module MABD Master Informatique Spécialité IAD Cours 3 Modèle objet-relationnel et SQL3 1 L'objet-relationnel Relationnel (tables, attributs, domaine, clé) + Objet (collections, identifiants, héritage,

Plus en détail

Opération DIVISION. Huit opérations de base de l algèbre relationnelle. SELECT [ALL] [DISTINCT] liste d'attributs FROM table

Opération DIVISION. Huit opérations de base de l algèbre relationnelle. SELECT [ALL] [DISTINCT] liste d'attributs FROM table Opération DIVISION Huit opérations de base de l algèbre relationnelle PROJECTION SELECTION JOINTURE SELECT [ALL] [DISTINCT] liste d'attributs FROM table SELECT liste d'attributs FROM table WHERE condition

Plus en détail

LE LANGAGE DE REQUETES SQL. Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité SQL2 92: la nouvelle norme SQL3 98: les évolutions objets

LE LANGAGE DE REQUETES SQL. Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité SQL2 92: la nouvelle norme SQL3 98: les évolutions objets LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité SQL2 92: la nouvelle norme SQL3 98: les évolutions objets Gardarin 2001 1. Origines et Evolutions SQL est dérivé

Plus en détail

SQL et Bases de données relationnelles. November 26, 2013

SQL et Bases de données relationnelles. November 26, 2013 November 26, 2013 SQL : En tant que langage d interrogation En tant que langage de mise à jour En tant que langage de définition de données Langages de requête Langages qui permettent d interroger la BD

Plus en détail

Comment stocke-t-on des données sur un site web?

Comment stocke-t-on des données sur un site web? Comment stocke-t-on des données sur un site web? Sommaire I. Introduction aux bases de données II. III. Structure d une base de données Administrer la base avec PHPMyadmin IV. Le langage SQL Pourquoi stocker

Plus en détail

Informations diverses

Informations diverses Fiche récapitulative : langage SQL Documentation Postgresql http://www.postgresql.org/docs/8.1 Informations diverses Sources : http://sqlpro.developpez.com/cours/sqlaz/dml/ http://sqlpro.developpez.com/cours/sqlaz/select/

Plus en détail

SQL : le Langage de Définition de Données

SQL : le Langage de Définition de Données Nadi Tomeh Slides par Amélie Gheerbrant SQL SQL permet d interroger et de créer, de modifier et de supprimer des bases de données et des données. SQL query : interrogation de données pas de modification

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Bases de Données TD4 Définition et Manipulation de Données en SQL et QBE

Bases de Données TD4 Définition et Manipulation de Données en SQL et QBE Bases de Données TD4 Définition et Manipulation de Données en SQL et QBE 1. Définir (sur papier) les tables de la base S-P avec leurs clés. D abord, en utilisant la commande Create Table du cours. Puis,

Plus en détail

Introduction à la théorie des jeux à deux

Introduction à la théorie des jeux à deux Introduction à la théorie des jeux à deux Table des matières 1 Arbres d évaluation 2 A) Minimax...................................... 2 B) α-β......................................... 3 2 Variantes et

Plus en détail

Définition de contraintes. c Olivier Caron

Définition de contraintes. c Olivier Caron Définition de contraintes 1 Normalisation SQL-92 Les types de contraintes 1 Les types de contraintes Normalisation SQL-92 Les contraintes de domaine définissent les valeurs prises par un attribut. 1 Les

Plus en détail

2 ème PARTIE : LE LANGAGE SQL

2 ème PARTIE : LE LANGAGE SQL 2 ème PARTIE : LE LANGAGE SQL PLAN : I. Le langage de manipulation des données II. Le langage de définition des données III. Administration de la base de données IV. Divers (HORS PROGRAMME) Introduction:

Plus en détail

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 1 : Vues et Index Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les Vues Généralités Syntaxe Avantages Conditions de mise à jour 2 Index Généralités

Plus en détail

Utilitaires pour modéliser des bases de données en XML

Utilitaires pour modéliser des bases de données en XML Utilitaires pour modéliser des bases de données en XML PimenTech http://www.pimentech.net 9 septembre 2010 1 Introduction Afin de gagner un peu de temps et d uniformiser les modèles de nos bases de données,

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

( NUM VILLE, ANCIEN NOM, NOM MODERNE) SITES ( VILLE, NUM SITE, NOM SITE, CIVILISATION ) OUVRAGES (NUM OUVRAGE, TITRE OUVRAGE, DATE EDITION, EDITEUR)

( NUM VILLE, ANCIEN NOM, NOM MODERNE) SITES ( VILLE, NUM SITE, NOM SITE, CIVILISATION ) OUVRAGES (NUM OUVRAGE, TITRE OUVRAGE, DATE EDITION, EDITEUR) SQL - Archéologie OBJETS (NUM OBJET, NOM OBJET, TYPE OBJET, DATE OBJET, VILLE, SITE, MUSEE) VILLES ( NUM VILLE, ANCIEN NOM, NOM MODERNE) MUSEES (NUM MUSEE, NOM MUSEE, VILLE ) SITES ( VILLE, NUM SITE, NOM

Plus en détail

DQL Doctrine Query Language UP Web Framework PHP

DQL Doctrine Query Language UP Web Framework PHP DQL Doctrine Query Language UP Web Framework PHP Année universitaire 2014-2015 Repository Les Repository servent à récupérer et à manipuler les entités. Ces services utilisent un Entity Manager: 2 techniques

Plus en détail

Les entrepôts De données TP 1

Les entrepôts De données TP 1 UNIVERSITE SIDI MOHAMED BEN ABDELLAH FACULTE DES SCIENCES ET TECHNIQUES FES 2014-2015 Les entrepôts De données TP 1 Réalisé par : Supervisé par : AIT SKOURT BRAHIM Pr. L. Lemrini BOUCHANA ADIL ED-DAHMOUNI

Plus en détail

SQL DML SELECT. SELECT DISTINCT ROUND(largeur * hauteur, 1) AS surfarr FROM t_peinture;

SQL DML SELECT. SELECT DISTINCT ROUND(largeur * hauteur, 1) AS surfarr FROM t_peinture; SELECT pour des requêtes d extraction sur une table Syntaxe générale : Entre [ ] : des valeurs optionnelles Entre { } : une liste de valeur obligatoires possibles De part et d autre de : une valeur parmi

Plus en détail

Correction TP3 SGBDR

Correction TP3 SGBDR BTS-DSI Correction TP3 SGBDR lycée lissane eddine ibn el khatib laayoune use master; CREATE DATABASE BD_Recettes ON ( NAME = 'BD_Recettes_Data', FILENAME = 'F:\Documents and Settings\Administrateur\Bureau\2014\bts2\sql\tds

Plus en détail

Année Universitaire 2010/2011 Session 2 de Printemps

Année Universitaire 2010/2011 Session 2 de Printemps Année Universitaire 2010/2011 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Lundi 20 juin 2011 Heure : 11 heures Durée : 1 heure

Plus en détail

JDBC et objet-relationnel

JDBC et objet-relationnel Types de données de SQL3 JDBC et objet-relationnel Université de Nice - Sophia Antipolis Version 1.6.4 5/11/11 Richard Grin JDBC supporte les types suivants de SQL3 qui sont des ouvertures vers le relationnelobjet

Plus en détail

IFT3030 Base de données. Chapitre 9 Concepts avancés. Plan du cours

IFT3030 Base de données. Chapitre 9 Concepts avancés. Plan du cours IFT3030 Base de données Chapitre 9 Concepts avancés Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés

Plus en détail