Liste d exercices - Bases de données



Documents pareils
Bases de données - Modèle relationnel

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

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

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

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

TP 8: LES OPERATEURS ENSEMBLISTES

I4 : Bases de Données

Le langage SQL Rappels

1 Introduction et installation

Le Langage SQL version Oracle

Évaluation et optimisation de requêtes

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

Bases de données relationnelles

Dossier I Découverte de Base d Open Office

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

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

Information utiles. webpage : Google+ : digiusto/

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

Bases de données documentaires et distribuées Cours NFE04

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

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

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

COURS de BASES de DONNEES

Bases de Données. Plan

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

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

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

TP Bases de données réparties

Cours: Les Jointures 1

Groupe 11 TABLE DES MATIERES

Langage SQL : créer et interroger une base

A QUOI SERVENT LES BASES DE DONNÉES?

PROJET 1 : BASE DE DONNÉES REPARTIES

Les bases de données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

UML et les Bases de Données

Travaux publics et Services gouvernementaux Canada. Title - Sujet INTEGRATED IT PROF. SERV. CONTRACT

16H Cours / 18H TD / 20H TP

Rappel sur les bases de données

Modèle conceptuel : diagramme entité-association

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Bases de données avancées Introduction

LE MODELE CONCEPTUEL DE DONNEES

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

SOCIÉTÉ D ASSURANCE-DÉPÔTS DU CANADA Critères d évaluation de la conformité aux Exigences en matière de données et de systèmes (EDS) pour 2015

LISTE DES DOCUMENTS A FOURNIR A L APPUI DE VOTRE DEMANDE DE BOURSE

CHAPITRE 2 SYSTEMES D INEQUATIONS A DEUX INCONNUES

Stratégies marketing. Augmenter sa créativité en période de changement. Journée d information sur les cultures ornementales en serre Novembre 2009

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Base de Données et Langage SQL

Conception d une 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

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Bases de données. Chapitre 1. Introduction

Obtention de prêts - Registre Public d'information sur le Crédit

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Cours de bases de données. Philippe Rigaux

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

BD et XML : Exercices

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

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

AGRÉGATION «ÉCONOMIE ET GESTION»

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

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

OpenPaaS Le réseau social d'entreprise

Compte-rendu de projet de Système de gestion de base de données

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

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Travaux publics et Services gouvernementaux Canada. Title - Sujet IQ pour la solution d achats électr

Introduction à ElasticSearch

CREATION d UN SITE WEB (INTRODUCTION)

MEMORANDUM POUR UNE DEMANDE DE BOURSE DE RECHERCHE DOCTORALE DE LA FONDATION MARTINE AUBLET

Cours 1 : introduction

Python - introduction à la programmation et calcul scientifique

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Création et Gestion des tables

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Bases de données cours 1

Livret du Stagiaire en Informatique

Association des maisons de commerce extérieur du Québec

Méthode d analyse Merise

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Mejdi BLAGHGI & Anis ASSÈS

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

Bases de données relationnelles & SQL

NOTIONS DE PROBABILITÉS

WINSCOP. De créer des factures, et de les faire contrôler et valider à distance. De créer des devis, des notes de frais (achats et kilométriques).

Evidian IAM Suite 8.0 Identity Management

Engagement de l ABC en matière de lisibilité des documents hypothécaires. Préparé par l Association des banquiers canadiens

Ouverture de compte. Auquel est lié un compte de titres personnes physiques. Société du groupe KBC

II. Modèle conceptuel le modèle entité-association

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

GUIDE DU DAY TRADER. WH SELFINVEST S.A. -

MEMORANDUM POUR UNE DEMANDE DE BOURSE DE RECHERCHE DOCTORALE DE LA FONDATION MARTINE AUBLET

Se porter caution : un engagement financier

Transcription:

