Bases de Données - Le relationnel Objet



Documents pareils
I4 : Bases de Données

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

A QUOI SERVENT LES BASES DE DONNÉES?

Les bases de données

UML et les Bases de Données

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

Bases de données relationnelles

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

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

Information utiles. webpage : Google+ : digiusto/

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

CREATION WEB DYNAMIQUE

Bases de données - Modèle relationnel

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

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

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

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

Bases de Données Avancées

Langage SQL : créer et interroger une base

Application web de gestion de comptes en banques

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

Catalogue des Formations

A QUOI SERVENT LES BASES DE DONNÉES?

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

OpenPaaS Le réseau social d'entreprise

UML. Diagrammes de classes (suite) Delphine Longuet.

Programmation d application Bases de données avec Java

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

BASES DE DONNEES TP POSTGRESQL

Mercredi 15 Janvier 2014

MERISE. Modélisation et Conception de Systèmes d Information

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

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Bases de données relationnelles & SQL

TP 8: LES OPERATEURS ENSEMBLISTES

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

[BASE DE DONNEES MULTIMEDIA]

I. MySQL : Serveur et SGBD

Le Langage SQL version Oracle

NF26 Data warehouse et Outils Décisionnels Printemps 2010

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

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Modèle Entité/Association

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

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

Bases de données Outils de gestion

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

BD et XML : Exercices

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

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

Bases de données avancées Introduction

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

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

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

Le Langage De Description De Données(LDD)

Groupe 11 TABLE DES MATIERES

Le langage SQL Rappels

PHP 4 PARTIE : BASE DE DONNEES

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

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

CATALOGUE FORMATIONS DOMAINE Bases de données

Bases de données. Chapitre 1. Introduction

1 Introduction et installation

Gestion de base de données

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

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

Séance 1 Introduction aux bases de données

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

GOL502 Industries de services

Présentation du langage et premières fonctions

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Nom de l application

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

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

1. Introduction. Introduction au langage SQL3 (SQL 99) Plan. Sources du cours. 1. Introduction La norme SQL3 et ses composants

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Générer du code à partir d une description de haut niveau

Rappel sur les bases de données

1. Base de données SQLite

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Structure fonctionnelle d un SGBD

Diplôme de Comptabilité et de Gestion. D é c r e t N d u 2 2 d é c e m b r e A r r ê t é d u 8 m a r s

Systèmes de Gestion de Bases de Données

Bases de données et sites WEB

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

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

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

Présentation du Programme Régional de Formations Qualifiantes

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)

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Création et Gestion des tables

Les frameworks au coeur des applications web

Principes de la conception des bases de données

Transcription:

Mastère IMAe UE Bases De Données Avancées Année Universitaire 2004/2005 M. EBOUEYA Bases de Données - Le relationnel Objet Exercice 1. Soit le schéma relationnel de base de données suivant : APPARTEMENT (Num_Appart, Adresse, Type, Nb_Pièces) CLIENT (Num_Client, Nom, Prénom, Adresse, Tél, Type_Appart_Préféré, Loyer_Max) PHOTO (Num_Photo, Num_Appart, Date, Commentaire, Photo) Indiquer les problèmes ou insuffisances du modèle relationnel en termes de : pouvoir d'expression du modèle, pouvoir d'expression des requêtes, Définir le domaine de définition des attributs, et notamment les attributs non standards. Donner des exemples de requêtes mettant en évidence les insuffisances du modèle relationnel. Proposer un schéma de type relationnel-objet. Exemples de requêtes Quels sont les clients habitant en dehors du département de Charente-Maritime? Quels sont les types d appartements préférés de M. Martin? Quels sont les appartements avec des photos des chambres? Exercice 2. Vous êtes toujours réfractaire au Relationnel objet? On souhaite concevoir une base de données décrivant des pièces et leurs composants. Une pièce P est composée de plusieurs composants C, chacun des composants pouvant apparaître plusieurs fois dans une pièce. Une pièce peut elle-même être composant d'une autre pièce. Par exemple, un moteur est un composant d'une voiture, et les bougies sont des composants du moteur.

