1 Données, gestion de données

Documents pareils
1 Introduction et installation

Le langage SQL Rappels

Langage SQL : créer et interroger une base

Les bases de données

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Introduction au Système de Gestion de Base de Données et aux Base de Données

SQL Historique

TD n 10 : Ma première Base de Données

Bases de Données. Plan

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

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

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

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

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Bases de données avancées Introduction

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Bases de données relationnelles

16H Cours / 18H TD / 20H TP

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

Master I Génie Logiciel

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

INTRODUCTION AU DATA MINING

Le Langage SQL version Oracle

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Optimisations des SGBDR. Étude de cas : MySQL

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

PHP 5. La base de données MySql. A. Belaïd 1

Systèmes de Gestion de Bases de Données

Rappel sur les bases de données

Bases de données - Modèle relationnel

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Bases de données cours 1

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

INTRODUCTION : Données structurées et accès simplifié

Le langage SQL (première partie) c Olivier Caron

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Cours: Administration d'une Base de Données

TP Bases de données réparties

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Bases de données Outils de gestion

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Formation : WEbMaster

Dossier I Découverte de Base d Open Office

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Évaluation et optimisation de requêtes

Les BASES de DONNEES dans WampServer

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

A QUOI SERVENT LES BASES DE DONNÉES?

Cours SQL. Base du langage SQL et des bases de données

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Programmes des classes préparatoires aux Grandes Ecoles

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Bases de Données Relationnelles. Le Modèle Relationnel

PHP. PHP et bases de données

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

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

CESI Bases de données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

Bases de données élémentaires Maude Manouvrier

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

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Information utiles. webpage : Google+ : digiusto/

Devenez un véritable développeur web en 3 mois!

Présentation du module Base de données spatio-temporelles

1 Modélisation d une base de données pour une société de bourse

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

Les bases de données Page 1 / 8

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Base de Données et Langage SQL

Introduction aux bases de données: application en biologie

Easy to. report. Connexion. Transformation. Stockage. Construction. Exploitation. Diffusion

ETL Extract - Transform - Load

Vincent Augusto

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

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 relationnelles : Introduction

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Introduction aux Bases de Données 2004/2005

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

1. Base de données SQLite

MODE OPERATOIRE OPENOFFICE BASE

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

CREATION WEB DYNAMIQUE

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Introduction aux SGBDR

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Optimisation SQL. Quelques règles de bases

Transcription:

PCSI BDD 1 Bases de données DONNÉES, GESTION DE DONNÉES 1 Données, gestion de données 1.1 Généralités 1. Exemple Commande sur Amazon: Utilisateur Données Manipulation Définition 1 Une base de données est un ensemble structuré d informations permettant de répondre à un besoin spécifique 2. Histoire Début de l informatique: Très vite (Années 1960): Tendance actuelle: gestion de grosses quantités de données: 3. Comment organiser les données? Les données sont organisées en tables cf un carnet d adresses Avec quelles méthodes? Années 80: En ce moment 1

PCSI BDD 1 4. les SGBD actuellement DONNÉES, GESTION DE DONNÉES Il y a de nombreux SGBD: Ce sont des logiciels complexes, résultats de dizaines d années de recherche et de développement. Nous nous focaliserons ici sur les plus répandus d entre ces systèmes, les systèmes relationnels. Logiciels commerciaux: ORACLE Sous produits gratuits MySQL, SQLlite. 5. Les métiers Le constructeur du SGBD L administrateur de la base de données Concepteur et programmeurs d applications 6. But du cours Etudier les bases mathématiques de l algèbre relationnelle Apprendre à utiliser SQL (On utilisera MySQL et PHPMyadmin) 1.2 Les principes d un SGBD Au fil des ans, trois grands principes ont émergé qui ont façonné le domaine de la gestion de données: Abstraction Un système de gestion de bases de données sert de médiateur entre des individus et des machines. Doit pouvoir être utilisé par n importe quel individu, il doit organiser et présenter les données de façon intuitive et permettre de les manipuler sans avoir à considérer des détails d implémentation. Indépendance trois niveaux, physique, logique et externe, que l on essaie de rendre le plus indépendants possible. Au niveau externe, les utilisateurs qui partagent la base de données. Au niveau logique, l organisation unique des données. Au niveau physique, l organisation sur disque Le but est de pouvoir modifier un niveau sans modifier les autres niveaux.) Universalité: Ces systèmes doivent traiter de n importe quel type de bdd (entreprise, organisation) pour tout type d applications. 2

