INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL



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

Information utiles. webpage : Google+ : digiusto/

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

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

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

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

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

Bases de données Cours 1 : Généralités sur les bases de données

Mercredi 15 Janvier 2014

Introduction à la B.I. Avec SQL Server 2008

Bases de Données Avancées

UE 8 Systèmes d information de gestion Le programme

1 Introduction et installation

Bases de données relationnelles : Introduction

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

Les bases de données Page 1 / 8

INTRODUCTION AUX BASES de DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Cours Bases de données

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

Systèmes d information et bases de données (niveau 1)

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Introduction aux Bases de Données

Base de Données et Langage SQL

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

THOT - Extraction de données et de schémas d un SGBD

Entrepôt de données 1. Introduction

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)

Introduction aux Bases de Données

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Dossier I Découverte de Base d Open Office

Nom de l application

Conception, architecture et urbanisation des systèmes d information

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Rappel sur les bases de données

Modèle conceptuel : diagramme entité-association

4.2 Unités d enseignement du M1

Conception d une base de données

Licence Professionnelle en Statistique et Informatique Décisionnelle (S.I.D.)

Master Informatique Aix-Marseille Université

Introduction aux SGBDR

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

QU EST-CE QUE LE DECISIONNEL?

Visual Paradigm Contraintes inter-associations

données en connaissance et en actions?

Les bases de données

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

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

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

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

Bases de Données. Plan

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

et les Systèmes Multidimensionnels

Gestion des bases de données

16H Cours / 18H TD / 20H TP

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Bases de données avancées Introduction

Modélisation des données

UML (Diagramme de classes) Unified Modeling Language

Université de Bangui. Modélisons en UML

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

Les Entrepôts de Données

Le langage SQL Rappels

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

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

CESI Bases de données

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

Bases de données relationnelles

Didier MOUNIEN Samantha MOINEAUX

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

Méthodologie de conceptualisation BI

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

Bases de données cours 1

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Analyse de grandes bases de données en santé

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

Bases de données Outils de gestion

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)

BUSINESS INTELLIGENCE

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

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Bases de Données Avancées

LIVRE BLANC Décembre 2014

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

Bases de données élémentaires Maude Manouvrier

Introduction au datamining

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

INTRODUCTION AU DATA MINING

Bases de données. Chapitre 1. Introduction

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Introduction au Data-Mining

SQL SERVER 2008, BUSINESS INTELLIGENCE

Les bases de données relationnelles

Transcription:

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL Master2 Modélisation Statistique - Génie logiciel & Bases des données Laboratoire de Mathématiques CNRS - Université de Franche-Comté Département de mathématiques Table des matières I - ORGANISATION PEDAGOGIQUE DES COURS ET DES TPs 3 I.1 - Objectifs.............................................. 3 I.2 - Déroulement du parcours..................................... 3 I.3 - Trousseau avec les outils indispensables............................. 4 II - NOTIONS DE BASES DE DONNEES ET DE SYSTEMES DE GESTION DE BASES DE DONNEES (SGBD) 5 II.1 - Qu est-ce qu une base de données?............................... 5 II.2 - Un peu d histoire à partir des années 1900........................... 6 II.3 - Problématique de recherche et de cohérence des données................... 7 II.4 - Réponse par la modélisation................................... 7 II.5 - Les SGBD(R) : rôle et objectifs................................. 8 II.5.1 Gestion et accès....................................... 8 II.5.2 Principaux SGBDR et domaines d application....................... 8 II.6 - Une finalité : Analyse ou fouille de données avec le Data mining............... 9 II.6.1 Apprentissage statistique dans un contexte identifié et utilité.............. 9 II.6.2 Démarche, méthode et logiciels............................... 10 II.7 - Le NoSQL, pourquoi faire?................................... 11 III - CONCEPTION DE BASES DE DONNEES PAR LE MODELE ENTITE-ASSOCIATION (E-A) 12 III.1 - Introduction à la conceptualisation et à la modélisation.................... 12 III.2 - Composants du modèle E-A ou Entité-Association....................... 13 III.2.1 types-entités et entités.................................... 13 III.2.2 types-associations et associations.............................. 13 III.2.3 attributs, valeurs, clés d identification et schéma de relation.............. 14 III.2.4 cardinalités sur les type-entités et les type-associations.................. 14 III.3 - Normalisation........................................... 15 III.3.1 Pourquoi normaliser?.................................... 15 III.3.2 Dépendances fonctionnelles ou DF ou en anglais functional dependency........ 16 III.3.3 Décomposition........................................ 16 III.3.4 Les formes normales..................................... 17 III.4 - Guide pratique de la modélisation des données par étape................... 18 http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -1-

IV - REPRESENTATION PAR LE MODELE RELATIONNEL 21 IV.1 - Objectif de la représentation................................... 21 IV.2 - Comment passer du modèle Entiétés-Associations au modèle relationnel?.......... 21 IV.2.1 Règles générales et de base : Relation, domaine, cardinalité et degré.......... 21 IV.2.2 Règles particulières..................................... 22 IV.2.3 Intégrité des données : clés, valeur NULL et schéma relationnel............. 23 IV.2.4 Les types de données..................................... 24 IV.2.5 Les opérateurs relationnels................................. 25 V - LANGAGE SQL : QUE PERMET-IL DE FAIRE? 26 V.1 - Présentation et un bref historique................................ 26 V.2 - Définir et manipuler les données................................. 27 V.3 - Les actions possibles du langage SQL.............................. 28 V.3.1 Les créations de tables.................................... 28 V.3.2 Les requêtes simples..................................... 29 V.3.3 Les vues et les index..................................... 29 V.3.4 Les jointures......................................... 30 V.4 - Insérer et modifier les données.................................. 30 V.5 - Interroger des bases de données................................. 31 VI - LIENS INTERNET ET REFERENCES BIBLIOGRAPHIQUES 32 Selon T.Connoloy et C.Begg : On peut considérer que le système de bases de données est le plus important développement dans le domaine du génie logiciel. Les bases de données sont devenues, depuis plus de 20 ans, un domaine très productif en matière de l ingénierie logicielle (outils SGBD) et de développements en tout genre ; c est un domaine de recherche scientifique à forte productivité économique qui génère une multitude de services dans divers domaines et au sein des systèmes d information des entrprises. Jean Bodin disiat : Il n est de richesses que d hommes, mais c est surtout au quotidien que nous sommes amenés à utiliser d autres richesses, celles des bases de données en ligne. Il nous arrive souvent de retrouver des informations qui nous concernent au sein de bases de données et ce, parfois utilisée ou stockées à notre insu. Les achats sur internet, les consultations et mises à jour des stocks de produits, le retrait d un billet de train, le passage en caisse d un supermarché, votre inscription à l université, et bien d autres... ; toutes ces actions ont un point commun qui est l utilisation directe ou indirecte de bases de données. Actuellement en France, deux grandes bases de données dans les domaines de l enseignement et de la santé permettent de suivre les formations assurées (au moyen des interfaces TIC en ligne, comme les Espaces Numériques de Travail) et les dossiers médicaux des patients (comme le dossier médical informatisé). Cette informatisation au sein des bases de données se doit de respecter les obligations légales vis-à-vis de la loi sur la protection des données à caractère personnel (loi informatique et libertés du 6 janvier 1978). Le but de cette initiation est d appréhender une méthode pour la modélisation conceptuelle et relationnelle des bases de données et le langage SQL en essayant de démystifier par une mise en pratique des notions qui se cachent derrière les bases de données et les système de gestion de ces bases. Qu en est-il réellement? est-ce un pur hasard? Non, les bases de données ne relèvent pas du hasard, mais bien du domaine de la conception et de la modélisation selon un formalisme et des règles basés sur l algèbre relationnelle. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -2-