Université d Orléans - 2010/2011 Mírian Halfeld Ferrari IUT - Deuxième Année et Année Spéciale Liste d exercices - Bases de données Période 1 1 Introduction, Modèle Relationnel, Modèle E/R Question 1: Soit la base de données relationnelle ci-dessous concernant une banque américaine. ACCOUNTS AccNo Type Balance CUSTOMERS FirstName LastName IdNo Account 12345 savings 12000 Robbie Banks 901-222 12345 23456 checking 1000 Lena Hand 805-333 12345 34567 savings 25 Lena Hand 805-333 23456 1. Quels sont les attributs de la base? 2. Quels sont les noms de relations? 3. Quel est le sort(accou N T S)? et le sort(cu ST OM ERS)? 4. Quel est le schéma de la base de données? 5. Proposer un domaine pour chaque attribut. 6. Expliquez ce que c est l instance de la relation CUSTOMERS. 7. Soit l instance I(ACCOU N T S) = {t1, t2, t3}. Expliciter t1, t2, t3. 8. Le tuple AccNo = 12345, Type = savings, Balance = 12000 est il identique à Balance = 12000, AccNo = 12345, Type = savings? Justifier. 9. Le tuple 12345, savings,12000 est il identique à 12000, 12345, savings? 10. Utiliser l approche non étiqueté pour définir cette base. Pouvons nous changer l ordre des attributs sans problème dans ce cas? 11. Expliquer de manière globale les étapes nécessaires à un algorithme capable de répondre à la requête suivante: donnez le solde de tous les comptes de Lena Hand. Question 2: La base de données ci-dessous est construite dans le but de stocker les informations concernant les produits, les achats et les clients d un commerçant. Remarquer que PrixProduit est le prix unitaire actuel du produit alors que PrixUnit est le prix unitaire de vente du produit. FACTURE [NumAchat, Date, CodeProduit, NomProduit, PrixUnit, PrixProduit, Quantite, NumClient, NomClient, Adresse] Donnez des exemples de chaque type (insertion, suppression et modification) d anomalie que nous pouvons avoir dans ce schéma. Imaginons maintenant que en plus du schéma ci-dessous, nous avons aussi les informations suivantes: Le numéro du client sert à identifier de manière unique un client. Un client peut faire plusieurs achats. 1

Un achat est identifié par son numéro. Nous savons alors le code du client qui a fait cet achat et la date. Avec le numéro de l achat et le code du produit acheté, nous pouvons savoir aussi son prix unitaire de vente et le quantité achetée. Chaque produit est identifié de manière unique par un code. À partir de cette situation, proposer un autre schéma relationnel pour notre base de données. Justifiez les avantages de votre schéma et faire un diagramme E/R correspondant a ce schéma. Le modèle entité-association (E/R) est très utilisé pour modéliser les bases de données relationnelles. Il doit être employé en prenant en compte toutes les contraintes de l application que nous voulons modéliser. Voici un exemple qui sert à introduit la notion d entité faible. Une entité faible représente des objets qui ne peuvent pas être identifiés de façon unique sans qu on sache le nom (ou identifiant) de l entité forte à laquelle elle est liée. Exemple: Un chien (entité faible) est associé via l association PROPRIÉTAIRE à l entité PERSONNE (entité forte par rapport à CHIEN) pour indiquer son maître. Un chien est donc identifié par son nom et par l identifiant de son propriétaire. Dans la base de données, le chien sera identifié par son nom, le nom et le(s) prénom(s) de la personne propriétaire (CHIEN[NomChien, Nom, Prenom, Race]). Remarquer qu un chien a un et un seul propriétaire. En effet la cardinalité maximale d une entité faible par rapport à l entité forte associée est toujours 1. Nom Prenom adresse PERSONNE (0.N) (1,1) PROPIETAIRE CHIEN NomChien Race Pour la question ci-dessous, faire un schéma entité-association (E/R) cohérent avec les contraintes imposées par les applications (par le texte). Ensuite discuter comment un schéma relationnel serait obtenu à partir du diagramme E/R. Vérifier si le schéma ainsi obtenu a des anomalies. Question 3: Nous considérons la gestion d une bibliothèque universitaire contenant les informations ci-dessous: Livres: Chaque livre (ouvrage) possède un code d identification (unique), un titre et la date de parution. Exemplaires: Un livre peut avoir un ou plusieurs exemplaires. Un exemplaire est identifié par le code du livre et le numéro de l exemplaire (exemple: exemplaires 01 et 02 du livre AB001; exemplaires 01 et 02 du livre HM06). Pour chaque exemplaire nous stockons aussi son éditeur et l année d édition. Auteurs: Chaque auteur est reconnu par son numéro d identification (unique), son nom et son prénom. Un ouvrage a un ou plusieurs auteurs. Les étudiants empruntant des (exemplaires de) livres à la bibliothèque: pour chaque étudiant, la bibliothèque possède les renseignements suivants: le numéro d identification de l étudiant, son nom, prénom, adresse, formation suivie. Un étudiant peut avoir emprunté plusieurs exemplaires de la bibliothèque. Les prêts consentis aux étudiants sont définis par la date d emprunt, la date de retour, numéro de l étudiant emprunteur et le numéro de l exemplaire emprunté. Seulement les prêts actuels sont stockés. La base ne garde pas un historique des exemplaires pretés. 2

