Réda DEHAK reda@lrde.epita.fr 2012/2013 http://www.lrde.epita.fr/~reda/bdd



Documents pareils
Information utiles. webpage : Google+ : digiusto/

INTRODUCTION AUX BASES de DONNEES

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

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

Bases de données avancées Introduction

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

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

Cours Bases de données

CHAPITRE 1 ARCHITECTURE

CESI Bases de données

Bases de données relationnelles : Introduction

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

Bases de données cours 1

Master I Génie Logiciel

Les bases de données

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

Introduction aux bases de données

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

CHAPITRE 1. Introduction aux bases de données

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

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

Introduction aux Bases de Données

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

Les Bases de Données et l Objet Introduction

IFT3030 Base de données. Chapitre 1 Introduction

Bases de Données Avancées

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

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

Les bases de données. Historique

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

Les bases de données Page 1 / 8

Introduction aux bases de données et aux SGBD

Bases de Données. Plan

Table des matières. Avant-propos

Bases de données et sites WEB Licence d informatique LI345

UE 8 Systèmes d information de gestion Le programme

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

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Bases de données - Modèle relationnel

Structured Query Language

Structure fonctionnelle d un SGBD

et les Systèmes Multidimensionnels

Bases de Données Avancées

Bases de données. Chapitre 1. Introduction

1 Introduction et installation

Rappel sur les bases de données

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

Bases de données relationnelles

Du 10 Fév. au 14 Mars 2014

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Bases de données Outils de gestion

Le langage SQL (première partie) c Olivier Caron

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

Implémentation des SGBD

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

Module BD et sites WEB

Module BDR Master d Informatique (SAR)

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Introduction aux bases de données: application en biologie

//////////////////////////////////////////////////////////////////// Administration bases de données

Introduction aux Bases de Données

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)

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

Mercredi 15 Janvier 2014

Architectures d'intégration de données

Évaluation et implémentation des langages

OBJECTIFS ET ARCHITECTURE DES SGBD

SQL SERVER 2008, BUSINESS INTELLIGENCE

Le Langage SQL version Oracle

CATALOGUE FORMATIONS DOMAINE Bases de données

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

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

Visual Paradigm Contraintes inter-associations

Base de Données et Langage SQL

Dossier I Découverte de Base d Open Office

Bases de données et sites WEB

SQL Historique

Bases de données élémentaires Maude Manouvrier

Introduction au Système de Gestion de Base de Données et aux Base de Données

Qu est-ce que ArcGIS?

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

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

Les Géodatabases en 9.2

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

Datawarehouse: Cubes OLAP. Marlyse Dieungang Khaoula Ghilani

Introduction aux SGBDR

Chapitre 1 Généralités sur les bases de données

16H Cours / 18H TD / 20H TP

A QUOI SERVENT LES BASES DE DONNÉES?

Didier MOUNIEN Samantha MOINEAUX

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Notes de cours : bases de données distribuées et repliquées

Transcription:

Réda DEHAK reda@lrde.epita.fr 2012/2013 http://www.lrde.epita.fr/~reda/bdd

Organisation du cours Horaires : Cours : 24h RELA + (14h IMDB en S4). RELATD : 14h. Evaluations : Projet, Contrôles, QCM Projet : Conception et utilisation d une base de données sous Oracle. Pré-requis : Théorie des ensembles Logique et calcul des prédicats Algorithmes et structures de données. Réda DEHAK 2

Plan du cours BDD 1. Conception d une BD : (RELA) Comment construire une BD? Quelles sont les informations à rajouter dans la BD? Comment structurer une BD? Trouver la meilleure représentation 2. Utilisation d une BD : (RELA) Comment accéder aux informations contenues dans la BD? Comment utiliser les capacités du SGBD? 3. Implémentation des SGBD (DBMS) : (IMDB) Comment implémenter un SGBD : traitement des requêtes, gestionnaire des transactions, organisation du support physique? Objectifs : Optimisation des bases de données Réda DEHAK 3

Conception d une base de données 1. Le modèle Entité Association. 2. Le modèle Relationnel. 3. Conception et optimisation du schéma relationnel (Formes normales). 4. Conception et optimisation du schéma physique. Réda DEHAK 4

Utilisation d une BD 1. Algèbre relationnel & Calcul relationnel. 2. Le langage SQL : Introduction. Définition du schéma. Requêtes sur une table. Requêtes sur plusieurs tables. Insertion, Suppression et MAJ. Contraintes, Vues et Triggers. PL/SQL (Projet) SQL/CLI, JDBC Réda DEHAK 5

