TP Introduction aux Bases de Données



Documents pareils
Information utiles. webpage : Google+ : digiusto/

David LUCAS 15/01/10 Ludovic HUET Sébastien LE NECHET Jason JAMOT. Projet BO

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

NF26 Data warehouse et Outils Décisionnels Printemps 2010

FACTURATION. Menu. Fonctionnement. Allez dans le menu «Gestion» puis «Facturation» 1 Descriptif du dossier (onglet Facturation)

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

KWISATZ MODULE PRESTASHOP

Cahier des charges Remontée des ventes

Bases de données cours 1

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

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

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

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Présentation du module Base de données spatio-temporelles

EdIntégral. Module ENCAISSEMENT. Le logiciel d encaissement multifonctions, évolutif et tactile

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

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

Thème : Gestion commerciale

Rappel sur les bases de données

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

GESTION WINPRO ** PRISE EN MAIN RAPIDE **

GUIDE DE PRISE EN MAIN

Bases de données élémentaires Maude Manouvrier

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

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

CATALOGUE FORMATIONS DOMAINE Bases de données

CESI Bases de données

LOGICIEL POUR BOUTIQUE DE SPORT

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

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Esterel The french touch star touch esterel advance

CMS PRESTASHOP Détails des Foctionnalités

Bases de données relationnelles & SQL

AZUR Concept 3, Rue Antoine BECQUEREL ZA du Triasis LAUNAGUET Tél. : Fax : Site internet :

Dossier I Découverte de Base d Open Office

Baccalauréat technologique Série : sciences et technologies du management et de la gestion (STMG)

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Bases de données relationnelles

1 Introduction et installation

CEGID - Business Suite Gestion commerciale

Les bases de données

MODE D EMPLOI DU LOGICIEL AURELIE

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Le langage SQL Rappels

Bases de Données. Plan

Modèle Entité/Association

Documentation RBS Change E-Commerce Core

CREATION WEB DYNAMIQUE

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

TP 8: LES OPERATEURS ENSEMBLISTES

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

Bases de Données Avancées

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

PRISE EN MAIN RAPIDE DU LOGICIEL CLYO SERIES PRO. * Marque déposée. Copyright CLYO SYSTEMS LTD. Page 1 sur 35

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

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

NOTICE SIMPLIFIEE ER-A280F. I Initialisation avec Remise à Zéro de la caisse : ENTER PASSWORD ER-A280V. Ver1.02

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Annexe : La Programmation Informatique

Comparer des prix. Comparer des gains. Prix du gazole dans deux stations service. Comparer des salaires entre pays. Encadrer des salaires

N é g o c e. S e r v i c e s. I n d u s t r i e l. Développement Formation Assistance technique Gestion - Comptabilité & Paie e-commerce

TP Contraintes - Triggers

Concevoir une base de données

Quelles sont les principales formules utiles pour l étude de cas de vente?

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

TP Bases de données réparties

L Indice Environnemental

Fonctionnalités.

Baccalauréat technologique Série : sciences et technologies du management et de la gestion (STMG)

OUTLOOK GÉRER EFFICACEMENT SON BUSINESS D INGÉNIERIE OU DE CONSEIL AVEC OUTLOOK

Création et Gestion des tables

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

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

Introduction à la B.I. Avec SQL Server 2008

Chapitre 1 Généralités sur les bases de données

1) Information sur le logiciel et la notice 2) Le tableau de bord 3) Les devis 4) Les factures 5) Les factures d acompte 6) Les avoirs sur facture

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

REFONTE, DEVELOPPEMENT ET HEBERGEMENT DU SITE WEB

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Concevoir un modèle de données Gestion des clients et des visites

Manuel utilisateur du logiciel PrestaConnect.

Présentation du logiciel Cobian Backup

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

Module BDR Master d Informatique (SAR)

I4 : 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

Notre Catalogue des Formations IT / 2015

GENERATION i7 - NOUVEAUTES VERSION 7.7x

Les pourcentages. Un pourcentage est défini par un rapport dont le dénominateur est 100. Ce rapport appelé taux de pourcentage est noté t.

BMGI CENTER. B.M.G.I. Center. Centre Agréé & Certifié PLANNING DE FORMATION Centre Agréé & Certifié

WILOG ERP Terroir. Gestion commerciale. Solution Cloud Solution Réseau Solution Monoposte. 136 boulevard de Finlande Pompey - France

Notice Générale - MODULE CLIENTS. I. Description générale du module. II. La liste des clients a. Accès

