Cours Bases de données



Documents pareils
INTRODUCTION AUX BASES de DONNEES

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

Bases de données relationnelles : Introduction

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

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

Introduction aux Bases de Données Relationnelles Conclusion - 1

Bases de données avancées Introduction

Introduction aux Bases de Données

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

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

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

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

Bases de données cours 1

Information utiles. webpage : Google+ : digiusto/

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

Implémentation des SGBD

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

Table des matières. Avant-propos

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

1 Introduction et installation

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Bases de Données. Plan

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

CHAPITRE 1 ARCHITECTURE

Architectures d'intégration de données

CESI Bases de données

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Chapitre 1 : Introduction aux bases de données

Module BD et sites WEB

UE 8 Systèmes d information de gestion Le programme

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

Introduction aux bases de données et aux SGBD

Cours de bases de données. Philippe Rigaux

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

Bases de données Outils de gestion

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

«clustering» et «load balancing» avec Zope et ZEO

Module BDR Master d Informatique (SAR)

Structure fonctionnelle d un SGBD

Groupe Eyrolles, 2004 ISBN :

Vincent Augusto

Chapitre 10. Architectures des systèmes de gestion de bases de données

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

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

LOGICIEL DE GESTION DE LABORATOIRE ALPHA LABO

Intégration de données hétérogènes et réparties. Anne Doucet

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

GPC Computer Science

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

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

2011 Hakim Benameurlaine 1

Évaluation et implémentation des langages

et Groupe Eyrolles, 2006, ISBN :

Les bases de données

Formation en Logiciels Libres. Fiche d inscription

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Introduction aux SGBDR

CHAPITRE 1. Introduction aux bases de données

Mise en œuvre des serveurs d application

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

Optimisations des SGBDR. Étude de cas : MySQL

«Clustering» et «Load balancing» avec Zope et ZEO

WEA Un Gérant d'objets Persistants pour des environnements distribués

4D v11 SQL BREAKING THE LIMITS * Les nouveautés

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

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Introduction. Introduction. Haute disponibilité et capacité à monter en charge

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

Master I Génie Logiciel

Introduction à. Oracle Application Express

10. Base de données et Web. OlivierCuré

Oracle 8i sous Linux

Les bases de données Page 1 / 8

NFP111 Systèmes et Applications Réparties

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

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Réplication des données

Bases de Données Avancées

SQL Server 2012 et SQL Server 2014

Présentation de la gamme des PGI/ERP modulaires Wavesoft

Administration des bases de données relationnelles Part I

Comment booster vos applications SAP Hana avec SQLSCRIPT

Entreprises Solutions

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

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

1/ Présentation de SQL Server :

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

Qu est-ce que ArcGIS?

Présentation du PL/SQL

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Gestion électronique de documents

Transcription:

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 antoine.cornuejols@agroparistech.fr Transparents Disponibles sur : http://ouranos.inapg.inra.fr/wiki/ Attention : remises à jour fréquentes 2 Informations sur le cours PLAN Sources bibliographiques Andreas MEIER : pratique aux bases de données relationnelles, Springer-Verlag, 2006 Ramez ELMASRI & Shamkant NAVATHE : Conception et architecture des bases de données, Pearson Education, 2004 1. Qu est-ce qu une base de données? 2. Un système de gestion de base de données (SG) Pourquoi faire? 3. Les grands principes et architecture 4. Historique et évolution des SG 3 4

