DS - Introduction aux Bases de Données Relationnelles

Documents pareils
I4 : Bases de Données

CREATION WEB DYNAMIQUE

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

Application web de gestion de comptes en banques

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

UML et les Bases de Données

TP Contraintes - Triggers

A QUOI SERVENT LES BASES DE DONNÉES?

Olivier Mondet

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

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

Les bases de données

1. Base de données SQLite

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

Bases de Données. Plan

Langage SQL : créer et interroger une base

Pratique et administration des systèmes

Création et Gestion des tables

1 Position du problème

I. MySQL : Serveur et SGBD

AGRÉGATION «ÉCONOMIE ET GESTION»

TP3 : Creation de tables 1 seance

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

SQL Historique

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)

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

Bases de données relationnelles & SQL

Bases de données relationnelles

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

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

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

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

Les BASES de DONNEES dans WampServer

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

Le Langage De Description De Données(LDD)

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

16H Cours / 18H TD / 20H TP

Objectifs du TP : Initiation à Access

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

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

Vincent Augusto

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

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

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Bases de Données Avancées

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

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

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

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

Master Informatique Aix-Marseille Université

Introduction aux Bases de Données

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

Cours Bases de données

Master Technologies numériques appliquées à l'histoire Deuxième année

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

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Historisation des données

Compétences Business Objects

OpenPaaS Le réseau social d'entreprise

Rappel sur les bases de données

Bases de données. Chapitre 1. Introduction

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

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 élémentaires Maude Manouvrier

CATALOGUE FORMATIONS DOMAINE Bases de données

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Auto-évaluation Oracle: cours de base

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

NOTRE OBJECTIF AUGMENTER VOS CHANCES D EMPLOYABILITÉ. Guide des Formations Professionnelles Agrément N

Gestion d identités PSL Exploitation IdP Authentic

PROJET 1 : BASE DE DONNÉES REPARTIES

BASES DE DONNEES TP POSTGRESQL

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Information utiles. webpage : Google+ : digiusto/

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

Alpha PRIMO 58 boulevard baron du Marais Roanne / / contact@alphaprimo.fr

Conception des bases de données : Modèle Entité-Association

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

analyse et pérennise votre patrimoine informationnel

APIs de table pour SQL Server

BTS/CGO P10 SYSTEME INFORMATION Année

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

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Encryptions, compression et partitionnement des données

Notion de base de données

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

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

Tutorial sur SQL Server 2000

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

Les bases de données Page 1 / 8

Catalogue des Formations Techniques

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

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

Transcription:

Licence d informatique 2011/2012 DS - Introduction aux Bases de Données Relationnelles décembre 2011 Seul document autorisé : une feuille A4 manuscrite avec votre résumé du cours. Dans les premiers deux exercices, vous travaillerez avec la base d un institut de recherche national, avec ses laboratoires de recherche où travaillent des chercheurs. Chaque laboratoire est dirigé par un chercheur. Pour un chercheur, nous connaissons son nom, son année de naissance an, son grade et son salaire sal. Les chercheurs forment des équipes. Chaque équipe est rattachée à un laboratoire de recherche, qui lui offre des locaux, et est gérée par un responsable, qui est un des chercheurs de l équipe. La relation membre indique la participation d un chercheur à une équipe. Les chercheurs peuvent participer à plusieurs équipes à la fois, ou zéro. Dans le schéma de la base, les clés primaires sont soulignées différemment des clés étrangères. laboratoire(l id :integer,nom :varchar(20),anneecreation :integer, dir id :integer ) chercheur( c id :integer,nom :varchar(50), an :integer,grade :integer, sal :float ) equipe( e id :integer, nom :varchar(40), lab id :integer, resp id :integer ) membre( e id :integer, c id :integer ) Exercice 1 : Cohérence de la base Question 1.1 : Supposez que la base ait été crée sans les contraintes d intégrité référentielle, et qu on ait fait les insertions de la page 4 de ce document. Ecrivez des requêtes pour vérifier la validité des contraintes d intégrité de la base. Pour chaque requête, indiquez son résultat. Question 1.2 : Corrigez les éventuelles erreurs à l aide des instructions INSERT/UPDATE/DE- LETE selon le cas. Justifiez le choix fait pour chaque modification. Question 1.3 : Maintenant, supposez que les contraintes référentielles aient été ajoutées à la base. Proposez suffisamment d insertions pour juger leur bon fonctionnement. Les contraintes de clés primaires et clés étrangères n offrent pas de réponses à tous les problèmes liés à la cohérence de la base de données. La valeur d un attribut peut déterminer immédiatement la valeur d un autre attribut au sein d une table. Nous appelons ceci une dépendence directe (DD), et illustrons par la situation suivante : Le grade d un chercheur détermine son salaire. Observez que dans l instance actuelle de la base, c.à.d. avec les insertions de la dernière page de ce document, tous les chercheurs du grade cinq gagnent 45000 euros. Question 1.4 : De manière générale, combien de salaires distincts doit-on trouver pour un grade, pour que la DD soit respectée? Question 1.5 : Ecrivez une requête pour vérifier le respect de la DD pour les chercheurs du grade 2. Indiquez le résultat renvoyé par votre requête. Question 1.6 : Modifiez les enregistrements qui ne respectent pas la DD entre grade et salaire. Utilisez une requête UPDATE. On considère que la première valeur rencontrée est celle à retenir pour le reste (fiez-vous à l ordre des enregistrements obtenues dans les INSERTS). Question 1.7 : Ecrivez une (seule) requête pour vérifier le validité de la DD pour tous les chercheurs de la base, pour toutes les instances possibles de la base. Indiquez comment interpréter le résultat de votre requête. Question 1.8 : Proposez une autre contrainte portant sur la base, en français, concernant une propriété qui ne peut être éxprimée par une contrainte référentielle. Si vous connaissez la syntaxe, donnez également la version SQL.

2 Licence d informatique 2011/2012 : DS - Introduction aux Bases de Données Relationnelles Exercice 2 : Requêtes Question 2.1 : En SQL : Identifiants et noms des chercheurs qui sont membres de l équipe nommée Intégration de Données. Question 2.2 : En RA : Identifiants et noms des chercheurs qui sont membres de l équipe nommée Intégration de Données, mais qui ne sont pas en même temps membres de l équipe nommée Mesures éléctriques. Question 2.3 : En SQL, trouver les noms et salaires de chercheurs sans équipe. Question 2.4 : En TRC, trouver les noms et salaires des chercheurs appartenant à deux équipes. Question 2.5 : En SQL, trouver les noms des responsables d équipe. Question 2.6 : En RA, trouver les noms des responsables d équipe de moins de 35 ans. Question 2.7 : En TRC, trouver les noms des responsables d équipe, qui sont plus jeunes que le labo hébergeant leur équipe. Question 2.8 : En SQL, donner par équipe, le nom de l équipe, le nom du responsable d équipe, le nombre de membres de l équipe, et la somme des revenus des membres de l équipe. Question 2.9 : En SQL, trouver les identifiants de responsables d équipe, pour les équipes où personne sauf le responsable gagne plus de 44000 euros. Exercice 3 : Modélisation Considérez le diagramme conceptuel en UML de la Figure?? ci-dessous, qui représente des musées. Chaque musée possède des oeuvres. Une oeuvre est realisée par un ou plusiers artistes. Des oeuvres peuvent représenter 0,1 ou plusieurs personnages. Figure 1 Modèle conceptuel pour des musées. Réalisez les actions suivantes : Question 3.1 : Ajoutez des cardinalités aux associations entre Musée et Oeuvre, entre Oeuvre et Artiste et, finalement, entre Oeuvre et Personnage. Veillez à utiliser la notation UML pour les cardinalités. Question 3.2 : A partir du diagramme conceptuel, appliquer l algorithme de transformation du modèle conceptuel en modèle logique, et créer le modèle logique correspondant. Question 3.3 : Ecrivez en SQL le script de création des relations que vous avez obtenues dans l étape précédente. Question 3.4 : Ajoutez les contraintes aux relations (clé primaire, intégrité referentielle, nullité, unicité). Question 3.5 : Proposez des commandes d insertion qui permettront de tester les contraintes imposées.