I - ORGANISATION PEDAGOGIQUE DES COURS ET DES TPs I.1 - Objectifs Le cours de bases de données, comportant cinq parties, est accompagné de travaux pratiques ou dirigés vise à initier à la conception et à la modélisation de bases de données. Il s agit également d acquérir des connaissances sur le modèle relationnel, sur la méthode MERISE et sur l existence d outils pour gérer et exploiter ces données. Il s agit donc de : Concevoir une base de données à partir d un contexte et d un besoin réel ; quel est exactement le problème à représenter et à modéliser? S approprier et de savoir identifier les concepts de base de données et de modèle relationnel ; Elaborer un modèle conceptuel de données selon la méthode Merise ou Entité-Association ; Traduire un modèle conceptuel en modèle logique de données ; Proposer une base de données normalisée avec des données ; Être capable d exploiter les données par les outils SGBD et le langage SQL. Dans ce cours il sera abordé les aspects de conception, de modélisation et de normalisation afin de voir que toute base de données ou tout un ensemble de données peut être utilisé par n importe quel outil SGBD (ACCESS, MYSQL, SAS, R,...) et pour différents traitements ou domaines d exploration. Auparavant, il fallait être informaticien de métier et il aurait fallu plusieurs semaines pour produire des résultats de requêtes...et ce, à prix fort! mais maintenant, un statisticien peut très rapidement créer et manipuler des bases de données en compagnie ou pas d informaticiens. Grâce aux nombreux développements et au nombreuses technologies, c est plutôt une équipe d utilisateurs qui devra faire preuve d une grande agilité. Ils auront parfois à créer et optimiser des bases de données ; mais, le plus souvent ils devront manipuler et exploiter des bases de données selon des rôles et des droits bien distincts : en tant que développeur, technicien, ou ingénieur statisticien... Les informations sous forme de données constituent la matière première et le point commun de tous ces utilisateurs qui trouvent tous leur compte dans leur mission et les objectifs qui leur sont confiés. I.2 - Déroulement du parcours 8 séances partagées entre cours et TD/TP Particularité : contrat de professionnalisation en alternance (dès le 5 octobre) 2 interventions extérieures programmées : la société SAS, sur le Data Mining ou en Biostatistique Exemples d illustration en cours et TP : gestion de films de cinéma, location de véhicules, gestion de commandes d articles, gestion d une bibliothèque Points non abordés en TP/TD : modélisation UML et orientée objets Projet en binôme et évalué 2 ou 3 sujets de projet au choix seront proposés en début de parcours 9eme séance : contrôle final Note finale = 1 note du contrôle final (70%) + 1 note de projet (30%) http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -3-

Remarque 1 Des exemples de cas concrets permettront d illustrer les différents concepts à l oral, en TP et au tableau : la gestion des livres et auteurs, la gestion d une bibliothèque, la gestion des films de cinéma, la location de véhicules ou soit la gestion des commandes d artiche sur un site marchand en ligne. L exemple du contexte présenté sera la gestion des films de cinémas : pour chacun des films, il s agit de connaître leur genre, dans quelle salle de cinéma ils ont été projetés et à quelle date ; il s agit de savoir qui a été acteur et/ou réalisateur des films ; pour chacun des cinémas, il s agit de connaître le nombre de salles et leur capacité d accueil et leur adresse et il s agit également d effectuer un sondage sur les les films projetés afin de recueillir les impressions des spectateurs. L exemple de la location de voitures : il s agit de louer des catégories de voitures écologiques et économiques à différents clients pour se rendre à la nouvelle gare SNCF ; il s agit d afficher la liste des véhicules disponibles et leurs tarifs, d obtenir toutes les locations pour chacun des clients et leur taux de remise... L exemple des commandes d articles : il s agit d obtenir toutes les commandes d articles par client et les quantités commandées et leur date... Remarque 2 L exemple du contexte présenté sera la gestion d une bibliothèque afin d voir un historique des exemplaires de livres et des emprunts : les livres d une bibliothèque ont un numéro d exemplaire, un titre, des auteurs et des éditeurs ; il s agit de développer une application pour retrouver les différents exemplaires d un livre ; il s agit pouvoir retrouver les personnes qui empruntent à telle date tel ou tel exemplaire de livre et leur date de retour. chaque personne peut emprunter au maximum 25 livres en même temps et il s agit de retrouver la liste des livres empruntés par chaque personne. Remarque 3 Par ailleurs, ces différentes notions du cours sont illustrées souvent à l oral (et au tableau) et par un cas pratique : Les exemples cités portent sur les relations CLIENT et ARTICLE, ABONNE et LIVRE, ETUDIANT et ETABLISSEMENT, PERSONNE et VOITURE ; Un cas pratique (du chapitre III) portant sur la location de véhicules occupe deux séances de TP. Remarque 4 ATTENTION : Le département de mathématiques a développé une base de données AAE (Application Anciens Etudiants) au sein de laquelle vous devez entrez les informations liées à votre cursus en Modélisation et Statistique : Cette base de données est uniquement accessible en interne pour le moment ; Chaque étudiant devra renseigner (le plus tôt possible) ses informations personnelles et propres à son projet final et stage de M2 (nom entreprise,...). I.3 - Trousseau avec les outils indispensables Plusieurs outils sont nécessaires à la modélisation d une problématique et à l application de la méthode qui sera abordée par la suite. Un certain formalisme repris au sein de ces outils est indispensable car il permet d interagir avec les systèmes de gestion des bases de données. Un programme assez commun et assez simple appelé MySQL sera l outil de référence pour la gestion des bases de données ; il est sous licence GPL et propriétaire ; racheté par la société SUN en 2008, MySQL est maintenant sous la coupe de ORACLE depuis 2009 car celle-ci a racheté SUN. Alors jusqu à quand MySQL? mais si MariaDB (sous licence GPL) est le petit nouveau et encore trop jeune, alors il reste la possibilité de passer sur PostgreSql. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -4-

