La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire

Cours Bases de données

De
13 pages
TP, Supérieur, TP
  • mémoire - matière potentielle : secondaire
  • mémoire - matière potentielle : secondaires
  • mémoire - matière potentielle : centrale
  • mémoire
  • mémoire - matière potentielle : base
Cours “Bases de données” 3° année (MISI) Antoine Cornuéjols Informations sur le cours • 9 (10) séances de 3h (Cours + TD/TP) • Polycopié • Transparents Disponibles sur : Attention : remises à jour fréquentes 2 Informations sur le cours • Sources bibliographiques Andreas MEIER : “Introduction 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 3 Introduction 4 PLAN Introduction 1.
  • architectures client
  • architecture clients
  • architecture fonctionnelle
  • introduction pratique aux bases de données relationnelles
  • système de gestion de bases de données
  • systèmes de gestion de bases de données
  • calcul relationnel
  • sgbd
  • sgbd relationnel
  • base de donnée
  • base donnée
  • bases de données
  • base des données
  • base données
  • bases de donnée
  • base de données
  • introduction
Voir plus Voir moins

Informations sur le cours
9 (10) séances de 3h (Cours + TD/TP)•Cours
Polycopié“Bases de données” •
Transparents •
3° année (MISI)
Disponibles sur :
http://ouranos.inapg.inra.fr/wiki/
Antoine Cornuéjols
Attention : remises à jour fréquentes
www.lri.fr/~antoine
antoine.cornuejols@agroparistech.fr
2
IntroductionInformations sur le cours
PLAN Introduction
1. Qu’est-ce qu’une base de données ?
Sources bibliographiques•
2. Un système de gestion de base de données (SGBD)Andreas MEIER : “Introduction pratique aux bases de
données relationnelles”, Springer-Verlag, 2006 Pourquoi faire ?
Ramez ELMASRI & Shamkant NAVATHE :
3. Les grands principes et architecture
“Conception et architecture des bases de données”,
Pearson Education, 2004
4. Historique et évolution des SGBD
3 4 Introduction Introduction
Bases de données Bases de données
La bibliothèque de Leibniz (~ 1685) 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 Caractéristiques
partagée par plusieurs applications et qui est interrrogeable par
Des données permanentes (livres) le contenu.
Un problème d’indexage
- Lourdeur d’accès : connaître le vs. Ensemble de fichiers détail de l’implantation physique•
Précis
- Manque de sécurité : N’importe Lourdeur d’accès aux donnéesFiable • qui peut modifier le fichier. Pas de
contrôle de cohérence.Supportant des mises à jour Manque de sécurité•
- Pas de contrôle de concurrence
entre utilisateurs.Pas de contrôle de concurrence•
5 6
Introduction Introduction
Système de Gestion de Bases de Données (SGBD) Bases de données vs. SGBD
Base de données Database
Définition (SGBD) 9Grande masse de données (Gigaoctets = 10 octets)
Un outil informatique permettant aux utilisateurs de structurer, Mémoire secondaire (disque dur, disque optique)
Liens abstraits/thématiques entre donnéesd’insérer, de modifier, de rechercher de manière efficace des données
Longévité des données (des dizaines d’anné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 SGBD Database Management System (DBMS)
utilisateurs. Gestion du stockage des données
Traitement des données
Modification
Interrogation, extraction
Programmation d’applications
7 8 Introduction Introduction
Système de Gestion de Bases de Données (SGBD)Mémoire centrale vs. secondaire
Définition (SGBD) Mémoire centrale ou primaire ou vive
Un système de gestion de bases de données (SGBD) est un logiciel de Directement accessible par le processeur central
haut niveau qui permet de manipuler les informations stockées dans
Contient les instructions et les données d'un programme en exécution
une base de données.
Rapidité
Non persistance
Complexité (diversité des techniques mises en oeuvre) :
Modèles de donnéesMémoire secondaire ou persistante
Langages de requêtes
Indirectement accessible via des opérations d’entrée / sortie Techniques de stockage
Organisation des fichiers
Lenteur
Architecture
Persistance Optimisation des requêtes
Concurrence d’accès et reprise sur panne
9 10
Introduction Introduction
Système de Gestion de Bases de Données (SGBD) Architecture ANSI-SPARC
Vues de la BD
Schémas Externes (ES)
L4G : Lang. de 4° génération
ES ESES
Schéma conceptuel (CS)
Définition logique de la BD
CS
• Structures et types (LDD)
• Manipulations (LMD)
IS
Mémoire
Schéma interne (IS)secondaireSGBD SGBD Gestionnaire
externe interne • Représentation physiquedes fichiers
• Optimisations
11 12 Introduction Introduction
Objectifs des SGBD (1) Objectifs des SGBD (2)
Efficacité d’accès aux données :Indépendance physique des programmes et des données :
Optimisation : temps de réponse, débit, ...
Pouvoir modifier les schémas internes sans modifier les schémas conceptuels et externes Optimisation des opérations d’E/S
Indépendance logique : Redondance contrôlée des données :
Dans les BD réparties : redondance nécessaire, mais contrôléePouvoir modifier les schémas externes sans modifier les schémas conceptuels
Indépendance entre les différents utilisateurs Cohérence des données
Satisfaction de contraintes d’intégritéManipulation des données par des langages non procéduraux
Partage des donnéesDonnées facilement manipulables par les utilisateurs (interactifs ou programmeurs)
Permettre les accès concurrents
Administration facile des données
Sécurité des données
Outils pour définir et modifier les définition de données
Outils pour définir et modifier les définition de données
Protection en cas de panne (du SGBD, de la machine, ...)
Assurer l’atomicité des transactions et l’intégrité des données
13 14
Introduction Introduction
Applications Fonctionnalités d’un SGBD
Applications de gestion
1. Persistance
Banque - Finance - Assurance
2. Gestion du disque Gestion du personnel / client des entreprises
Gestion des stocks d’une entreprise commerciale
3. Partage des données
Système d’information d’une entreprise
4. Fiabilité des données
Applications transactionnelles
5. Sécurité des données
Gestion des réservations
6. Indépendance logique / physiqueTransport de passagers (train, avion, voiture, ...)
Hôtels, Spectacles 7. Langage de description, d’interrogation et de traitement des données
Consultation / modifications très fréquentes
15 16 Introduction Introduction
Fonctionnalités d’un SGBD Fonctionnalités d’un SGBD
3. Partage des données
1. Persistance Chaque utilisateur doit avoir l’illusion d’être seul
Notion de transaction (begin, abort, commit) Données stockées sur disque
Cohérence des mises à jour effectuées par un utilisateur
2. Gestion du disque Cohérence collective : sérialisabilité
Techniques spécifiques pour de bonnes performances 4. Fiabilité des données
Index, hash-coding Vérification de contraintes d’intégrité
Regroupement des données sur disque Atomiticité des transactions : transaction complètement effectuée ou pas du tout
Optimisation des requêtes Résistance aux pannes
Si panne mémoire : restauration automatique de la base intégrant les dernières transactions Cache-mémoire
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
Introduction Introduction
Fonctionnalités d’un SGBD Fonctionnalités d’un SGBD
5. Sécurité des données 7. Langage de requête
Tous les utilisateurs ne peuvent pas tout faire sur toutes les données Les requêtes doivent être :
Notion de groupes d’utilisateurs Simples
Notion d’autorisation (lecture, écriture, exécution) Déclaratives
Granularité des autorisations : base de données, table, colonne, n-uplet, ... Optimisées avant leur exécution
Possibilité d’accorder ou de supprimer des droits
État de l’art :
6. Indépendance logique / physique SQL (Structured Query Language) : mélange d’algèbre relationnelle et de calcul relationnel
Organisation physique de la BD transparente pour le développeur d’application 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
On doit pouvoir changer la répartition des données sur le disque (ex : un
OQL (Object Query Language) : conçu pour s’intégrer avec des programmes écrits en langage regroupement ou la pose d’un index) sans changer le code de l’application ++objet (C , Smalltalk, Java)
manipulant les données
XQUERY (XML Query language)
19 20 Introduction Introduction
Conception d’une base de données Architecture ANSI-SPARC
Vues de la BD
Schémas Externes (ES)
L4G : Lang. de 4° génération
ES ESES
Schéma conceptuel (CS)
Définition logique de la BD
CS
• Structures et types (LDD)
• Manipulations (LMD)
IS
Schéma interne (IS)
• Représentation physique
• Optimisations
21 22
Introduction Introduction
Architecture d’une base de données Définition du schéma des données : trois modèles
3 niveaux :
Niveau externe : Vues ; Environnement de programmation (intégration avec un langage de Le modèle conceptuel :
programmation) ; Interfaces conviviales et Langages de 4ème génération (L4G) ; Outils d’aide
La description du système d’information(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
Le modèle logique : données (LDD) ; Consultation et mise à jour des données : de Requêtes (LR) et
Langage de Manipulation de Données (LMD) ; Gestion de la confidentialité (sécurité) ; Maintien
Interface avec le SGBDde l’intégrité.
Niveau physique : Gestion sur mémoire secondaire (fichiers) des données, du schéma, des
Le modèle physique : 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).
Les fichiers
Trois types d’intervenants :
Utilisateur naïf
Concepteur et programmeur d’applications
Utilisateur expert (administrateur de la base)
23 24 Introduction Introduction
Exemple : le modèle “entité-association” Des langages abstraits
Un modèle conceptuel : Le LDD
L’analyse du monde réel
indépendant de la représentation physique des données
La conception du système d’information
La communication entre différents acteurs de l’entreprise
Le LMD
Mais ne propose pas d’opérations
indépendant de l’implantation des opérations
Des modèles logiques
nom character 15, not nullUn langage de définition de
âge integer between 0 and 150données (LDD)
débit = crédit
Structure et contraintes
...
Un langage de manipulation de
données (LMD)
25 26
Introduction Introduction
Outils de description de schéma conceptuel Conception d’une application pour une BD
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 SGBD se charge de transcrire les commandes du LMD
en instructions appropriées à la représentation physique
27 28JDBC, CGI
Introduction Introduction
Opérations sur les données Optimisation
Quatre opérations classiques (LMD)
Optimisation d’une requête
1. La création (ou insertion)
s’appuie sur l’organisation physique des données
2. La modification (ou mise-à-jour)
Fichiers séquentiels
3. La destruction
Index (denses, secondaires, arbres B)
4. La recherche Regroupement des données par hachage
Faciles à exprimer
Optimiseur dans le SGBDEfficacité
Choisit le meilleur séquencement des opérationsFiabilité
29 30
Introduction Introduction
Concurrence d’accès Architecture fonctionnelle d’un SGBD relationnel
Requêtes
RequêtesHTML
Gérer les conflits 4-GL
Requêtessi plusieurs utilisateurs font des mises-à-jour simultanées
QBE
Requêtes
SQLRequêtes Offrir un mécanisme de retour en arrière
SQL Gestionnaire desRequêtes
transactions et algébriquessi annulation d’opérations
de la concurrence
GestionnaireDonner une image cohérente des données
de
mémoiressi un utilisateur fait des requêtes et un autre des mises-à-jour Gestionnaire
de
reprises
Base
31 32
ODBC Introduction Introduction
Architecture fonctionnelle d’un SGBD relationnel Architecture fonctionnelle typique d’un SGBD
ANSI / X3 / SPARC
Analyse syntaxiqueAdministrateur
Analyse sémantiqued’entreprise Analyseur
Gestion des schémas
Administrateur Administrateur Processeur de
Modification de requêtesde BD d’application schéma conceptuel
Contrôle d’intégritéDictionnaire Contrôleur
Contrôle d’autorisation
Processeur de Processeur de Dictionnaire
schéma interne schéma externe Ordonnancement
Optimisation
Optimiseur
Elaboration du plan
Transformateur Transformateur Transformateur
interne - stockage conceptuel - interne externe - conceptuel
Exécution du plan
Méthodes d’accès
Exécuteur
Contrôle de concurrenceProgramme Système d’E/S Atomicité des transactiond’application
BDProgrammeur
BD d’application
33 34
Introduction Introduction
Avertissements Avertissements
Un SGBD est un système complexe !
Un SGBD est un système difficile à bien utiliser !Spécificités d’un SGBD
Trois niveaux d’abstraction
Fiabilité Méthodes de développement et maintenance
Concurrence
Analyse des besoins de l’application
Stockage massif sur disque
Conception du schéma conceptuel
Prix à payer Conception du schéma interne
Interfaces entre niveaux
Réglage (tuning) des applications
Journalisation
Verrouillage
Techniques spécialisées d’accès aux données sur disque
35 36 Introduction Introduction
Architectures Architectures opérationnelles
Architecture BD centralisée Du point de vue opérationnel
Un SGBD est un ensemble de processus et de tâches qui supportent l’exécution du
code du SGBD pour satisfaire les commandes des utilisateurs.Usagers
Depuis les années ’80, les SGBD sont basés sur une architecture clients-
serveurMainframe
Serveur : Gère les données partagèes et exécute le code du SGBD
Clients : Communiquent avec le serveur. Requêtes de type question / réponse
programme d'application et SGBD sur même machine (même site)
premiers systèmes
37 38
Introduction Introduction
Architectures Architectures Architecture client-serveur
Architecture client-serveur
BD
Clients Réseau
Programme
SGBDLAN d'application
Logiciel Logiciel
intermédiaire intermédiaire
Pilote de Pilote de
télécommunication télécommunicationServeur
Client Serveur
39 40

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin