Examen mai 2004 Question 1. Modélisation Nous sommes sur le centre de production d’un constructeur automobile. Deux chaînes effectuent le montage. Les.

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Access Frédéric Gava (MCF)
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Material/Sources: Daniel Bardou, Julie Dugdale &
Bases de Données XML Natives
Fonctionnalités des SGBD
Formation au référentiel 1 STG (Sciences et technologie de la gestion)
La base de données : le modèle relationnel.
Optimisation de Requêtes
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Initiation aux bases de données et à la programmation événementielle
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Initiation au système d’information et aux bases de données
Les contraintes d’integrité
Initiation au système d’information et aux bases de données
Développement d’applications web
Contrôles d'accès aux données
Eléments d ’algèbre relationnelle
Rappel sur les bases de données et le vocabulaire
Algèbre relationnelle
Introduction à la conception de Bases de Données Relationnelles
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
Bases de données et SGBD relationnels
Les formes normales.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
L’utilisation des bases de données
Algèbre relationnelle et SQL
SQL Partie 3 : (LID : Langage d'interrogation de données)
MODELE RELATIONNEL concept mathématique de relation
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
1. Représentation des informations
Chapitre 3 La normalisation du modèle relationnel
SQL Partie 1.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Bases de données fédéréEs hétérogènes
Optimisation de requêtes
Conception d’un diagramme EA Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Conversation permanente
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
DOSSIER G10 – La base de données Relationnelle
Sélection de colonnes (la projection)
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Les vues Une vue: c’est une relation virtuelle. Définie par:
 L’information est conservée sous forme de tables  Contient: ◦ Un nom ◦ Une clé primaire ◦ Une liste de colonnes ◦ Les informations/données (sous forme.
Systèmes de gestion de BD
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
Introduction aux Bases de Données et au langage SQL
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Diffusion Nationale TOULOUSE -Mai 2006 STSWEB Rattacher Services et ARE Gestion individuelle des services et ARE.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Examen février 2004 PARTIE 1. CAS CARS La SARL "Cars Versailles" emploie 30 personnes et exerce une activité de transports scolaires pour l’ensemble du.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Transcription de la présentation:

Examen mai 2004 Question 1. Modélisation Nous sommes sur le centre de production d’un constructeur automobile. Deux chaînes effectuent le montage. Les véhicules sont ensuite transportés chez les distributeurs par un service livraison/logistique. Les employés sont répartis dans des bâtiments parfois éloignées les uns des autres. On veut gérer, à l’aide d’une base de données relationnelle, l’accès aux différents parkings. On définit, pour chaque parking, les bâtiments qui sont accessibles à partir de ce parking. L’attribution des places de parking se fera en fonction du lieu d’affectation de l’employé. L’attribution dépend également de la marque du véhicule : certains parkings sont interdits aux véhicules de marques concurrentes.

Les employés peuvent obtenir des autorisations exceptionnelles de parking, par exemple s’ils participent à une réunion dans un autre bâtiment que leur bâtiment habituel. On ne souhaite pas gérer le calendrier des réunions avec les salles correspondantes. La pertinence d’une demande exceptionnelle reste donc en dehors du système informatisé. Pour suivre la bonne affectation des autorisations exceptionnelles, on enregistre l’utilisation réelle de la place attribuée.

On suppose que : - chaque bâtiment est proche d’au moins un parking, - pour toute marque, il y a au moins un parking accessible, - un employé n’est basé à un moment donné que dans un seul bâtiment, - un seul propriétaire du véhicule est déclaré, - un employé ne peut pas déclarer plusieurs véhicules, - le système propose une ou plusieurs affectations, s’appuyant sur les règles en vigueur, - toute affectation doit être confirmée manuellement.

a) Proposez une modélisation conceptuelle entité-association de cette base en précisant vos hypothèses complémentaires éventuelles. EMPLOYE matricule Nom Prénom … VEHICULE N°immat … AUTORISATION HABITUELLE BATIMENT Numéro nom possède Accordée à affecté Est interdit à 1,1 1,N 1,1 PARKING Numéro Nom capacité Est proche de 1,N Numéro Datdéb datfin dans 1,N 1,1 AUTORISATION EXCEPTIONNELLE Numéro Datautor Utilisé (0/N) MARQUE codmarq intitulé 1,1 Accordée à 1,1 appartient 1,N 1,1 dans 1,N 1,1

Hypothèses complémentaires : -chaque véhicule a une et une seule autorisation habituelle de parking - un parking peut être proche de plusieurs bâtiments b) En expliquant la méthode utilisée, traduisez ce schéma en un ensemble de tables relationnelles. Précisez les contraintes d’intégrité associées à chaque table. EMPLOYE(matricule nom prénom n°bâtiment numéroautorhabit n°immat codmarq ) BATIMENT(numbâtiment nombâtiment) PARKING (numéroparking nomparking capacité) MARQUE (codmarq intitulé) AUTORHABIT(n°autorhabit datdéb n°parking ) AUTOREXCEPT(n°autorexcept datautor n°immat n°parking ) INTERDICTION (n°parking codmarq) PROXIMITE (n°parking n°bâtiment)

Contraintes d’intégrité -unicité : colonnes ou groupes de colonnes soulignées dans chaque table - intégrité référentielle : les clés étrangères sont en italiques ex : EMPLOYE.n°IMMAT inclus dans VEHICULE.n°IMMAT -domaine : utilisée appartient à {oui,non} -Contrainte d’inclusion (card min = 1) PARKING.n°parking inclus dans PROXIMITE.n°parking -contrainte sémantique : pour toute marque, il existe un parking autorisant la marque

c) On décide de décentraliser la gestion de la base sur deux sites : - la gestion des employés et des autorisations habituelles sera assurée par la Direction des Ressources Humaines, - la gestion des autorisations exceptionnelles et leur suivi seront assurés par la Direction des Moyens Généraux. Proposer et justifier une bonne décomposition de cette base de données sur ces deux sites. Pour ce faire vous pourrez utiliser la décomposition horizontale et/ou verticale ainsi que la réplication (duplication). Pour chaque fragment obtenu, on donnera sa définition sous la forme d’un calcul de l’algèbre relationnelle à partir du schéma relationnel obtenu précédemment. Inversement, on indiquera comment se calcule chaque relation de la base à partir des fragments.

Répartition des données Table EMPLOYE pour la DRH Table AUTOREXCEPT et BATIMENT pour les moyens généraux Les autres tables doivent être dupliquées

Question 2. Normalisation relationnelle Dans la théorie de la normalisation relationnelle, on préconise l’obtention d’un schéma relationnel en 3 ème forme normale qui préserve les dépendances fonctionnelles et qui soit sans perte. Expliquez ce que signifient ces deux notions (préservation des dépendances fonctionnelles et décomposition sans perte). Pour chacune, donnez un contre-exemple. Préservation des DF : pour chaque DF non déductible par transitivité, il existe une table contenant les parties gauche et droite de la DF Décomposition sans perte : en recomposant les tables (par jointure), on obtient toutes les données initiales et rien que les données initiales

Exemples Les tables (A B) et (A C) ne préservent pas la DF B -> C mais elle est sans perte La décomposition de VINS(Buveur Cru Producteur) Pierre Chablis Claude Pierre Chablis Nicolas Pierre Volnay Nicolas Paul Chablis Nicolas En ses deux projections (Buveur Cru) et (Buveur Producteur) Préserve les DF (il n’y en a pas) mais n’est pas sans perte

Question 3. Manipulation avancée de base de données relationnelles Soit la base relationnelle suivante relative à la gestion simplifiée des étapes du Tour de France cycliste 2003 : EQUIPE(CodeEquipe, NomEquipe, DirecteurSportif) COUREUR(NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*) PAYS(CodePays, NomPays) TYPE_ETAPE(CodeType, LibelléType) ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, CodeType*) PARTICIPER(NuméroCoureur*, NuméroEtape*, TempsRéalisé) ATTRIBUER_BONIFICATION(NuméroEtape*, km, Rang, NbSecondes, NuméroCoureur*) Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par *

Exprimer en SQL la question suivante : a)Donner la ville de départ et la ville d’arrivée de l’étape la plus longue. SELECT Villedep, VilleArr FROM ETAPE WHERE Nbkm = (SELECT max(Nbkm) FROM ETAPE); Que calculent les requêtes ci-dessous ? b) SELECT NomCoureur FROM COUREUR WHERE NuméroCoureur NOT IN (SELECT NuméroCoureur FROM ATTRIBUER_BONIFICATION) ; Liste des coureurs n’ayant eu aucune bonification

c) SELECT NomCoureur WHERE NOT EXISTS (SELECT * FROM ETAPE WHERE NOT EXISTS (SELECT * FROM PARTICIPER WHERE NuméroEtape=ETAPE.NuméroEtape AND NuméroCoureur=COUREUR.NuméroCoureur)) ; Liste des coureurs ayant participé à toutes les étapes

Ecrire les arbres algébriques des requêtes ci-dessous : d) Quel est le nom de l’équipe à laquelle appartient Zinedine Zidane ? numrecette Recette IngrédientsRecette nomingrédient =‘boeuf’ Ingrédients

e) Quel est le nom des équipes dont au moins un des coureurs a obtenu une bonification à l’étape 15 et a, de plus, réalisé un temps inférieur à 300 minutes à cette même étape ?

Question 4. Administration de bases de données 1) Comment savoir sous Unix si une base de données « tpcnam » est démarrée ou pas ? 2) Le DBA veut obtenir des informations sur toutes les tables qui commencent par EMP (EMP, EMP2, EMPLOYE, EMPLOYES...) et il tape select * from dba_tables where table_name='EMP%'; Qu'en pensez-vous ? 3) Vous supprimez toutes les lignes de la table avion : delete from avion; Vous demandez à un autre utilisateur de vérifier le contenu de la table pour savoir si votre ordre a bien marché ; or les lignes sont encore présentes ! Pourquoi ? 4) Expliquer la fonction de chaque type de segment prévu au sein des tablespaces ORACLE.