1.Introduction J.Korczak 1 BASES DE DONNEES AVANCEES Jerzy KORCZAK, Mohammed ATTIK email: {jjk,attik}@lsiit.u-strasbg.fr BDA Objectifs : Ce cours présente des méthodes, modèles et outils d'aide au développement de bases de données, en utilisant la technologie d'un SGBD relationnel. Le cours aborde les aspects techniques de réalisation des SGBD. Pré-requis : Modélisation de systèmes d'information. Fichiers et bases de données. Génie logiciel. Programmation orientée objet : Java. Contenu du cours : Modèles de données avancés. OLTP et OLAP. Entrepôts de données. Développement d'une application. Conception incrémentale. Systèmes relationnels étendus. Relation NF2. Logique événementielle et déclencheurs. Procédures et packages. Technologie Java : JDBC, applets, servlets. Gestion de la base de données. Optimisation de requêtes. Analyse de performances : benchmarks TPC. Fouille de bases de données. Sécurité. Applications WEB. Bibliographie : ARONOFF E., LONEY K., SONOWALLA N., Advanced Oracle Tuning and Administration, Osborne Publ, 1996 BOUDJILIDA N., Gestion et administration des bases de données, Dunod, 2003 LONEY K., Oracle Database 10g : The Complete Reference, Osborne ORACLE Press, 2004 MIRANDA S., Bases de données, Inter-Editions, 2002 ORACLE Manuals. WILLIAMS H.E., LANE D., Web Database Applications with PHP and MySQL, O Reilly, 2002 1.Introduction J.Korczak 2 Programme Cours : J. KORCZAK, M.ATTIK TD/TP : M. ATTIK 1. Développement de bases de données 2. Modèles de données 3. Entrepôt de données 4. Programmation transactionnelle - SGBD ORACLE 5. Programmation JAVA avancée 6. Structures physiques de bases de données 7. Optimisation 8. Administration de bases de données 1. Introduction Nouvelles applications de BD Robotique, CAO, DAO, Génie logiciel, outils CASE Bureautique, e-business, e-commerce Multi-média, SIG, EAO, WebDB Besoins en modélisation : objets complexes, liens complexes, versions, multi-média Besoins en traitement : nouveaux opérateurs, outils de navigation 1.Introduction J.Korczak 3 Technologies Systèmes transactionnels (On-Line Transaction Processing, OLTP) Multi-bases Entrepôt de données (Data Warehouse) Systèmes d analyse de données en ligne (On-Line Analytical Processing, OLAP) Bases de données multimédia Bases de données orientées objets Extraction de connaissances à partir BD (Data mining, Knowledge Discovery from Databases) Systèmes OLTP conçus pour maximiser le traitement de transactions pas de répertoire de données historiques pour l analyse économique et gestion pas de réponse rapide pour de requêtes ad hoc recherche rapide presque impossible données sont fréquemment modifiées (incohérence) OLTP offre une quantité importante de données sources
1.Introduction J.Korczak 7 Architecture multi-tiers tiers Systèmes OLTP (suite) Premier tiers : Client Interface GUI requête typique, système OLTP (simple agrégation) Deuxièmes tiers : Serveur d applications Troisième tiers : Serveur de données Traitements Fourniture des données Quelle est la balance de ce client? requête typique d analyse de données (DW) Quel est le meilleur produit en vente en Afrique et comment est-t-il corrélé avec de données démographiques? Systèmes OLAP OLAP traite plusieurs milliers, voire millions de données liées par relations complexes ; une réponse rapide est cruciale. Différences entre OLAP et OLTP - serveurs OLTP traitent des données de production accédées par des requêtes simples - serveurs OLAP traitent des données de gestion accédées par investigation analytique itérative Entrepôt de données Entrepôt de données est une collection de données d'entreprise, orientée thématiquement, intégrée à la BD, collectée périodiquement et s. orientation thématique signifie une concentration sur les entités de haut-niveau d'une entreprise ; les données sont associées avec un point du temps ; s signifie qu'elle ne change pas une fois les données saisies dans l entrepôt de données. Les étapes du cycle de vie d un d système Etude de faisabilité du système Analyse conceptuelle Conception technique Réalisation et mise au point Exploitation et maintenance Méthodologie de développement d de BD Les modèles concepts, règles, fonctions : communication et standardisation Les outils logiciels (CASE tools) passifs : éditeurs de spéc, rapports documentaires actifs : maquettes, prototypes, générateurs,... La démarche comment mettre en œuvre les modèles et les outils
Développement par extensions successives Développement de bases de données Faisabilité du système Validation Cahier de charge Planification Validation Conception Vérification Approche de conception par vues - pour les grosses applications - pour une démarche de conception itérative VUE - Ensemble structuré de données correspondant à un sous-domaine de l application (à un groupe distinct d utilisateurs) DOMAINE - Résultat du découpage d une application en fonctions distinctes. Extension 1 Extension 2 Extension 3 1.Introduction J.Korczak 14 Approche de conception par vues : sous-domaines Approche de conception par vues : phases Sous-domaine 1 Sous-domaine 2 Sous-domaine 3 Sous-domaine 1 Sous-domaine 2 Gestion de production Gestion de clients Vue 1 Vue 2 Vue 3 Spécification Gestion de stock Gestion du personnel Sous-domaine 3 Sous-domaine 4 Intégration Schéma conceptuel 1.Introduction J.Korczak 15 1.Introduction J.Korczak 16 Spécification d une d vue Intégration de vues Collecte de l information Ébauche de structures par choix des entités et des associations et des hiérarchies de généralisation Affectation des attributs aux entités/associations Recherche des identifiants Définition des domaines des attributs Définition des cardinalités des associations Définition des dépendances entre clés dans les associations Vérification du schéma de la vue unification des composants des différents schémas Les problèmes à résoudre : synonymie et homonymie recouvrement de classes inclusion de classes information déductible validité des contraintes (domaine, DF, DM) 1.Introduction J.Korczak 17 1.Introduction J.Korczak 18
1.Introduction J.Korczak 19 Techniques de développement d de BD Non assistée par ordinateur «manuelles» Techniques Développement assistés par ordinateur Database Designer Création une nouvelle application - définition du problème - conception du schéma Entité/Association - génération du code (DDL) Réutilisation de l application existante (ang. reverse engineering) - modification du schéma E/A existant - génération du code (DDL) 1.Introduction J.Korczak 20 Database Designer : Diagramme de données Database Designer : Définition D d une d 1.Introduction J.Korczak 21 Database Designer : Définition D d une d Qu est est-ce qu un un «bon bon» schéma conceptuel? Aspects liés au modèle utilisé richesse des concepts simplicité des règles de structuration possibilité d expliciter des contraintes cohérence complétude Aspects liés à la méthode de conception schéma obtenu de façon algorithmique schéma évolutive Aspects liés à l application répondre à des besoins bien précis un schéma peut être «bon» pour un groupe et moins bon pour les autres 1.Introduction J.Korczak 23 1.Introduction J.Korczak 24
1.Introduction J.Korczak 25 Database Designer : Génération G du code (DDL) Database Designer : RéutilisationR 1.Introduction J.Korczak 26 Database Designer : Redéfinition d une d Database Designer : Régénération R du code (DDL) 1.Introduction J.Korczak 27 1.Introduction J.Korczak 28 BI Oracle : Architecture Oracle Collaboration Suite Open Desktops Wireless Windows, Office & Outlook Voice Fax Calendar Files Search Web Browser Voicemail Real-Time Collaboration Business Applications E-mail Workspaces 1.Introduction J.Korczak 29 1.Introduction J.Korczak 30