Bases de données La bibliothèque de Leibniz (~ 1685) Caractéristiques Des données permanentes (livres) Un problème d indexage Précis Fiable Supportant des mises à jour Bases de données Définition (base de données) Une base de données est un gros ensemble d informations structurées mémorisées sur un support permanent et qui peut être partagée par plusieurs applications et qui est interrrogeable par le contenu. vs. Ensemble de fichiers Lourdeur d accès aux données Manque de sécurité Pas de contrôle de concurrence - Lourdeur d accès : connaître le détail de l implantation physique - Manque de sécurité : N importe qui peut modifier le fichier. Pas de contrôle de cohérence. - Pas de contrôle de concurrence entre utilisateurs. 5 6 Système de Gestion de Bases de Données (SG) Définition (SG) Un outil informatique permettant aux utilisateurs de structurer, d insérer, de modifier, de rechercher de manière efficace des données spécifiques, au sein d une grande quantité d informations, stockées sur mémoires secondaires partagée de manière transparente par plusieurs utilisateurs. 7 Bases de données vs. SG Base de données Database Grande masse de données (Gigaoctets = 10 9 octets) Mémoire secondaire (disque dur, disque optique) Liens abstraits/thématiques entre données Longévité des données (des dizaines d années) SG Database Management System (DBMS) Gestion du stockage des données Traitement des données Modification Interrogation, extraction Programmation d applications 8

Mémoire centrale vs. secondaire Mémoire centrale ou primaire ou vive Directement accessible par le processeur central Contient les instructions et les données d'un programme en exécution Rapidité Non persistance Mémoire secondaire ou persistante Indirectement accessible via des opérations d entrée / sortie Lenteur Persistance Système de Gestion de Bases de Données (SG) Définition (SG) Un système de gestion de bases de données (SG) est un logiciel de haut niveau qui permet de manipuler les informations stockées dans une base de données. Complexité (diversité des techniques mises en oeuvre) : Modèles de données Langages de requêtes Techniques de stockage Organisation des fichiers Architecture Optimisation des requêtes Concurrence d accès et reprise sur panne 9 10 Système de Gestion de Bases de Données (SG) Architecture ANSI-SPARC Vues de la Schémas Externes (ES) ES ES ES L4G : Lang. de 4 génération Schéma conceptuel (CS) CS Définition logique de la Structures et types (LDD) SG externe SG interne Gestionnaire des fichiers Mémoire secondaire IS Manipulations (LMD) Schéma interne (IS) Représentation physique Optimisations 11 12

Objectifs des SG (1) Indépendance physique des programmes et des données : Pouvoir modifier les schémas internes sans modifier les schémas conceptuels et externes Indépendance logique des programmes et des données : Pouvoir modifier les schémas externes sans modifier les schémas conceptuels Indépendance entre les différents utilisateurs Manipulation des données par des langages non procéduraux Données facilement manipulables par les utilisateurs (interactifs ou programmeurs) Administration facile des données Outils pour définir et modifier les définition de données 13 Objectifs des SG (2) Efficacité d accès aux données : Optimisation : temps de réponse, débit,... Optimisation des opérations d E/S Redondance contrôlée des données : Dans les réparties : redondance nécessaire, mais contrôlée Cohérence des données Satisfaction de contraintes d intégrité Partage des données Permettre les accès concurrents Sécurité des données Outils pour définir et modifier les définition de données Protection en cas de panne (du SG, de la machine,...) Assurer l atomicité des transactions et l intégrité des données 14 Applications Applications de gestion Banque - Finance - Assurance Gestion du personnel / client des entreprises Gestion des stocks d une entreprise commerciale Système d information d une entreprise Applications transactionnelles Gestion des réservations Transport de passagers (train, avion, voiture,...) Hôtels, Spectacles Fonctionnalités d un SG 1. Persistance 2. Gestion du disque 3. Partage des données 4. Fiabilité des données 5. Sécurité des données 6. Indépendance logique / physique 7. Langage de description, d interrogation et de traitement des données Consultation / modifications très fréquentes 15 16