2 Requêtes simples, algèbre relationnelle Question 1: Soit le schéma de base de données suivant: CLIENT [ IdCli, NomCli, PrenomCli, Adresse ] PRODUIT [ Ref, NomProd, Prix ] COMMANDE [ NumCom, DateCom, IdCli ] DETAILCOMMAND [ NumCom, Ref, Quantite ] Écrire les requêtes suivantes en algèbre relationnelle étiquetée 1. Donner la liste des produits valant plus de 2 Euros. 2. Donner pour chaque commande les informations concernant le client. 3. Donner le détail (NumCom, Ref, NomProd, Quantite, Prix ) des commandes passées le 10 août 2008. 4. Donner les noms de clients ayant acheté du savon. 5. Donner la liste des produits achetés par Paul (toutes commandes confondues). 6. Quels sont les clients ayant une commande registrant l achat de plus de 2 brosses à dents. 7. Donner les couples de clients habitants dans la même ville. 8. Donner le numéro des commandes ayant au moins trois produits différents achetés. Question 2: Nous considérons les langages de requêtes suivantes: 1. L algèbre SPJR contenant les opérateurs de sélection, projection, jointure et renommage. La condition de sélection ne contient pas de négation ni de disjonction. De plus nous avons la possibilité d avoir une requête constante. Une requête constante est définie comme ayant un seul tuple et une seule colonne. Par exemple Name : toto est une requête constante, indépendamment des relations dans la base. 2. L algèbre S+PJR: l algèbre SPJR étendue de façon à permettre des opérateurs de sélection contenant une expression où la disjonction peut être utilisée (par exemple σ A= a B= b ). 3. L algèbre SPJR1 : algèbre composée de l algèbre SPJR plus le fait qu il est possible d utiliser des relations constantes d arité 1 non réduites à un singleton comme requêtes de base (ex, { N ame : john, Name : mary } ). 4. L algèbre SPJRn : algèbre composée de l algèbre SPJR plus le fait qu il est possible d utiliser des relations constantes d arité quelconque et non réduites à un singleton comme requêtes de base (ex, { Name : john, Dep : informatique, Name : mary, Dep : finances } ). Nous considérons le schéma de base de données R suivant: M OV IES[T itle, Director, Actor] PARISCOPE[Theater, Title, Time] LOCAT ION[T heater, Address, P hone] Parmi les requêtes suivantes, déterminer quelles sont celles qui peuvent être exprimées en utilisant les algèbres spécifiées ci-dessus. Écrire la requête quand cela est possible et discuter sur le pouvoir d expression des algèbres en question. 1. Où puis-je voir Annie Hall ou Manhattan? 3

