I.U.P. 3 GSI option TI TD N 1 de S.G.B.D.

Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

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

Bases de données relationnelles

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

SQL Historique

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

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

Les bases de données

Le langage SQL Rappels

Langage SQL : créer et interroger une base

A QUOI SERVENT LES BASES DE DONNÉES?

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

Olivier Mondet

16H Cours / 18H TD / 20H TP

Devoir Data WareHouse

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

Compétences Business Objects

I4 : Bases de Données

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

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

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

Systèmes de Gestion de Bases de Données

1. Base de données SQLite

1 Introduction et installation

FileMaker 13. Guide de référence SQL

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

MODE OPERATOIRE OPENOFFICE BASE

Notes de cours : bases de données distribuées et repliquées

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

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

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

BTS/CGO P10 SYSTEME INFORMATION Année

I. MySQL : Serveur et SGBD

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

CREATION WEB DYNAMIQUE

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

IFT3030 Base de données. Chapitre 1 Introduction

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

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

MySQL / SQL EXEMPLES

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

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Le Langage De Description De Données(LDD)

Application web de gestion de comptes en banques

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Bases de données élémentaires Maude Manouvrier

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

Groupe 11 TABLE DES MATIERES

Le Langage SQL version Oracle

TP Contraintes - Triggers

Vincent Augusto

Optimisation SQL. Quelques règles de bases

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

PROJET 1 : BASE DE DONNÉES REPARTIES

Les BASES de DONNEES dans WampServer

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

Création et Gestion des tables

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

Gestion de base de données

Administration des bases de données. Jean-Yves Antoine

TP3 : Creation de tables 1 seance

Comprendre les bases de données

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Intégrité des données

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

Historisation des données

Cours 4 : Agrégats et GROUP BY

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Corrigés détaillés des exercices

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Mysql avec EasyPhp. 1 er mars 2006

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

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

Installation d'un serveur FTP géré par une base de données MySQL

Présentation Windows Azure Hadoop Big Data - BI

SOMMAIRE. Travailler avec les requêtes... 3

1 Position du problème

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

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

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

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

Optimisations des SGBDR. Étude de cas : MySQL

Master Exploration Informatique des données DataWareHouse

Bases de données Cours 4 : Le langage SQL pour ORACLE

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

LE LANGAGE SQL2 1. INTRODUCTION

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

Transcription:

TD N 1 de S.G.B.D. 1 I.U.P. 3 GSI option TI TD N 1 de S.G.B.D. Ce TD a pour objectif de vous faire découvrir et utiliser les requête SQL. Il s agira d écrire diverses requêtes, création de tables, d insérer des données, de les effacer. 1 Modèle conceptuel et relations Soit le modèle conceptuel suivant : Etudiant id (identifiant) nom prénom naissance sexe adresse ville année (promotion) notes note Matières idm (identifiant) intitulé Donner le schéma relationnel du modèle conceptuel ci-dessus : Les relations qui en découlent sont les suivantes : - etud(id, nom, prénom, naissance, sexe, adresse, ville, année), id : 5 chiffres nom : 15 caractères prénom : 15 caractères naissance : entier sur 4 chiffres sexe : M ou F (1 caractère) adresse : 30 caractères ville : 15 caractères année : 1, 2 ou 3 (1 chiffre) - notes(id, note, idm), id : 5 chiffres note : 4 chiffres dont 2 après la virgule idm : 5 chiffres - matières(idm, intitulé), idm : 5 chiffres intitulé : 15 caractères 2 Création de table Créer les trois tables et les identifiants qui correspondent aux trois relations, et en respectant les spécifications (noms de tables, nom des attributs et domaines des attributs). create table etud ( create table matières ( create table notes ( id number(5) not null, nom char(15), prénom char(10), naissance number(4), sexe char(1), adresse char(30), ville char(15), année number(10)) * UNIQUE id ; idm number(5) not null, intitulé char(15)) * UNIQUE idm ; id number(5) not null,

2 TD N 1 de S.G.B.D. idm number(5) not null, note number (2,2)) * UNIQUE (id, idm) ; 3 Insertion et effacement de données Écrire les requêtes qui permettent d insérer et d effacer quelques valeurs dans les différentes tables. insert into etud values ( 200, "Douguet", "Nicolas", 1972 ; "M", "adresse", "ville) ; insert into matières values ( 100, "Maths") ; insert into notes values ( 200, 100, 10.2) ; delete from note where id=2 ; 4 Requêtes mono table les différentes villes de provenance des étudiants (sans doublon) select distinct ville ; les étudiants habitant à METZ where ville="metz" ; les étudiants de 2ème année habitant à NANCY where ville="nancy" and année=2 ; Les étudiantes de 2ème année ou 3ème année where sexe="f" and année!=1 ; le nom et prénom des étudiants de 3ème année nés après 70, prénom where (naissance>1970 and année=3) ; les étudiants dont le nom commence par L where nom like L% ; 5 Sélection avec tri I.U.P. 3 GSI option TI Université de Metz 8 décembre 2003

TD N 1 de S.G.B.D. 3 nom et prénom des étudiants, du plus jeune au plus vieux, prénom, naissance order by naissance desc ; noms, prénoms des étudiants triés par promotion croissante et ordre alphabétique inverse, prénom, année order by année, nom desc ; 6 Jointure tous les étudiants avec leurs notes, note, notes where etud.id=notes.id ; les notes de DURAND select note, notes where (etud.id=notes.id and etud.nom="durand") ; toutes les notes de maths select note from matières, notes where (notes.idm=matières.idm and matière.initulé="maths") ; nom, intitulé matière et notes de tous les étudiants, triés par promotion, nom et intitulé matière, intitulé, note from matières, etud, notes where etud.id=notes.id and matières.idm=notes.idm order by etud.année, etud.nom, matière.initulé ; 7 Select imbriqués les étudiants qui habitent la même ville que DURAND, ville where ville in (select ville where Nom="DURAND") ; les étudiants qui ont une meilleure note que DUPOND en ANGLAIS, intitulé, note from matières, etud, notes where ((etud.id=notes.id) and (matières.idm=notes.idm) and (matière.intitulé="anglais") and (notes.note > select note from notes, etud, matières where (etud.id=notes.id and notes.idm=matières.idm end etud.nom="dupond" and matières.intitulé="anglais")))) ;

4 TD N 1 de S.G.B.D. 8 Opérateurs et Agrégats Écrire les requêtes qui permettent de donner : le nombre d étudiants en première année select count(id) where année=1 ; l âge moyen des étudiants de l école, puis uniquement ceux de première année select avg(2002-naissance) ; select avg(2002-naissance) where année=1 ; la moyenne de DURAND select avg(note), notes where (notes.id=etud.id and nom="durand") ; le nom de l étudiant qui a eu la meilleure note en SGBD, note,notes, matières where (note in (select max(note) from notes, matières where (notes.idm=matières.idm and matières.initulé="sgbd")) and etud.id)notes.id and matière.idm=notes.idm and matières.intitulé= SGBD ) ; 9 Groupe Écrire les requêtes qui permettent de donner : la moyenne des notes par matière select avg(note), intitulé from notes, matières where notes.idm=matières.idm groupe by matières.intitulé ; la moyenne générale par élève, prénom, avg(note) from notes, etud where notes.id=etud.id groupe by etud.nom, etud.prenom ; l âge moyen par promo select année, avg(2002-naissance) groupe by etud.année ; le classement de la dernière année, prénom, avg(note), notes groupe by etud.bom, etud.prénom order by avg(note) ; I.U.P. 3 GSI option TI Université de Metz 8 décembre 2003

TD N 1 de S.G.B.D. 5 nom et moyenne des élèves qui passent en deuxième année (moyenne > 10), prénom, avg(note), notes where (etud.id=notes.id and etud.année=1) having (avg(note)>10) groupe by etud.nom, etud.prénom ; le nom et prénom du major de promo en dernière année, prénom, avg(note), notes group by etud.nom, etud.prénom having (avg(note))=(select max(avg(note)), note group by etud.nom)) ;