Fonctionnalités d un SG 1. Persistance Données stockées sur disque 2. Gestion du disque Techniques spécifiques pour de bonnes performances Index, hash-coding Regroupement des données sur disque Optimisation des requêtes Cache-mémoire Fonctionnalités d un SG 3. Partage des données Chaque utilisateur doit avoir l illusion d être seul Notion de transaction (begin, abort, commit) Cohérence des mises à jour effectuées par un utilisateur Cohérence collective : sérialisabilité 4. Fiabilité des données Vérification de contraintes d intégrité Atomiticité des transactions : transaction complètement effectuée ou pas du tout Résistance aux pannes Si panne mémoire : restauration automatique de la base intégrant les dernières transactions validées avant la panne Si panne disque : restauration d une sauvegarde et déroulement du journal archivé Mise en place d un mécanisme de réplication synchrone de la base dans une base miroir : mirroring 17 18 Fonctionnalités d un SG 5. Sécurité des données Tous les utilisateurs ne peuvent pas tout faire sur toutes les données Notion de groupes d utilisateurs Notion d autorisation (lecture, écriture, exécution) Granularité des autorisations : base de données, table, colonne, n-uplet,... Possibilité d accorder ou de supprimer des droits 6. Indépendance logique / physique Organisation physique de la transparente pour le développeur d application On doit pouvoir changer la répartition des données sur le disque (ex : un regroupement ou la pose d un index) sans changer le code de l application manipulant les données Fonctionnalités d un SG 7. Langage de requête Les requêtes doivent être : Simples Déclaratives Optimisées avant leur exécution État de l art : SQL (Structured Query Language) : mélange d algèbre relationnelle et de calcul relationnel QBE (Query By Example) : s appuie sur le calcul relationnel, mais permet de formuler des requêtes et d effectuer des manipulations de données à l aide de représentations graphiques OQL (Object Query Language) : conçu pour s intégrer avec des programmes écrits en langage objet (C ++, Smalltalk, Java) XQUERY (XML Query language) 19 20

Conception d une base de données Architecture ANSI-SPARC Vues de la Schémas Externes (ES) ES ES ES L4G : Lang. de 4 génération Schéma conceptuel (CS) CS IS Définition logique de la Structures et types (LDD) Manipulations (LMD) Schéma interne (IS) Représentation physique Optimisations 21 22 Architecture d une base de données 3 niveaux : Niveau externe : Vues ; Environnement de programmation (intégration avec un langage de programmation) ; Interfaces conviviales et Langages de 4ème génération (L4G) ; Outils d aide (e.g. conception de schémas) ; Outils de saisie, d impression d états. Niveau logique : Définition de la structure de données ; Langages de description des données (LDD) ; Consultation et mise à jour des données : Langages de Requêtes (LR) et Langage de Manipulation de Données (LMD) ; Gestion de la confidentialité (sécurité) ; Maintien de l intégrité. Niveau physique : Gestion sur mémoire secondaire (fichiers) des données, du schéma, des index ; Partage des données et gestion de la concurrence d accès ; Reprise sur pannes (fiabilité) ; Distribution des données et interopérabilité (accès réseaux). Définition du schéma des données : trois modèles Le modèle conceptuel : La description du système d information Le modèle logique : Interface avec le SG Le modèle physique : Les fichiers Trois types d intervenants : Utilisateur naïf Concepteur et programmeur d applications Utilisateur expert (administrateur de la base) 23 24

Exemple : le modèle entité-association Un modèle conceptuel : L analyse du monde réel La conception du système d information La communication entre différents acteurs de l entreprise Mais ne propose pas d opérations Des modèles logiques Un langage de définition de données (LDD) Structure et contraintes Un langage de manipulation de données (LMD) nom character 15, not null âge integer between 0 and 150 débit = crédit... Des langages abstraits Le LDD indépendant de la représentation physique des données Le LMD indépendant de l implantation des opérations 25 26 Outils de description de schéma conceptuel Conception d une application pour une 1. Décider de la structure logique 2. (Décider de la structure physique) 3. Écrire des programmes d application en utilisant la structure logique 4. Le SG se charge de transcrire les commandes du LMD en instructions appropriées à la représentation physique 27 28

Opérations sur les données Quatre opérations classiques (LMD) 1. La création (ou insertion) 2. La modification (ou mise-à-jour) 3. La destruction 4. La recherche Optimisation Optimisation d une requête s appuie sur l organisation physique des données Fichiers séquentiels Index (denses, secondaires, arbres B) Regroupement des données par hachage Faciles à exprimer Efficacité Fiabilité Optimiseur dans le SG Choisit le meilleur séquencement des opérations 29 30 Concurrence d accès Architecture fonctionnelle d un SG relationnel Gérer les conflits Requêtes HTML Requêtes 4-GL si plusieurs utilisateurs font des mises-à-jour simultanées Offrir un mécanisme de retour en arrière si annulation d opérations Requêtes SQL JDBC, CGI ODBC Requêtes SQL Requêtes algébriques Requêtes QBE Gestionnaire des transactions et de la concurrence Donner une image cohérente des données si un utilisateur fait des requêtes et un autre des mises-à-jour Gestionnaire de mémoires Base Gestionnaire de reprises 31 32