Implémentation des SGBD 1. Stockage des données. 2. Les indexes. 3. Évaluation des requêtes. 4. Optimisation des requêtes. 5. Gestion de la concurrence des transactions. 6. Recouvrement et gestion des logs. Réda DEHAK 6

Bibliographie 1. R. Ramakrishnan, J. Gehrke, «Database Management Systems», 3 e édition, 2003. 2. J.D. Ullman, H.G. Molina, J. Widom, «Database Systems : The Complete Book», 2 e édition, 2011. 3. Joseph M. Hellerstein et Michael Stonebraker, «Readings in Database Systems», 2005. Réda DEHAK 7

Bibliographie 4. F. Brouard, Rudi Bruchez et Christian Soutou «SQL», 2010. http://sqlpro.developpez.com 5. J.Celko, «SQL for Smarties: Advanced SQL Programming», 2010, 4 e édition. 6. J. Celko, «SQL avancé : programmation et techniques avancées», 2000, 2 e édition. 7. P. Gulutzan, T. Pelzer, «SQL-99 Complete, Really: An Example-Based Manual of the New Standards», 1999. Réda DEHAK 8

Bibliographie 7. G.C. Simsion, «Data Modeling Essentials: Analyse, Design and Innovation», 2000. 8. Ryan K. Stephens, Ronald Plew, «Conception de bases de données», 2001. 9. Joe Celko, «Data & Databases: Concepts in Practice», 1997. http://sqlpro.developpez.com/biblio/sql_bibl.html Réda DEHAK 9

Plan du cours 1. Définitions. 2. Objectifs et fonctions d un SGBD. 3. Architecture d un SGBD. 4. Organisation d une BD. 5. Histoire des SGBDs. Réda DEHAK 10

Base de données (Database) Base de données (BD) : Une collection de données modélisant les objets d une partie du monde réel et servant de support à une application. Exemple : La scolarité des étudiants à EPITA Réda DEHAK 11

Système de Gestion de Base des Données (SGBD) DataBase Management System (DBMS) Système de Gestion de Base de Données (SGBD) Système logiciel gérant une BD Peut avoir des composantes matériel Mono ou multi-ordinateur En général, peut gérer plusieurs BDs Peux aussi accéder aux BDs d autres SGBDs Réda DEHAK 12

Banque de données Banque de données : Une base de données (BD). Un système de gestion de base de données (SGBD). Services + + Réda DEHAK 13

Exemple Gestion de la bibliothèque Réda DEHAK 14

Exemple Gestion de la bibliothèque Un ensemble d outils écrit en C# Réda DEHAK 15

Exemple Gestion de la bibliothèque Microsoft SQL Server Données relatives aux emprunts et rendus de livres Réda DEHAK 16

Plan du cours 1. Définitions. 2. Objectifs et fonctions d un SGBD. 3. Architecture d un SGBD. 4. Organisation d une BD. 5. Histoire des SGBDs. Réda DEHAK 17

Fichiers vs. SGBD? Fiches de paye Production en temps réel Gestion d une entreprise Pièces Clients Commandes Réda DEHAK 18

Fichiers vs SGBD? Programme 1 Programme 2 Programme 3 Programme 4 Données Données Données Données Fichiers Fichiers Fichiers Fichiers Relations? Réda DEHAK 19

Problèmes avec les fichiers Redondance des données. Partage limité au niveau du fichier. Problèmes de cohérence globale des données. Mauvaise structuration des données. Dépendance entre les programmes et les données (fichiers). Modification des fichiers modification des programmes. Difficulté pour le développement de nouvelles applications. Réda DEHAK 20

Fichiers vs. SGBD? Fiches de paye Production en temps réel Gestion d une entreprise Pièces Clients Commandes Réda DEHAK 21

SGBD Fiches de paye Base de données Pièces Production en temps réel Commande Clients Réda DEHAK 22

Base de données Programme 1 Programme 2 Programme 3 Programme 4 SGBD : Requêtes, transactions Base de données Réda DEHAK 23

Objectifs d un SGBD 1. Indépendance des programmes aux données 2. Simplicité des Manipulations des données 3. Efficacité des accès aux données 4. Partage et sécurité des données 5. Redondance contrôlée des données 5. Conception facilité des applications 6. Facilité de l administration système de la BD Réda DEHAK 24

