RAPPORT DU PROJET. Université de Cergy Pontoise 2004/2005 Site Saint-Martin Maîtrise d informatique. HESSAS Yacine LI Yong



Documents pareils
Règles Aménagées Tournoi à 3

Information utiles. webpage : Google+ : digiusto/

Bases de données relationnelles

Dossier I Découverte de Base d Open Office

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Modélisation de bases de données : Le modèle relationnel

Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel

Introduction à la B.I. Avec SQL Server 2008

Algorithmique & programmation

Business Intelligence avec SQL Server 2014 Maîtrisez les concepts et réalisez un système décisionnel

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

BTS/CGO P10 SYSTEME INFORMATION Année

I4 : Bases de Données

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

A. Définition et formalisme

Département Génie Informatique

Plan. Introduction Eléments de la théorie des systèmes d'informations Les entrepôts de données (Datawarehouse) Les datamart Architecture Modélisation

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

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

CREATION WEB DYNAMIQUE

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

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

Diagramme de classes

Nos touts petits. Alors n hésitez pas à communiquer avec nous.

Rappel sur les bases de données

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Modèle conceptuel : diagramme entité-association

Les bases de données

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

UE 8 Systèmes d information de gestion Le programme

Mercredi 15 Janvier 2014

BASKET CLUB DE L ETOILE Site Internet :

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

TRANSFERT INTERNATIONAL (1)

MyReport Le reporting sous excel. La solution de business intelligence pour la PME

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

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

Gestion des bases de données

1 Position du problème

et les Systèmes Multidimensionnels

PRATIQUE SPORTIVE. En cas d absence le licencié doit toujours prévenir son responsable d équipe et son entraîneur principal.

Méthodologie de conceptualisation BI

Technologie data distribution Cas d usage.

Application web de gestion de comptes en banques

Devoir Data WareHouse

OpenOffice Base Gestionnaire de Base de Données

Modélisation des données

2013/2014. Championnats 11 ans ; 13 ans 15 ans 17 ans. Tableau des âges. Thèmes de jeux jeunes

Entrepôt de données 1. Introduction

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

UML et les Bases de Données

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

NF26 Data warehouse et Outils Décisionnels Printemps 2010

PROJET 1 : BASE DE DONNÉES REPARTIES

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

Evry - M2 MIAGE Entrepôt de données

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Business Intelligence

Compétences Business Objects

DOSSIER UNIQUE ETAT / REGION / DEPARTEMENTS DE L OISE ET DE LA SOMME AIDE INDIVIDUELLE AUX SPORTIFS DE HAUT NIVEAU Année 2015

Bases de Données Avancées

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

La problématique. La philosophie ' ) * )

Analyse trimestrielle du marché des jeux en ligne en France. Autorité de régulation des jeux en ligne Données T3 2013

PROGICIELS DE GESTION INTÉGRÉS SOLUTIONS DE REPORTING

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

et les Systèmes Multidimensionnels

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

Le modèle de données

Bases de Données. Plan

Domaines d intervention

2 Serveurs OLAP et introduction au Data Mining

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

Business Intelligence : Informatique Décisionnelle

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Université de Bangui. Modélisons en UML

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

Votre commission des Jeunes

FORMATION DE L OFFICIEL DE LA TABLE DE MARQUE

DUT Statistique et Traitement Informatique des Données (S.T.I.D.)

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Travail de diplôme 2011 Business Intelligence Open Source SpagoBI/Talend Résumé

RÈGLEMENT. sur la collaboration avec les intermédiaires

Master Exploration Informatique des données DataWareHouse

Dans ce 9ème numéro de la saison vous trouverez :

Introduction aux Bases de Données

Site Web de paris sportifs

Business Intelligence avec SQL Server 2012

Informations relatives à l'inscription - résidence

Business Intelligence avec Excel, Power BI et Office 365

Bases de Données Avancées

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

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

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

COMPETENCES E P S et BASKET BALL au CYCLE 3. R.Reynaud CPC. LYON PART-DIEU mai 2003 en référence au document d'antoine Muguet

