INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Dimension: px
Commencer à balayer dès la page:

Download "INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL"

Transcription

1 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 I.2 - Déroulement du parcours I.3 - Trousseau avec les outils indispensables 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? II.2 - Un peu d histoire à partir des années II.3 - Problématique de recherche et de cohérence des données II.4 - Réponse par la modélisation II.5 - Les SGBD(R) : rôle et objectifs II.5.1 Gestion et accès II.5.2 Principaux SGBDR et domaines d application II.6 - Une finalité : Analyse ou fouille de données avec le Data mining II.6.1 Apprentissage statistique dans un contexte identifié et utilité II.6.2 Démarche, méthode et logiciels II.7 - Le NoSQL, pourquoi faire? III - CONCEPTION DE BASES DE DONNEES PAR LE MODELE ENTITE-ASSOCIATION (E-A) 12 III.1 - Introduction à la conceptualisation et à la modélisation III.2 - Composants du modèle E-A ou Entité-Association III.2.1 types-entités et entités III.2.2 types-associations et associations III.2.3 attributs, valeurs, clés d identification et schéma de relation III.2.4 cardinalités sur les type-entités et les type-associations III.3 - Normalisation III.3.1 Pourquoi normaliser? III.3.2 Dépendances fonctionnelles ou DF ou en anglais functional dependency III.3.3 Décomposition III.3.4 Les formes normales III.4 - Guide pratique de la modélisation des données par étape [email protected] -1-

2 IV - REPRESENTATION PAR LE MODELE RELATIONNEL 21 IV.1 - Objectif de la représentation IV.2 - Comment passer du modèle Entiétés-Associations au modèle relationnel? IV.2.1 Règles générales et de base : Relation, domaine, cardinalité et degré IV.2.2 Règles particulières IV.2.3 Intégrité des données : clés, valeur NULL et schéma relationnel IV.2.4 Les types de données IV.2.5 Les opérateurs relationnels V - LANGAGE SQL : QUE PERMET-IL DE FAIRE? 26 V.1 - Présentation et un bref historique V.2 - Définir et manipuler les données V.3 - Les actions possibles du langage SQL V.3.1 Les créations de tables V.3.2 Les requêtes simples V.3.3 Les vues et les index V.3.4 Les jointures V.4 - Insérer et modifier les données V.5 - Interroger des bases de données 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. [email protected] -2-

3 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%) [email protected] -3-

4 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. [email protected] -4-

5 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! [email protected] -5-

6 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. [email protected] -6-

7 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. [email protected] -7-

8 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. [email protected] -8-

9 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 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, [email protected] -9-

10 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 [email protected] -10-

11 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 :// ml/weka/ http ://sipina.over-blog.fr/ http ://eric.univ-lyon2.fr/ ricco/tanagra/en/tanagra.html http :// http :// 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 : [email protected] -11-

12 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 [email protected] -12-

13 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. [email protected] -13-

14 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? [email protected] -14-

15 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. [email protected] -15-

16 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. [email protected] -16-

17 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 [email protected] -17-

18 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) [email protected] -18-

19 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 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) [email protected] -19-

20 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 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 [email protected] -20-

21 IV - REPRESENTATION PAR LE MODELE RELATIONNEL Il s agit de présenter les notions essentielles de la modélisation relationnelle se différenciant des ensembles de données. IV.1 - Objectif de la représentation Il existe différentes terminologies quand on parle d ensemble ou de modèle mathématique, de bases de données et de SGBD : modèle mathématique bases de données SGBD relations tables f ichiers t-uplets (tuples) lignes enregistrements attributs colonnes champs La représentation par le modèle relationnel consiste à avoir un ensemble logique de tables indépendamment de la façon dont sont stockées les données. Cette représentation des relations entre les données se base sur la théorie relationnelle basée elle-même sur la théorie mathématique des ensembles. les données sont organisées sous la forme de tables ou de relations ; les données sont manipulées par des opérateurs relationnels ; des contraintres d intégrité sont définies afin de préserver la cohérence du schéma de la base de données. IV.2 - Comment passer du modèle Entiétés-Associations au modèle relationnel? IV.2.1 Règles générales et de base : Relation, domaine, cardinalité et degré Le passage du modèle entités-associations vers le modèle relationnel doit respecter quelques règles : 1. Chaque type-entité donne un schéma de relation avec ses propres attributs, ses clés (primaires, et étrangères) ; 2. Chaque type-association maillé (cardinalité maximale n) donne également lieu à un schéma de relation avec ses attributs et dont l dentifiant sera composé de l ensemble des identifiants des types-entités faisant partie des types-associations ; 3. Chaque type-association binaire (cardinalité maximale 1) ne donne PAS un schéma de relation car c est une dépendance fonctionnelle ; et donc, seulement l attribut clé étrangère est rajouté au type-entité venant de l autre type-entité avec un type-association ayant une cardinalité maximale de 1 ; 4. La phase de normalisation est supposée être appliquée comme expliqué ci-avant, ceci afin d être conforme au modèle entité-association. [email protected] -21-

