TABLE DES MATIERES AVANT-PROPOS 15 CHAPITRE 1 MOTIVATION ET INTRODUCTION 17

Documents pareils
Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Rappel sur les bases de données

Bases de données avancées Introduction

Bases de Données. Plan

Les bases de données

Mercredi 15 Janvier 2014

BASES DE DONNÉES ET MODÈLES DE CALCUL

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

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

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

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

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

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

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 Cours 1 : Généralités sur les bases de données

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Dossier I Découverte de Base d Open Office

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

GESTION D UNE BASE BIBLIOGRAPHIQUE

Bases de données réparties: Fragmentation et allocation

CATALOGUE DES FORMATIONS

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Modèle conceptuel : diagramme entité-association

Introduction : présentation de la Business Intelligence

CESI Bases de données

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Bases de données cours 1

Business Intelligence avec SQL Server 2012

Document d accompagnement pour le référentiel national du C2i niveau 2 Métiers de l environnement et de l aménagement durables

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

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

Information utiles. webpage : Google+ : digiusto/

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Modélisation des données

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

CATALOGUE FORMATIONS N 2 / ai@access-informatique.net

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

Communiqué de Lancement

Les diagrammes de modélisation

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

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

Conception, architecture et urbanisation des systèmes d information

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Introduction aux Bases de Données

Module BD et sites WEB

Merise. Introduction