Architecture fonctionnelle d un SG relationnel Architecture fonctionnelle typique d un SG Administrateur d entreprise ANSI / X3 / SPARC Analyseur Analyse syntaxique Analyse sémantique Gestion des schémas Administrateur de Processeur de schéma conceptuel Administrateur d application Dictionnaire Contrôleur Modification de requêtes Contrôle d intégrité Contrôle d autorisation Processeur de schéma interne Transformateur interne - stockage Système d E/S Dictionnaire Transformateur conceptuel - interne Processeur de schéma externe Transformateur externe - conceptuel Programme d application Optimiseur Exécuteur Ordonnancement Optimisation Elaboration du plan Exécution du plan Méthodes d accès Contrôle de concurrence Atomicité des transaction Programmeur d application 33 34 Avertissements Avertissements Un SG est un système complexe! Spécificités d un SG Trois niveaux d abstraction Fiabilité Concurrence Stockage massif sur disque Prix à payer Interfaces entre niveaux Journalisation Verrouillage Techniques spécialisées d accès aux données sur disque Un SG est un système difficile à bien utiliser! Méthodes de développement et maintenance Analyse des besoins de l application Conception du schéma conceptuel Conception du schéma interne Réglage (tuning) des applications 35 36

Architecture centralisée Usagers opérationnelles Du point de vue opérationnel Un SG est un ensemble de processus et de tâches qui supportent l exécution du code du SG pour satisfaire les commandes des utilisateurs. Mainframe Depuis les années 80, les SG sont basés sur une architecture clientsserveur programme d'application et SG sur même machine (même site) premiers systèmes Serveur Clients : Gère les données partagèes et exécute le code du SG : Communiquent avec le serveur. Requêtes de type question / réponse 37 38 Architecture client-serveur Architecture client-serveur Clients Réseau LAN Serveur Programme d'application Client SG Serveur 39 40

Architecture deux strates Architecture à trois niveaux : three tier Requête Application Outil applicatif Outils de connectivité Protocoles réseau Réseau Résultat Faiblesses :! Nécessité de spécialistes réseau,, PC! Interfaces hétérogènes (Windows, Mac,...)! Peu portables! Coûts élevés pour la maintenance Interface Réseau Application Réseau SG Serveur Protocoles réseau Outils de connectivité Serveur Procédures Stockées Avec l apparition du Web architectures à trois strates Client mince Serveur d'application Serveur de données 41 42 Serveur d application Serveur de données Navigateur Navigateur Requête Internet Application Outil applicatif Outils de connectivité Protocoles réseau Réseau local Protocoles réseau Outils de connectivité Serveur Procédures Stockées Architecture trois strates Résultat Avantages :! Portabilité! Interfaces homogènes pour les clients (navigateurs)! Support de l hypermédia Inconvénient (mais aussi un avantage)! La centralisation de la gestion des données au niveau du serveur architectures réparties Architecture R / P / MDP ( réparties / parallèles / Multi DB) LAN Clients Serveurs 43 44

Base de données répartie, distribuée Architecture R / P / MDP ( réparties / parallèles / Multi DB) locale locale Base de Données Répartie (R) Programme d'application Client Réseau SG réparti Serveur de données Réseau SG réparti Serveur de données Une avec les fragments dans les SGs sur di!érents sites d un réseau Si c est un réseau local et la répartition est une partition au niveau physique, alors c est une parallèle (P) Multibase (M) Une collection de bases de données munie d un langage multibase répartition des données de manière transparente 45 Sur di!érents sites ou le même On les appelle aussi s intéroperables En général ces s sont autonomes et hétérogènes 46 Historique Historique 47 48

Historique Historique 49 50 Historique 51