22 Définition 9 La notion de relation est à la base du modèle relationnel. Une relation R porte sur un ensemble de domaines D1,D2,...,Dn est vue comme une table à deux entrées : ensemble de colonnes ou d attributs fixés et un ensemble de lignes ou t-uplets. Les lignes correspondent à des informations alors que les colonnes correspondent une partie de ces informations. Définition 10 La notion de domaine. Le domaine correspond à un ensemble de valeurs selon les attributs de la table. Chaque attribut est donc défini dans un domaine. Définition 11 La notion de cardinalité. La cardinalité de la relation est le nombre de t-uplets ou de lignes d informations ou encore d occurrences composant la relation. Définition 12 La notion de degré de la relation. Le degré est le nombre d attributs de la relation. IV.2.2 Règles particulières Un type-association ayant des cardinalités maximales 1 vers 1 : Cela ne se traduit pas au niveau relationnel par un schéma de relation. Chaque type-entité récupère une clé étrangère qui fait référence à l autre type-entité ou au schéma de relation de celui-ci. Comme le type-association est complètement matérialisé dans le schéma de relation des types-entités en tant que clés étrangères, alors son schéma disparaît et un choix est fait pour faire migrer la clé primaire en tant que clé étrangère sur l un des types-entités. Par exemple, pour le schéma relationnel avec le type-association Localiser entre les tables CINEMA et ADRESSE, alors on obtient : ADRESSE (id_adresse,adresse,code_postal,ville,id_cinema) où id_cinema est une clé étrangère qui fait référence au schéma de relation CINEMA CINEMA (id_cinema,nom_cinema,tel_cinema,id_adresse) où id_adresse est une clé étrangère qui fait référence au schéma de relation ADRESSE Le choix de la matérialisation fait est que seule la clé id_adresse migre vers le type-entité CINEMA. [email protected] -22-

23 Un type-entité n ayant que sa clé comme attribut : Dans ce cas il n y a pas forcément un schéma de relation car il n amènerait pas réellement d informations. Cela se matérialise au niveau du type-association qui récupère comme clés étrangères les clés primaires des de chacun des types-entités en plus de son attribut. IV.2.3 Intégrité des données : clés, valeur NULL et schéma relationnel Les SGBD préservent de façon automatique la cohérence des données en vérifiant les données lors de mises à jour et en les répercutant au sein des tables possèdant des contraintes de référence et lors de leur chargement. Par ailleurs, d autres règles permettent également de préserver l intégrité des données comme : les clés d identification uniques, les clés étrangères qui sont des contraintes de références entre des relations, les contraintes de domaine par rapport aux attributs. Propriété 7 Une clé dans l espace relationnel (pour une relation R) peut avoir plusieurs formes tout en étant unique. la super-clé pour une relation R est un sous-ensemble de l ensemble des attributs de R identifiant de façon unique chaque t-uplet de la relation R ; une relation peut avoir plusieurs clés candidates qui sont un ensemble de valeurs ou d attributs qui identifient bien une information ; la clé primaire est unique car elle est choisie parmi les clés candidates permettant un adressage dans la relation et un repérage de leurs t-uplets ; la clé étrangère dans R est un sous-ensemble C, de l ensemble des attributs de R tel qu il existe une relation R comportant une clé candidate C ; il y a un lien entre les relations R et R car les valeurs sont identiques. La valeur NULL permet de ne pas renseigner les données dans les tables de la base de données. C est une convention de la relation R pour laquelle la valeur d un attribut est inconnue ou non indispensable qui représente l absence de valeur. Cela a l avantage de pouvoir traiter l ensemble des données et même quand elles n existent pas dans la base. Pour cela, il faut préciser lors de la création des tables de la base si un attribut peur prendre ou non la valeur NULL (NULL ou NOT NULL). Par conséquent, les attributs composant la clé primaire d une relation ne peuvent pas prendre la valeur NULL. En revanche, une clé étrangère pourrait se voir affecter une valeur NULL si l intégrité référentielle est respectée. Des régles de mise à jour peuvent être évoquée afin que l intégrité référentielle et la cohérence de la base soient préservées (RESTRICTED, NO ACTIOn, CASCADE, NO CHECK...). Exemple 4 Par exemple, pour la table CINEMA, il pourra être possible de voir pour l attribut Tel_cinema la valeur NULL (3, MEGARAMA, 18 Rue Ecole Valentin, Besançon, 25000, NULL) Le schéma relationnel est composé de l ensemble des schémas de relations avec les clés primaires et étrangères. La base de données est donc relationnelle étant donné qu elle comporte tous les n-uplets des différentes relations du schéma relationnel. [email protected] -23-