La directive INSPIRE en Wallonie: le géoportail et l infrastructure de diffusion des géodonnées en Région wallonne (InfraSIG(

16H Cours / 18H TD / 20H TP

Le génie logiciel. maintenance de logiciels.

Comprendre Merise et la modélisation des données

UML et les Bases de Données

O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée

BES WEBDEVELOPER ACTIVITÉ RÔLE

BUSINESS INTELLIGENCE

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

La collecte et la gestion des données dans le cadre de la prospection d énergie solaire

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Module BDR Master d Informatique (SAR)

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. DOCUMENTATION

Créer le schéma relationnel d une base de données ACCESS

Nom de l application

Chap. 2: L approche base de données

Bases de Données relationnelles et leurs systèmes de Gestion

Introduction aux Bases de Données

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Business Intelligence avec SQL Server 2012

1 Introduction. Business Intelligence avec SharePoint Server 2010

I4 : Bases de Données

La méthode MERISE (Principes)

Project Manager / Brand Manager / Webmarketing

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Cours de bases de données. Philippe Rigaux

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

Cours Bases de données

TP Bases de données réparties

Les bases de l optimisation SQL avec DB2 for i

FICHE DE POSTE. Gestionnaire des données du Portail des savoirs (H/F)

IBM System i. DB2 Web Query for System i : le successeur de Query/400? Oui, mais bien plus!!!

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Devenez un véritable développeur web en 3 mois!

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Bases de données Outils de gestion

LICENCE : INFORMATIQUE GENERALE

CATALOGUE DES FORMATIONS 2014

Concepteur Développeur Informatique

Introduction à la B.I. Avec SQL Server 2008

et les Systèmes Multidimensionnels

INTRODUCTION : Données structurées et accès simplifié

Entrepôt de données 1. Introduction

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

En date du 11 décembre 2008

Rédiger : le numérique dans la préparation de la thèse

Business Intelligence

2 Serveurs OLAP et introduction au Data Mining

Transcription:

BASES DE DONNEES ET MODELES DE CALCUL OUTILS ET METHODES POUR L UTILISATEUR JEAN-LUC HAINAUT RESUME Les systèmes de bases de données et les tableurs comptent parmi les logiciels les plus utilisés sur ordinateurs personnels. Cet ouvrage, issu de près de vingt ans d'enseignement dans les milieux universitaires et industriels, aide le lecteur à maîtriser ces outils, en mettant en lumière les principales difficultés logiques et la manière de les surmonter. II aborde également des domaines d'application tels que l'exploitation de données historiques, la génération automatique de code (SQL, HTML, XML) ou les bases de données actives. L'auteur amène ensuite le lecteur à prendre conscience de la nécessité d'une phase d'analyse préalable à la mise en oeuvre d'une base de données ou d'une feuille de calcul. S'inspirant, tout en les simplifiant, des moyens dont disposent les développeurs professionnels (modèle entitéassociation, notation UML, méthode MERISE, atelier de génie logiciel,...), il propose un jeu de concepts intuitifs et de démarches à (a portée d'un lecteur non professionnel mais motivé par la réalisation d'applications de qualité. Chacune des deux parties de l'ouvrage (bases de données, puis modèles de calcul) est organisée d'une manière identique présentation des concepts, description d'un outil représentatif, méthodologie, études de cas. L'acquisition des concepts est renforcée par une collection d'exercices de difficulté croissante. Un site Web présente des matériaux complémentaires : indications de résolution ou résolution de certains exercices, développements plus approfondis sur le couplage bases de données feuilles de calcul, études de cas, outils méthodologiques. TABLE DES MATIERES AVANT-PROPOS 15 CHAPITRE 1 MOTIVATION ET INTRODUCTION 17 1.1 L'utilisateur développeur, heurs 17 1.2 et malheurs 18 1.3 Objectif de l'ouvrage 21 PARTIE 1 LES BASES DE DONNEES CHAPITRE 2 INTRODUCTION 25 2.1 L'utilisateur et les données 25 2.2 Bases de données et SGBD relationnels 26 2.3 Construction d'une base de données 28 2.4 Description de la première partie 29 2.5 Pour en savoir plus 30 CHAPITRE 3 CONCEPTS DES BASES DE DONNEES 31 3.1 Table, ligne et colonne 31 3.2 Rôles d'une colonne 33 3.3 Structure et contenu d'une base de données 36

3.3 Structure et contenu d'une base de données 36 3.4 Représentation graphique d'un schéma 37 3.5 Un exemple de base de données relationnelle 37 3.6 Autres notations graphiques 38 3.7 Note sur les contraintes référentielles 41 3.8 Modification et contraintes d'intégrité 42 3.8.1 Les identifiant 42 3.8.2 Les contraintes référentielles 43 3.8.3 Les colonnes obligatoires 44 3.9 La normalisation 45 3.9.1 Le phénomène de redondance interne 45 3.9.2 Normalisation par décomposition 46 3.9.3 Analyse du phénomène 47 3.9.4 Remarques 48 3.10 Les structures physiques 49 3.11 Les systèmes de gestion de données 50 3.12 Exercices 52 CHAPITRE 4 LE LANGAGE SQL 53 4.1 Introduction 53 4.2 Définition d'une base de données 55 4.2.1 Création d'un schéma 55 4.2.2 Création d'une table 56 4.2.3 Suppression d'une table 59 4.2.4 Ajout, retrait et modification d'une colonne 60 4.2.5 Ajout et retrait d'une contrainte 60 4.2.6 Les structures physiques 61 4.3 Consultation et extraction de données dans une table 62 4.3.1 Principes 62 4.3.2 Extraction simple 63 4.3.3 Extraction de lignes sélectionnées 64 4.3.4 Lignes dupliquées dans le résultat 65 4.3.5 Des conditions de sélection plus complexes 66 4.3.6 Données extraites et données dérivées 70 4.3.7 Les fonctions agrégatives 73 4.4 Sélection utilisant plusieurs tables: les sous-requêtes 75 4.4.1 Les sous-requêtes 75 4.4.2 Attention aux critères d'association négatifs 76 4.4.3 Références multiples à une même table 78 4.4.4 Les, quantificateurs ensemblistes 80 4.5 Extraction de données de plusieurs tables (jointure) 82 4.5.1 La jointure de plusieurs tables 83 4.5.2 Conditions de jointure et conditions de sélection 84 4.5.3 Jointures sans conditions : produit relationnel 84 4.5.4 La jointure et les lignes célibataires Les opérateurs ensemblistes 84 4.5.5 Les requêtes sur des structures de données cycliques 88 4.5.6 Sous-requête ou jointure? 92 4.5.7 Valeurs dérivées dans une jointure 94 4.5.8 Les jointures généralisées 94 4.5.9 Interprétation du résultat d'une jointure 95 4.6 Extraction de données groupées 98 4.6.1 Notion de groupe de lignes 98 4.6.2 Sélection de groupes et sélection de lignes 99 4.6.3 Groupes et jointures 100 4.7 Ordre des lignes d'un résultat 102 4.8 Interprétation d'une requête 103 4.9 Les vues SOL 104 4.9.1 Principe et objectif des vues 104 4.9.2 Définition et utilisation d'une vue 105 4.9.3 Les vues comme aide à l'expression de requêtes complexes 106 4.10 Modification des données 106 4.10.1 Ajout de lignes 106 4.10.2 Suppression de lignes 108 4.10.3 Modification de lignes 108 4.10.4 Mise à jour et contraintes référentielles 109 4.10.5 Modification des structures de données 111 4.10.6 Mise à jour des données via une vue 112 4.11 SQL et l'information incomplète 113 4.12 Exercices 121 4.12.1 Enoncés de type 1 122 4.12.2 Enoncés de type 2 122 4.12.3 Enoncés de type 3 123 4.12.4 Enoncés de type 4 124 4.12.5 Enoncés de type 5 127 4.12.6 Enoncés de type 6 129

4.12.6 Enoncés de type 6 129 4.12.7 Enoncé de type 7 129 CHAPITRE 5 SQL AVANCE 131 5.1 Compléments sur SQL et les SGBD 131 5.1.1 Extension de la clause select 131 5.1.2 Extension de la clause from 132 5.1.3 Les requêtes récursives 137 5.1.4 Les prédicats 137 5.1.5 Les procédures SQL (Stored procédures) 139 5.1.6 Les déclencheurs (Triggers) 140 5.1.7 Le contrôle d'accès 140 5.1.8 Les interfaces entre BD et programmes d'application 143 5.1.9 Le catalogue 147 5.1.10 Les extensions proposées par SQL3 150 5.2 Applications spécifiques en SOL 151 5.2.1 Les structures d'ordre 151 5.2.2 Les données temporelles 153 5.2.3 La génération de code 161 5.2.4 Les bases de données actives 167 5.3 Exercices 169 5.3.1 Le catalogue 169 5.3.2 Les structures d'ordre 169 5.3.3 Les données temporelles 170 5.3.4 La génération de code 173 5.3.5 Les bases de données actives 175 CHAPITRE 6 CONSTRUCTION D'UNE BASE DE DONNEES 177 CHAPITRE 7 LE MODELE ENTITE-ASSOCIATION 181 7.1 Types d'entités 181 7.2 Attributs 182 7.3 Types d'associations 183 7.3.1 Propriétés d'un type d'associations 183 7.4 Les identifiant 188 7.4.1 Les identifiant hybrides 189 7.4.2 Composition des identifiant 190 7.4.3 Identifiant minimaux et identifiant implicites 191 7.4.4 Importance du concept d'identifiant 191 7.5 Autres contraintes d'intégrité 192 7.5.1 Les contraintes d'intégrité statiques 192 7.5.2 Les contraintes d'intégrité dynamiques 193 7.6 Exemples 193 7.6.1 Une structure administrative 193 7.6.2 Gestion d'une bibliothèque 195 7.6.3 Voyages en train 195 7.7 Quelques règles de présentation 196 7.8 Extensions du modèle entité-association 197 7.9 et UML? 200 7.9.1 Le modèle de classes d'uml 201 7.9.2 Un exemple de schéma de classes en UML 205 7.9.3 Commentaires 205 7.9.4 Le modèle de classes d UML revisité 207 7.10 Exercices 208 CHAPITRE 8 ELABORATION D'UN SCHEMA CONCEPTUEL 211 8.1 Introduction 211 8.2 Décomposition de l'énoncé 213 8.3 Pertinence d'une proposition 218 8.4 Représentation d'une proposition 219 8.5 Non-redondance des propositions 227 8.6 Non-contradiction des propositions 230 8.7 Documentation du schéma 231 8.8 Complétude du schéma 231 8.9 Normalisation du schéma 232 8.10 Validation du schéma 234 8.11 Exercices 235 CHAPITRE 9 PRODUCTION DU SCHEMA DE LA BASE DE DONNEES 241 9.1 Introduction 241 9.2 Représentation des types d'entités 242 9.3 Représentation des attributs 242

9.3 Représentation des attributs 242 9.4 Représentation des types d'associations 242 9.4.1 Types d'associations un-à-plusieurs 242 9.4.2 Types d'associations un-à-un 244 9.4.3 Types d'associations plusieurs-à-plusieurs 245 9.4.4 Types d'associations cycliques 246 9.5 Représentation des identifiants 247 9.6 Traduction des noms 247 9.7 Les structures physiques 248 9.8 Traduction des structures en SQL 250 9.9 Compléments 251 9.9.1 Les contraintes d'intégrité additionnelles 251 9.9.2 Au sujet des rôles de cardinalité 1-V 252 9.10 Rétro-ingénierie d'une base de données 253 9.11 Extensions de la méthode 257 9.12 Exercices 258 CHAPITRE 10 BASES DE DONNEES : ETUDES DE CAS 261 10.1 Introduction 261 10.2 Les animaux du zoo 262 10.2.1 Enoncé 262 10.2.2 Construction du schéma conceptuel 262 10.2.3 Production du schéma de tables 264 10.2.4 Production du code SQL 265 10.3 Voyages aériens 267 10.3.1 Enoncé 267 10.3.2 Construction du schéma conceptuel 268 10.3.3 Production du schéma de tables 270 10.3.4 Exercice 270 PARTIE 2 LES MODELES DE CALCUL CHAPITRE 11 INTRODUCTION 275 11.1 Le tableur 275 11.2 Le concept de modèle 276 11.3 Construction d'un modèle de calcul 276 11.4 Description de la deuxième partie 277 11.5 Pour en savoir plus 277 CHAPITRE 12 CONCEPTS DES MODELES DE CALCUL 279 12.1 Modèles et processeurs de modèles 279 12.2 Modèles et tableaux 280 12.3 Représentation d'un modèle dans une feuille de calcul 281 12.4 Le marché des tableurs 283 CHAPITRE 13 UN TABLEUR TYPE: EXCEL 285 13.1 Présentation d'excel 285 13.2 La feuille de calcul 286 13.3 Organisation des feuilles de calcul et des modèles 287 13.4 Les composants d'un modèle 287 13.4.1 Désignation de cellules 287 13.4.2 Le contenu des cellules 288 13.4.3 Les formules 284 13.5 Modifications élémentaires d'un modèle 290 13.6 Déplacement et copie de fragments de modèles 291 13.6.1 Adresses relatives et adresses absolues 291 13.7 Les références circulaires 293 13.8 Fonctions de bases de données 294 13.9 les tables de données 294 13.10 Les scénarios 294 13.11 Macros et fonctions personnalisées 294 13.12 Les résolves avancés 296 13.12.1 La valeur cible 296 13.12.2 Le solveur 296 CHAPITRE 14 CONSTRUCTION D'UN MODELE DE CALCUL 299 CHAPITRE 15 EXPRESSION ABSTRAITE D'UN MODELE 303 15.1 Introduction 303

15.1 Introduction 303 15.2 Grandeurs et règles 304 15.3 Notion de modèle 306 15.4 Descriptions externe et interne d'un modèle 307 15.5 Grandeurs à définition multiple 309 15.6 Grandeurs et règles logiques 310 15. 7 Graphe de dépendance 310 15.8 Les valeurs d'exception 313 15.9 Grandeurs et modèles dimensionnés 315 15.10 Les fonctions agrégatives 319 15.11 Règles de récurrence et récursivité 319 15.12 Sous-modèles et modularisation 324 CHAPITRE 16 CONCEPTION D'UN MODELE 329 16.1 Démarche de conception d'un modèle 329 16.2 Les principes 330 16.3 La démarche 331 16.3.1 Analyse 331 16.3.2 Normalisation du modèle 337 16.3.3 Validation du modèle 338 16.3.4 Généralisation par dimensionnement 339 16.4 Sous-modèles non directionnels 340 16.5 Cohérence d'un modèle 342 16.5.1 Cohérence structurelle 343 16.5.2 Cohérence des règles de définition multiple 343 16.5.3 Cohérence des règles de récurrence 344 16.5.4 Cohérence des unités 345 16.5.5 Cohérence des dimensions 347 16.5.6 Cohérence des domaines de valeurs du modèle 350 16.6 Exercices 356 16.6.1 Modèles élémentaires 356 16.6.2 Modèles avancés 357 16.6.3 Validation de modèles 363 16.6.4 et en guise de dessert 364 CHAPITRE 17 IMPLANTATION D'UN MODELE DANS UNE FEUILLE DE CALCUL 365 17.1 Elaboration d'une maquette 365 17.1.1 Représentation des grandeurs dimensionnées 366 17.1.2 Les grandeurs internes 368 17.1.3 Les sous-modèles 369 17.1.4 Exemple de maquette 370 17.1.5 Ergonomie des modèles 371 17.2 Traduction des règles 372 17.2.1 Principes généraux 372 17.2.2 Grandeurs à définition multiple 373 17.2.3 Règles de récurrence et règles récursives 373 17.2.4 Les contraintes 374 17.3 Séquentialisation d'un modèle 375 17.4 Réalisation d'un programme séquentiel 378 17.5 Exercices 380 CHAPITRE 18 MODELES: ETUDES DE CAS 381 18.1 Introduction 381 18.2 Les animaux du zoo 381 18.2.1 Enoncé 382 18.2.2 Construction du modèle abstrait 382 18.2.3 Implantation du modèle dans une feuille de calcul 386 18.3 Voyages aériens 389 18.3.1 Construction du modèle abstrait 389 18.3.2 Implantation du modèle dans une feuille de calcul 393 BIBLIOGRAPHIE 395 INDEX 399 TOP