PCSI BDD 1 1.3 L architecture DONNÉES, GESTION DE DONNÉES les architectures les plus répandues de systèmes de gestion de données. 1. Architecture client/serveur. La base de données est gérée sur un serveur. L utilisateur (le plus souvent un programme) est le client qui effectue des demandes auprès du serveur. Plusieurs clients peuvent accéder simultanément au serveur. Avantages: Inconvénients: 2. Architecture trois tiers (tier=niveau) le plus fréquent, pour gagner en flexibilité et en sécurité, on ajoute souvent un intermédiaire entre le client et le serveur contenant la base de donnée. On obtient donc une architecture à trois niveaux. Niveau utilisateur: interface des ordinateurs clients. Niveau applicatif: logiciel traduisant toutes les requêtes utilisateur en requêtes SQL optimisées pour ensuite les transmettre au SGBD. Cet intermédiaire permet aussi, pour certains clients, de limiter l accès à une partie de la base de donnée. Un exemple: le logiciel Pronote, installé sur les serveurs du lycée, ne vous permet pas d accéder aux notes de vos camarades. Niveau base de données: partie contenant le gestionnaire de base de données et les données exécutant les requêtes transmises par le niveau applicatif. Maintenant les grandes bases de données sont stockées dans des grappes de machines gérées par des spécialistes. la plaine Saint-Denis accueille la première concentration de data centers en Europe.http://www.lemonde. fr/planete/article/2011/07/07/ les-data-centers-de-vraies-usines-electriques 3

PCSI BDD 2 MISE EN PLACE 2 Mise en place Un site intéressant http://sqlzoo.net Un didacticiel intéressant qui manipule de grandes tables et qui contient des QCM. 1. Philosophie et histoire Un système de gestion de bases de données doit proposer un langage, pour exprimer des requêtes, facilement utilisable par des êtres humains. modèle relationnel proposé par Ted Codd, un chercheur d IBM, dans les années 1970. Codd a eu l idée d adapter la Logique des mathématiciens pour définir un modèle de gestion de données, le modèle relationnel. 2. Modélisation d une base de données Une base de données relationnelle est un ensemble de tables que l on peut représenter sous forme de tableaux bi-dimensionnels dont les titres des colonnes sont des attributs, notés A 1, A 2,..., A n l ensemble des valeurs possibles d un attribut A constitue le domaine de l attribut, noté Dom(A) (similaire au type d une variable); chaque ligne est un n uplet ou tuple, c est un élément de Dom(A 1 ) Dom(A 2 )... Dom(A n ) Un schéma relationnel ou une relation R est défini par: un ensemble noté S fini et fixé d attributs et de leur domaine les n uplets de valeurs, appelés enregistrements de la table; Remarque: les enregistrements d une table sont deux à deux distincts Notations: Si R est une relation associée au schéma S, Si A est un attribut de S, e un enregistrement de R, on note e.at la valeur de l attribut At de l enregistrement e. 3. Exemples (a) La base cinema Pour la relation FILMS le schéma est: F ILMS = (Titre: varchar, Réalisateur: varchar, Acteur: varchar, Sortie:year) Pour la relation SEANCES le schéma est: SEAN CES = (Titre: varchar, Salle: varchar, CodePostal: varchar, Heure: int, Durée: int) SEANCES FILMS Titre Réalisateur Acteur Sortie :year(4) Titre Salle CodePostal Heure Durée varchar(5) :int(6) :int(6) Si B est un attribut, on dit que B S si B est un attribut de S Si X est une collection d attributs: X = (B 1, B 2,..., B p ), on dit que X S si B 1, B 2,... et B p sont des attributs de S. 4

PCSI BDD 2 MISE EN PLACE (b) La base bibliotheque Pour la relation livres1 le schéma est: livres1 Pour la relation adherents le schéma est: adherents 4. Notion de clés Pour repérer un enregistrement dans l ensemble des enregistrements d une table, il est nécessaire de choisir un attribut qui identifie de manière unique cet enregistrement. Exemples: (a) base bibliotheque table adherents table LIV RES1 (b) base cinema table F ILMS table SEAN CES Définition 2 Un attribut qui permet d identifier de manière unique un enregistrement est nommé cle. On appelle clé primaire une clé constituée d un seul attribut. 5