24 IV.2.4 Les types de données Un certain nombre de types de données existe afin de définir exactement les données correspondant aux attributs des relations du modèle relationnel. 1. Les données de type numérique : des entiers ou des réels. 2. Les données de type chaînes de caractère : du texte au sens littéral avec un nombre de caractère à préciser. 3. Les données de type date : stockant heure, mois, année et jour. 4. Les données de type booléen : stockant des valeurs binaires comme vrai/faux, 0 ou D autres type de données : images, vidéos, sons... TYPE DESCRIPTION REMARQUE LONGTEXT objet longueur max CHAR Chaîne chaîne VARCHAR Chaîne taille variable de n variable de 1 à 255 caractères BOOLEAN Booléen DATE Date DATETIME Date et heure TIME Heure mesure de l heure TIMESTAMP Date et heure en secondes 1970 à 2037 YEAR Année DECIMAL(m,n) nbre en virgule f ixe ou f lottante FLOAT Réel sur n bits REAL Réel SMALLINT Entier sur 16bits INTEGER Entier sur 32 bits entier non signé TEXT ou BLOB Objet tout type photo ou fichier max [email protected] -24-

25 IV.2.5 Les opérateurs relationnels Les langages relationnels, permettant d effectuer des traitements sur les bases de données, sont fondés sur l algèbre relationnelle et donc un ensemble d opérateurs algébriques. Ces opérateurs s appliquent toujours à des tables des bases de données et sont de deux types : ensemblistes et relationnels. Le princpe est d appliquer ces opérateurs, de façon combinée ou non sur deux tables R et S pour obtenir une nouvelle table de résultats ou relations. Les opérateurs ensemblistes sont les opérateurs portant sur des ensembles : Intersection, union, différence et produit cartésien. Intersection : créé une relation T faisant apparaître tous les t-uplets (ou enregistrements) présents à la fois dans les tables R et S (T = R S); Union : créé une nouvelle relation T faisant apparaître tous les t uplets (sans les doublons) d au moins une des deux relations et S(T = R S); Différence : créé une relation T faisant disparaître de R tous les t uplets qui sont également présents dans S (T = R S); P roduitcartésien : créé une nouvelle relation T résultant de la combinaison des t uplets des deux tables R et S (T = RXS). D autres opérateurs relationnels qui portent sur des tables : Projection, sélection et jointure. L opérateur de projection est symbolisé par le caractère Pi noté π; cet opérateur construit à partir de la table R, une sous table dont les attributs sont définis dans M. L opérateur de sélection est symbolisé par le caractère sigma noté σ, qui extrait des tuples d une table R selon un critère de sélection ou une f ormule F (attributs précis ou constantes liés entre eux par des opérateurs comme AND, OR, NOT <, > ou =); σ F (R). L opérateur de jointure (ou équi jointure avec l opérateur égal =)représenté par le symbole x qui combine deux tables R et S en une nouvelle table selon une condition de jointure P : R X ps; cela peut être vu comme un simple produit cartésien restreint quand il n y a pas de condition. Et des opérateurs comme la division, autres jointures L opérateur de division notée, sur deux tables R et S (R) produit une sous table R est divisée par S à condition que S soit une sous table de R cet opérateur peut s exprimer en fonction des opérateurs de projection, de dif f érence et du produit cartésien. etd autresjointures... Tous ces opérateurs de l algèbre relationnelle vont permettre d optimiser les requêtes de type SQL au sein du langage du SGBD. [email protected] -25-

26 V - LANGAGE SQL : QUE PERMET-IL DE FAIRE? V.1 - Présentation et un bref historique SQL signifie Structured Query Language ou langage d interrogation structuré Il est relationnel au même titre que QUEL (Query Language) ou QBE (Query by Example) et bien d autres ; il manipule des bases de données relationnelles en donnant les caractéristiques des données sans se soucier de leur chemin d accès ; il est associé à un système SGBDR (MysSQL ou PostgreSQL) qui comporte un interpréteur de commandes avec des instructions lesquelles s appuient sur les opérateurs de l algèbre relationnelle. il est un langage normalisé (SQL2 ou 3) et déclaratif avec des expressions car il permet d obtenir des réponses à des requêtes faites sur la base de données ; il réalise un calcul en donnant un résultat par des expressions logiques sur des tuples ou des enregistrements de données. Une histoire entre IBM et ORACLE SQL a été créé au début dans les années 1970 par IBM et sa première version commercialisable a vu le jour en 1979 ; depuis il a été repris par le groupe ORACLE qui a lancé son premier SGBDR et a été normalisé par l ANSI en 1986 et ratifié par l ISO en 1987 ; Exemple 5 L architecture SQL retenue est MySQL : est un outil basé sur le modèle relationnel, est basé sur le modèle client-serveur, est une application légère la plus répandue et souvent utilisée pour le Web, développée par la société ABSoft et rachetée par SUN en 2008 et maintenant sous licence GPL pour un usage libre, possède une grande interopérabilité. MySQL est le plus souvent en mode réseauau sein d une entreprise : 1. un serveur avec un SGBDR comportant MySQL ou autres... ; 2. accessible via une adresse IP (exemple : ) ou un nom de machine (serveur.entreprise.fr) ; 3. utilisant un port ou protocole par défaut comme le MySQL peut être utilisé en local ce qui est la cas pour les TDs et TPs, où l architecture serveur est également cliente sur une adresse IP de type (ou localhost). MySQL est accessible via une interface ou en ligne de commande 1. si c est par l interface web, il faut utiliser le programme PhpMyAdmin via l adresse http ://locahost/phpmyadmin 2. des utilitaires sont mis à disposition comme mysqldump, mysqladmin 3. des options générales existent en ligne de commande dans un shell mysql : -u [user] -p [password] -h [hote]... [email protected] -26-

