2 (6 pts) Relation des Employés (EMP)

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

Langage SQL : créer et interroger une base

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

Le Langage SQL version Oracle

Le Langage De Description De Données(LDD)

Intégrité des données

I4 : Bases de Données

TP Contraintes - Triggers

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

SQL Historique

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

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

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

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

Les bases de données

MySQL / SQL EXEMPLES

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

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

Gestion des transactions et accès concurrents dans les bases de données relationnelles

TP3 : Creation de tables 1 seance

Compétences Business Objects

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin

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

CREATION WEB DYNAMIQUE

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Bases de données relationnelles

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

Olivier Mondet

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

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

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

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

Le langage SQL Rappels

A QUOI SERVENT LES BASES DE DONNÉES?

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

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

UML et les Bases de Données

Bases de données réparties: Fragmentation et allocation

Modélisation et Gestion des bases de données avec mysql workbench

1. Base de données SQLite

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

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

Intégrité sémantique dans les bases de données relationnelles

16H Cours / 18H TD / 20H TP

Bases de données et sites WEB

A QUOI SERVENT LES BASES DE DONNÉES?

Systèmes de Gestion de Bases de Données

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

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

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

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

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

Optimisation SQL. Quelques règles de bases

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

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

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

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

Hala Skaf-Molli. Nancy-Université 14 mai 2007

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Gestion de base de données

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

Corrigés détaillés des exercices

BTS/CGO P10 SYSTEME INFORMATION Année

Création et Gestion des tables

Auto-évaluation Oracle: cours de base

INTEGRITE ET BD ACTIVES

MODE OPERATOIRE OPENOFFICE BASE

Mejdi BLAGHGI & Anis ASSÈS

Partie II Cours 3 (suite) : Sécurité de bases de données

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

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

Pour les débutants. langage de définition des données

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

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

1 Introduction et installation

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

Bases de données relationnelles & SQL

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée:

Introduction aux Bases de Données 2004/2005

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

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

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

SQL Server ressource SOMMAIRE

Bases de Données OLAP

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

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

TP Bases de données réparties

Bases de données. Mihaela Mathieu

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

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

INTRODUCTION AU DATA MINING

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

FileMaker 13. Guide de référence SQL

Bases de données et sites WEB Licence d informatique LI345

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

Application web de gestion de comptes en banques

Transcription:

Examen de Base de Données A4 25944 22 février 2003 Le polycopié et les notes de cours sont autorisés. Le corrigé. 1 (1 pt) Quelle est la différence entre le produit cartésien et la jointure entre deux tables. Solution : La jointure est un produit cartésien qui s effectue sur deux tables qui ont au moins un attribut commun, on dit que la jointure se fait sur ces attributs. Les tuples du résultat sont ceux pour lesquels les attributs de jointure sont égaux. 2 (6 pts) Relation des Employés (EMP) EMP(N E, ENOM, PROF, DATEEMB, SAL, COMM, N D) N E :numéro d'employé, clé ENOM :nom de l'employé PROF :profession (directeur n'est pas une profession) DATEEMB :date d'embauche SAL :salaire COMM :commission (un employé peut ne pas avoir de commission) N D :numéro de département auquel appartient l'employé Relation des Départements (DEPT) DEPT(N D, DNOM, DIR, VILLE) N D :numéro de département, clé DNOM :nom du département DIR :directeur du département VILLE :lieu du département (ville) 1

Opérations Algébriques Soit l'exemple suivant : EMP N E ENOM PROF DATEEMB SAL COMM N D 10 Joe Ingénieur 1.10.93 4000 3000 3 20 Jack Technicien 1.5.88 3000 2000 2 30 Jim Vendeur 1.3.80 5000 5000 1 40 Lucy Ingénieur 1.3.80 5000 5000 3 DEPT N D DNOM DIR VILLE 1 Commercial 30 New York 2 Production 20 Houston 3 Développement 40 Boston Exercice 2-A : (1,5 pts) Calculer, σ SAL<5000 (EMP) :(donnez la table résultat) N E ENOM PROF DATEEMB SAL COMM N D 10 Joe Ingénieur 1.10.93 4000 3000 3 20 Jack Technicien 1.5.88 3000 2000 2 Exercice 2-B : (1,5 pts) Calculer, EMPbis = ρ N E N E1 (π N E,COMM(EMP)) EMPbis N E1 COMM 10 3000 20 2000 30 5000 40 5000 Exercice 2-C :(le signe est celui de la jointure) (2 pts) Calculer, π N E,SAL (EMP) EMPbis SAL=COMM N E SAL N E 1 COMM 20 3000 10 3000 30 5000 30 5000 40 5000 40 5000 30 5000 40 5000 40 5000 30 5000 2

Exercice 2-D : (1, pt) Quelle est l'expression de l'algèbre relationnelle qui permettrait d'obtenir le nom des employés qui travaillent à New York. π ENOM ( EMP (σ VILLE='New York' (DEPT))) EMP.N D=DEPT.N D 3 (6 pts) Dans la ville de Taloche pour rendre la circulation fluide et libérer les trottoirs des piquets, aucune voiture ne peut stationner sur les axes de circulations automobiles ou piétonnes. Des places de parking existent en sous-sol ou à l air libre dans des zones réservées, elles sont la propriété de certains habitants. Les propriétaires de véhicules louent une place de parking pour un certain nombre de mois, ils y conservent leurs véhicules. Lors des déplacements en ville, les habitants peuvent stationner sur des emplacements ad hoc (toujours propriétés d habitants) pour un certain tarif horaire. L association des propriétaires de parkings de la ville de Taloche dispose d une base de données relationnelle pour la gestion des revenus de ces parkings, les relations suivantes sont établies. Habitant ( idhab, nom, adr, datearrivée ) Véhicule ( N v, idhab, dateachat, prix, km ) Parking ( idpark, localisation, n, surface ) Propriétaire (idpark, idhab, dateachat, prix ) Louer ( N v, idhab, idpark, nbmois ) Stationner (N v, idhab, idpark, nbheures) Les clés sont soulignées, les clés étrangères ne sont pas précisées. 3

Question 3-A Donnez les requêtes CREATE des relations : Habitant (1 pt), Véhicule (1 pt), Louer (2 pts). Sans oublier de préciser les contraintes. Ni les clauses ON DELETE et ON UPDATE. Solution : CREATE TABLE Habitant ( idhab INTEGER(6), nom VARCHAR(25) NOT NULL, adr VARCHAR(35) NOT NULL, datearrivée INTEGER(4) NOT NULL, PRIMARY KEY idhab) CREATE TABLE Véhicule ( N v VARCHAR(9), idhab INTEGER(6), dateachat INTEGER(4) NOT NULL, prix INTEGER(5), km INTEGER(6), PRIMARY KEY( N v, idhab), FOREIGN KEY (idhab) REFERENCES Habitant ON DELETE CASCADE) CREATE TABLE Louer ( N v VARCHAR(9), idhab INTEGER(6), idpark INTEGER(4), nbmois INTEGER(5) NOT NULL, PRIMARY KEY( N v, idhab, idpark), FOREIGN KEY (N v, idhab) REFERENCES Véhicule, FOREIGN KEY (idpark) REFERENCES Véhicule ON UPDATE CASCADE) 4

(2 pts) Véhicule N v dateachat prix km 1,N Louer nbmois Stationner datedebut Parking idpark, localisation n surface 1,1 Posséde Propriétaire DateAchat prix Habitant idhab nom adr datearrivée 4 (7 pts) Requête SQL : 4-1 (0,5 pt)donnez le nom et l adresse de tous les habitants de Taloche arrivés aprés 1985. SELECT nom, adr FROM Habitant WHERE datearrivée > 1985; 5

4-2 (0,5 pt) Donnez le nom et l adresse de tous les habitants de Taloche classés par ordre alphabétique. SELECT nom, adr FROM Habitant ORDER BY nom; 4-3 (0,5 pt) Combien de véhicules existent dans la ville de TALOCHE ; SELECT COUNT(*) FROM Véhicule; 4-4 (1 pt) Donner l année et le nombre de véhicule par année d achat. SELECT dateachat, COUNT(*) FROM Véhicule GROUP BY dateachat ; 4-5 (1 pt) Quel est le nom, la date d achat, la localisation et le n de parking des habitants qui en ont achetés après 1998. SELECT nom, dateachat, localisation, n FROM Habitant H, Propriétaire PR, Parking P WHERE H.idHab=PR.idHab AND PR.idPark=P.idpark AND dateachat>1998; 4-6 (2 pts) Donner le nom, l adresse des habitants qui disposent d un véhicule mais qui ne sont pas propriétaire de parking. SELECT nom, adr FROM Habitant H, véhicule V WHERE H.idHab=V.idHab And H.IdHab NOT IN (SELECT idhab FROM Propriètaire) ; 4-7 (1,5 pt) Quels habitants ont stationné. SELECT DISTINCT( idhab ), nom FROM Habitant H, Véhicule V, Stationner S WHERE H.idHab=V.idHab AND V.N v=s.n v; 6