Un autre outil et programme PhpMyadmin" est une interface graphique et web permettant d interagir pleinement avec MySQL ; il s installe au sein de votre installation web ou se trouve au sein d un package ; et une fois installé, pour accéder à cette interface il faut saisir l adresse URL dans le navigateur internet http ://adresse_ip_machine/phpmyadmin (remplacer l adresse IP per localhost si c est sur une machine locale) Programme Microsoft Office Access de la suite bureautique Microsoft Office Pro Et un autre outil graphique MySQL Workbench qui permet de créer des schémas et de procéder au reverse engineering quand on ne connaît pas le schéma de conception d une base de données et qu il n est pas possible d obtenir une documentation ; la définition des tables permettra éventuellement de retrouver tout ou une partie du schéma de la base. Pour le SGBD PostgreSQL il faudra plutôt utiliser le programme SQL Power Architect qui est également en licence GPL version 3. II - NOTIONS DE BASES DE DONNEES ET DE SYSTEMES DE GESTION DE BASES DE DONNEES (SGBD) II.1 - Qu est-ce qu une base de données? Une base de données, n est surtout pas un logiciel qui gère des données! ; c est concrètement un jeu de données précis portant sur un domaine et des fichiers physiques qui comportent ces données. Ce n est aucunement des feuilles de calculs (comme des tableurs Excel...) ou des documents de traitement de texte (de type Word...), mais bien des fichiers organisés comportant des enregistrements ou des tuples. Définition 1 Les bases de données : (ou data base) sont des ensembles structurés et organisés de données permettant de stocker et de manipuler simplement des grandes quantités d informations. Les données sont structurées car elles stockent des informations propres à des objets ou à des entités. Et il existe souvent des relations entre les objets, appelées associations. La structure des informations stockées relève d une modélisation préalable. la modélisation : passe par plusieurs phases de conception qu il est courant d appeler le modèle conceptuel de données (MCD), le modèle logique de données (MLD) et le modèle physqiue de données (MPD) ; ce modèle est fondamental car il établit les relations entre les objets (entités) ; cela relève d une méthode appelée MERISE. la méthode MERISE : appelée Méthode d Etude et de Réalisation Informatique pour les Systèmes d Entrprise et conçue dans les années 70 mais opérationnelle dans les années 80, est une méthode systémique de de conceptualisation et de formalisation la plus connue et utilisée surtout en France et en Europe ; de façon concrète, tout projet de création et/ou d amélioration de bases de données sera basé sur des flux de données entrants et sortants. MERISE est basé sur des niveaux de modèles déjà cités ci-dessus : un niveau conceptuel qui fait abstraction de toutes contraintes techniques et organisationnelles ; un niveau logique qui fait également abstraction des propriétés techniques ; et un niveau physqiue qui organise techniquement le système. Il s agira de passer par une phase de réflexion afin d organiser les données, de voir quelles sont les tables (colonnes) à créer, de voir comment organiser les données dans chaque table et les relations présentes entre les tables ; cela est comparable aux fondations d une maison et il faut éviter que tout s écroule! http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -5-

Remarque 5 Plusieurs modèles de bases de données existent au sein des outils SGBD (Systèmes de Gestion des Bases de Données) : Les modèles dits de 1ere génération comme le modèle hiérarchique et en réseau, Les modèle dits de 2eme génération comme le modèle orienté objet et surtout le modèle relationnel qui est celui qui sera abordé dans ce cours. II.2 - Un peu d histoire à partir des années 1900 Remarque 6 Le terme de bases de données (data base) apparaît dans les années 60 avec les militaires américains ; le fichier classique est différent de la base de données qui reste une approche logique d informations. Les années 70 voient le développement des systèmes hiérarchiques et du réseau ; Le docteur chercheur de IBM, Ted CODD, invente la théorie des relations et des ensembles et l algèbre relationnelle ; La société ORACLE Corp. sort en 1976 la première version de se son système de gestion SGBDR appelé ORACLE ; Les années 80 voient plutôt l explosion de l informatique et des SGBD basés sur les modèles relationnels ; En 1982, c est l apparition du langage SQL complétant les modèles relationnels qui a été normalisé par la suite entre 1986 et 1990 ; Dans les années 90 se développent de nombreuses applications logicielles pour gérer les données ; Avec les années 2000 arrivent très vite les développements Web et des logiciels PHP et MySQL. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -6-

II.3 - Problématique de recherche et de cohérence des données De nombreuses données ou informations constituent notre monde réel avec des individus qui ont leur propre vision des choses...les statisticiens, que vous êtes et non informaticiens, devant des problèmes complexes et nombreux à résoudre formulent des requêtes qui peuvent être résolues par la conception et l utilisation de bases de données relationnelles. De nombreuses questions se posent à un moment donné : Quelles informationsou données (ou type d information) souhaite-t-on obtenir? Comment faire pour stocker et manipuler les données? Qui peut obtenir ou accéder aux informations? Quelles sont les possibilités d accès? Comment récupérer ou exploiter facilement telle ou telle information en évitant la redondance...? et ainsi de suite... Un début de réponse peut être trouvé avec les outils de modélisation et informatiques tels que les serveurs de fichiers, les fichiers, les réseaux interconnectés, les interactions possibles des utilisateurs avec les données via un SGBD ou un logiciel, mais cela ne semble pas suffisant! II.4 - Réponse par la modélisation Modéliser c est donner une représentation d un domaine ou d un contexte en choisissant ce qui est à décrire afin de voir les objets à représenter. La multitude des informations et l immense variété des phénomènes obligent à modéliser pour rechercher des informations, observer des tendances et des lois d évolution. Pour cela, si la statistique permet de mesurer alors que les bases de données et les SGBD sont les outils pour modéliser et simuler les situations aussi variées que possibles. Quotidiennement nous sommes confrontés aux problèmes de stockage, de recherche et de sélection des informations et à leur pérennité.la modélisation aboutit à des bases de données permettant d améliorer la qualité et la rapidité des informations obtenues, lesquelles informations permettent de prendre des décisions et de répondre au plus vite à des objectifs. Propriété 2 La modélisation s appuie sur 4 concepts : un domaine ; des types-entités ou des objets qui deviendront des relations et des tables ; des attributs qui sont les propriétés des types-entités ; des relations qui sont des liens sémantiques entre ces types-entités. Exemple 1 par exemple, pour commercialiser un prototype il est nécessaire de connaître tous les brevets déposés au préalable et donc les concurrents positionnés sur des parts de marché ; Ou encore un client désire acheter des articles sur un site de commerce en ligne. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -7-