Transcription:

Université de Cergy Pontoise 2004/2005 Site Saint-Martin Maîtrise d informatique Auteurs : ZIGHA Mustapha HESSAS Yacine LI Yong RAPPORT DU PROJET Cours théorique : Travaux pratiques :

M. M. Pages n : Introduction 2 I- Modélisation du système d information opérationnel (S.I.O) 3 A- Détermination de la liste des entités. B- Détermination des attributs et des identifiant. C- Détermination des relations entre les entités. D- Détermination des caractéristiques des relations. E- Schéma final de l opérationnel. II- Modélisation du système d information décisionnel (S.I.D) 7 A- Comment obtenir le schéma en étoile? B- Schéma en étoile. C- Comment obtenir le schéma en flocon? D- Schéma en flocon. E- Synthèse du décisionnel. III- Modèle physique du S.I.O et S.I.D et remplissage du S.I.O avec un jeu d essai. 12

IV- ETL (Extract, Transform and Load) 14 A- Etapes du programme. B- Exemple. C- Difficultés rencontrées. Conclusion 15 Introduction On s intéresse à la ligue de tennis du val d Oise qui souhaite informatiser la gestion des matchs organisés par ses clubs. L objectif de ce projet est de modéliser l opérationnel de l entreprise jusqu à génération du script SQL pour générer le schéma de la base. Ainsi, on pourra modéliser le Data house correspondant et préparer sous forme de procédure PL/SQL, l alimentation de données de l opérationnel vers le Data house. Pour cela, il sera nécessaire de faire la liaison entre les deux bases à l aide de l ETL. L objectif final sera de répondre à des requêtes telles que : - Le nombre de matchs gagnés et le nombre de maths effectuées - par adhérent, par catégorie, par club et par sexe - par semaine, par mois et par année - Le nombre de spectateur - par match, par club, catégorie - par semaine, par mois et par année - Le nombre de matchs organisés - par club, - par semaine, par mois et par année Ainsi, le responsable de la ligue pourra étudier les statistiques qu il désir et prendre les mesure qui s impose pour gérer au mieux la ligue de tennis du val d Oise.

I- Modélisation du système d information opérationnel (S.I.O) Pour la conception du diagramme de l opérationnel sous le logiciel Rational Rose, nous avons pu déterminer 5 classes distinctes que nous allons détailler. 1. Détermination de la liste des entités Les entités «ADHÉRENT» et «CLUB» ont une existence propre et s'impose d'euxmêmes. En considérant plus finement l'entité «ADHÉRENT» on distingue certaines caractéristiques générales telle que: son nom, son prénom, son adresse etc... et certaines caractéristiques propres au joueur, comme le résultat du match qui peut varier d'un joueur à l'autre. «ADHERENT» est décrit par un certain nombre de caractéristiques structurées comme le match ou le tournoi auxquelles ils participent. On fait donc deux entités supplémentaires «MATCH» et «TOURNOI» Ensuite, on ajoute la classe «DATE» pour pouvoir gérer les dates des différents matchs. 2. Détermination des attributs et des identifiant Grâce à la lecture de l'énoncé on peut identifier les attributs suivant: *Pour caractériser le «CLUB» on a: -son numéro

-son nom -son adresse -son téléphone *L' «ADHERENT» est caractérisé par: -son numéro d adhérent -son nom -son adresse -sa situation matrimoniale -son nombre d'enfant -son sexe -son numéro de licence Pour les attributs «MATCH» et «TOURNOI» rien n'est spécifié clairement dans l'énoncé sauf le numéro du match. Il faut donc éventuellement s'interroger sur les besoins en information des utilisateurs concernant ces entités. *Pour le «TOURNOI», on peut proposer: -le nom du tournoi -le numéro du tournoi *Pour le «MATCH» on a: -le numéro du match *Enfin, pour la «DATE» on ajoute l attribut : -Id_Date 3. Détermination des relations entre les entités Il existe des liens naturels entre certaines entités. Par exemple un «ADHERENT» appartient à un «CLUB. Un «MATCH» se déroule à une date précise. De plus, un «TOURNOI» est composé de plusieurs «MATCH» Enfin, on peut distinguer des «CLUB» qui organisent des «TOURNOI» et des «CLUB» qui sont invité aux «TOURNOI. 4. Détermination des caractéristiques des relations La relation «déroule» Elle n'a pas d'attributs propres. Sa dimension est deux. Elle relie «MATCH» à «DATE»

