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



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

Langage SQL : créer et interroger une base

Bases de données relationnelles

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

Le Langage De Description De Données(LDD)

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

CREATION WEB DYNAMIQUE

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

SQL Historique

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

Les bases de données

Olivier Mondet

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

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

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

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

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

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

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

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

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

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

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

Mejdi BLAGHGI & Anis ASSÈS

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

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

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Bases de Données Avancées

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

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

Gestion de base de données

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

BTS/CGO P10 SYSTEME INFORMATION Année

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

Le Langage SQL version Oracle

Auto-évaluation Oracle: cours de base

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

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

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

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

MySQL / SQL EXEMPLES

A QUOI SERVENT LES BASES DE DONNÉES?

Application web de gestion de comptes en banques

Bases de données relationnelles & SQL

Création et Gestion des tables

I4 : Bases de Données

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

TP Contraintes - Triggers

TP3 : Creation de tables 1 seance

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

Cours 4 : Agrégats et GROUP BY

Intégrité des données

Vincent Augusto

Le langage SQL Rappels

Bases de données - Modèle relationnel

Compétences Business Objects

Objectifs du TP : Initiation à Access

16H Cours / 18H TD / 20H TP

Bases de données avancées Introduction

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

1 Position du problème

Systèmes de Gestion de Bases de Données

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

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

Dossier I Découverte de Base d Open Office

Corrigés détaillés des exercices

Année Universitaire 2009/2010 Session 2 de Printemps

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

IFT3030 Base de données. Chapitre 1 Introduction

1. Base de données SQLite

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

Master Exploration Informatique des données DataWareHouse

UML et les Bases de Données

Gestion des utilisateurs et de leurs droits

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

TP Bases de données réparties

ÉTUDE DE CAS. Durée : 5 heures Coefficient : 5 CAS FEFORT ÉLÉMENTS DE CORRECTION

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

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

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

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

INTRODUCTION AU DATA MINING

Modèle conceptuel : diagramme entité-association

BASES DE DONNEES TP POSTGRESQL

Bases de données Outils de gestion

Chapitre 11 Bases de données

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

Avertissement : ceci est un corrigé indicatif qui n engage que son auteur

Information utiles. webpage : Google+ : digiusto/

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

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

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

1/ Présentation de SQL Server :

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

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

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

Transcription:

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 1. Lisez attentivement le sujet. 2. Les questions sont indépendantes les unes des autres. 3. Essayez d être clair et précis dans vos réponses. 4. Soignez la présentation, dans la mesure du possible. 5. Barème indicatif Question 1 : 5 points Question 2 : 1 point Question 3 : 6 points (Q3.1 = 2 pts, Q3.2 = 2 pts, Q3.3 = 2 pts) Question 4 : 5 points (Q4.1 = 1 pt, Q4.2 = 2 pts, Q4.3 = 2 pts) Question 5 : 3 points (Q5.1 = 1 pt, Q5.2 = 2pts) 6. Bon courage! 1

Un site de ventes aux enchères sur Internet, vous demande de mettre en place son système d informations. Le schéma relationnel de la base de données est le suivant : PERSONNE (idf, nom, prénom, email) ARTICLE (idfarticle, idfvendeur, descriptifarticle, imagearticle, prixdépart, débutenchère, finenchère, prixdirect) CATEGORIE (idfcatégorie, libellécatégorie, idfcatégoriemère) APPARTIENT (idfarticle, idfvendeur, idfcatégorie) ENCHERE (idfenchère, idfacheteur, idfarticle, idfvendeur, montantenchère, dateenchère, enchèregagnante) Les clés sont soulignées et les clés étrangères sont en gras. Question 1 Donner le schéma Entité-Association correspondant à ce schéma relationnel. Vous préciserez bien les entités, entités faibles (s il y a lieu), associations, propriétés, clés et cardinalités des associations. Article idfpersonne nom prenom email Vend (1,1) 1,n idfarticle descriptifarticle imagearticle prixdépart prixdirect débutenchere finenchere Appartient PorteSur 1,1 Hiérarchie FaitePar 1,1 Enchère idfenchere dateenchere montantenchere encheregagnante Catégorie 1,1 idfcategorie libellecategorie 2

