Corrigé Examen Final Bases de Données (2010/2011)



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

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

Devoir Data WareHouse

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

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

Bases de données avancées

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

SQL Historique

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

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

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

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

Corrigés détaillés des exercices

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

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

Configurer la supervision pour une base MS SQL Server Viadéis Services

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

Introduction aux Bases de Données 2004/2005

Langage SQL : créer et interroger une base

CREATION WEB DYNAMIQUE

MS SQL Express 2005 Sauvegarde des données

Présentation Windows Azure Hadoop Big Data - BI

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

A QUOI SERVENT LES BASES DE DONNÉES?

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

Bases de données relationnelles

I4 : Bases de Données

TP Contraintes - Triggers

Le langage SQL Rappels

Quelques aspects du Relationnel-Objet du SGBD Oracle

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

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

PL langage de programmation côté serveur. SQL à la base : types, expressions, requêtes

Introduction au PL/SQL Oracle. Alexandre Meslé

Mysql avec EasyPhp. 1 er mars 2006

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

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org

Gestion de base de données

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

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

TP Bases de données réparties

Attaques applicatives

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Intégrité des données

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

Administration des bases de données

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

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

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

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

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

I. MySQL : Serveur et SGBD

Bases de données. Mihaela Mathieu

Chapitre 5 : Les procédures stockées PL/SQL

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Olivier Mondet

MODE OPERATOIRE OPENOFFICE BASE

Bases de Données Avancées PL/SQL

Le Langage De Description De Données(LDD)

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

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 SQL version Oracle

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés Volubis.fr

Historisation des données

Le langage procédural PL-PGSQL

Bases de Données Avancées

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

//////////////////////////////////////////////////////////////////// Administration bases de données

Arbres binaires de recherche

Les bases fondamentales du langage Transact SQL

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

BASES DE DONNEES TP POSTGRESQL

Les BASES de DONNEES dans WampServer

1. Base de données SQLite

Les bases de données

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

A QUOI SERVENT LES BASES DE DONNÉES?

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

Oracle Le langage procédural PL/SQL

How to Login to Career Page

Bases de données - Modèle relationnel

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

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

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

Systèmes de Gestion de Bases de Données

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)

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

PRÉAMBULE... 2 CRÉATION DE LA BASE DE DONNÉES...

Cours 4 : Agrégats et GROUP BY

1 Introduction et installation

Optimisation SQL. Quelques règles de bases

Problèmes liés à la concurrence

Sybase Adaptive Server Enterprise 15

Bases de Données Réparties

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

Support de cours «SGBD»

Examen Médian - 1 heure 30

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

Transcription:

Ecole Supérieure de la Statistique et de l Analyse de l Information المدرسة العلیا للا حصاء وتحلیل المعلومات بتونس Corrigé Examen Final Bases de Données (2010/2011) Questions de cours : Répondre, brièvement mais précisément, aux questions suivantes : Q1) A travers un exemple, décrire quels sont les inconvénients de schémas de BD non normalisés? redondances => anomalies lors des mises à jour Exemple : Fournisseur (NF, NomF, TelF, Nprod,libellé) Q2) Quels sont les différents types et utilités des Contraintes d Intégrité que l on peut ajouter à un schéma SQL de définition de données? Contraintes de domaine, d'unicité, de clé primaire, de clé étrangère, etc.. Q3) Parmi les propositions suivantes, déterminer celles qui sont incorrectes (justifiez votre réponse) : a)- DECLARE V_id CHAR(20) ; correct b)- DECLARE v1, v2, v3 INTEGER ; incorrect : une seule variable par ligne Corrigé Examen Bases de Données (2011/2012)- F. CHAKER Page 1

c)- DECLARE date_naissance DATE NOT NULL ; incorrect : une valeur NOT NULL doit être initialisée d)- DECLARE stock BOOLEAN :=1 ; incorrect : 1 n est pas une valeur booléenne e)- Dans un bloc PL/SQL, il est possible d exécuter des instructions du SQL DDL (Data Definition Language), soit les instructions ALTER, CREATE et DROP. incorrect : Dans un bloc PL/SQL, il n est pas possible d exécuter des instructions du SQL DDL (Data Definition Language), soit les instructions ALTER, CREATE et DROP. Exercice 1 : Normalisation Etudier la relation suivante et proposer un schéma en 3 ème décompositions proposées : forme normale en justifiant les Présentation (N Conférencier, Nom_Conférence, Date_Conférence, NomConférencier, Laboratoire_affiliation, Lieu_Conférence, Sujet_Présenté) Sachant que : Une conférence est identifiée par son nom et la date à laquelle elle aura lieu Un conférencier ne présente qu un seul sujet par conférence Un conférencier est affilié à un seul laboratoire de recherche La clé candidate est composée de (N Conférencier, Nom_Conférence, Date_Conférence) N Conférencier, Nom_Conférence, Date_Conférence NomConférencier N Conférencier, Nom_Conférence, Date_Conférence Laboratoire_affiliation N Conférencier, Nom_Conférence, Date_Conférence Lieu_Conférence N Conférencier, Nom_Conférence, Date_Conférence Sujet_Présenté Présentation est en 1FN Or on peut déduire : N Conférencier NomConférencier N Conférencier Laboratoire_affiliation Nom_Conférence, Date_Conférence Lieu_Conférence Corrigé Examen Bases de Données (2011/2012)- F. CHAKER Page 2