27 V.2 - Définir et manipuler les données A ce niveau de langage, il devient possible de donner le schéma physique de la base de données avec les données à stocker au sein des tables. Et il devient possible de faire des requêtes sur les tables préalablement créées par des ordres ou des commandes qui souvent classées en quatre groupes : DQL (Data Query Language) correspondant à l interrogation des données par la commande principale : SELECT ; DDL (Data Definition Language) correspondant à la définition des données par les commandes : CREATE, DROP, RENAME et ALTER ; DML (Data Manipulation Language) correspondant à la manipulation des données par les commandes : DELETE, INSERT et UPDATE ; DCL DCL (Data Control Language) correspondant au contrôle par les commandes : GRANT, COMMIT, REVOQUE. Propriété 8 Pour cela, il faut satisfaire : des contraintes sémantiques ou des règles de nommage des contraintes de domaine correspondant à des valeurs d attributs valides ce qui permet de créer des tables avec des attributs avec l instruction CREATE TABLE des contraintes de nullité imposant que la valeur d un attribut soit renseignée et NOT NULL des contraintes d unicité avec des clés d identification uniques ou primaires (PRI- MARY KEY) des contraintes de référence ou de clés étrangères où des valeurs d une table doivent correspondre à des valeurs d une autre table (REFERENCE) [email protected] -27-

28 V.3 - Les actions possibles du langage SQL Propriété 9 Les actions possibles du langage SQL sur les bases de données sont de plusieurs sortes : interroger les données instruction SELECT pour interroger des tables de la base instructions INSERT, UPDATE pour ajouter, modifier des lignes dans une table instruction DELETE pour supprimer des lignes créer, modifier et supprimer des occurrences dans une relation et les relations dans une base de données instructions CREATE TABLE, CREATE VIEW, ALTER TABLE, DROP TABLE, DROP VIEW, DROP INDEX mettre à jour les données instructions INSERT INTO, UPDATE Exemple 6 1. la structure de base SELECT attributs FROM tables WHERE condition ; 2. l instruction SELECT correspond à l opérateur de projection SELECT * FROM table, SELECT attributs FROM table ; 3. l instruction WHERE avec conditions de type jointures et opérateurs AND et OR SELECT * FROM table WHERE attribut1= XX AND attribut2= YY ; 4. l instruction FROM correspond au produit cartésien de tables FROM tables WHERE condition ; 5. fonctions prédéfinies ou intégrées et appelées dans l instruction SELECT SELECT COUNT, SELECT SUM, SELECT AVG V.3.1 Les créations de tables Une fois que tous les attributs et toutes les contraintes ont été définis, alors seulement il devient possible de créer les tables. Cela consiste à spécifier les colonnes des tables avec leurs noms, leurs types et éventuellement leurs contraintes afin de respecter l intégrité des données. Exemple 7 Pour créer la table cinema avec ses attributs il faut utiliser l instruction CREATE TABLE NOM_Table (Nom_attribut1 type1, Nom_attribut2 type2,...) ; CREATE TABLE CINEMA ( id_cinema NUMBER, nom_cinema VARCHAR(30), ville_cinema VARCHAR(30), tel_cinema VARCHAR(14) ) ; [email protected] -28-