1. On demande de modéliser ces informations sous forme d'un schéma UML ou entité association, puis de donner le schéma relationnel. Les schémas demandés doivent éviter les redondances et permettre de répondre efficacement au moins aux deux questions suivantes : Q1 : Etant donné une pièce, retrouver ses composants directs (c'est-à-dire sans récursion), et le nombre d'exemplaires de chaque composant. Q2 : Étant donnée une pièce, retrouver toutes les pièces dont elle est un composant. 2. Expliquer comment on obtient ces réponses dans le cas relationnel. 3. Que pourrait apporter une représentation en relationnel objet? (Donner les scripts de créations, d insertion et d extraction de données) Exercice 3. Soit une base de données concernant des bâtiments de guerre. On souhaite en exprimer le schéma en représentation de type relationnel-objet avec des types abstraits de données. Chaque bateau de guerre a les informations suivantes qui lui sont associées : son nom, son tirant en tonnes, son type (destroyer, canonnier,...). Il y a certains bâtiments qui ont des spécificités : les canonniers sont des bateaux qui transportent de grands canons, tels les croiseurs. Pour ce type de bâtiments, on souhaite enregistrer le nombre et le calibre des principaux canons. les porteurs, pour lesquels nous enregistrons la longueur de la piste d'envol et les ensembles de groupes aériens (escadrilles) qui lui sont assignés. les sousmarins, pour lesquels la profondeur de la plongée maximum est connue. Aucun sousmarin n'est canonnier, ni même porteur! les cuirassés sont porteurs et canonniers en même temps, et donc on enregistre pour eux les données pour ces deux types de bâtiments. Donner le diagramme E/R et le schéma relationnel étendu. Montrer comment on pourrait représenter le cuirassé Ise, qui avait un tirant de 36000 tonnes, des canons de 20 cm, une piste de 700 m et les groupe d'envols 1 et 2.

Exercice 1. Soit le schéma relationnel de base de données suivant : APPARTEMENT (Num_Appart, Adresse, Type, Nb_Pièces) CLIENT (Num_Client, Nom, Prénom, Adresse, Tél, Type_Appart_Préféré, Loyer_Max) PHOTO (Num_Photo, Num_Appart, Date, Commentaire, Photo) Indiquer les problèmes ou insuffisances du modèle relationnel en termes de : pouvoir d'expression du modèle, pouvoir d'expression des requêtes, Définir le domaine de définition des attributs, et notamment les attributs non standards. Donner des exemples de requêtes mettant en évidence les insuffisances du modèle relationnel. Proposer un schéma relationnel étendu de type relationnel-objet. Insuffisances du modèle relationnel La modélisation est limitée à des entités et attributs simples (nombres, chaînes de caractères), sauf pour les dates pour lesquelles un type spécifique est en général proposé dans les SGBD. Par exemple, l attribut Adresse contient à la fois la rue, le code postal et la ville, mais ils ne peuvent être différenciés. C est ce qu on appelle une donnée complexe. De la même manière, le numéro de téléphone peut contenir l indicatif du pays et un indicatif régional, mais ils ne peuvent être distingués. Le type d appartement préféré par un client est limité à un choix simple (1 valeur), alors qu il pourrait être multiple et complexe (situation, ensoleillement, ). L attribut Photo contient la liste des pixels de l image, mais aucun pixel ne constitue une information extractible. Les requêtes sont limitées aux opérateurs standards du langage SQL. Elles ne permettent pas de traiter le contenu des attributs complexes tels qu une adresse ou un numéro de téléphone (cf. a)). Elles ne permettent pas non plus d effectuer des opérations de type applicatives sur des attributs tels que des images (extraction, filtrage, ). Domaine de définition des attributs APPARTEMENT (Num_Appart : integer, Adresse : string, Type : integer, Nb_Pièces : integer) CLIENT (Num_Client : integer, Nom : string, Prénom : string, Adresse : string, Tél : string, Type_Appart_Préféré : char, Loyer_Max : float) PHOTO (Num_Photo : integer, Num_Appart : integer, Date : date, Commentaire : string, Photo : string) Exemples de requêtes