Licence d informatique 2011/2012 : DS - Introduction aux Bases de Données Relationnelles 3 Exercice 4 : Questions de connaissance et compréhension Question 4.1 : Si vous deviez réécrire une contrainte de PRIMARY KEY en utilisant d autres contraintes, comment le feriez-vous? Question 4.2 : Si vous avez une association n-n dans un modèle conceptuel entre deux relations A et B, comment la traduisez-vous en modèle logique? Question 4.3 : Quels critères sont pris en compte au cours de l optimisation d une requête SQL par un SGBD? Question 4.4 : Discuter brièvement les différences entre le langage HTML et le langage XML. Question 4.5 : Discuter de façon concise les différences entre le modèle de données relationnel et le modèle de données XML. Question 4.6 : Indiquez quels fragments de code XML de la Figure 2 ci-dessous sont corrects ou incorrects. Pour les fragment incorrects, indiquez la raison. Pour les fragments corrects, dessinez les arbres qui correspondent au document. Fragment A <cde> </ cde> Fragment B PAPANOEL Fragment C <abc /> <abc /> Fragment D <abc i d= 7 > nothing Figure 2 Fragments de documents XML Question 4.7 : Ecrivez un document XML décrivant une personne née le 15 décembre 1993, avec l identifiant 101, dont le prénom est Nicole, le sexe femme, l occupation étudiante. L imbrication des éléments de votre document XML doit être comme dans l arbre de la Figure 3 : Figure 3 Représentation du document XML par un arbre. Question 4.8 : Ecrivez une requête en utilisant un langage de requête XML pour récuperer l année de naissance de la personne de la question précédente. Comment s appelle le langage de requête XML que vous utilisez?

4 Licence d informatique 2011/2012 : DS - Introduction aux Bases de Données Relationnelles Insertions pour la base de l institut de recherche (Exercice 1) insert into chercheur values(111, Mario Mancini,1970,2,25000.0); insert into chercheur values(222, Enrico Fiore,1970,2,28000.0); --insert into chercheur values(333, Franco Cantu,1980,3,35000.0); insert into chercheur values(333, Franco Cantu,1980,3,35000.0); insert into chercheur values(444, Valeria De Cristofaro,1966,5,45000.0); insert into chercheur values(555, Luigi Guinci,1960,1,18000.0); insert into chercheur values(666, Evo Guinci,1960,2,25000.0); insert into chercheur values(777, Elisa Foa,1955,4,29000.0); insert into chercheur values(888, Gugliermo Marconi,1969,5,45000.0); insert into chercheur values(999, Giuseppe Verdis,1960,2,25000.0); insert into chercheur values(1111, Alan Turing,1912,10,500000.0); ---insert into laboratoire values(1, Ada Lovelace,1995, Via dei Fori Imperiali, ROMA,1111); insert into laboratoire values(1, Ada Lovelace,1995,1111); insert into equipe values(1, Mesures electriques,1,111); insert into equipe values(2, Integration de donnees,1,222); insert into equipe values(3, Calcul combinatoire,1,333); insert into equipe values(4, Telecomunication,1,444); insert into equipe values(5, Informatique theorique,1,555); insert into equipe values(6, Biochimie informatique,1,666); insert into equipe values(7, Genie Logiciel,1,777); insert into equipe values(8, Technologies XML,1,888); --insert into equipe values(9, Intelligence bidon,3,123); insert into membre values(1,111); insert into membre values(1,222); insert into membre values(1,555); insert into membre values(2,222); insert into membre values(2,333); insert into membre values(2,123); insert into membre values(2,555); insert into membre values(3,333); insert into membre values(3,444); insert into membre values(3,777); insert into membre values(4,444); insert into membre values(4,888); insert into membre values(4,22882); insert into membre values(4,111); insert into membre values(5,555); insert into membre values(5,333); insert into membre values(5,222); insert into membre values(5,111); insert into membre values(5,444); insert into membre values(6,666); insert into membre values(7,777); insert into membre values(7,111); insert into membre values(7,444); insert into membre values(8,888);

Licence d informatique 2011/2012 : DS - Introduction aux Bases de Données Relationnelles 5 insert into membre values(8,555); insert into membre values(8,222);