29 V.3.2 Les requêtes simples Le langage SQL permet de manipuler les données des bases de données par des requêtes simples de consultation, d ajout, de suppression et de modification de données. Ces instructions peuvent comporter plusieurs clauses pouvant être couplées à des fonctions d agrégation (COUNT, MAX, MIN, AVG). SELECT liste_atttributs, ou SELECT DISTINCT prenant en compte que des valeurs distinctes évitant les doublons, caractère pour tous les attributs d une table, AS cela permet de renommer une colonne ou de nommer les résultats dans une requête, FROM liste les tables pour indiquer les relations utilisées par la requête, ou définir une relation qui est le produit cartésien de relations, ou de déclarer des jointures, WHERE critères de sélection pour indiquer les t-uplets dans une relation ou dans un produit cartésien de relations, ou pour définir des critères de sélection, GROUP BY liste les attributs par groupe V.3.3 Les vues et les index Il est courant d utiliser des vues pour des données qui ne sont pas toujours stockées dans des bases données physiques sur des serveurs centraux. Ce sont souvent des données temporaires ou permanentes délocalisées et permettant une visualisation ou une exploitation directe des informations. Définition 13 On appelle les vues, des tables de données virtuelles qui font référence à d autres tables réelles stockées physiquement sur les serveurs de bases de données. Les vues ne stockent donc pas les données mais bien les références à ces données se situant dans une ou plusieurs tables via des requêtes. Elles constituent le résultat de requêtes de type SELECT faîtes sur la base de données. Propriété 10 Les possibilités d utilisation des vues sont multiples : permettre à des usagers ou utilisateurs d accéder qu à certaines données de la base ou des tables afin d exploiter éventuellement ces données qui portent sur un domaine bien précis ; cela permet donc de dissocier l aspect visuel des données de l aspect conceptuel pour un groupe d utilisateurs extérieurs (des statisticiens par exemple) à la conception de la base de données ou pour un domaine précis ; simplifier l utilisation de cartaines tables qui comportent de nombreuses colonnes et lignes afin d améliorer la lisibilité des données ; fournir des données toujours actualisées pour des requêtes utilisées régulièrement. Exemple 8 Pour créer une vue CREATE VIEW Nom_View AS SELECT...FROM...WHERE... ; CREATE VIEW Cinema_Belfort AS SELECT * FROM CINEMA WHERE ville_cinema = BELFORT ; [email protected] -29-

30 Pour supprimer une vue DROP VIEW Nom_View Par ailleurs, la création d un index évitera de parcourir les données de toute la table et ce, du premier jusqu au dernier enregistrement ; cela va créer le plus souvent comme un arbre binaire ou B-tree (ou arbre B) ; face à une augmentation toujours croissante des données, la présence d un index permet d accélérer les recherches. Souvent, la clé primaire ou d identification unique est un index lors de la création de la base de données et souvent créé par l outil SGBD. Exemple 9 Pour une table de 1000 tuples ou enregistrements, la recherche se fait 100 fois plus rapidement avec la présence d un index. Pour créer un index CREATE INDEX Nom_index USING BTREE ON Nom_table (champ_nom) ; CREATE INDEX Client_index USING BTREE ON Client (Nom) ; V.3.4 Les jointures Les jointures permettent d extraire les données de plusieurs tables selon des conditions sur les colonnes. C est un produit cartésien entre les tables. Définition 14 On appelle les jointures, des opérations composées d un produit cartésien et d une sélection. Les possibilités de création des jointures sont multiples : avec la clause WHERE ou jointure interne (INNER JOIN ou JOIN) Exemple 10 SELECT * FROM R, S WHERE condition de jointure ; SELECT * FROM FILM,PROJECTION WHERE FILM.Titre = PROJECTION.Titre ; avec l opérateur JOIN (INNER JOIN pour des jointures internes, OUTER JOIN pour des jointures externes) Exemple 11 SELECT * FROM R opérateur-de-jointure ON condition-de-jointure ; SELECT * FROM FILM INNER JOIN PROJECTION ON FILM.Titre = PROJECTION.Titre ; SELECT * FROM FILM LEFT OUTER JOIN PROJECTION ON FILM.Titre = PROJECTION.Titre ; V.4 - Insérer et modifier les données C est la commande INSERT qui permet d insérer des données et donc une ligne d informations dans les tables. Il s agit donc d insérer des valeurs pour chacun des types d attributs prédéfinis. Exemple 12 Pour insérer dans la table cinema avec ses attributs il faut utiliser l instruction INSERT INTO NOM_Table [(nom_colonne1(ou nom attribut1), nom_colonne2,...)] VALUE (valeur1_colonne1, valeur2_colonne2,...) ; CREATE TABLE CINEMA ( id_cinema NUMBER, nom_cinema VARCHAR(30), code_postal VARCHAR(5), ville_cinema VARCHAR(30), tel_cinema VARCHAR(14) ) ; [email protected] -30-