PCSI BDD 2 MISE EN PLACE Souvent la clef primaire est un entier Si C est clé primaire pour R, la donnée de e.c suffit pour identifier complètement l enregistrement e de la table. Remarque: EN SQL, on peut imposer qu un attribut soit considéré comme une clé primaire de la table. (Convention: on souligne cet attribut dans le schéma de la table) Index Le plus souvent, on adjoint à une table une colonne appelée index Attribut entier à qui on peut demander de s auto-incrémenter qui peut jouer le rôle de clef primaire. qui est utilisé pour accélérer des requêtes 6

PCSI BDD 3 3 Algèbre relationnelle ALGÈBRE RELATIONNELLE Si on a une base de données, une table (relation) de la base peut être considérée comme un ensemble de n uplets sur lequel on peut appliquer les opérations de la théorie des ensembles. Le calcul relationnel s appuie sur la logique mathématique, il utilise les symboles logiques (et, ou, non,, ) et il utilise les relations comme support. Respecter les règles de la logique mathématique Si la relation R fait intervenir p attributs A 1, A 2,..., A p, l ensemble des enregistrements de cette relation est un sous-ensemble de l espace-produit Dom(A 1 ) Dom(A 2 )... Dom(A p ). 3.1 Projection 1. Définition R est une relation de schéma S, R est une relation associée à ce schéma, X un attribut de S la projection de R selon l attribut X, notée π X (R) est l ensemble {e.x, e R}, c est-à-dire l ensemble des valeurs de l attribut X pour tous les enregistrements de la table. 2. Exemple sur la base cinema π Titre (F ILMS) renvoie l ensemble des titres de la relation F ILMS traduction SQL SELECT Titre FROM FILMS Remarque: donne les titres avec répétitions solution: SELECT DISTINCT Titre FROM FILMS π Acteurs (F ILMS) renvoie l ensemble des acteurs de la relation F ILMS SQL SELECT Acteur FROM FILMS 3. Exemple2 Que renvoie π T itre,duree (SEANCES): une amélioration pour n avoir que des résultats différents 4. Exemple3 Quelle projection pour SELECT Titre, Salle FROM SEANCES 5. Exemple sur la base bibliotheque (a) Que renvoie π titre,auteur (LIV RES1)? (b) La liste des éditeurs de la table livres1 3.2 Sélection 1. Définition R est une relation de schéma S, R est une relation associée à ce schéma, X est un attribut de S et x dom(x) la sélection de R selon X = x, notée σ X=x (R) est l ensemble {e R e.x = x} c est-à-dire l ensemble des enregistrements e de R tels que e.x = x ou encore tels que l attribut X prend la valeur x. 2. Exemple sur la base cinema (a) Exemple1: films où l acteur est Humphrey Bogart σ Acteur=Humphrey Bogart (F ILMS) 7

PCSI BDD 3 SELECT * FROM FILMS WHERE Acteur= Humphrey Bogart (b) Exemple2: σ sortie 2000 (F ILMS) (c) Exemple3: SELECT * FROM SEANCES WHERE duree<=120 AND sortie>=2000 (d) Exemple4: Films où le réalisateur n est pas Hitchcock SELECT DISTINCT Titre FROM FILMS WHERE NOT(realisateur= Hitchcock ) ALGÈBRE RELATIONNELLE Respecter les règles de la logique mathématique 3.3 Combinaison de sélections et de projections Ces opérations se composent comme des fonctions définies des des ensembles) La question qui se pose: les opérations commutent-elles? Exemple1 je veux le titre des films qui passent à 20h à Saint-Denis ou dans le 18ème. J utilise la table SEANCES, je note s ses enregistrements La question en langage ensembliste: Méthode 1. On sélectionne les enregistrements pour lesquels 2. Puis on ne prend que les titres: projection après coup Algèbre relationnelle SQL Question Aurais-je pu travailler dans l autre sens? Exemple2 Titre et année de sortie des films où a joué Humphrey Bogart Exemple3 Les titres et durées des films qui durent moins de 2 heures. 8

PCSI BDD 3 REMARQUES: 1. On peut faire des requêtes pour rechercher sur des mots incomplets On utilise le mot-clef LIKE % Exemples: ALGÈBRE RELATIONNELLE On recherche les films qui ont un acteur nommé Bronson, je ne connais plus son prénom On recherche les films dont le titre contient sept On recherche les films dont le titre contient sept et où joue un acteur nommé Bronson La table bibliotheque 1. Dans la table Livres1 (a) Les titres des livres dont le titre contient la chaîne en (b) les différents auteurs qui apparaissent (c) les différents éditeurs qui apparaissent (d) les livres parus avant 2000 dont l éditeur n est pas Hetzel 9