Question 2 Donner la définition complète de la relation ENCHERE dans le langage SQL d'oracle. Par définition complète, on entend la définition des attributs et de leur domaine, mais aussi la définition de toutes les contraintes d'intégrité associées. CREATE TABLE ENCHERE ( idfenchere integer PRIMARY KEY, montantenchere integer, dateenchere date, encheregagnant boolean, idfacheteur integer Constraint FK references (idf) on delete cascade, idfarticle integer, idfvendeur integer ); ALTER TABLE ENCHERE ADD CONSTRAINT FKArticle foreign key (idfarticle, idfvendeur) references Article (idfarticle, idfvendeur) on delete cascade; Question 3 Exprimer chacune des 3 questions suivantes d une part en algèbre relationnelle (sous forme d arbres algébriques) et d autre part en SQL. (Q3.1) Donner la liste des articles (idfarticle, descriptifarticle) mis en vente par un vendeur de nom Defude à un prix supérieur à 100 Euros. Select idfarticle, descriptifarticle From Article A, P Where A.idfVendeur = P.idf and P.nom = Defude and A.prixDepart > 100 Article sélection prixdepart > 100 sélection nom= Defude jointure(idfvendeur=idf) projection idfarticle, descriptifarticle 3

(Q3.2) Donner la liste des enchères (idfenchère, montantenchère, dateenchère) qui ont été faites par l acheteur de nom Bouzeghoub sur des articles de la catégorie de libellé ordinateurs. Select idfenchere, montantenchere, dateenchere From Enchere E, P, Categorie C, Appartient A Where E.idfAcheteur = P.idf and P.nom = Bouzeghoub and E.idfVendeur = A.idfVendeur and E.idfArticle = A.idfArticle and A.idfCategorie = C.idfCategorie and C.libelle = ordinateur Enchère Catégorie Appartient Sélection nom= Bouzeghoub Jointure(idfAcheteur=idf) sélection libelle= ordinateur jointure(idfcatégorie=idfcatégorie) Jointure(idfArticle=idfArticle et idfvendeur=idfvendeur) Projection idfenchere, montantenchere, dateenchere (Q3.3) Donner la liste personnes (idf, nom et prénom) qui n ont jamais fait une enchère. Select idf, nom, prenom From Where idf not in (Select idfacheteur From Enchere) Enchère Projection idf Projection idfacheteur Minus Jointure(idf=idf) Projection idf, nom, prénom Question 4 Exprimer les trois requêtes suivantes en SQL. Attention, la requête 4.3 est en fait une vue relationnelle. (Q4.1) Donner le nombre d articles mis aux enchères, dont la date de fin d enchère est le 17/05/2006 :08h00. Select count(*) From Article Where finenchere = 17/05/2006:08h00 4

(Q4.2) Donner la liste des personnes (idf) qui ont fait (au moins) une enchère pour tous les articles mis aux enchères par la personne de nom Defude. Select E1.idfAcheteur From Encheres E1 Where not exists (Select * From Encheres E2, P Where E2.idfVendeur = P.idf and P.nom = Defude and not exists (Select * From Encheres E3 Where E3.idfAcheteur = E1.idfAcheteur and E3.idfArticle = E2.idfArticle)) Autre solution : Select E1.idfAcheteur From Encheres E1 Where E1.idfVendeur in ( Select P1.idf From P1 Where P1.nom = Defude ) Group by E1.idfAcheteur Having count(*) = ( Select count(*) From Encheres E3, P2 Where E3.idfVendeur = P2.idf and P2.nom = Defude ) (Q4.3) Donner la définition de la vue ENCHERES_EN_COURS(idfArticle, idfvendeur, nbenchères, prixmax) qui donne pour chaque article mis aux enchères (identifié par idfarticle et idfvendeur) le nombre total d enchères soumises ainsi que le montant de l enchère maximale proposée. Create View Encheres_en_Cours (idfarticle, idfvendeur, nbencheres, prixmax) as Select idfarticle, idfvendeur, count(*), max(montantenchere) From Encheres Group by idfarticle, idfvendeur Question 5 Soit le schéma relationnel R(IP, IA, IC, N, P, D, M, U, L) et l ensemble DF des dépendances fonctionnelles suivantes : IP N; IA, IP D; IC L; IP P; IA, IP M; IA, IP U; IA, IP IC; IA, IP L; (Q5.1) Quelle est (sont) la (les) clé (s) de ce schéma? Clé unique : IA, IP (ces attributs n apparaissent jamais du côté droit) 5

(Q5.2) Donner la forme normale de ce schéma et s il n est pas en 3FN proposer une décomposition en 3FN. 1FN parce que IP -> N, P. (IP, IA, IC, N, P, D, M, U, L) IP -> N, P R1(IP, N, P) (IP, IA, IC, D, M, L, U) IC -> L R2(IC, L) R3(IP, IA, IC, D, M, U) R1, R2 et R3 sont en 3FN. 6