31 C est la commande UDAPTE qui permet de modifier des données et donc des lignes d informations dans les tables. Exemple 13 Pour insérer dans la table cinema avec ses attributs il faut utiliser l instruction UPDATE NOM_Table SET NOM_colonne1(ou attribut1) = expression(ou valeur1),...,expression(ou valeurn) WHERE condition ; UPDATE CINEMA ( SET code_postal = WHERE ville_cinema = Besançon ) ; Attention, avant de supprimer des objets ou des informations de la base de données! Pensez à faire une sauvegarde avant de procéder à ces modifications. Exemple 14 Pour supprimer une table, un index ou un titre de film, il faut utiliser l instruction : DROP TABLE NOM_Table ; DROP INDEX NON DELETE FROM TABLE WHERE condition ; DELETE FROM FILM ( WHERE titre = ROBOCOP ) ; V.5 - Interroger des bases de données C est la commande SELECT qui permet d interroger les bases de données par des requêtes en sélectionnant certaines colonnes (par une projection) et certaines lignes d une table selon leur contenu (par une sélection), en réalisant des jointures de toutes sortes qui combinent des informations de plusieurs tables. La combianison de plusieurs actions ou opérations sur les tables et relations permet d obtenir des résultats temporaires ou permanents. La syntaxe appropriée avec SELECT prend la forme suivante avec des apostrophes pour les chaînes de caractères et des apostrophes doubles pour des noms de tables ou de colonnes : la clause SELECT précise les attributs en sachant que le caractère (*) équivant à tous les attributs de la table ; elle réalise une projection. la clause FROM précise les tables sur lesquelles porte la requête et équivant au produit cartésien des tables concernées ; elle permet de réaliser également des jointures. la clause WHERE est une opération de sélection qui énonce donc éventuellement une condition. la clause GROUP BY précise si l on souhaite réaliser des groupes ou des sous-ensembles. la clause HAVING précise éventuellement un filtre sur le résultat d un regroupement. la clause avec des opérateurs ensemblistes (UNION, INTERSECT, EXCEPT). l opérateur AS permet de renommer une colonne ou de nommer une colonne pour la requête la clause ORDER BY permet de trier les lignes de résulat de la requête. La clause SELECT : le caractère (*), récupère automatiquement tous les attributs de la table générée par la clause FROM ; l opérateur DISTINCT (avec la clause SELECT) permet d éliminer tous les doublons, sinon c est l opérateur ALL qui est utilisé par défaut ; [email protected] -31-

32 Exemple 15 SELECT [ALL DISTINCT] * expression [AS resultataafficher] ; SELECT DISTINCT id_personne,nom,prenom FROM PERSONNE,JOUE WHERE PERSONNE.id_personne = JOUE.id_film ; SELECT * FROM CINEMA ; SELECT COUNT(*) FROM CINEMA ; SELECT ville_cinema, nom_cinema AS liste FROM CINEMA ; SELECT id_personne,nom,prenom FROM PERSONNE ORDER BY nom DESC ; SELECT * FROM PERSONNE WHERE PERSONNE.prenom = Robert AND PERSONNE.date_naissance = 15/10/1967 ; Exemple 16 Pour intérroger la base afin de savoir les genres qui n ont pas de films : SELECT GENRE.id_genre,GENRE.nom ( FROM GENRE WHERE FILM.id_film IS NULL ) ; VI - LIENS INTERNET ET REFERENCES BIBLIOGRAPHIQUES liens internet Présentation d http ://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/presen des-bases-de-donnees-2ss p art 1 Wiki sur les tuples en anglais http ://en.wikipedia.org/wiki/tuple Wiki sur les bases de données http ://fr.wikipedia.org/wiki/base_de_données Site Wiki sur Edgar_F CODD http ://en.wikipedia.org/wiki/edgar_f._codd Publications de Thomas CONNOLLY http ://cis.uws.ac.uk/thomas.connolly/index.htmpublications lien internet sur MySQL http :// téléchargement de AnalyseSI - a Merise analysis tool https ://launchpad.net/analysesi lien internet sur PostgreSQL http :// lien sur une classification en ligne des génomes http :// lien internet sur MariaDB https ://mariadb.org/ lien internet sur PhpMyAdmin http :// p age/index.php sondage 2012 sur les domaines d application du Data mining http :// lien sur les algorithmes appliqués au Data mining http ://citeseerx.ist.psu.edu/viewdoc/summary?doi= comparatif des bases de données NoSQL http :// lien sur l outil WAMPSERVER http :// [email protected] -32-

33 lien sur le respect des normes SQL avec MySQL version 5.7 http ://dev.mysql.com/doc/refman/5.7/en/compatibility.h lien sur le manuel de référence MySQL version 5.7 http ://dev.mysql.com/doc/refman/5.7/en/index.html lien vers LAMP sur Ubuntu http ://doc.ubuntu-fr.org/lamp lien sur l outil EASYPHP http :// Références bibliographiques Andreas Meier, Introduction pratique aux bases de données relationnelles, Collection IRIS Springer, 2006 (ISBN ) Codd, E.F. "A Relational Model of Data for Large Shared Data Banks", CACM 13 N6 juin 1970 (Article de base qui introduit les concepts fondamentaux) Laurent AUDIBERT, Bases de données de la modélisation au SQL, Ellipses, 2009 (ISBN ) Georges GARDARIN, Bases de Données, Ed. Eyrolles, 2003 (EAN13 : ) Hubert TARDIEU, Arnold ROCHEFELD, René COLETTI, La méthode Merise. Principes et outils, Ed. Editions d Organisation, 1983 Arnold ROCHEFELD, Jose MOREJON, La méthode Merise - Tome 3, Ed. Editions d Organisation, 1989 (EAN13 : ) Jacky AKOKA et Isabelle COMYN-WATTIAU, Conception des Bases de Données Relationnelles, Ed. Vuibert, 2001 (ISBN ) Jérôme GABILLAUD, SQL et Algèbre Relationnelle, 3eme édition ENI, 2010 (ISBN ) Rudi BRUCHEZ, Les bases de données NoSQL, Eyrolles, avril 2013 (EAN13 : ) Jean-Luc HAINAUT, Bases de données, 2eme édition DUNOD, 2012 (ISBN ) Eric GODOC, SQL les fondamentaux du langage, édition ENI, 2011 (ISBN ) R.STEPHENS, R.PLEW, A.JONES, SQL 5eme édition, Pearson, 2012 (ISBN ) [email protected] -33-

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

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Information utiles. [email protected]. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

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

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 Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

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

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS [email protected] 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

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

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre [email protected] Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

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

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille [email protected] http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Mercredi 15 Janvier 2014