WEB-IT MAGENTO POUR UTILISATEUR / ADMINISTRATEUR REF : MG01 DUREE : 2 JOURS TARIF : HT. Public

Transcription:

TP Introduction aux Bases de Données 2 e année, ENSPS Janvier 2005 Objectifs du projet Ce TP est destiné à concrétiser certaines notions utilisées dans les bases de données, notions qui ont été abordées lors du cours. Nous allons étudier la conception et l implémentation d une base de données d entreprise, et en particulier la modélisation d un Data Warehouse pour une chaîne de supermarchés. Première partie : modélisation Les informations suivantes ont été obtenues de l administration de l entreprise : 1. L entreprise est organisée en plusieurs magasins, chaque magasin est identifié par un numéro et il est caractérisé par une adresse. 2. La stratégie principale de l entreprise est la vente d une gamme d articles dans les magasins. Les mêmes articles sont disponibles dans tous les magasins au même prix. La T.V.A. peut être différente pour chaque article : pour chaque article il existe donc un prix hors taxe (HT) et un prix toutes taxes comprises (TTC). Chaque article est identifié par un numéro à cinq chiffres. L association d un article donné à un numéro est temporelle : si un article est effacé de la gamme, son numéro peut être utilisé pour un autre article. Pour cette raison, l intervalle de validité d un article est à enregistrer dans la BD. De la même façon, tous les attributs d un article donné (prix, description, fournisseur) peuvent être changés à tout moment. L historique de toutes les associations article-propriétés doit être conservé. 3. Les achats de l entreprise sont gérés de la façon suivante : chaque article est livré par un fournisseur, dont nous connaissons le nom et l adresse. Le même fournisseur livre l article à tous les magasins de la chaîne. Un fournisseur peut fournir plusieurs articles à l entreprise. Les produits arrivent dans les magasins par des livraisons. Un fournisseur peut éventuellement effectuer des livraisons du même article plusieurs fois par jour (ex. : un boulanger). Une livraison peut comprendre plusieurs articles à quantités différentes. Pour chaque article livré dans un magasin, l association à sa livraison doit être conservé dans la BD. 4. Les ventes sont gérées de la façon suivante : certains clients sont référencés dans l organisation à l aide d une carte de fidélité. Lors d une vente nous gardons l identité du client (si connue), le mode de paiement, la date et l heure, ainsi que la quantité de tous les produits achetés (les lignes du ticket de caisse). En cas de vente anonyme (le client ne dispose pas d une carte de fidélité), la vente est enregistrée comme étant effectuée par un client virtuel (commun à toutes les ventes anonymes). Pour chaque article vendu, c.à.d. pour chaque ligne de ticket de caisse, l association à sa vente doit être conservée dans la BD. Si un client souhaite repartir ses achats en 1

deux parties (par exemple afin de payer avec deux moyens différents), cette opération est considérée comme deux ventes différentes. 5. Les articles sont organisés de façon hiérarchique selon leur type en différents sous groupes, groupes et domaines. Chaque article est associé à un sous groupe, qui est caractérisé par un numéro à 4 chiffres et une description (e.g. (1113, Eaux Minérales ), (1321, Jus d oranges ), (2309, Pneus Vélos )). A chaque sous groupe est associé un groupe, qui est caractérisé par un numéro à 3 chiffres et une description (e.g. (823, Boisson ), (212, Sport - Vélo )). A chaque groupe est associé un domaine, qui est caractérisé par un chiffre et une description. 1. En utilisant la base de connaissances décrite ci-dessus, concevoir un schéma conceptuel Entité/Association de l entreprise représenté en notation UML. Évitez les associations ternaires, représentez ces dernières par des associations binaires (plusieurs choix possibles!) 2. A partir du schéma conceptuel, développez le schéma logique en utilisant le modèle relationnel. Indiquez clairement pour chaque relation la clef primaire et les clefs étrangères. Afin d éviter les anomalies de mise à jour, tous les schémas doivent être transformés en troisième forme normale. 3. Implémentez le schéma logique en langage SQL (création de tables). 4. Remplissez les tables avec les données de test décrites dans l annexe. Deuxième partie : les requêtes Implémentez les requêtes suivantes en langage SQL : 1. Donner les descriptions des articles étant valide en ce moment et appartenant au groupe Boissons,. 2. Donner les noms des fournisseurs ensemble avec les nombres d articles fournis en ce moment et les prix moyens de ces articles. Attention : fourni en se ce moment n est pas égale à livré aujourd hui! 3. Donner une liste de toutes les couples client/magasin possible et pour chaque couple le nom du client, la description du magasin et le nombre de ventes effectuées dans ce magasin à ce client. Si un client n a jamais visité un magasin donné, le résultat contiendra néanmoins une ligne ayant le nombre de ventes égale à zéro. Trier la liste par nom de client et ensuite par description de magasin. 2