II.5 - Les SGBD(R) : rôle et objectifs Les SGBDRs : ou les Systèmes de Gestion de Bases de Données Relationnels sont des système ou ensembles d outils logiciels supportant le modèle relationnel et permettant des actions de manipulations sur les données avec des opérateurs relationnels :. Ils sont très souvent relationnels et en architecture client-serveur, et possède un langage standard pour l accès aux données : SQL (Structured Query Language). II.5.1 Gestion et accès Les SGBDRs sont des outils permettant de gérer les bases de données et d assurer les différents niveaux d accès à ces bases. Ces systèmes possèdent des modèles de description de données qui sont surtout maintenant de type relationnel ou objet et comportent également un ensemble de programmes pour mémoriser, manipuler et traiter des ensembles et gros volumes de données. Outre l accès et le partage de données, les systèmes SGBD ont la capacité de résoudre un certain nombre de problèmes qui peuvent survenir sur les bases de données : des modifications et insertions de données qui mettent à mal la cohérence des données ; des pannes physiques sur des serveurs et sur des bases ; des accès multiples et concurrentiels aux bases. Il est courant de représenter les systèmes SGBD sous la forme de couches ou de niveaux : physique (système de gestion et de stockage de fichiers), pointeurs et index (accès rapide aux données) et interface (accès et présentation des données aux différents utilisateurs). Ils font appel au système de gestion de fichiers mais n ont pas du tout les mêmes objectifs. les objectifs des SGBDs sont multiples et fondamentaux car ils assurent : 1. la cohérence des données par la vérification des contraintes d intégrité, 2. la non redondance des données par la limitation des ressources matérielles et la facilité de maintenance ou de mise à jour, 3. l indépendance physique par la représentation des données indépendamment du matériel, 4. l indépendance logique par des visions différentes des données indépendamment du schéma conceptuel de base de données, 5. l accès partagé et sécurisé des données par des niveaux d accès autorisés à des utilisateurs non informaticiens ou techniciens (comme les statisticiens). II.5.2 Principaux SGBDR et domaines d application Les SGBDRs les plus connus sur le marché sont : 1. ACCESS : en environnement Windows, en licence commerciale, en mode monoposte ; 2. MYSQL, POSTGRESQL : en environnement Windows et Linux, en licence libre, en mode client et serveur ; 3. ORACLE : en environnement Windows et Linux, en licence commerciale, en mode client et serveur ; 4. SQL SERVER : en environnement Windows, en licence commerciale, en mode client et serveur. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -8-

Les domaines d application sont multiples... : un domaine portant sur des informations très structurées comme la gestion ( des stocks, de la paye... ), un domaine très courant portant sur les données textuelles comme la documentation (recherche documentaire en bibliothèque...), le domaine de l intelligence artificielle (IA), le domaine des entrepôts de données («Datawarehouse»), le domaine des bases de données et des statistiques («Data Mining»). II.6 - Une finalité : Analyse ou fouille de données avec le Data mining Faut-il avoir peu de données et de très bonne qualité, ou alors beaucoup de données avec de forts taux d erreur? on est envahi par le phénomène du Big Data et d un accroissement sans limite de la quantité de données qui fait que ces données ne peuvent ne peuvent plus être analysées manuellement ; la bio-informatique a connu par exemple un accroissement sans commune mesure avec 7200% environ du nombre de génomes et une augmentation associée du volume de stockage des données (en Téraoctets). Ce qui est sûr, il faut disposer de données de bonne qualité. Définition 2 Le terme de Data Mining signifie littéralement «forage de données» qui est le fait de fouiller dans un gros volume de données afin d extraire un ou plusieurs élément(s) comportant la connaissance de certaines données et de transformer ces données en connaissances. Il est encore appelé "Knowledge discovery in databases", "data/pattern analysis" ; ces connaissances extraites pourront permettre de décire un éventuel comportement ou de prédire un comportement à venir... ; Ensemble d algorithmes et de méthodes pour l analyse de données des grandes bases de données relationnelles en réunissant plusieurs disciplines ou domaines (bases de données, statistiques, science de l information, auto-apprentissage, visualisation,...) ; les techniques utilisées sont la recherche de motifs ou la technique descriptive, la technique prédictive ou l extrapolation de nouvelles informations à partir de données de départ. Exemple 2 Un exemple d algorithme de Data mining, Apriori, de Agrawal et Srikant en 1994. il permet de découvrir des règles d association ou relations entre plusieurs items ; mais pour cela, il analyse une ensemble de transactions qui comportent des items dans un ordre bien précis lesquels définissent un domaine d application ; une fréquence d items peut se dégager si un motif apparaît souvent dans la base de données ; après analyse des tickets de caisse d une chaîne de magasins américaine, une corrélation a été trouvée entre l achat de couches pour bébés et l achat de bières le samedi après-midi ; comme les femmes avaient envoyées leurs maris faire des courses le samedi après-midi ; la connaissance nouvelle fait qu en plaçant les bières toutes proches du rayon des couches avait fait augmenté les ventes de bières! II.6.1 Apprentissage statistique dans un contexte identifié et utilité Dans un contexte identifié, il s agit de définir le problème afin de repérer les objectifs à atteindre et de les traduire en un problème d apprentissage statistique ; pour cela : 1. voir les données historiques disponibles, http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -9-