Elle est de cardinalité M..N puisqu un «MATCH» peut se dérouler à une ou plusieurs «DATE», cependant à la même «DATE» il peut y avoir plusieurs «MATCH» La relation «appartient» Elle n'a pas d'attribut propre. Sa dimension est deux. Elle relie «ADHERENT» à un «CLUB» Elle est de cardinalité 1..N puisqu un «ADHERENT» ne peut appartenir qu'a un seul «CLUB», en revanche dans un club il y a plusieurs adhérents. La relation «composé» Elle n'a pas d'attribut propre. Sa dimension est deux. Elle relie «TOURNOI» à ««MATCH» Elle est de cardinalité 1..N car un «TOURNOI» est composé de plusieurs «MATCH», cependant un «MATCH» appartient à un seul «TOURNOI» La relation «perdant» Elle n'a pas d'attribut propre. Sa dimension est deux. Elle relie «ADHERENT» à ««MATCH» Elle est de cardinalité M..N car un «ADHERENT» peut perdre plusieurs «MATCH» et un «MATCH» ne peut être perdu que par un seul «ADHERENT» Même raisonnement pour la relation «gagnant» La relation «perdant» Elle n'a pas d'attribut propre. Sa dimension est deux. Elle relie «ADHERENT» à ««MATCH» Elle est de cardinalité M..N car un «ADHERENT» peut perdre plusieurs «MATCH» et un «MATCH» ne peut être perdu que par un seul «ADHERENT» Même raisonnement pour la relation «gagnant» La relation «organise» Elle n'a pas d'attribut propre. Sa dimension est deux. Elle relie «CLUB» à «TOURNOI» Elle est de cardinalité M..N car un «CLUB» peut organiser plusieurs «TOURNOI», et un «TOURNOI» peut être organisé par plusieurs «CLUB» Même raisonnement pour la relation «invité» 5. Schéma final de l opérationnel

Enfin, grâce au logiciel Rational Rose, ce diagramme a pu être retranscrit en script SQL pour créer les tables correspondantes sous ORACLE. DATE (from Package_Opérationnal) Id_Date : Date déroule ADHERENT (from Package_Opérationnal) numéro_adhérent : Integer nom_adhérent : String prénom_adhérent : String adresse_adhérent : String situation_matrimoniale : String nbr_enfant : Integer sexe : String numéro_licence : Integer perdant gagnant MATCH (from Package_Opérationnal) numéro_match : Integer appartient composé CLUB (from Package_Opérationnal) numéro_club : Integer nom_club : String adresse_club : String téléphone_club : String organise invité TOURNOI (from Package_Opérationnal) numéro_tournoi : Integer nom_tournoi : String II- Modélisation du système d information décisionnel (S.I.D) 1. Comment obtenir le schéma en étoile?

Le schéma en étoile s appui sur les classes mis en évidence lors de la modélisation de l opérationnel, ainsi on retrouve les tables : -«ADHERENT» -«CLUB» -«TOURNOI» -«MATCH» -«DATE» On a au milieu, une table de faits connectée à l ensemble des tables de dimensions : -«Table de faits Tennis» Les tables autours de la table de faits sont toute repéré par un identifiant unique, on retrouve également ces identifiant dans la table de faits. Ainsi la table : «ADHERENT» a pour identifiant numéro_adhérent «CLUB» a pour identifiant numéro_club «TOURNOI» a pour identifiant numéro_tournoi «MATCH» a pour identifiant numéro_match «DATE» a pour identifiant Id_Date La table de faits contient également une série d attribut qui représente les mesures c est à dire ce que l on veut calculer et mémoriser pour étudier les différentes caractéristiques des matchs de tennis. Selon ce que veut étudier le responsable de la ligue, on distingue les attributs suivant : -nombre_match_gagné -nombre_match_effectué -nombre_spectateur -nombre_match_organisé