Troisième partie : les données redondantes Fidèle aux principes d un Data Warehouse, notre BD stocke des informations redondantes pour accélérer les accès aux données. 1. En utilisant le schéma développé dans le cadre de la première partie, une recherche sur les propriétés d un article demande comme argument la date de validité. Pour faciliter l accès aux données courantes, c.à.d. les propriétés actuelles de la gamme d articles, nous allons créer une relation CourArticle. Cette relation contiendra seulement une ligne par article, c.à.d. la ligne contenant les propriétés actuelles. Créez le schéma logique de cette relation. Implémentez la relation en langage SQL. Créez une ou plusieurs instructions SQL permettant d effacer le contenu de la table CourArticle et de le recalculer. 2. Afin d accélérer davantage les accès, nous allons créer plusieurs tables stockant des données agrégées : ag client annee (numclient F K, Annee, valeurventeht, valeurventettc) ag groupe magasin mois (numgroupe F K, nummagasin F K, Annee, Mois, valeurachat, valeurventeht, valeurventettc) Les valeurs mentionnées ci-dessus sont à calculer en respectant le tableau suivant : Valeur valeurachat valeurventeht valeurventettc Description La valeur totale de tous les articles achetés, calculée en multipliant la quantité achetée avec le prix d achat. La valeur totale de tous les articles vendus, calculée en multipliant la quantité vendue avec le prix de vente hors taxe. Comme la valeur précédente, mais à base du prix TTC. Les valeurs sont consolidées sur plusieurs articles, e.g. en sommant sur tout un groupe ou sur tous les articles achetés par un client. Implémentez les relations données ci-dessus en langage SQL. Développez des scripts SQL pour remplir ces relations à partir des données détaillées modélisées dans la première partie du TP. Chaque script prendra comme argument la date de la période à recalculer, c.à.d. le mois et/ou l année selon le type de la relation. Remarque : Les relations contiendront une ligne pour chaque clef primaire, même s il n y a pas eu de ventes ou de livraisons pendant cette période / pour ce groupe / à ce client. 3. Afin de pouvoir accéder aux quantités d articles stockés dans chaque magasin, nous allons créer une relation stock. Elle contient pour chaque jour de l année (plus spécifiquement, pour la fin de la journée) et pour chaque magasin, les quantités stockées de chaque article : 3

stock (numarticle F K, nummagasin F K, date F K, quantite) Implémentez la relation stock donnée ci-dessus. Initialisez la table pour la première journée considérée dans la BD : mettez les quantités stockées égales à 10 pour tous les articles dans la journée 2003-12-31. Créez une instruction SQL pour calculer le stock d une journée à partir du stock de la veille et des opérations de la journée même, c.à.d. les livraisons et les ventes. L argument du script SQL (c.à.d. la date de la journée mise à jour) est à initialiser dans l entête du script : set @DATE2UPDATE = 20034-01-01 Remarques : La relation stock contiendra pour chaque jour une ligne par article et par magasin, même s il n y a pas eu de ventes ou de livraisons de cet article pendant cette journée. L instruction SQL doit être applicable à la journée courante ( aujourd hui ) aussi bien qu à une journée du passé. 4