2. voir les données variables au moment des prises de décision, 3. voir les variables dépendantes (temps,...), 4. voir les critères pour la mesure de qualité en fonction de chaque solution, 5. voir les solutions déjà existantes et leur pertinence, et procéder à des comparaisons. Le data mining est d une grande utilité pour plusieurs raisons car il permet : d améliorer la qualité et les processus au sein du système d information ; il n est ni plus ni moins qu un outil technologique associé à une fonction marketing...! d améliorer la connaissance d une partie de l environnement et des acteurs associés et de réaliser des modèles d un genre nouveau avec des relations entre des descriptions et des résultats mais pour cela, il faut appliquer le modèle sur certaines variables qui sont capables d expliquer des situations nouvelles pour d atteindre les résultats escomptés. II.6.2 Démarche, méthode et logiciels Le data mining n a rien à voir avec la statistique descriptive mais représente bien une analyse confirmatoire vers une analyse explorative (selon le grand statisticien américain John Wilder Tukey) qui permet de modéliser des grandes bases de données afin de découvrir des nouvelles relations entre certaines données selon : le théorie de l information avec les arbres de décision CART,... l intelligence artificielle (IA) avec les réseaux de neurones, les techniques heuristiques, les méthodes statistiques (analyse discriminante, arbre de décision CHAID, régression...). Remarque 7 Après avoir extrait les données brutes (du domaine informatique et des bases de données), il s agit de les analyser de façon statistique : Les données sont stockées au sein de bases de données relationnelles (tables, clés,...) permettant d élaborer des requêtes et des sripts pour l extraction de données souhaitées selon des échantillons (en provenance du logiciel SAS ou bien d autres) et ce dans un format exploitable ; un modèle le plus adapté possible peut être réalisé au moyen des outils statistiques et de visualisation permettant d importer les données extraites précédemment ; des calculs sont réalisés permettant d afficher des statistiques de base ou bi-variées entre des variables dépendantes ou indépendantes. L objectif du Data mining est de tenter de découvrir des nouvelles règles, de nouvelles tendances ou des structures particulières d informations au sein des SGBD : comportements, styles de vie, profils... Il s agit d anticiper et de décider selon un objectif au sein d un système d information ou d une organisation tout en analysant les risques. Et au final, cela permet d acquérir de la connaissance qui permettra de satisfaire ou non les besoins et les objectifs émis au départ. Cette acquisition ou exploration se fait : 1. en fonction des grands espaces ou volumes de données (des millions d individus ou populations et des centaines de variables numériques ou textuelles) ; 2. et dans des secteurs ou domaines économiques majeurs : hospitalier, banque, téléphonie, grande distribution... Face à la multitude des données présentes dans les bases de données, il est souvent possible de caractériser des tendances ou des comportements : Données vs Connaissances http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -10-

Multitude de données BDD relationnelles BDD transactionnelles Entrepôts de données BDD spatiales Données temporelles Données textuelles et multimédia BDD relationnelles objet Types de connaissances Associations, relations Comportements, profils, tendances Clustering classifications......... Quelques logiciels pour l aide décisionnelle outils logiciels WEKA (libre) TANAGRA ex-sipina(libre) R (libre) SAS SPSS Modeler Editeurs Université de Waikato (NZ) Université de Lyon (FR) Université d Auckland (NZ) SAS Institute IBM Quelques liens internet de ces logiciels http ://www.cs.waikato.ac.nz/ ml/weka/ http ://sipina.over-blog.fr/ http ://eric.univ-lyon2.fr/ ricco/tanagra/en/tanagra.html http ://www.r-project.org/ http ://www.sas.com/offices/europe/france/ http ://www-01.ibm.com/software/analytics/spss/products/modeler/ II.7 - Le NoSQL, pourquoi faire? Définition 3 Le NoSQL signifie littéralement «Not SQL ou Not only SQL» n est pas un nouveau langage SQL avec encore plus de rquêtes, mais plutôt une nouvelle façon d approcher le stockage des données. Ce concept est apparu dans les années 2000 et s est construit pour faire face à des problèmatiques difficiles liées à la multitude de données, et donc à des volumes d enregistrements stockés et modifiés en permanence ; souvent, les données sont réparties et stockées sur plusieurs machines et pas forcément sur le même réseau d entreprise C est une nouvelle technologie capable de proposer une architecture technique pouvant répondre à différents ou nouveaux problèmes et répondre à de nouvelles exigences de société.. Dans un contexte où les données sont considérables, certaines problématiques de gestion de ces données (et leurs bases) peuvent ne pas trouver de solution avec les bases de données classiques et de type relationnelles. Il s agit alors de faire appel à un moteur de bases de données de type NoSQL (comme HBase, Cassabdra, MongoDB ou CouchDB) afin de donner une nouvelle vision ou représentation de l information et donc du stockage, et en s affranchissant : http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -11-