Mercredi 15 Janvier 2014 De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information [email protected] 02 38 64 26 41 Architecture Il est

Plus en détail

Introduction à la B.I. Avec SQL Server 2008

Introduction à la B.I. Avec SQL Server 2008 Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline 2 Introduction à la B.I. avec SQL Server 2008 Sommaire 1 Présentation de la B.I. et SQL Server 2008... 3 1.1 Présentation rapide

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Bases de données relationnelles : Introduction

Bases de données relationnelles : Introduction Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud [email protected] https://www.lri.fr/ benzaken/

Plus en détail

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

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine [email protected] Transparents Disponibles

Plus en détail

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

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

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

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

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail

Base de Données et Langage SQL

Base de Données et Langage SQL Base de Données et Langage SQL (IUT, département informatique, 1 re année) Laurent AUDIBERT Institut Universitaire de Technologie de Villetaneuse Département Informatique Avenue Jean-Baptiste Clément 93430

Plus en détail

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

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 Modélisation de Systèmes d Information IUT de Villetaneuse - Université de Paris 13 DUT Informatique 2ème année 2004/2005 LATEX Cycle de vie Introduction Processus de développement d un logiciel La méthode

Plus en détail

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

THOT - Extraction de données et de schémas d un SGBD THOT - Extraction de données et de schémas d un SGBD Pierre-Jean DOUSSET (France), Benoît ALBAREIL (France) [email protected], [email protected] Mots clefs : Fouille d information, base de données, système

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

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)

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) 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) En introduction 1- Phase d analyse ou d audit 2- Modélisation & développement de la base

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Licence 3 Géographie Aménagement NHUC5548 Introduction aux Bases de Données Le cas des BD relationnelles Concepts, méthodes et applications JP ANTONI / Y FLETY 1 Logistique et autres fonctionnements Cours

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ---------------------------------------------------------------------------------------------------- ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,

Plus en détail

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: [email protected] 1. Introduction

Plus en détail

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

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON stephane.mouton@cetic.be Groupe de Discussion Big Data Aperçu des technologies et applications Stéphane MOUTON [email protected] Recherche appliquée et transfert technologique q Agréé «Centre Collectif de Recherche» par

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Modèle conceptuel : diagramme entité-association

Modèle conceptuel : diagramme entité-association Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»

Plus en détail

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

Plus en détail

Conception d une base de données

Conception d une base de données Conception d une base de données Cyril Gruau 17 octobre 2005 (corrigé le 13 juillet 2006) Résumé Ce support de cours regroupe quelques notions concernant le modélisation conceptuelle de système d information

Plus en détail

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

Licence Professionnelle en Statistique et Informatique Décisionnelle (S.I.D.) Université de Lille 2 - Droit et Santé Ecole Supérieure des Affaires & Institut Universitaire de Technologie (IUT-C) Département Statistique et Traitement Informatique des Données Licence Professionnelle

Plus en détail

Master Informatique Aix-Marseille Université

Master Informatique Aix-Marseille Université Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

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

Le tout fichier Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché

Plus en détail

QU EST-CE QUE LE DECISIONNEL?

QU EST-CE QUE LE DECISIONNEL? La plupart des entreprises disposent d une masse considérable d informations sur leurs clients, leurs produits, leurs ventes Toutefois ces données sont cloisonnées par les applications utilisées ou parce

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

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

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

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

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

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

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du Proyecto FAO COPEMED Universidad de Alicante Ramón y Cajal, 4 03001 - Alicante, España GCP/REM/057/SPA Web : www.fao.org/fi/copemed Tel : +34 96 514 59 79 Fax : +34 96 514 59 78 Email : [email protected] Formation

Plus en détail

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

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

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

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Gestion des bases de données

Gestion des bases de données Gestion des bases de données DU Chef de Projet en Recherche Clinique 23/11/2012 Fabrice GOURMELON URC/CIC Necker - Cochin 2 A. Qu est-ce qu une donnée? B. Qu est-ce qu une base de données? C. Définition

Plus en détail

16H Cours / 18H TD / 20H TP

16H Cours / 18H TD / 20H TP INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES

Plus en détail

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

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 [email protected] Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

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. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

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

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

Les Entrepôts de Données

Les Entrepôts de Données Les Entrepôts de Données Grégory Bonnet Abdel-Illah Mouaddib GREYC Dépt Dépt informatique :: GREYC Dépt Dépt informatique :: Cours Cours SIR SIR Systèmes d information décisionnels Nouvelles générations

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

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

Introduction aux bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données ESIL Université de la méditerranée [email protected] http://odile.papini.perso.esil.univmed.fr/sources/bdmat.html Plan du cours 1 1 Qu est ce qu

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

CESI Bases de données

CESI Bases de données CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1 PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre

Plus en détail

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

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 Introduction Phases du projet Les principales phases du projet sont les suivantes : La mise à disposition des sources Des fichiers Excel sont utilisés pour récolter nos informations L extraction des données

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Didier MOUNIEN Samantha MOINEAUX

Didier MOUNIEN Samantha MOINEAUX Didier MOUNIEN Samantha MOINEAUX 08/01/2008 1 Généralisation des ERP ERP génère une importante masse de données Comment mesurer l impact réel d une décision? Comment choisir entre plusieurs décisions?

Plus en détail

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

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans

Plus en détail

Méthodologie de conceptualisation BI

Méthodologie de conceptualisation BI Méthodologie de conceptualisation BI Business Intelligence (BI) La Business intelligence est un outil décisionnel incontournable à la gestion stratégique et quotidienne des entités. Il fournit de l information

Plus en détail

IT203 : Systèmes de gestion de bases de données. A. Zemmari [email protected]

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr IT203 : Systèmes de gestion de bases de données A. Zemmari [email protected] 1 Informations pratiques Intervenants : Cours : (A. Zemmari [email protected]) TDs, TPs : S. Lombardy et A. Zemmari Organisation

Plus en détail

Bases de données cours 1

Bases de données cours 1 Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre

Plus en détail

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Analyse de grandes bases de données en santé

Analyse de grandes bases de données en santé .. Analyse de grandes bases de données en santé Alain Duhamel Michaël Genin Mohamed Lemdani EA 2694 / CERIM Master 2 Recherche Biologie et Santé Journée Thématique Fouille de Données Plan. 1 Problématique.

Plus en détail

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

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant

Plus en détail

Bases de données Outils de gestion

Bases de données Outils de gestion 11/03/2010 Bases de données Outils de gestion Mise en place d outils pour gérer, stocker et utiliser les informations d une recherche biomédicale ent réalisé par L. QUINQUIS d épidémiologie et de biostatistique

Plus en détail

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)

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) 1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche

Plus en détail

BUSINESS INTELLIGENCE

BUSINESS INTELLIGENCE GUIDE COMPARATIF BUSINESS INTELLIGENCE www.viseo.com Table des matières Business Intelligence :... 2 Contexte et objectifs... 2 Une architecture spécifique... 2 Les outils de Business intelligence... 3

Plus en détail

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

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

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

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/26 Bases de Données Avancées DataWareHouse Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin,

Plus en détail

LIVRE BLANC Décembre 2014

LIVRE BLANC Décembre 2014 PARSING MATCHING EQUALITY SEARCH LIVRE BLANC Décembre 2014 Introduction L analyse des tendances du marché de l emploi correspond à l évidence à une nécessité, surtout en période de tension comme depuis

Plus en détail

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

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

Bases de données élémentaires Maude Manouvrier

Bases de données élémentaires Maude Manouvrier Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données

Plus en détail

Introduction au datamining

Introduction au datamining Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des

Plus en détail

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

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier? DOSSIER SOLUTION CA ERwin Modeling Comment gérer la complexité des données et améliorer l agilité métier? CA ERwin Modeling fournit une vue centralisée des définitions de données clés afin de mieux comprendre

Plus en détail

INTRODUCTION AU DATA MINING

INTRODUCTION AU DATA MINING INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : [email protected] URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

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

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara BIG DATA Veille technologique Malek Hamouda Nina Lachia Léo Valette Commanditaire : Thomas Milon Encadré: Philippe Vismara 1 2 Introduction Historique des bases de données : méthodes de stockage et d analyse

Plus en détail

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

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 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

SQL SERVER 2008, BUSINESS INTELLIGENCE

SQL SERVER 2008, BUSINESS INTELLIGENCE SGBD / Aide à la décision SQL SERVER 2008, BUSINESS INTELLIGENCE Réf: QLI Durée : 5 jours (7 heures) OBJECTIFS DE LA FORMATION Cette formation vous apprendra à concevoir et à déployer une solution de Business

Plus en détail

Les bases de données relationnelles

Les bases de données relationnelles Bases de données NO SQL et SIG : d un existant restreint à un avenir prometteur CHRISTIAN CAROLIN, AXES CONSEIL [email protected] - HTTP://WWW.AXES.FR Les bases de données relationnelles constituent désormais

Plus en détail