2. Schéma en étoile TOURNOI numéro_tournoi : Integer nom_tournoi : String ADHERENT numéro_adhérent : Integer nom_adhérent : String sexe : String Table de fait "Tennis" nbr_match_gagné : Integer nbr_match_effectué : Integer nbr_spectateur : Integer nbr_match_organisé : Integer MATCH numéro_match : Integer CLUB numéro_club : Integer nom_club : String cathégorie_club : String DATE Id_Date : String semaine : Integer mois : Integer année : Integer

3. Comment obtenir le schéma en flocon? Le schéma en flocon n est qu une évolution du schéma en étoile. En effet, le schéma en flocon est un raffinement du précédent où certaines tables de dimensions sont normalisées (donc décomposées) On a donc normalisé les trois tables suivantes : -«ADHERENT» -«CLUB» -«DATE» De la table «CLUB», on a mis en évidence une table : -«CATHEGORIE» De la table «ADHERENT», on a mis en évidence la tables : -«SEXE» De la table «DATE», on a mis en évidence une table : -«MOIS» Les attributs des nouvelles tables sont des attributs évident. La table de faits reste inchangée. 4. Schéma en flocon

TOURNOI numéro_tournoi : Integer nom_tournoi : String ADHERENT numéro_adhérent : Integer nom_adhérent : String Id_Sexe : String Table_de_fait_Tennis nbr_match_gagné : Integer nbr_match_effectué : Integer nbr_spectateur : Integer nbr_match_organisé : Integer MATCH numéro_match : Integer SEXE Id_Sexe : String féminin : String masculin : String CLUB numéro_club : Integer nom_club : String Id_Cathégorie : String CATHEGORIE Id_Cathégorie : String junior : String senior : String SEMAINE Id_Semaine : String semaine : Integer mois : Integer année : Integer Id_Mois : String MOIS Id_Mois : String mois : Integer année : Integer Id_Année : String ANNEE Id_Année : String année : Integer 5. Synthèse du décisionnel La base décisionnelle, conçue à partir de la base opérationnelle, va permettre de répondre aux requêtes désirées : Nombre de matches gagnés et nombre de matches effectués : - par adhérent, par catégorie, par club, par sexe - par semaine, par mois, par année Nombre de matches organisés : - par club - par semaine, par mois, par année Nombre de spectateurs - par match, par club, par catégorie

- par semaine, par mois, par année? Nous avons donc une première table, «Table de faits Tennis», qui contient les indicateurs qui nous permettront de répondre aux questions suivantes : Table de faits Tennis Nombre de matches gagnés Nombre de matches effectués Nombre de matches organisés Nombre de spectateurs? Notre table «CLUB» permettra de répondre aux requêtes par club : CLUB Numéro du club Nom du club Identifiant de la catégorie? Notre table «ADHERENT» permettra tout particulièrement de répondre aux requêtes par adhérent : ADHERENT Numéro de l adhérent Nom de l adhérent Identifiant du sexe? Notre table «SEXE» permettra de répondre aux requêtes par sexe : SEXE Identifiant du sexe féminin masculin? La table «MATCH» permettra de calculer le nombre de matches : MATCH Numéro de match? La suivante regroupera les réponses par catégorie : CATEGORIE Identifiant de la catégorie Junior Senior? Les tables «SEMAINE», «MOIS» et «ANNEE» nous permettront de regrouper les réponses par semaine, par mois ou par année : SEMAINE Identifiant de la semaine Numéro de la semaine Numéro du mois Numéro de l année