Quels sont les clients habitant en dehors du département de Charente-Maritime? Quels sont les types d appartements préférés de M. Martin? Quels sont les appartements avec des photos des chambres? Schéma relationnel étendu de type relationnel-objet APPARTEMENT (Num_Appart : integer, Adresse : adresse, Type : integer, Nb_Pièces : integer) CLIENT (Num_Client : integer, Nom : string, Prénom : string, Adresse : adresse, Tél : téléphone, Type_Appart_Préféré : préférences, Loyer_Max : float) PHOTO (Num_Photo : integer, Num_Appart : integer, Date : date, Commentaire : string, Photo : image) Les attributs en gras sont des types définis par l utilisateur : adresse : (adr1 :string, code_postal : integer, ville : string) téléphone : (indicatif_pays : integer, indicatif_région : integer, numéro : string) image : list_of (integer) L image pourrait aussi être représentée en tant que structure complexe, par exemple de type quadtree. Des opérateurs peuvent également être associés à ces types, par exemple des opérateurs spécifiques pour les images (cf. requêtes). On définit alors des types abstraits de données (cf. cours et exercice 4). Exercice 2. On souhaite concevoir une base de données décrivant des pièces et leurs composants. Une pièce P est composée de plusieurs composants C, chacun des composants pouvant apparaître plusieurs fois dans une pièce. Une pièce peut elle-même être composant d'une autre pièce. Par exemple, un moteur est un composant d'une voiture, et les bougies sont des composants du moteur. On demande de modéliser ces informations : sous forme d'un schéma entité-association, sous forme d'un schéma relationnel. Les schémas demandés doivent éviter les redondances et permettre de répondre efficacement aux questions suivantes : Etant donné une pièce, retrouver ses composants directs (c'est-à-dire sans récursion), et le nombre d'exemplaires de chaque composant. Etant donnée une pièce, retrouver toutes les pièces dont elle est un composant. Expliquer comment on obtient ces réponses dans le cas relationnel. Que pourrait apporter une représentation en relationnel-objet?

create table PIECE (No_Pièce : integer, Nom : string, Qté_Stock : integer) ; create table COMPOSANT (No_Composé : integer, No_Composant : integer, Nombre : integer) ; select No_Composant, Nombre from COMPOSANT where No_Composé = 12778 ; select No_Composé from COMPOSANT where No_Composant = 26454 ; Représentation en relationnel-objet : create type TYPE_PIECE tuple (No_Pièce : integer, Nom : string, Qté_Stock : integer) ; create table PIECES TYPE_PIECE ; create table COMPOSE (No_Pièce : integer,composant : setof ref (TYPE_PIECE)) ;

Exercice 3. Soit une bases de données concernant des bâtiments de guerre. On souhaite en exprimer le schéma en représentation de type relationnel-objet avec des types abstraits de données. Chaque bateau de guerre a les informations suivantes qui lui sont associées : son nom, son tirant en tonnes, son type (destroyer, canonnier,...). Il y a certains bâtiments qui ont des spécificités : les canonniers sont des bateaux qui transportent de grands canons, tels les croiseurs. Pour ce type de bâtiments, on souhaite enregistrer le nombre et le calibre des principaux canons. les porteurs, pour lesquels nous enregistrons la longueur de la piste d'envol et les ensembles de groupes aériens (escadrilles) qui lui sont assignés. les sousmarins, pour lesquels la profondeur de la plongée maximum est connue. Aucun sousmarin n'est canonnier, ni même porteur! les cuirassés sont porteurs et canonniers en même temps, et donc on enregistre pour eux les données pour ces deux types de bâtiments. Donner le diagramme E/R et le schéma relationnel étendu. Montrer comment on pourrait représenter le cuirassé Ise, qui avait un tirant de 36000 tonnes, des canons de 20 cm, une piste de 700 m et les groupe d'envols 1 et 2. redondantes reconstitue une couverture irrédondante