Objectifs d un SGBD 1. Indépendance des programmes aux données : Dépendance physique. Dépendance logique. 2. Simplicité des Manipulations des données : Langage non procédural : quoi et non comment. Recherche, Insertion et Mise à jour. 3. Efficacité des accès aux données : Temps de réponse. Débit global. Réda DEHAK 25

Objectif d un SGBD 4. Partage et sécurité des données : Simultanéité lecture/écriture. Confidentialité (authentification, droits d'accès, ). Gestion de la concurrence des transactions. Restauration après pannes (journal des transactions, sauvegarde). 5. Redondance contrôlée des données : Sauvegarde des données. 6. Conception facilité des applications : Conception visuelle des BD (diagrammes E/R, E/A, objets). Conception des traitements (diagrammes de flux entre modules). Dictionnaire de données (objets BD, graphiques, applicatifs). Réda DEHAK 26

Objectifs des SGBD 7. Facilité de l administration système de la BD : Outils d'audit & de tunning. Visualisation des plans d accès. Élaboration de statistiques. Réda DEHAK 27

Langage des SGBDs Langage de définition des données (LDD) : Définition des schémas conceptuel, externe et interne. Ces définitions sont stockées dans le répertoire système. Langage de manipulation de données (LMD) : Langage de requêtes déclaratif pour lire et mettre à jour les données. Peut être autonome (ex. SQL) ou intégré dans un langage de programmation (C, java, ). Réda DEHAK 28

Utilisateurs d un SGBD Utilisateur final (ad-hoc) : Recherche d informations sans connaître la BD. Accède à la BD par des interfaces applicatives, Web Utilisation de langage simple (ex: QBE). Programmeur d applications : Conçoit et implémente des applications qui accèdent à la BD pour les utilisateurs finaux. Spécialiste de SQL. Administrateur de la BD : Définit et gère le schéma conceptuel et les vues. Gère le schéma interne et règle les performances. Charge et reformate la BD. Gère la sécurité et la fiabilité. Réda DEHAK 29

Plan du cours 1. Définitions. 2. Objectifs et fonctions d un SGBD. 3. Architecture d un SGBD. 4. Organisation d une BD. 5. Histoire des SGBDs. Réda DEHAK 30

Architecture d un SGBD (Organisation) Programmes d application SGBD externe SGBD interne Programmes d application Gestionnaire de SGBD fichiers M.S. Programmes d application Programmes d application Réda DEHAK 31

Architecture d un SGBD (Fonctionnel) Évaluation des requêtes Plan d exécution Évaluation des opérateurs Parser Optimisation Gestionnaire des transactions Gestion de la concurrence Gestionnaire des verrous Méthodes d accès et fichiers Gestionnaire du tampon Gestionnaire de l espace disque Récupération Base de données Index, données, catalogues SGBD Réda DEHAK 32

Requêtes Modification de Schéma Requête Modification Gestionnaire de transaction Processeur de requête Gestionnaire de stockage Données Méta-données Réda DEHAK 33

Transaction Transaction : Une séquence considérée atomique d actions (reads/writes) sur la base de données. Chaque transaction, qui s exécute complètement, doit laisser la BD dans un état cohérent (consistent state) si la BD était dans un état cohérent avant le début de la transaction. Les utilisateurs peuvent spécifier des contraintes d intégrités sur les données. Le SGBD doit forcer la satisfaction de ces contraintes. Le SGBD n a aucune informations sur la sémantique des informations stockées dans la BD. Réda DEHAK 34

Objectifs du Transaction Manager Préserver les propriétés ACID des transactions. Atomicité : tout ou rien. Cohérence de la base. Isolation : Exécution indépendante. Durabilité : préserver les modifications après un commit même en cas de panne. Gestion des verrous. Gestion du journal de la BD (les logs). Réda DEHAK 35

Plan du cours 1. Définitions. 2. Objectifs et fonctions d un SGBD. 3. Architecture d un SGBD. 4. Organisation d une BD. 5. Histoire des SGBDs. Réda DEHAK 36

Organisation d une BD User 1 Schéma externe 1 User 2 Schéma externe 2 Schéma conceptuel Schéma physique User n Schéma externe n Modélisation du Monde réel Base de données physique Niveau externe Niveau conceptuel Niveau interne Réda DEHAK 37

Exemple Conceptuel description du monde réel Client Com mand e Produit Client Interne implémentation dans les fichiers N 12456 12345 11097 Nom Dupont Durant Alex Tel 014586789 04567689 02345425 Index Externe (vues) description vues par un utilisateur (ou un groupe d utilisateurs) Commande Nom Dupont Dupont Produit marteau Alex Scie 13 Réda DEHAK 38 Clou Qte 1234 4567

Exemple Gestion de la bibliothèque Réda DEHAK 39

SGBD Fiches de paye Base de données Pièces Production en temps réel Commande Clients Réda DEHAK 40

Plan du cours 1. Définitions. 2. Objectifs et fonctions d un SGBD. 3. Architecture d un SGBD. 4. Organisation d une BD. 5. Histoire des SGBDs. Réda DEHAK 41

Histoire des bases de données Modèle Hiérarchique : fin des années 60 et années 70 Modèle Réseau (CODASYL 1 ) : les années 70 Modèle Relationnel : de 1970 à 1980 Modèle Entité-Association : les années 70 Modèle Relationnel Etendu (R++) : les années 80 Modèle Sémantique : fin des années 70 et années 80 Modèle Orienté Objet : fin des années 80 et début 90 Modèle Relationnel Objet : fin des années 80 et début 90 Modèle Semi-Structuré(XML) : fin 90 à maintenant 1 Committee On DAta SYsteme Languages Réda DEHAK 42

Modèle Hiérarchique Fin 1960 : IBM lance le SGBD IMS Modèle hiérarchique : les associations entre les données sont représentées par un arbre. Client(nclt, nom, adresse) Produit(nprod, designation, couleur) Produit(nprod, designation, couleur, qte, date) Client(nclt, nom, adresse, qte, date) Réda DEHAK 43

Modèle Hiérarchique Get unique Client (nclt = 42) Until failure do Get next within parent (couleur = rouge ) Enddo PB : redondance d information. Dépendance parents (Pb d existence). 1) Indépendance physique et logique fortement recommandée 2) Représentation des données en arbre est très restrictive 3) Il est difficile de trouver une représentation simple et efficace d un arbre. 4) Les enregistrements uniques forcent le programmeur à optimiser lui-même ses requêtes Réda DEHAK 44