PCSI BDD 3 (e) les livres non empruntés ALGÈBRE RELATIONNELLE (f) les livres empruntés non rendus 2. Dans la table adherents (a) les noms différents (b) les villes différentes 10

PCSI BDD 3 3.4 Fonctions d agrégation ALGÈBRE RELATIONNELLE On peut avoir besoin de rassembler les données selon certains critères, de compter les enregistrements qui vérifient certaines propriétés, de faire des moyennes... 1. Exemple (a) Dans la table FILMS trouver le film le plus ancien (b) Dans la table SEANCES le titre du film le plus long regrouper les films par durée, regrouper les films par ville et compter. 2. fonctions d agrégation Il y a 5 fonctions d agrégation (a) Comptage COUNT(A2) GROUP BY(A1) On compte les différentes valeurs de l attribut A2 pour chaque valeur différente de A1 SELECT A1,COUNT(A2) FROM TABLE GROUP BY A1 (b) Maximum MAX(A2),GROUP BY(A1) Le maximum des valeurs prises par A2 selon les valeurs de A1 SELECT A1,MAX(A2) FROM TABLE GROUP BY A1 (c) Minimum MIN(A2),GROUP BY(A1) Le minimum des valeurs prises par A2 selon les valeurs de A1 SELECT A1,MIN(A2) FROM TABLE GROUP BY A1 (d) moyenne AVG(A2),GROUP BY (A1) SELECT A1,AVG(A2) FROM TABLE GROUP BY A1 (e) Somme SUM (A2),GROUP BY (A1) SELECT A1,SUM(A2) FROM TABLE GROUP BY A1 Remarques: (a) Si on veut par exemple la valeur moyenne d un attribut sur toute la table SELECT AVG(A2) FROM table (b) Si on veut en plus imposer une condition sur le regroupement HAVING Condition 3. Exemple base cinema (a) la date de sortie du film le plus ancien (b) regrouper les réalisateurs et le nombre des films qui apparaissent dans la table FILMS Qu joue le rôle de A1? de A2? SELECT Realisateur, COUNT(Titre) FROM FILMS GROUP BY Realisateur 11

PCSI BDD 3 ALGÈBRE RELATIONNELLE mieux On crée une table nouvelle (c) Trouver la durée maximale des films (d) Trouver le titre du film le plus long de la table SEANCES 4. Exemple base bibliotheque (a) le minimum, le maximum, la moyenne du nombre pages de tous les livres de la table LIVRES1 (b) le minimum, le maximum, la moyenne du nombre pages de tous les livres de la table LIVRES1 associés à un auteur On ordonne selon les moyennes décroissantes 12

PCSI BDD 3 (c) Dans la table adhérents repérer les adhérents qui ont même prénom ALGÈBRE RELATIONNELLE 3.5 Tri 1. Pour trier des résultats ORDER BY nom DESC ou ORDER BY nom ASC Exemples TRier les films par longueur décroissante SELECT DISTINCT Titre, duree FROM SEANCES ORDER By duree DESC; table adherents les noms et prénoms des adhérents rangés par âge. 3.6 Renommage Il peut être pénible d emporter des colonnes définies de manière complexe à partir d autres colonnes. On peut renommer les attributs. Le mot clef en SQL est AS Dans la table SEANCES, par salle les films de longueur maximale: faire apparaître dans la réponse à titre d attribut le mot duree maximale SELECT Salle, max(duree)as duree maximale FROM SEANCES GROUP BY duree; 13

PCSI BDD 4 TRAVAIL SUR PLUSIEURS TABLES 4 Travail sur plusieurs tables 4.1 Opérateurs ensemblistes entre relations de même schéma Soient R 1 et R 2 deux relations qui ont même schéma. R 1 R 2 désigne la relation issue de l union des deux tables Traduction SQL SELECT* FROM R1 UNION SELECT* FROM R2 Exemple: les tables LIVRES1 et LIVRES2 R 1 R 2 désigne la relation issue de l intersection des deux tables Traduction SQL SELECT* FROM R1 INTERSECT SELECT* FROM R2 Exemple: les tables LIVRES1 et LIVRES2 R 2 R 1 désigne la relation issue de la différence des deux tables (les enregistrements qui sont dans R 2 et pas dans R 1 ) Traduction SQL SELECT* FROM R2 EXCEPT SELECT* FROM R1 4.2 Produit cartésien Comme en maths Si j ai deux tables R et R, R R = {(e, e ), e R, e R } Pb des lignes signifiantes 14