1. des contraintes traditionnelles d atomicité, de cohérence, d intégrité et de durabilité, 2. de la notion de table ou de cellule permettant de stocker des valeurs, 3. du modèle SQL, 4. de la table avec la même structure, 5. tout en complétant les SGBD traditionnels, 6. avec des nouvelles structures de représentation (clé-valeur, document ou collection, colonne). Remarque 8 Le SGBD PostgreSQL qui est similaire à MySQL, comporte plus une approche NoSQL et reste un outil performant dans le monde des SGBD libres. le NoSQL constitue un système de gestion non relationnel, le NoSQL représente une autre façon de penser les bases de données, le NoSQL offre d autres possibilités de stockage des informations. Remarque 9 Il est possible d utiliser des moteurs NoSQL reposant sur différents types de données et en fonction de leur intérêt et selon un système de : clé-valeur : modèle de représentation très simple où chaque valeur est assignée à une clé et permettant un accès très rapide aux informations ; cela est fait pour permettre la gestion de cache et lorsque les opérations de lecture sont supérieures à celles d écriture, ou encore pour la réplication de données et la répartition de charge (moteur Redis pour Remote Dictionnary Server qui est développé en C), colonnes : un autre modèle de clé-valeur avec un très grand nombre de valeurs sur une seule ligne afin de permettre une montée en charge linéaire des opérations de lecture et/ou d écriture et de faire des requêtes par clé (moteur Cassandra pour le Big Data), documents : ajout au modèle clé-valeur d une association d une valeur à une structure formant des objets complexes dans lesquels des ensembles de documents sont rangés dans des collections et à partir desquels il sera possible de faire des requêtes multiples et variées (moteurs CouchDB ou MongoDB pour du stockage de données d applications et de développements web sous la forme de documents XML JSON), graphe : sous la forme de graphes mathématiques avec arrêtes et noeuds, sur lequel chaque noeud possède des propriétés propres et des relations (non évidentes ou variables) avec d autres noeuds. III - CONCEPTION DE BASES DE DONNEES PAR LE MODELE ENTITE-ASSOCIATION (E-A) III.1 - Introduction à la conceptualisation et à la modélisation La conceptualisation est basée sur le modèle conceptuel de de données ou encore appelé MCD qui est une vue d ensemble des données et des liens qui les caractérisent. C est une phase complexe mais essentielle pour la pérennisation et la pertinence des données stockées au sein des bases de données. Le MCD doit être construit le plus juste possible et doit correspondre à la sémantique du domaine modélisé afin de permettre de répondre aux requêtes (SQL notamment) faites par les SGBD. Le formalisme utilisé est le modèle entié-association repris par la méthode plus générale appelée MERISE (Méthode d Etude et de Réalisation Informatique pour les Systèmes d Eentreprise). Aujourd hui, de multiples méthodologies en 1994 (avec Grady BOOCH, James http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -12-

RUMBAUGH et Ivar JACOBSON) tend vers une unification et une normalisation en 2004 où UML2 devient le langage basé sur la programmation orientée objets. Le formalisme UML (Unified Modeling Language ou langage de modélisation objet unifié) constitue une alternative au modèle entité-association, qui est plus une modélisation orientée objet qui rapproche les données des traitements associés. MERIS2 ou UML sont des méthodes d analyse et de conception objet qui se représentent avec des diagrammes de classes qui sont plus expressifs que le modèle entité-association. Ces méthodes consistent à spécifier clairement le problème à résoudre en représentant le système par des concepts objets et un langage de modélisationorienté objets UML. Une description du système est faite de façon statique (type des objets) en terme de classes et de relations entre les classes ; et cela peut être vu comme une extension du modèle entité-association avec des associations et des sous-types d objets : l agrégation, la généralisation et la spécification au niveau des entités (rightarrow classes). La démarche retenue ici sera tout d abord non objet mais sous la forme d objets, globale et par niveaux (conceptuel, logique et physique) en hiérarchisant les étapes. Une expression conceptuelle des données permet la modélisation sous la forme d objets : entités et associations entre les entités. III.2 - Composants du modèle E-A ou Entité-Association L expression et la représentation se basent sur 3 objets ou concpets : des types-entités, des types-associations et des propriétés. III.2.1 types-entités et entités Si les propriétés constituent une petite part des informations au sein des types-entités et des types-associations, alors les types-entités quant à eux décrivent un ensemble d objets identiques ou entités. Définition 4 Le concept de types-entités Les types-entités sont un ensemble d entités comportant des caractéristiques communes. Les entités sont des objets concrets ou abstraits uniques au des types-entités. III.2.2 types-associations et associations Définition 5 Le concept de types-associations et associations. Les types-associations, encore appelés types-relations, sont un ensemble d associations comportant les mêmes caractéristiques et décrivent les liens ou relations entre les types-entités. Les associations, encore appelées relations, sont des liens entre les entités. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -13-

III.2.3 attributs, valeurs, clés d identification et schéma de relation Définition 6 Les concepts d attributs, de valeurs et de clés : Les attributs sont des propriétés qui caractérisent les types-entités et les types-associations et qui comportent des valeurs. Et chacun des attributs est défini sur un domaine de valeurs possibles avec un type bien précis (booléen, entier, texte...). Les entités ont donc des attributs comportant des valeurs sur le domaine y compris la valeur NULL. Les clés sont des identifiants (minimum d attributs) des types-entités ou des types-associations qui permettent d identifier de manière unique les entités ou associations des types-entités (et typesassociations). Un schéma de relation (noté R) constitue un ensemble fini d attributs ; et un schéma de la base de données comporte un ensemble fini de schémas de relation ; et l union de tous les schémas de relation obtenus (par normalisation) représentent le projet ou le schéma final de la base de données. III.2.4 cardinalités sur les type-entités et les type-associations Définition 7 Le concept de cardinalités : c est une étape indispensable pour arriver à normaliser et à typer les données qui seront stockées dans la base de données. Les cardinalités portent sur les types-entités et les types-associations car elles relient (par des pattes) les types-associations aux types-entités en donnant le nombre de fois maximal et minimal de relations des entités dans les associations. Les cardinalités minimales doivent être inférieures ou égales aux cardinalités maximales et sont nécessaires pour chacune des pattes des types-associations. Elles sont égalent au nombre d associations dans lesquelles les entités apparaissent, communément exprimées par 2 entiers (i,j) qui sont respectivement les cardinalités ou le nombre de fois minimales et maximales. Autrement dit, les cardinalités représentent le nombre de fois ou d occurrences où une entité participe à une relation. i = 0 ou 1, j = 1 ou n Les cardinalités minimales ou le nombre de relations sont toujours de 0 ou de 1 et les cardinalités maximales sont toujours de 1 ou de n (n même si ce nombre est parfois connu!) ; pour des raisons pratiques il est nécessaire de laisser n car cela peut évoluer avec le temps. Exemple 3 Pour reprendre l exemple du client qui commande des articles sur le site en ligne, il faut se poser deux questions : quel est le nombre de client qui peut commander des articles? ou combien de clients peuvent commander? combien d articles peuvent être commandés par chaque client? http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -14-

Propriété 3 Les cardinalités reconnues sont : 0,1 une occurrence du type-entité existe que si elle est impliquée dans aucune association et en même temps impliquée dans au maximum une association. 0,n une occurrence du type-entité existe que si elle est impliquée dans aucune association et en même temps impliquée dans plusieurs associations. 1,1 une occurrence du type-entité existe que si elle est impliquée ou concernée précisément par au moins et au plus une association. 1,n une occurrence du type-entité existe que si elle est impliquée ou concernée par au moins une association et n associations. Propriété 4 Il existe trois règles avec les cardinalités pour le passage du modèle conceptuel au modèle logique de données (du MCD au MLD) ; cela se traduit par des suppressions de relations et intégration dans des entités ou par des transformations en entités : pour une relation avec des cardinalités de type (0,n)/(1,1), (0,n)/(0,1), (1,n)/(1,1) et (1,n)/(0,1) : la transformation fait qu il y a disparition ou suppression de la relation et donc, absorption des propriétés associées dans l entité ayant la cardinalité la plus faible, (1,1) ou (0,1). pour une relation avec des cardinalités de type (0,n)/(0,n), (1,n)/(0,n), et (1,n)/(1,n) : la relation va se transformer en table avec les propriétés de départ avec comme clé primaire, composée des 2 clés étrangères faisant référence aux 2 entités. pour une relation avec des cardinalités de type (1,1)/(1,1) : qui est un cas particulier, il y a regroupement au sein d une seule et même entité ou table. III.3 - Normalisation III.3.1 Pourquoi normaliser? La normalisation est fondamentale et se base sur cinq formes normales afin d éviter des anomalies de conception et de modélisation. Le principe est que les types-entités et les types-associations sont en forme normale de niveau n que si elles sont déjà en forme normale de niveau n - 1. Le première étape dans la normalisation est déjà de définir précisément la clé qui identifie par un nombre minimal d attributs et de façon unique les types-entités et les types-associations. C est un processus qui remplace une relation donnée par des projections afin que la jointure de ces projections permette de retrouver la relation de départ et qu elle soit sans perte d information. Cela consiste à normaliser dans chacune des formes normales qui seront abordées ci-après du modèle entité-association (conception) au modèle relationnel ; les relations obtenues doivent être toutes en forme normale. Pour cela, ce sont les dépendances venant du monde réel et du contexte à modéliser qui vont être spécifiées afin que le SGBD puisse les traiter. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -15-