Modèle Réseau (CODASYL) Début 1960 : Charles Bachman développe le premier SGBD, IDS, chez Honeywell. Modèle réseau : Les associations entre les données sont représentées par un graphe. 1969: Standardisation du modèle réseau (CODASYL). Client(nclt, nom, adresse) Passer une commande Commande(Qte, date) Produit(nprod, designation, couleur) Est commandé Par Réda DEHAK 45

Modèle Réseau (CODASYL) Pb: Enseignant Groupe Cours Salle Réda DEHAK 46

Modèle Réseau (CODASYL) Trouver Client (nclt = 42) Until no-more do Find next Commande dans «Passer une commande» Find Produit correspondant dans «Est commandé Par» récupérer l enregistrement courant check(couleur = rouge) enddo Navigation complexe (Charlie Bachmann «Navigating in hyperspace» [BACH73 Turing Award lecture] 1. Le modèle Réseau est plus flexible que le modèle Hiérarchique mais plus complexe 2. Le chargement et la restauration des Réseaux sont plus complexes Réda DEHAK 47

Modèle Relationnel Années 1970 : 1970 : Ted Codd définit le modèle relationnel au IBM San Jose Laboratory (aujourd hui IBM Almadem), prix Turing en 1986. «A Relationnal Model for Large Shared Data Banks», Communications of the ACM, Juin 1970. 2 projets de recherche majeurs INGRES : University of California, Berkley Devint le produit INGRES suivi par POSTGRES, logiciel libre, qui devint le produit ILLUSTRA racheté par INFORMIX. Système R. IBM San Jose Laboratory Devint DB2, inspira ORACLE 1978 : Naissance de Relational Software Inc (ORACLE) (version 1.0). Réda DEHAK 48

Modèle Relationnel Ted Codd a défini le modèle relationnel, les formes normales, langage alpha Un célèbre débat ente Ted Codd et Charlie Bachman (SIGMOD 74) : Les programmeur COBOL ne sont pas capable de comprendre les principes du modèle relationnel. Il est impossible d implémenter de manière efficace le modèle relationnel. Le modèle réseau (CODASYL) peut représenter des tables alors quelle est la nouveauté? Le monde relationnel admet: Codd est un mathématicien et son langage alpha n est pas le plus adapté. SQL et QUEL sont plus user friendly. System R et INGRES prouve la possibilité de l implémentation efficace des idées de Codd. On peut même faire de l optimisation de requêtes. Démonstration de l indépendance physique. Les vues contribuent à l amélioration de l indépendance logique. Les langages ensemblistes contribuent dans l adoption de cet outil par les programmeur. Réda DEHAK 49

Modèle Relationnel Le monde réseau admet : On peut définir des langages ensemblistes pour le modèle Réseau LSL[TSIC76] On peut nettoyer le modèle Réseau [CODA78]. Le succès du modèle relationnel est fortement lié au succès des systèmes VAX (Mini-computer). Le modèle réseau principal (IDMS from Culinaine Corp) était développé en assembleur IBM non portable. Réda DEHAK 50

Evolution du Modèle Relationnel SQL : developpé chez IBM par Donald D. Chamberlin and Raymond F. Boyce au début des années 70 sous le nom SEQUEL (Structured English Query Language), Années 1980 : Maturation de la technique relationnelle. 1986 : Première Norme SQL (SQL86) 1989 : Standardisation de SQL (SQL89). Années 1990 : 1992 : Norme SQL2 (SQL92) Amélioration constante de la technologie relationnelle. Support de la distribution et du parallélisme. 1999 : Le relationnel-objet Norme SQL3 (SQL99) Nouveaux domaines d application : entrepôts de données et décisionnel, Web, Multimédia, Mobiles, etc. Années 2000 : Norme SQL 2003 : SQL Routines and Types Using the Java Programming Language XML-Related Specifications (SQL/XML) Norme SQL 2008 Réda DEHAK 51

Modèle Entité Association Peter Chen, «The Entity-Relationship Model Toward a Unified View of Data», TODS 1(1):9-36 (1976). Client Com mand e Produit Pas de succès. Devient l outil principal des DBAs pour l architecture des bases de données relationnel Les Dépendances Fonctionnelles sont difficile à maitriser (contre exemple de KISS). Réda DEHAK 52

Modèle R++ Nouvelles propositions pour l extension du modèle relationnel : Notion de domaine d attributs Agrégation (un tuple est utilisé comme un attribut) Généralisation. Pas de grand succès, les fournisseurs de SGBD étaient préoccupés par les performances de la gestion des transactions et le problème de charge. Réda DEHAK 53

Modèle Sémantique Nouvelle proposition : Un modèle Sémantique. Héritage multiple Smith and Smith [SMIT77], Hammer and McLeod [HAMM81]. Univac développe une implémentation des idées de Hammer et McLeod. L échec de ce modèle est liée au fait que SQL est devenu rapidement le standard intergalactique en matière d interrogation des BDDs. Réda DEHAK 54

Modèle Orienté Object Société Française O2 (Francois Bancilhon INRIA) : Un modèle OODB (reprise des idées du modèle sémantique) Un langage déclaratif OQL hôte dans un autre langage de programmation. Erreur de la société O2 : Présence en France : «As goes United States goes the rest of the world» Réda DEHAK 55

Modèle Relationnel Objet Débute avec l intérêt d INGRES pour SIG. Définition de nouveaux types et leur opérateur. Principales contributions dans les SGBDRs: User-defined data types. User-defined operators. User-defined functions (procédures stockées) User-defined acces methods Mélange de données et de traitement dans la même base de données Réda DEHAK 56

Histoire des bases de données (4) Recherches actuelles : XML Internet et Web. Base de données multimédia. Aide à la prise de décisions et extraction de connaissance (Data Mining, OLAP) Interrogation par le contenu des objets multimédias distribués. Systèmes d Informations Géographiques (SIG) Modèles navigationnel : NOSQL Réda DEHAK 57

Types de SGBD : Par modèle de données 1ère génération 1950 65 SGF, SGF généralisés avec les langages booléens de manipulation. 2ème génération 1965-70 SGBD navigationnel Hierarchique (IMS), Réseau (Codasyl), Pseudo-relationnel 3ème génération 1969 - SGBD relationnel (DB2, Oracle, Informix, MsAccess SGBD OO 1990-1999 En pratique : une impasse (O2, Objectstore, Objectivity..) SGBD relationnel objet (RO) 1993 - Évolution de tout SGBD relationnel Réda DEHAK 58