2. Quels sont les films ayant Woody Allen comme metteur scène ou comme acteur? 3. Donner la relation binaire qui comprend tous les n-uplets t, excellent dans lesquels t est un film mis en scène par Woody Allen et tous les n-uplets t, superbe dans lesquels t est un film mis en scène part Alfred Hitchcock. Question 3: Nous considérons les schémas de relation R[ABC] et S[BCD] et les instances ci-dessous. R A B C S B C D a b c b c d a b c b c d a b c b c d a b c 1. Indiquer si les opérations suivantes sont correctes pour l AR étiqueté et, si oui, donner les résultats de leur évaluation sur les instances données. (a) R S (b) π BC (R) π BC (S) (c) π BC (R) \ π BC (S) (d) π A (π AC (R)) (e) π BC (R) π BC (S) (f) π A (R) (g) π AB (R) π BC (S) (h) π BC (S) \ [π BC (S) \ π BC (R)] (i) R (π C (R)) (j) R \ S (k) π A [σ B=b (R) σ B=b (R)] 2. Pour les expressions précédentes, vérifier s il existe des expressions qui sont équivalentes (par exemple, est-ce que l expression 1(a) est équivalente à l expression 1(b)?). Question 4: Soit le schéma de base de données suivant concernant des marins et les bateaux qu ils peuvent réserver. Écrire les requêtes suivantes dans l algèbre relationnelle étiquetée. Sailors [sid, sname, rating, age ] Boats [ bid, bname, color ] Reservation [ sid, bid, day ] 1. Lister le nom et l age de tous les marins. 2. Lister les marins qui ont plus de 18 ans. 3. Lister le nom et l age des marins qui ont plus de 18 ans. 4. Lister les noms de marins ayant réservé le bateau numéro 103. 5. Lister les noms de marins ayant réservé un bateau rouge. 6. Lister les noms de marins ayant réservé un bateau mais pas un bateau rouge. 7. Trouver les couleurs des bateaux réservés par le marin Jean. 8. Trouver les noms de marins ayant réservé un bateau rouge ou un bateau vert. 9. Trouver les marins ayant réservé un bateau rouge et un bateau vert. 10. Trouver les marins ayant réservé un bateau rouge mais n ayant pas réservé un bateau vert. 4

11. Trouver les marins dont le rating est supérieur à celui de Jean. 12. Trouver les marins (sid) ayant réservé au moins deux bateaux différents (différents bid). Question 5: Écrire les requêtes 7 et 12 de la question précédente dans l algèbre non étiquetée. Question 6: Soient les schémas R[3] et S[3]. Est-il possible d exprimer l opération d intersection R S dans l algèbre SPC (sélection, projection et produit cartésien)? 3 Requêtes et propriétés de l algèbre Question 1: Soient r et s deux instances de relations définies sur un même schéma R. Soit X sort(r). Démontrer ou infirmer par un contre-exemple les égalités suivantes. 1. π X (r s) = π X (r) π X (s) 2. π X (r s) = π X (r) π X (s) Question 2: Soient r et s deux instances de relations définies sur les schémas R et S respectivement. Démontrer que π R (r s) r et montrer un exemple de l égalité. Question 3: Soit le schéma de base de données suivant concernant des marins et les bateaux qu ils peuvent réserver. Écrire les requêtes suivantes dans l algèbre relationnelle étiquetée. Sailors [sid, sname, rating, age ] Boats [ bid, bname, color ] Reservation [ sid, bid, day ] 1. Quels sont les marins qui n ont jamais réservé un bateau? 2. Quels sont les marins qui ont réservé tous les bateaux? 3. Quels sont les marins qui ont réservé un seul bateau? 4. Quels sont les bateaux qui ont été réservés par tous les marins? 5. Quels sont les bateaux qui n ont jamais été réservés? Dans les deux questions suivantes, considérer le schéma relationnel ci-dessous. Bières Bars Buveurs Aime Vend Habitué [nom, producteur] [nom, adr, license] [nom, adr, phone] [buveur, bière] [bar, bière, prix] [buveur, bar] Question 4: Exprimer les requêtes ci-dessous en AR et en SQL: 1. Trouver les buveurs qui aiment toutes le bières. 2. Trouver les buveurs qui aiment seulement la bière Antartica. 3. Trouver les buveurs qui sont habitués de tous les bars. Question 5: Exprimer les requêtes ci-dessous en SQL 5

1. Donner le nom et l adresse de tous les buveurs qui sont des habitués du Bar-Iup! et qui aiment une bière vendue dans ce bar. La réponse ne doit pas contenir de répétitions. 2. Pour chaque prix qui apparaît dans la relation Vend, trouver le nombre de bars vendant au moins une bière à ce prix. 3. Lister le prix moyen de chaque bière. 4. Pour chaque bar ayant moins de 10 habitués, diminuer les prix de ses bières de 5%. 5. Trouver tous les bars qui vendent seulement les bières que le buveur Jean Bourrer aime. 6. Supprimer de la relation Habitué les n-uplets où le buveur et le bar ont la même adresse (c est-àdire, les habitués qui habitent dans le bar). 6