Concrètement, la normalisation consiste à procéder à une analyse et à une recherche des dépendances à l intérieur des tables afin d en éliminer les éventuelles redondances d informations et anomalies à venir. Un attribut devient redondant quand plusieurs de ses valeurs identiques apparaissent dans la même table et qu il peut être éliminié ou évacué au sein d autres tables sans perte d information. III.3.2 Dépendances fonctionnelles ou DF ou en anglais functional dependency Les dépendances fonctionnelles (ou les DF) sont les propriétés les plus élémentaires des relations. Définition 8 Pour un schéma de relation ou une relation R(A,B,C,D) : il existe une DF de A vers B (A > B), ou encore, un attribut B est fonctionnellement dépendant de l attribut A si à chacune des valeurs de A correspond une et une seule valeur de B ; et par conséquent, les attributs non clés dépendent de la clé d identification de manière unique. si deux lignes de R qui ont même valeur de A ont également même valeur de B (valeur au sens de ensemble d attributs pour A et ensemble d attributs pour B). est donc une fonction au sens mathématique où à une valeur de A correspond une seule valeur de B avec un déterminant à gauche et un déterminé à droite. Propriété 5 On a deux propriétés fondamentales : un identifiant d une table est un déterminant de chacune des autres colonnes de la table, et inversement, toute colonne ou groupe de colonnes qui est un déterminant pour chacune des autres colonnes est un identifiant. III.3.3 Décomposition La résolution de certains problèmes comme les phénomènes de redondance d informations passe souvent par la décomposition d une table en deux autres tables distinctes. C est un processus de décomposition tendant à normaliser les tables et le schéma relationnel de la base de données et ce, même au cours du temps et pour des évolutions futures. Après observation et analyse des problèmes potentiels, la décomposition s effectue selon la prise en considération des dépendances fonctionnelles au sein des tables ; Si une DF existe de B vers C, alors une table U(A,B,C) peut être décomposée en deux projections ou deux tables U(A,B) et V(B,C). Ainsi, les tables sont dites normalisées si tous les déterminants sont des identifiants ; et en l occurrence, B est le déterminant qui est l identifiant. On peut déjà voir une forme normale appelée Boyce-Codd ou une 3eme forme normale. http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -16-

En plus des DF, Il existe également des dépendances multivaluées (DM) et des dépendances de jointure (DJ) : Les dépendances sont multivaluées lorsqu un sous-ensemble X multidétermine un sous-ensemble Y ou lorsqu il y a affectation de valeurs à chacune des propriétés de ces sous-ensembles. Les dépendances sont de jointure lorsque qu elles sont décomposées en trois ou plus de projections et si une des parties X constitue l ensemble des attributs de R ; et donc chacun des Xi contient une clé candidate de R. III.3.4 Les formes normales Les formes normales (ou normal forms) permettent de détecter des dépendances entre les attributs d une même table et d éliminer toute forme de redondance. Cette analyse permet au final d éviter les anomalies en tout genre sur la base de données : sur les insertions, les suppressions et mises à jour de données. L objectif est d arriver à normaliser en éléminant toute anomalie ; pour cela, il faut arriver à éliminer les dépendances fonctionnelles ( appelées souvent DF) qui ne caractérisent pas des clés, et donc à n avoir plus que des clé à vérifier. Propriété 6 Les formes normales constituant des propriétés doit vérifier le schéma de relation (R) afin d éliminer des anomalies ; elles sont au nombre de cinq pour les principales et sont les suivantes : Première forme normale ou 1FN : c est lorsque tous les attributs sont élémentaires et ne peuvent plus être décomposés et on obtient des valeurs dites atomiques. En relationnel, le schéma sera toujours en première forme normale. Chaque attribut ne peut être décomposé en plusieurs autres. C est une condition fondamentale du modèle relationnel qui va désigner de façon unique un attribut et sans aucune ambiguité. Deuxième forme normale ou 2FN : c est lorque la table est déjà en 1FN et que les attributs dépendent de l ensemble des attributs composant la clé d identification ; ou encore, il existe une relation de dépendance complète entre cette clé et chacun des autres attributs non clés (DF entre la clé et les autres attributs). Troisième forme normale ou 3FN : c est lorque c est en 2FN et qu au plus un attribut n appartient pas à la clé d identification ; et cela peut être des clés candidates. Quatrième forme normale ou 4FN : si et seulement si c est en BCNF et si ne possède pas de dépendance multivaluée au sein de la même table. Forme normale de Boyce-Codd ou BCNF : si et seulement si il n existe pas de dépendances où un attribut (non-clé) déterminant un autre attribut ; autrement dit, si les dépendances fonctionnelles élémentaires sont celles pour lesquelles une clé détermine un attribut non-clé ; cela concerne toutes les clés candidates. On parle de dépendances multivaluées (ou multi-valude dependency). Les dépendances peuvent être souvent transitives (transitive dependency) au sein des tables, à savoir des DF déduites des autres dépendances ; le 3eme FN interdit toute dépendance transitive par décomposition en sous-tables. Toutes les relations ont au moins une décomposition en 3FN telle que les dépendances fonctionnelles sont préservées et qu elles sont sans perte. Il est courant et de pratique d avoir des schémas de relations qui sont en 3FN mais pas forcément en BCNF. Les quatrième et cinquième formes normales concernent plus particulièrement des cas précis de redondance de données et qui ne peuvent pas s exprimer sous la forme de dépendances fonctionnelles. L application de ces formes normales permettent plus facilement de passer http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -17-