+ est une DFE + est une DFE + est une DFE D où Présentation n est pas en 2FN Conférencier (N Conférencier,NomConférencier, Laboratoire_affiliation) Conférence (Nom_Conférence, Date_Conférence,Lieu_Conférence) Présentation (N Conférencier, Nom_Conférence, Date_Conférence, Sujet_Présenté) Ces 3 relations sont en 3FN Exercice 2 : Soit le schéma relationnel suivant : Salle (NomS, Horaire, capacité, Titre*) Film (Titre, réalisateur, durée, acteur) Producteur (Producteur, Titre*) Vu (Spectateur, Titre*) Aime (Amateur, Titre*) Sachant que : Un film peut être produit par plusieurs producteurs La relation Vu décrit les titres des films vus par les spectateurs. Evidemment un spectateur peut voir plusieurs films La relation Aime décrit les films appréciés par les spectateurs (amateurs). Evidemment, un spectateur peut aimer plusieurs films. 1- Exprimez en Algèbre relationnelle ET en SQL les requêtes suivantes : a)- Où et à quel horaire peut on voir le film «Ma belle Tunisie»? R1= Selection(Salle, Titre= Ma belle Tunisie Corrigé Examen Bases de Données (2011/2012)- F. CHAKER Page 3

R2= Projection (R1, Horaire, NomS) SQL : SELECT NomS, Horaire FROM Salle WHERE Titre= Ma belle Tunisie ; b)- Quels sont les acteurs qui jouent dans tous les films? R1= Projection(Film, Titre) R2= Projection(Film, Titre, acteur) R3= Division(R2,R1) SQL : SELECT acteur FROM Film GROUP BY acteur HAVING COUNT(Titre)=(SELECT COUNT(*) FROM Film); c)- Quels sont les spectateurs qui aiment tous les films qu ils voient? R1= Regrouper_et_calculer(Vu, Spectateur, N1=comptage(Titre)) R2= Regrouper_et_calculer(Aime, Amateur, N2=comptage(Titre)) R3= jointure(r1,r2, Spectateur=Amateur) R4= selection (R3, N1=N2) R5= projection(r4, Spectateur) Corrigé Examen Bases de Données (2011/2012)- F. CHAKER Page 4

SQL: SELECT spectateur FROM Vu GROUP BY spectateur HAVING COUNT(Titre)=(SELECT COUNT(Titre) FROM Aime GROUP BY Amateur) 2- Ecrire un bloc PL/SQL permettant d afficher le nombre de films réalisés par chaque réalisateur sous la forme (Le réalisateur : Foulen à réalisé XX films). Traiter le cas où la table Film est vide comme une Exception. Dans ce cas afficher un message de la forme «Pas de films disponibles!!» (4,5 pts) DECLARE N integer ; Film_vide EXCEPTION ; CURSOR Film_Realisateur IS SELECT réalisateur, COUNT(Titre) AS NB FROM Film GROUP BY réalisateur; Un_enreg Film_Realisateur%ROWTYPE; BEGIN SELECT COUNT(Titre) INTO N FROM Film ; If (N=0) THEN RAISE Film_vide; End if; Open Film_Realisateur; FETCH Film_Realisateur INTO Un_enreg WHILE Film_Realisateur%FOUND LOOP DBMS_OUTPUT.PUT_LINE( Le réalisateur Un_enreg.réalisateur a realize Un_enreg.NB films ); FETCH Film_Realisateur INTO Un_enreg End loop; Close Film_Realisateur; EXCEPTION WHEN Film_vide THEN DBMS_OUTPUT.PUT_LINE( Pas de films disponibles!! ) ; END ; Corrigé Examen Bases de Données (2011/2012)- F. CHAKER Page 5