Annexe Organisation du TP Ce projet fera l objet d un compte rendu écrit à rendre à la scolarité au plus tard deux semaines après la dernière séance. Le compte rendu contiendra les schémas conceptuels et logiques et tout les scripts écrits, complété par une explication du travail. Tous les choix sont à justifier, en particulier le choix des jointures. Environnement informatique L implémentation du TP est à faire sur la machine davignon.u-strasbg.fr. Chaque groupe travaille sur un compte différent et sur une base de données différente. Demander aux encadrants de TP votre nom de compte et votre mot de passe. Chaque groupe travaille sur sa propre base de données, dont le nom est égal au nom du compte. Dans un terminal ouvert sur la machine, vous pouvez démarrer une séance interactive de SQL par la commande mysql -u <nom-utilisateur> -p<mot-de-passe> <nom-bd> ou exéctuer un script SQL enregistré dans un fichier par la commande mysql -u <nom-utilisateur> -p<mot-de-passe> <nom-bd> < <nom-fichier> Une sauvegarde de la base de données peut être effectuée dans un fichier par la commande mysqldump -u <nom-utilisateur> -p<mot-de-passe> <nom-bd> > <nom-fichier> Attention! Pas d espace entre l option -p et le mot de passe! Si vous voulez éviter l affichage du mot de passe sur l écran, déclarez l option -p sans argument. Le mot de passe vous est alors demandé interactivement. Redaction de scriptes SQL Rédigez un fichier.sql différent pour chaque problème. Si vous décomposez un problème en plusieurs instructions SQL, mettez toutes les instructions du problème dans le même fichier.sql. Les données de test Les données suivantes sont à insérer dans la BD : 1. Trois fournisseurs effectuent des livraisons à l entreprise : Trec, ayant l adresse 13, Rue Mercx, 67000 Strasbourg, Glu Glu, ayant l adresse 78, Place Wilson, 69100 Villeurbanne et BB ayant l adresse 10, Place Kleber, 67000 Strasbourg. 2. La hiérarchie d articles est la suivante : deux domaines existent : Alimentation et Non- Alimentation. Le domaine alimentation comprend les groupes Boissons et Produits de boulangerie, le domaine Non-Alimentation comprend le groupe Sport - Vélo. Le groupe Boissons comprend les sous groupes Eaux Minerales et Jus d orange, le 5

groupe Produits de boulangerie comprend le sous groupe Pains, le groupe Sport - Vélo comprend le sous groupe Vélos. 3. L entreprise vende 4 articles : L article pain de mie 750g, fournis par BB, fait partie du sous groupe Pains. Cet article à été introduit dans la gamme le 2002-01-01 à un prix de 0,90E (HT) et de 0.99E (TTC). Le prix de vente à été changé à 0.85E (HT) et à 0.94E (TTC) le 2004-01-24. Depuis l introduction de l article, le prix d achat a été 0.79E. L article est encore en vente en ce moment. L article VTT Bianko est fournis par Trek et fait partie du sous groupe Vélos. Il a été introduit le 2003-12-10 à un prix de vente de 1250E (HT) et de 1500E (TTC) ainsi qu un prix d achat de 1200.50E. Le 2004-01-10, le fournisseur à baissé le prix d achat à 1150E. L article est encore en vente en ce moment. L article Avien, fournis par Glu Glu à 1.10E, fait partie du sous groupe Eaux Minerales. Il a été introduit le 2004-01-01 à un prix de vente de 1.20E (HT) et de 1.32E (TTC). L article est encore en vente en ce moment. L article Troupicana, fournis par Glu Glu à 2.50E, fait partie du sous groupe Jus d Oranges. Il a été introduit le 2001-02-14 à un prix de vente de 2.70E (HT) et de 2.97E (TTC). L article à été supprimé de la gamme le 2004-02-04. 4. Deux clients sont reférencés dans le système : M. Jean Dupont habitant à 13, Cours Emile Zola, 67400 Illkirch-Graffenstaden et Mlle. Agnes Loupias habitant à 76, petite rue de la course, 6700 Strasbourg. 5. La chaîne comprend deux magasins, se situant à 12, Route de l avenir, 67400 Illkirch- Graffenstaden et 45, Place du Marche, 67000 Strasbourg 6. Les livraisons suivantes ont été effectuées (toutes à 1 heure de l après-midi) : Le 2004-01-15 : 10 VTT dans le magasin à Illkirch ; Le 2004-01-15 : 15 VTT dans le magasin à Strasbourg ; Le 2004-01-01 : 20 VTT à Strasbourg ; Le 2004-01-01 : 100 pains de mie à Strasbourg ; Le 2004-01-28 : 10 Avien à Strasbourg. 7. Les ventes suivantes ont été effectuées (toutes à 2 heures d après-midi ; tous les réglements ont été effectués par carte bancaire) : Mlle. Loupias a achété : le 2004-01-20 : 1 pain de mie et 2 avien à Strasbourg ; le 2004-01-27 : 1 pain de mie à Illkirch ; M. Dupont a achété : le 2004-01-02 : 1 VTT à Strasbourg ; le 2004-01-15 : un troupicana et deux avien à Strasbourg ; Un client non identifié a acheté : le 2004-01-01 : 2 Troupicana à Illkirch ; Un client non identifié a acheté : le 2004-01-13 : 1 VTT et 5 Troupicana à Strasbourg ; Un client non identifié a acheté : le 2004-01-24 : 2 pains de mie et 1 Troupicana à Strasbourg ; 6