PCSI BDD 4 TRAVAIL SUR PLUSIEURS TABLES 4.3 Jointure L opérateur de jointure sert à recoller deux relations R et R en en gardant ce qui a du sens. Pour cela il faut un critère Dans le cas FILMS,SEANCES, le critère est que Films.titre=SEANCES.titre Description algèbre relationnelle On a R(S) et R (S ) deux tables (différentes) d attributs respectifs (A, B, C) et (A, B, C ), ayant deux attributs A et A de même domaine. On considère σ A=A (R R ) = {(e, e ) R R e.a = e.a } Notation σ A=A (R R ) = R A=A R. Dans la table obtenue les attributs A et A sont redondants: On projette selon les attributs que l on veut conserver π A,B,C,B,C (σ A=A (R R )) = π A,B,C,B,C (R A=A R ) Par exemple, Par exemple, π T itre,realisateur,acteur,salle,heure,duree (σ A=A (R R )) Description SQL 1. Sur la base cinema SELECT * FROM FILMS JOIN SEANCES ON FILMS.Titre=SEANCES.Titre qui donne les lignes signifiantes du produit des tables avec des colonnes redondantes et SELECT FILMS.titre,Realisateur,Acteur,Annee, Salle, Heure, Duree FROM FILMS JOIN SEANCES ON FILMS.Titre=SEANCES.Titre; qui donne les lignes signifiantes du produit des tables en supprimant les données redondantes. 2. Cas général SELECT * FROM R JOIN R ON R.A=R.A Ensuite on complète avec des projections, des sélections, des fonctions d agrégation. Syntaxe SELECT------------------- ce que je veux récupérer FROM TABLE1 de la première table INNER JOIN TABLE 2 de la seconde table ON TABLE1.A=TABLE2.A sur quels attributs se fait la jointure WHERE Critères de recherche ORDER BY tri éventuel 15

PCSI BDD 4 TRAVAIL SUR PLUSIEURS TABLES Méthode Pour traduire une requête en opérations de l algèbre relationnelle (et en SQL), il faut { identifier sur quelle(s) relation(s) on travaille distinguer parmi ces relations celles qui jouent un rôle pour la re Puis (a) Traduire les critères présents sous forme de sélection (b) Si nécessaire, réaliser des opérations ensemblistes pour combiner les sélections (jointure, union,..) (c) Faire des projections pour ne garder que les infos utiles 4.4 Exemples 1. Sur la base cinema (a) Représentation des deux tables mettant en évidence l attribut qui peut servir à la jointure: SEANCES FILMS Titre Réalisateur Acteur Sortie year(4) Titre Salle CodePostal Heure Durée varchar(5) int(6) int(6) (b) Le Titre, les salles, année des films dont le nom contient sept Parfois C est une écriture trop longue, on renomme les tables( on leur donne un alias temporaire: pour cela on utilise AS) (c) la moyenne des durées des films par réalisateur les films distincts, leur réalisateur et leur durée avec une jointure. 16

PCSI BDD 4 TRAVAIL SUR PLUSIEURS TABLES la durée moyenne en se servant de la table récupérée (d) le film le plus long de la base de données son titre, son réalisateur 2. Avec la base bibliothèque Quel est l opérateur de jointure? (a) les livres de la table livres1 (titre, auteur, éditeur) empruntés (nom, prénom et âge des emprunteurs) (b) les nom, prenom, ville des emprunteurs, le nombre de livres qu ils ont empruntés ordonnés par ordre de nombre de livres empruntés. (c) les livres de la table livres1 (titre, auteur, éditeur) empruntés et non rendus (nom, prénom et âge des emprunteurs) 17

PCSI BDD 4 TRAVAIL SUR PLUSIEURS TABLES 4.5 Jointures internes dans une table. 1. Les titres des films où joue Humphrey Bogart? 2. On veut les titres des films où jouent Humphrey Borgart et Peter Lore. On se sert de la question précédente et on fait une jointure entre la table FILMS et la table obtenue à la question précédente. Le langage impose de renommer cette dernière table Tester le code SELECT FILMS. T i t r e FROM FILMS INNER JOIN (SELECT T i t r e FROM FILMS WHERE Acteur LIKE % Bogart ) AS FILMS1 ON FILMS. T i t r e=films1. T i t r e WHERE FILMS. Acteur = Peter Lore ; Le choix de l ordre dans lequel on fait les opérations a un impact sur la rapidité de réponse de la requête 18