Identifiant de la date MOIS ANNEE Identifiant du mois Numéro du mois Numéro de l année Identifiant de la semaine Identifiant de l année Numéro de l année Identifiant du mois III- Modèle physique du S.I.O et S.I.D et remplissage du S.I.O avec un jeu d essai. Le SIO est remplit avec le jeu d'essai suivant:

INSERT INTO T_TOURNOI (numéro_tournoi, nom_tournoi) VALUES (1, 'Rolland Garos'); INSERT INTO T_TOURNOI (numéro_tournoi, nom_tournoi) VALUES (2, 'Open d'autralie'); INSERT INTO T_TOURNOI (numéro_tournoi, nom_tournoi) VALUES (3, 'Tournoi des nul'); INSERT INTO T_TOURNOI (numéro_tournoi, nom_tournoi) VALUES (4, 'Tournoi des fort'); INSERT INTO T_TOURNOI (numéro_tournoi, nom_tournoi) VALUES (5, 'Tournoi à deux balle'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (1, 'Legrand', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (2, 'Lepetit', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (3, 'Lebalise', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (4, 'Lenul', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (5, 'Legrand', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (6, 'Lepetit', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (7, 'Lebalaise', 'son_sexe'); INSERT INTO T_ADHERENT (numero_adhérent, nom_adhérent, Id_Sexe) VALUES (8, 'Lenul', 'son_sexe'); INSERT INTO T_MATCH (numero_match) VALUES (1); INSERT INTO T_MATCH (numero_match) VALUES (2); INSERT INTO T_MATCH (numero_match) VALUES (3); INSERT INTO T_MATCH (numero_match) VALUES (4); INSERT INTO T_MATCH (numero_match) VALUES (5); INSERT INTO T_MATCH (numero_match) VALUES (6); INSERT INTO T_MATCH (numero_match) VALUES (7); INSERT INTO T_MATCH (numero_match) VALUES (8); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (1, 'Cergy'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie)

VALUES (2, 'Paris', 'la_cathégorie'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (3, 'Amiens', 'la_cathégorie'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (4, 'Aubervillier', 'la_cathégorie'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (5, 'Creil', 'la_cathégorie'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (6, 'Beauvais', 'la_cathégorie'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (7, 'Lille', 'la_cathégorie'); INSERT INTO T_CLUB (numéro_club, nom_club, Id_Cathégorie) VALUES (8, 'Beauvais', 'la_cathégorie'); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('1ere_journe', 01, 'le_mois', 2005); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('2eme_journe', 02, 'le_mois', 2005); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('3eme_journe', 03, 'le_mois', 2005); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('4eme_journe', 04, 'le_mois', 2005); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('5eme_journe', 05, 'le_mois', 2005); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('6ere_journe', 06, 'le_mois', 2005); INSERT INTO T_DATE (Id_Date, jour, Id_Mois, année) VALUES ('7ere_journe', 07, 'le_mois', 2005); INSERT INTO T_SEXE (Id_Sexe, féminin, masculin) VALUES ('son_sexe', 'oui', 'non'); INSERT INTO T_SEXE (Id_Sexe, féminin, masculin) VALUES ('son_sexe', 'non', 'oui'); INSERT INTO T_CATHEGORIE (Id_Cathégorie, junior, senior) VALUES ('la_cathégorie', 'oui', 'non'); INSERT INTO T_CATHEGORIE (Id_Cathégorie, junior, senior) VALUES ('la_cathégorie', 'non', 'oui'); INSERT INTO T_MOIS (Id_Mois, année) VALUES ('le_mois', 2005); INSERT INTO T_MOIS (Id_Mois, année) VALUES ('le_mois', 2006); INSERT INTO T_MOIS (Id_Mois, année) VALUES ('le_mois', 2007); INSERT INTO T_MOIS (Id_Mois, année) VALUES ('le_mois', 2008);

http://www.google.fr/ IV- ETL (Extract, Transform and Load) 1. Etapes du programme. 2. Exemple. 3. Difficultés rencontrées. Conclusion