Chapitre Algèbre relationnelle
|
|
|
- Stéphanie Caron
- il y a 9 ans
- Total affichages :
Transcription
1 Chapitre Algèbre relationnelle 17 octobre Résumé des épisodes précédents On a déjà vu les notions suivantes. 1. MCD (Entité-Association) pour la représentation conceptuelle d un problème. 2. MLD pour transcrire le MCD en tables. 3. Implantation dans une base de données SQL (MPD). 4. Les requêtes SQL. 2 Problème Comment raisonner sur les opérations effectuées sur une base de données? Pour cela, on a besoin de modéliser ce problème correctement (comprendre : mathématiquement). La modélisation que nous allons utiliser est le modèle relationnel. On peut en distinguer deux parties. Structure du modèle relationnel : modélisation des données (contenues dans des tables). Algèbre relationnelle : modélisation mathématique des requêtes SQL. 3 Structure du modèle relationnel On veut formaliser la notion de tables contenant des colonnes nommées. Définition (Attribut, domaine). On appelle ensemble d attributs un ensemble noté att (potentiellement infini). Pour tout attribut a att, on appelle domaine de a un ensemble de constantes noté dom(a) (analogue au type de a). 1
2 Le domaine, noté dom, est union de toutes les constantes de tous les attributs : dom = a att dom(a). Exemple Attributs de notre base : titre, nom, prenom, id, date, datenaissance, idrealisateur, idfilm, idacteur, idpersonnage. Le domaine de l attribut titre : {"Gran Torino" ; "The Good, the Bad and the Ugly" ; "Study in Pink" ; "Schindler s List" ; "Dr Strangelove" ; "Invictus" }. Définition (Schémas). On appelle schéma relationnel un n-uplet d attributs (on parlera aussi de champs d un schéma relationnel). L ensemble des noms des schémas relationnels, noté relname, est supposé disjoint de att. Un schéma de bases de données est un ensemble fini de schémas relationnels. Exemple Dans notre base de données, nous avons quatre schémas relationnels : PERSONNE =(id, prenom, nom, datenaissance) FILM =(id, titre, date, idrealisateur) PERSONNAGE =(id, nom) JOUE =(idacteur, idfilm, idrealisateur) et nous considérons le schéma de base de donnée MPSIMDB = (PERSONNE, FILM, PERSONNAGE, JOUE). Les champs de PERSONNE sont : id, prenom, nom, datenaissance. On notera parfois FILM[id, titre, date, idrealisateur] pour dénoter FILM et rappeler les champs de FILM. Pour deux n-uplets d attributs U, V, on notera V U si les champs de V sont aussi dans U et s y trouvent dans le même ordre. Exemple On pourra noter et l on pourra aussi noter (prenom, nom) (id, prenom, nom, datenaissance) PERSONNE[prenom, nom] = (prenom, nom). Définition (Relation). Une relation R (ou table) associée à un schéma relationnel S = (A 1,..., A n ), ou instance d un schéma relationnel R[S], est un ensemble fini de n-uplets appartenant à dom(a 1 ) dom(a n ). 2
3 Exemple La table associée au schéma est la suivante. FILM[id, titre, date, idrealisateur] (1, "Gran Torino", 2008, 3) (2, "The Good, the Bad and the Ugly", 1966, 6) (3, "Study in Pink", 2010, 7) (4, "Schindler s List", 1993, 2) (5, "Dr Strangelove", 1964, 1) (6, "Invictus", 2009, 3) Pour un élément t d une relation R sur un schéma S = (A 1,..., A n ), pour T S on notera t[t ] les éléments de t portant sur les champs de T. Exemple Sur le schéma FILM[id, titre, date, idrealisateur] et la relation écrite précédemment, avec on pourra écrire et t = (1, "Gran Torino", 2008, 3), t[id] = 1 t[titre, date] = ("Gran Torino", 2008). Définition (Base de données). Une base de données est la donnée d un schéma de base de données et, pour chacun de ces schémas relationnels, d une relation sur ce schéma. Exemple La base de donnée MPSIMDB détaillée dans les cours précédent. 4 Algèbre relationnelle On étudie des opérations sur les données d une base (similaire aux LCI vue en cours de mathématiques). Nous détaillerons neuf opérations : 1. projection ; 2. sélection ; 3. renommage ; 4. produit cartésien ; 5. division cartésienne ; 6. jointure (naturelle) ; 7. union ; 8. intersection ; 9. différence. 3
4 4.1 Projection Quels sont les noms et les noms des personnes de notre base de donnée? Pour répondre à la question, il suffit de prendre les colonnes nom et prenom de la table PERSONNE. On dit qu on projette la table PERSONNE sur les attributs (nom, prenom). Définition (Projection). Soit n N et A 1,..., A n att. On appelle opération de projection sur les attributs (A 1,..., A n ) et l on note π A1,...,A n l opération définie par π A1,...,A n (R) = { t[a 1... A n ] t R } pour toute relation R ayant au moins les attributs A 1,..., A n. Ainsi, la projection d une relation sur (A 1,..., A n ) est une relation de schéma (A 1,..., A n ). En SQL, une projection se traduit par l instruction SELECT (qui ne correspond donc pas à une sélection!). Exemple On obtient les noms et les noms des personnes de notre base de donnée par l opération π nom, prenom (PERSONNE). La requête SQL traduisant cette projection est SELECT nom, prenom FROM PERSONNE ; 4.2 Sélection Quelles sont les personnes dont le prénom est «Clint»? Pour répondre à la question, on sélectionne, dans la table PERSONNE, les nuplets dont le champ prenom est «Clint». Définition (Sélection). Pour un critère de sélection C (fonction à valeurs booléennes définie sur un n-uplet de domaines), on définit l opération de sélection σ C qui, à toute relation R dont les champs sont compatibles avec C, associe σ C (R) = { t R C(t) }. Ainsi, on sélectionne les élements de R vérifiant C, σ C (R) étant une relation de même schéma relationnel que R. Pour deux attributs A, B att et a dom, on définit notamment les opérations de sélection σ A=a et σ A=B, comme les fonctions définies par σ A=a (R) = { t R t[a] = a }, σ A=B (R) = { t R t[a] = t[b] }. pour toute relation R ayant au moins A (resp. et B) comme attribut(s). En SQL, la sélection se traduit par l instruction WHERE. 4
5 Exemple Les personnes dont le prénom est «Clint» sont obtenues par σ prenom="clint" (PERSONNE). La requête SQL traduisant cette sélection est SELECT * FROM PERSONNE WHERE prenom = "Clint"; 4.3 Renommage Comment faire lorsque deux tables partagent un même attibut et que l on veut les utiliser conjointement? On peut alors renommer un des champs concernés. Définition (Renommage). Soit U un ensemble fini d attributs. On appelle renommage d attributs toute fonction f : U att injective. On appelle opération de renommage ρ f associée à f l opération qui, à R[A 1,..., A n ] associe la relation ρ f (R)[f(A 1 ),..., f(a n )] = { t t R }. Ainsi, ρ f ne change que le schéma d une relation, sans modifier ses éléments. Souvent : U est clair d après le contexte ; et f laisse invariant tous les éléments de U sauf p éléments A 1,..., A p dont les images respectives sont B 1,..., B p. l opération de renommage ρ f est alors notée ρ A1 B 1,...,A p B p En SQL, une projection se traduit par l instruction AS. Exemple Renommer la colonne date de la table FILM en la colonne Date_de_sortie correspond à l opération ρ date Date_de_sortie (FILM). La requête SQL traduisant ce renommage est SELECT id, titre, date AS Date_de_sortie, idrealisateur FROM FILM; 4.4 Produit cartésien Peut-on obtenir une table comportant toutes les combinaisons possibles de couples d éléments de PERSONNE et de JOUE? Remarque En mathématiques, A B désigne l ensemble des couples (x, y) pour x A et y B. Ici, ce sera l ensemble des x y où x y désigne la concaténation des deux nuplets x et y, supposés n avoir aucun attribut commun. 5
6 Définition (Produit cartésien). Soit R et S deux relations dont les ensembles de champs U et V vérifient U V =. On note R S la relation portant sur les champs U V définie par R S = { u v u R et v S } On pourra bien entendu construire des produits cartésiens de plus de deux relations. En SQL, on construit un produit cartésien en renseignant plusieurs tables, séparées par une virgule. Exemple Le produit cartésien de PERSONNE et de JOUE se note tout simplement PERSONNE JOUE. La requête SQL traduisant ce produit est SELECT * FROM PERSONNE, JOUE; Remarque Il faudra donc parfois renommer des colonnes avant de pouvoir construire des produits cartésiens. On pourra écrire en SQL TABLE.attribut afin de lever les ambiguités. Exemple La requête SQL correspondant à l opération PERSONNE ρ id idfilm (FILM) est SELECT PERSONNE.id, nom, prenom, datenaissance, FILM.id AS idfilm, titre, date, idrealisateur FROM PERSONNE, FILM; 4.5 Division cartésienne Quels sont les noms des acteurs ayant joué dans tous les films réalisés par Clint Eastwood? Considérons les notations suivantes J[nom, titre] est l ensemble des (n, t) (dom(nom), dom(titre)) pour chaque n nom d une personne ; t titre de film ; tels que n a joué dans t et Clint Eastwood a réalisé t. E[titre] est l ensemble des t dom(titre) tels que t a été réalisé par Clint Eastwood. K[nom] l ensemble des n dom(nom) tels que n a joué dans tous les films de Clint Eastwood. K est la plus grande relation sur { nom } vérifiant K E J. Cette relation est appelée division cartésienne de J par E. 6
7 Définition (Division cartésienne). Soit R et S deux relations, respectivement sur U et V avec U V. Alors la division cartésienne de S par R est la relation sur V \ U notée S R et définie par : S R = { t S[V \ U] u R, t u S } = { t u R, v S, v[u] = u et v[v \ U] = t }. Comme nous le verrons plus tard, cette opération n est pas traduite directement en SQL. 4.6 Jointure simple Quels sont les titres des films réalisés par des personnes dont le prénom est «Clint»? Pour répondre : 1. on calcule I = σ prenom= Clint (PERSONNE) ; 2. on calcule J = π titre,idrealisateur (FILM) ; 3. on calcule le produit I J ; 4. on calcule la sélection S = σ id=idrealisateur (I J) ; 5. le résultat est π titre (S). Les étapes 3 et 4 constituent un calcul de jointure. Définition (Jointure). Soit R et S deux relations de champs U et V avec U V =, A U et B V. Alors la jointure symétrique de R et S selon (A, B) est la relation notée R[A = B]S de champ U V, définie par La jointure : R[A = B]S = σ A=B (R S). N apporte aucune expressivité par rapport au produit suivi d une sélection ; En général, se calcule plus facilement (si on s y prend bien). Exemple Prenez un annuaire téléphonique de Lyon et la liste des enseignants de MPSI, calculez la jointure sur le couple nom de l enseignant/nom de l abonné : par produit puis sélection ; directement. En SQL, une jointure simple se traduit par l instruction JOIN ON. Exemple Pour obtenir les noms, prénoms des réalisateurs suivis des titres des films qu ils ont réalisé, il suffit d écrire l opération π nom, prenom, titre (PERSONNE[id = idrealisateur]film). La requête SQL traduisant cette jointure est SELECT nom, prenom, titre FROM PERSONNE JOIN FILM ON PERSONNE.id = idrealisateur; 7
8 4.7 Union Quels sont les personnes dont le prénom est «Clint» ou «Martin»? Pour cela, on peut réaliser l union des deux relations. Définition (Union). Soit R et S deux relations de même schéma relationnel (i.e., ayant les mêmes champs), alors l union de R et de S est la relation R S = { x x R ou x S }. C est donc une relation de même schéma que R et S. En SQL, une union se traduit par l instruction UNION. Exemple La table des personnes dont le prénom est «Clint» ou «Martin» s obtient par l opération. σ prenom= Clint (PERSONNE) σ prenom= Martin (PERSONNE) La requête SQL traduisant cette union est SELECT * FROM PERSONNE WHERE prenom = "Clint" UNION SELECT * FROM PERSONNE WHERE prenom = "Martin"; Remarque On aurait pu remplacer l union précédente par la sélection dont une traduction en SQL est SELECT * FROM PERSONNE WHERE prenom = "Clint" OR prenom = "Martin"; σ prenom="clint" ou prenom="martin" (PERSONNE), 4.8 Intersection Quelles sont les personnes dont le prénom est «Clint» et le nom «Eastwood»? Pour cela, on peut réaliser l intersection des deux relations. Définition (Intersection). Soit R et S deux relations de même schéma relationnel (i.e., ayant les mêmes champs), alors l intersection de R et de S est la relation R S = { x x R et x S }. C est donc une relation de même schéma que R et S. 8
9 En SQL, une intersection se traduit par l instruction INTERSECT. Exemple La table des personnes dont le prénom est «Clint» et le nom «Eastwood» s obtient par l opération. σ prenom= Clint (PERSONNE) σ nom= Eastwood (PERSONNE) La requête SQL traduisant cette union est SELECT * FROM PERSONNE WHERE prenom = "Clint" INTERSECT SELECT * FROM PERSONNE WHERE nom = "Eastwood"; Remarque On aurait pu remplacer l intersection précédente par la sélection dont une traduction en SQL est SELECT * FROM PERSONNE WHERE prenom = "Clint" AND nom = "Martin"; σ prenom="clint" et nom="eastwood" (PERSONNE), Remarque On aurait aussi pu remplacer l intersection précédente par la composition de sélections dont une traduction en SQL est SELECT * FROM (SELECT * FROM PERSONNE WHERE nom = "Eastwood") WHERE prenom = Clint; σ prenom= Clint (σ nom= Eastwood (PERSONNE)) 4.9 Différence Quelles sont les identifiants des personnes qui n ont réalisé aucun film? Pour cela, on peut réaliser la différence des deux relations. Définition (Différence). Soit R et S deux relations de même schéma relationnel (i.e., ayant les mêmes champs), alors la différence de R et de S est la relation R \ S = { x x R et x / S }. C est donc une relation de même schéma que R et S. 9
10 En SQL, une différence se traduit par l instruction EXCEPT. Exemple La table des identifiants des personnes n ayant réalisé aucun film s obtient par π id (PERSONNE) \ ρ idrealisateur id (π idrealisateur (FILM)). La requête SQL traduisant cette union est SELECT id FROM PERSONNE EXCEPT SELECT idrealisateur AS id FROM FILM; 5 Division cartésienne en SQL On veut l ensemble des noms des personnes ayant joué dans tous les films de Clint Eastwood. Malheureusement, il n y a pas d opérateur de division dans SQL! On peut calculer d abord l ensemble des noms n de personnes n ayant pas joué dans tous les films de Clint Eastwood (réalisateur n o 3), c est-à-dire pour n tel qu il existe au moins un film de Clint Eastwood dans lequel n n a pas joué, puis calculer le complémentaire par différence. C est (horriblement) compliqué : SELECT nom FROM PERSONNE EXCEPT SELECT DISTINCT nom FROM ( SELECT nom, titre FROM (SELECT nom FROM PERSONNE), (SELECT titre FROM FILM WHERE idrealisateur=3) EXCEPT SELECT nom, titre FROM PERSONNE, FILM, JOUE WHERE idfilm=film.id AND idacteur = PERSONNE.id AND idrealisateur=3 ); et encore, notre requête : 1. utilise le id de Clint Eastwood ; 2. est boguée en cas d homonymes (on aurait dû faire des recherches sur les id et non les nom). Deux façons de faire plus simple : 1. Faire autrement ; 2. Décomposer la requête grâce à des vues. 10
11 Faire autrement : SELECT nom FROM PERSONNE, FILM, JOUE WHERE idfilm=film.id AND idacteur = PERSONNE.id AND idrealisateur = 3 GROUP BY PERSONNE.id HAVING COUNT(*) = (SELECT COUNT(*) FROM FILM WHERE idrealisateur=3) Résout le bogue précédent ; En introduit un autre si le diviseur est vide (i.e. si le réalisateur 3 n a réalisé aucun film). Décomposer la requête grâce à des vues. -- table des id des films de Clint Eastwood CREATE VIEW FILMS_EASTWOOD AS SELECT FILM.id as idfilm FROM FILM, PERSONNE WHERE idrealisateur = PERSONNE.id AND nom = 'Eastwood' AND prenom = 'Clint'; (crée une table virtuelle qui contiendra le résultat de cette requête ; si le contenu des tables FILM et PERSONNE est modifié, la vue est modifiée) -- table des couples acteurs/films -- pour les films de Clint Eastwood CREATE VIEW ACTEURS_EASTWOOD AS SELECT id, nom, JOUE.idfilm FROM FILMS_EASTWOOD, JOUE, PERSONNE WHERE FILMS_EASTWOOD.idfilm = JOUE.idfilm AND idacteur=id; -- produit cartésien PERSONNE * FILMS_EASTWOOD CREATE VIEW PROD_PERSONNE_FILMS_EASTWOOD AS SELECT id, nom, idfilm FROM PERSONNE, FILMS_EASTWOOD; Et finalement, la requête s écrit 11
12 SELECT id, nom FROM personne EXCEPT SELECT id, nom FROM ( SELECT * FROM PROD_PERSONNE_FILMS_EASTWOOD EXCEPT SELECT * FROM ACTEURS_EASTWOOD ); (Ouf!) 6 Mis sous le tapis En fait, SQL a quelques autres différences avec l algèbre relationnelle : existence de requêtes agrégats en SQL ; les résultats en SQL sont listes et non ensembles (utiliser l instruction DISTINCT pour obtenir un ensemble à partir d une liste). 7 Agrégats On peut ajouter un opérateur d agrégation à l algèbre relationnelle. Définition (fonction d agrégation). Soit f une fonction prenant en argument une liste L d éléments de dom. On dit que f est une fonction d agrégation si la valeur de f(l ) ne dépend pas de l ordre des éléments de L. En pratique, on prendra pour fonctions d agrégation : la fonction de comptage (de la longueur de la liste) notée count ; max ; min ; la fonction moyenne arithmétique des éléments de la liste notée avg ; la fonction somme des éléments de la liste notée sum. Définition (opération d agrégation). Soit A 1,..., A n et B 1,..., B p des attributs, R une relation dont le champ contient au moins tous ces attributs et f 1,..., f p des fonctions d agrégation. Alors on note A1,...,A n γ f1 (B 1 ),...,f p(b p)(r) la relation obtenue : en regroupant les valeurs de R identiques sur les attributs A 1,..., A n ; et en définissant de nouveaux attributs, notés f i (B i ), pour ces valeurs regroupées, pour tout i [[1, p[[, par application de la fonction d agrégation f i sur chacun de ces agrégats sur l attribut B i. Remarque Nous ne rentrerons pas dans le détail du schéma relationnel de cette relation. 12
13 Exemple Si l on veut obtenir le nombre de films réalisés par chaque réalisateur (décrit par son identifiant), on utilise l opération idrealisateurγ count(id) (FILM). La requête SQL traduisant cette agrégation est SELECT idrealisateur, COUNT(id) FROM FILM GROUP BY idrealisateur; 8 Conclusion On a vu : algèbre relationnelle ; (une partie de) SQL ; le lien entre les deux. Reste à voir : comment on utilise SQL depuis un langage de programmation (par exemple Python) ; quelle architecture ont les systèmes utilisant des bases de données SQL ; quelles questions ça soulève. 13
Le langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima
Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations
Langage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Les bases de données
Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive
Bases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
Bases de données - Modèle relationnel
Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,
Introduction au Système de Gestion de Base de Données et aux Base de Données
Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière
Systèmes de Gestion de Bases de Données
Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête
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
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
Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.
ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;
RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines
1. LA GESTION DES BASES DE DONNEES RELATIONNELLES
Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de
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
Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces
Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
TD n 10 : Ma première Base de Données
TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données
Vincent Augusto 2010-2011
le des Systèmes Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2010-2011 Un 1/73 le des Un 2/73 1 2 3 4 le 5 6 7 8 Un le des Un 3/73 Contenu du cours : Techniques pour l analyse
Bases de Données. Plan
Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle
TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager
TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation
16H Cours / 18H TD / 20H TP
INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES
Cours 4 : Agrégats et GROUP BY
Cours 4 : Agrégats et GROUP BY Agrégat Fonction qui effectue un calcul sur l ensemble des valeurs d un attribut pour un groupe de lignes Utilisation dans une clause SELECT ou dans une clause HAVING 3 types
Bases de données avancées Introduction
Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)
INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.
INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES Durée : 1h30 Date : 17/05/2006 Coordonnateurs : Amel Bouzeghoub et Bruno Defude Documents autorisés : ceux distribués en cours Avertissements
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
Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7
Bases de données Yamine AIT AMEUR INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Première partie Introduction 1 Généralités et notions de base Première partie Introduction 1 Généralités
1 Modélisation d une base de données pour une société de bourse
IN306 : Corrigé SID Christophe Garion 18 octobre 2010 Ce document est un corrigé succinct de l examen du module IN306. 1 Modélisation d une base de données pour une société de bourse Une
NFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants
ÉPREUVE E5 : ANALYSE DE GESTION ET ORGANISATION DU SYSTÈME D INFORMATION Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants Page de garde... p 1 Présentation de l entreprise...
Cours SQL. Base du langage SQL et des bases de données
Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution
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
Cours de bases de données. Philippe Rigaux
Cours de bases de données Philippe Rigaux 13 juin 2001 2 TABLE DES MATIÈRES 3 Table des matières 1 Introduction 7 2 Présentation générale 9 2.1 Données, Bases de données et SGBD.............................
Base de Données et Langage SQL
Base de Données et Langage SQL (IUT, département informatique, 1 re année) Laurent AUDIBERT Institut Universitaire de Technologie de Villetaneuse Département Informatique Avenue Jean-Baptiste Clément 93430
1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK
Oracle Décisionnel : Modèle OLAP et Vue matérialisée SOMMAIRE Introduction Le modèle en étoiles Requêtes OLAP Vue matérialisée Fonctions Roll up et Cube Application Introduction Data Warehouse Moteur OLAP
INTRODUCTION : Données structurées et accès simplifié
INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration
INTRODUCTION AU DATA MINING
INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre
BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013
BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de
Optimisation SQL. Quelques règles de bases
Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR
Le Langage SQL version Oracle
Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI [email protected]
TP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
Chapitre 5 LE MODELE ENTITE - ASSOCIATION
Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous
Patrice BOURSIER. Professeur, Univ. de La Rochelle. [email protected]. Bases de Données. Notes de cours
Patrice BOURSIER Professeur, Univ. de La Rochelle [email protected] Bases de Données Notes de cours SOMMAIRE Chapitre 1 : Introduction Chapitre 2 : Modèle conceptuel Chapitre 3 : Modèle relationnel
Évaluation et optimisation de requêtes
Évaluation et optimisation de requêtes Serge Abiteboul à partir de tranparents de Philippe Rigaux, Dauphine INRIA Saclay April 3, 2008 Serge (INRIA Saclay) Évaluation et optimisation de requêtes April
S8 - INFORMATIQUE COMMERCIALE
S8 - INFORMATIQUE COMMERCIALE Les savoirs de l Informatique Commerciale doivent être abordés en relation avec les autres savoirs (S4 à S7). Les objectifs généraux sont : o de sensibiliser les étudiants
Les Entrepôts de Données
Les Entrepôts de Données Grégory Bonnet Abdel-Illah Mouaddib GREYC Dépt Dépt informatique :: GREYC Dépt Dépt informatique :: Cours Cours SIR SIR Systèmes d information décisionnels Nouvelles générations
SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste
Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en
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
Bases de données. PTSI Lycée Eiffel. 28 février 2014
Bases de données PTSI Lycée Eiffel 28 février 2014 Introduction Pour ce troisième chapître, nous allons mettre de côté notre apprentissage de Pyhton pour nous intéresser à un sujet fondamental dans l informatique
Programmes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,
Rappel sur les bases de données
Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant
ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL
ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte [email protected] 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA
COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des
MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Architectures d'intégration de données
Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration
Chapitre 1. 1. Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties
Université du Havre MASTER MATHÉMATIQUES ET INFORMATIQUE-Option SIRES 2010/2011 COURS BASES DE DONNEES REPARTIES Nakechbandi M., LITIS, Email : [email protected] Chapitre 1 1. Introduction : Notion de Bases
Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre
Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du
... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.
Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions. Question 1 Donnez la traduction en modèle relationnel du schéma Entité-Association
Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1
Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués
FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL
FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0
Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry
Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans
Dossier I Découverte de Base d Open Office
ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire
Bases de données multidimensionnelles et mise en œuvre dans Oracle
Bases de données multidimensionnelles et mise en œuvre dans Oracle 1 Introduction et Description générale Les bases de données relationnelles sont très performantes pour les systèmes opérationnels (ou
Le Langage De Description De Données(LDD)
Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,
Durée : 4 heures coefficient : 4 Le sujet se présente sous la forme de deux dossiers indépendants
ÉPREUVE E5 : ANALYSE DE GESTION ET ORGANISATION DU SYSTÈME D INFORMATION Durée : 4 heures coefficient : 4 Le sujet se présente sous la forme de deux dossiers indépendants Page de garde... p 1 Présentation
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012
Initiation à SQL Le langage de communication avec une base de données relationnelles Application avec PostgreSQL Nathalie Camelin 2011/2012 Université du Maine Institut Claude Chappe D'après Levy Estève
Cours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
MySQL / SQL EXEMPLES
MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi
Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f
PGDay Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f Réplication Réplications, disponibilités, durabilités Evolution dans la base de données : Postgres 8.2 : warm standby Postgres 9.0 : hot
SOMMAIRE. Travailler avec les requêtes... 3
Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de
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
Introduction aux bases de données Université de Nice Sophia-Antipolis Version 2.1-5/12/2000 Richard Grin Généralités sur les bases de données R. Grin SGBD 2 Définitions Une base de données est un ensemble
MODE OPERATOIRE OPENOFFICE BASE
MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide
A QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans [email protected] A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
I4 : Bases de Données
I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Bases de données et sites WEB
Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues
Compétences Business Objects - 2014
Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION
INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles
INFORMATIQUECOMMUNE Introduction aux Bases de Données Relationnelles Serge Abiteboul Inria, ENS Cachan, Conseil national du numérique [email protected] Benjamin Nguyen Université de Versailles St-Quentin-en-Yvelines,
Modèle conceptuel : diagramme entité-association
Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»
Bases de données Outils de gestion
11/03/2010 Bases de données Outils de gestion Mise en place d outils pour gérer, stocker et utiliser les informations d une recherche biomédicale ent réalisé par L. QUINQUIS d épidémiologie et de biostatistique
14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.
Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables
Introduction aux Bases de Données 2004/2005
Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf [email protected] 6.1 Stockage physique Film numfil
Conception d une base de données
Conception d une base de données Cyril Gruau 17 octobre 2005 (corrigé le 13 juillet 2006) Résumé Ce support de cours regroupe quelques notions concernant le modélisation conceptuelle de système d information
Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions
Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/
Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données II Objets avancés dans les bases de données OBJECTIFS 2.1. NOTIONS 2.1.1.
Excel avancé. Frédéric Gava (MCF) [email protected]
Excel avancé Frédéric Gava (MCF) [email protected] LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)
Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant
Exercices et solutions
Ce document constitue l annexe A de l ouvrage "Bases de données", J-L Hainaut, Dunod, 2012 Date de dernière modification : 8/6/2012 Annexe A A1 Exercices et solutions Cette annexe propose une collection
Cours: Les Jointures 1
Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Les Jointures 1 Plan Table of Contents Principe...1 Example...1 Types de Jointures...2 Définitions et examples...2
Sybase Adaptive Server Enterprise 15
Sybase Adaptive Server Enterprise 15 Prêt pour Sybase Adaptive Server Enterprise 15? Novembre 2006 Documentation technique # 29 Introduction Cette présentation liste les fonctionnalités importantes de
Conception, architecture et urbanisation des systèmes d information
Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: [email protected] 1. Introduction
PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214
PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans
Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Bases de données réparties: Fragmentation et allocation
Pourquoi une base de données distribuée? Bibliographie Patrick Valduriez, S. Ceri, Guiseppe Delagatti Bases de données réparties: Fragmentation et allocation 1 - Introduction inventés à la fin des années