du modèle entité-association au schéma relationnel lorsque celui-ci est bien conçu. Les tables doivent comporter chacune une clé d identification accompagnée d une dépendance fonctionnelle entre cette même clé et chacun des attributs. Il peut y avoir également dans les tables ou sous-tables des clés composées et de dépendances fonctionnelles totales où les clés composées déterminent un attribut non clé. Et quand les tables ne comportent plus d attributs non clés la vérification pour les formes normales n est plus nécessaire. III.4 - Guide pratique de la modélisation des données par étape La réussite d un bon modèle entités-associations évite toute anomalie d incohérence et de redondance d informations sur une base de données. Le respect des règles de conception et de normalisation sont essentielles et complémentaires. En résumé, cela résulte dans la succession d étapes et de choix à faire : Il faut choisir des identifiants qui ne changeront pas au cours du temps et non composés de plusieurs attributs ; souvent, il est courant de choisir des identifaints de type entier pour les types-entités qui seront les clés primaires dans le schéma relationnel. Il faut choisir des noms uniques pour les types-entités, les types-associations et les attributs. Il ne faut pas hésiter à décomposer le plus possible les attributs, à savoir que si un attribut est multiple ou composite cela doit devenir nécessairement des types-entités ou des types-associations supplémentaires. Cela respecte donc les règles de formes normales et il est devient donc impossible de se retrouver, au sein de la base de données, avec des données dérivées! Il faut placer tous les attributs dans des types-associations lorsqu ils dépendent de toutes les entités en rapport avec les types-associations. UN GUIDE AVEC ETAPES et EXEMPLE 1. CONTEXTE A MODELISER Le contexte des données à modéliser est la location de véhicules alors...va pour deux séances de pratique! 2. ELABORER LE MODELE ENTITE-ASSOCIATION 2.1. Identifier les entités et les associations a) Entités et attributs A partir des constatations du contexte et des mots clés faire une liste de toutes les informations pertinentes à partir : chaque jour de location est facturé en fonction de la catégorie (tarif journalier de la catégorie), chaque kilomètre parcouru est facturé en fonction de la catégorie, chaque véhicule appartient à une catégorie de véhicules, chaque jour de location contient un fofait kilométrique dépendant de la catégorie, chaque client a un pourcentage de remise appliqué au moment de la location (remise client), chaque date correspond à une et une seule année, 5 types-entités repérés (categorie, vehicule, annee, date, client) 1 relation ternaire (location) entre (client, vehicule, date) afin de stocker les kilométrages parcourus, les dates de début et de fin de location et le montant de la location. Lister les attribts pour chaque type-entité et chaque type-association b) Choix des clés chaque type-entité repéré est identifiable de manière significative par une clé qui peut être soulignée et mise en gras (une distinction à mettre!) categorie (code_categorie), vehicule(immatriculation,...), client (code_client,... ), annee (annee), date (date_debutlocation) http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -18-

c) Associations et attributs A partir des phrases ou des constatations, il est possible de déduire des associations : appartient, correspond, location, tarif déterminer les attributs éventuels des associations et obtenir les schémas de relations : location (date_finlocation,km_parcourus, montant) tarif (prix_km, tarif_journalier, forfait) pour les associations appartient et correspond, pas de stockage d attributs spécifiques. 2.2. Déterminer les cardinalités a) Inventaire des liens entre entités (associations) 3. PASSER AU MODELE RELATIONNEL 3.1. Transformer le modème Entité-Association a) Application de la règle générale On obtient les relations categorie, vehicule, annee, date, client, categorie, vehicule, annee, date, client On obtient les relations suivantes à partir des associations : appartient (), correspond (), tarif ( prix_km,tarif_journalie et location ( date_finlocation,km_parcourus,montant) b) Cas particuliers des associations de cardinalité[1,1] lorsqu une des cardinalités d une association est de type [1,1], la relation représentant l association disparaît et fusionne avec la relation représentant l entité ou l objet comportant la cardinalité [1,1] «aspiration» de l association par l entité ; simplification du nombre de relationset les relations appartient et correspond disparaissent ; c est le cas pour les entités vehicule, date Voici la liste des relations ainsi constituées : 1. categorie (code_categorie) 2. vehicule (immatriculation_veh,marque_veh,modele_veh,kilometrage_veh,code_categorie) 3. annee (annee) 4. date (date_debutlocation,annee) 5. client (code_client,nom_client,adresse_client,tel_client,remise_client,type_client) 6. location (code_client,immatriculation_veh,date_debutlocation,date_finlocation,km_parcourus,montant) http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -19-

7. tarif (code_catégorie,annee,prix_km,tarif_journalier,forfait) 3.2. Vérifier la conformité des formes normales a) Première forme normale (1FN) Chaque champ possède une valeur atomique (pas de multiples valeurs) b) Deuxième forme normale (2FN) Chaque relation vérifiée devient une sous-table La relation tarif devient une sous-table avec une clé composite (code_categorie, annee) et des valeurs nécessaires (prix_km, tarif_journalier, forfait) c) Troisième forme normale (3FN) Il s agit de voir les informations ou champs qui ne font pas partie de la clé d une relation toutes les relations ne sont pas forcément dans cette forme et cela reste acceptable! 3.3. Contrôler les types de données et contraintes a) Les types de données Uniquement d un point de vue MySQL restriction sur les valeurs Description du type est obligatoire NOT NULL quand les valeurs sont obligatoirement renseignées b) Les contraintes d intégrité (CI) sont des expressions logiques qui doivent être vraies à tout moment au sein de la base de données et qui assure une certaine cohérence ; il existe des contraintes d unicité assurées par le SGBD (clés d identification uniques), des contraintes de domaine (valeurs sur un domaine bien défini) et des contraintes d intégrité référentielle (clé étrangère faisant référence à la clé de la table référencée). un véhicule ne pourra jamais avoir 2 numéros d immatriculation ; une location ne peut être faite que si le client est identifié et enregistré avec sa remise... définir un domaine bien précis (restriction) concernant les attributs du véhicule en regardant l ensemble des valeurs possibles pour l attribut modèle, marque, couleur, état, kilométrage... 3.4. Créer les tables a) Manuellement à l aide des requêtes SQL par l interface PhpMyadmin ou par un terminal Sql b) Par un fichier.sql à importer en lançant par exemple sous Linux un éditeur GEDIT avec un fichier.sql à importer par l interface PhpMyadmin ou par un terminal Sql 4. INTERROGER LA BASE DE DONNEES ET APPLIQUER DES TRAITEMENTS...avec les requêtes SQL http://lmb.univ-fcomte.fr/richard-ferrere richard.ferrere@univ-fcomte.fr -20-