Télécharger la présentation
Publié parMartine Constance Barrette Modifié depuis plus de 7 années
1
Introduction aux bases de données
L2A Semestre 4 Mehdi Benzine
2
Objectifs du cours Comprendre les concepts, les objectifs, les langages des bases de données Apprendre à concevoir, manipuler et interroger des bases de données relationnelles Volume horaire hebdomadaire: 1h30 cours + 1h30 TD + 1h30 TP Transparents du cours et autre matériel pédagogique:
3
Programme Introduction (cours d’aujourd’hui) Modèle relationnel
Modèle entité/association modèle relationnel Algèbre relationnelle Calcul relationnel SQL: Langage de manipulation de données SQL: langage de définition de données Dépendances fonctionnelles et formes normales
4
Bibliographie Bases de données, Georges Gardarin S8/ S12/ Création de bases de données, Nicolas Larousse Collection Syntex S8/ Introduction aux bases de données, Chris J. Date S8/ S8/ SQL pour Oracle, Christian Soutou S8/77467 Introduction aux bases de données relationnelles, Mata Toledo S4/ , S4/20510 Programmation SQL , Mata Toledo S4/20513 Bases de données relationnelles concepts, mise en œuvre et exercices Claude Chrisment S8/74683 R. Ramakrishnan et J. Gehrke, Database Management Systems, Second Edition, McGraw-Hill, 2000.
5
Plan du cours Introduction à la gestion des données
Historique de la gestion des données Difficultés de la gestion des données Systèmes de gestion de bases de données (SGBD) Objectifs des SGBD
6
Introduction Les organisations gèrent des volumes de données très grands et de natures diverses Giga, Tera, Peta–octets Numériques, Textuelles, Multimédia (images, vidéos,...) Il faut pouvoir facilement Archiver les données sur mémoires secondaires permanente Retrouver les données pertinentes à un traitement Mettre à jour les données variant dans le temps
7
Historique Années 60: Années 70: Années 80: Années 90, 2000 et 2010:
Fichiers séquentiels Accès séquentiel aux données puis sur clé. Années 70: Bases de données hiérarchiques puis réseaux Données stockées dans des fichiers et reliées par des pointeurs (adresse sur disque). Interrogation par navigation Années 80: Bases de données relationnelles Relation entre ensembles de données Interrogation par un langage proche du langage naturel Modèle le plus utilisé encore aujourd'hui Années 90, 2000 et 2010: Bases de données objet, XML, NoSQL …
8
Modèle hiérarchique Entreprise Projet 103
Mise en place d'un réseau intranet Employé 1001 Belaid Toufik Employé 1009 Touati Rachid Projet 122 Développement d'une application de gestion Employé 1023 Kadri Amine
9
Modèle réseau Num_Projet Description 103
Mise en place d'un réseau intranet 122 Développement d'une application de gestion Num_Employé Nom Prénom 1001 Belaid Toufik 1009 Touati Rachid Pointeur disque
10
Modèle relationnel Num_Projet Description Date_Début Date_Fin Budget
103 Mise en place d'un réseau intranet 12/09/2010 05/12/2010 122 Développement d'une application de gestion 07/01/2011 13/05/2011 Num_Employé Nom Prénom Date_Naissance Fonction Est_Cadre 1001 Belaid Toufik 12/05/1965 Concepteur true 1009 Touati Rachid 13/09/1941 Chef de projet Num_Employé Num_Projet Début_Affect Fin_Affect Supérieur 1009 122 07/03/2011 13/11/2011 NULL 1001 08/03/2011 28/06/2011 103 12/09/2010 01/11/2010 208 15/06/2011 12/10/2011
11
Gestion des données (1) La gestion de données par l’utilisation de fichiers présente de nombreux inconvénients: Absence de standardisation plusieurs formats de stockage, plusieurs langages Redondance des données (plusieurs copies de la même donnée) Problèmes de mise à jour, incohérence des données Interrogation par langage de programmation (C++, Java, Python…) Difficulté de maintenance, coût élevé
12
Gestion des données (2) Pannes (arrêt brutal, panne de disque …)
pas de solution standardisée Partage de données Confidentialité Pas de solution standardisée Pas de solution standardisée une solution doit être conçue et implémentée pour chaque application.
13
L’approche "bases de données"
Modélisation des données Éliminer la redondance des données Centraliser et organiser correctement les données Plusieurs niveaux de modélisation Outils de conception Qu'est-ce qu'une base de données ? Collection de données structurées Interrogeable et modifiable par des langages de haut niveau (proches du langage naturel) Partagée par plusieurs applications/utilisateurs Logiciel de Système de Gestion de Bases de Données (SGBD) Factorisation des modules de contrôle des applications: interrogation, gestion des pannes, confidentialité, partage des données… Administration facilitée des données
14
SGBD relationnels (SGBDR)
Logiciels commerciaux/payants: Oracle (SGBDR le plus utilisé) Microsoft SQL server IBM DB2 Sybase Anywhere Microsoft Access … Logiciels libres/gratuits: MySQL PostrgreSQL SQLite mSQL
15
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
16
Architecture à 3 niveaux
Application 1 Application 2 Application 3 Application 4 Vue 1 Vue 2 Vue 3 Schémas externes (vues) Schéma conceptuel Schéma interne (stockage)
17
Schéma interne Structure de stockage physique des données
Structures d'indexation pour accélérer la recherche de données (trouver tous les étudiants qui ont entre 10 et 14 de moyenne)
18
Schéma conceptuel Représentation canonique des données
Sans prendre en compte l'implantation sur machine de ces données
19
Schéma externe (vue) Chaque groupe d'utilisateurs manipulant les données dispose d'une description de ces données adaptée à l'utilisation qu'il en fait A chaque type d'utilisation doit correspondre une vue particulière des données qui constitue un schéma externe
20
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
21
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
22
Indépendance Physique
Indépendance des programmes d'applications vis à vis du modèle physique : Possibilité de modifier les structures de stockage (fichiers, index, chemins d'accès, …) sans modifier les programmes; Ecriture des applications par des non-spécialistes des fichiers et des structures de stockage; Meilleure portabilité des applications et indépendance vis à vis du matériel.
23
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
24
Indépendance logique Les applications peuvent définir des vues logiques de la BD Possibilité pour chaque application d'ignorer les besoins des autres (bien que partageant la même BD). Possibilité d'évolution de la base de données sans réécriture des applications : ajout de champs, ajout de relation, re-nommage de champs. Possibilité d'intégrer des applications existantes sans modifier les autres. Possibilité de limiter les conséquences du partage : Données confidentielles.
25
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
26
Manipulation simple La manipulation se fait via un langage déclaratif
La question déclare l’objectif sans décrire la méthode Le langage suit une norme commune à tous les SGBD SQL: Structured Query Langage Sémantique Logique du 1er ordre Syntaxe (aperçu !) SELECT <structure des résultats> FROM <relations> WHERE <conditions> Ex: Quels sont les noms et prénoms des étudiants ayant une note entre 10 et 12 en ASD1 et entre 10 et 11 en SI ?
27
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
28
Des vues multiples des données
Les vues permettent d’implémenter l’indépendance logique en permettant de créer des relations virtuelles Vue = Question stockée Le SGBD stocke la définition et non le résultat Exemple : la vue des patients qui habitent à Sétif la vue des projets de chaque service (chaque employer ne peut voir que les projets de son service) ...
29
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
30
Exécution et Optimisation
Traduction automatique des questions déclaratives en programmes procéduraux : Utilisation de l’algèbre relationnelle Optimisation automatique des questions Utilisation de l’aspect déclaratif de SQL Gestion centralisée des chemins d'accès (index, hachages, …) Techniques d’optimisation poussées Economie de l'astuce des programmeurs milliers d'heures d'écriture et de maintenance de logiciels.
31
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
32
Intégrité Logique Objectif : Détecter les mises à jour erronées
Contrôle sur les données élémentaires Contrôle de types: ex: Nom alphabétique Contrôle de valeurs: ex: Salaire mensuel entre et Contrôle sur les relations entre les données Relations entre données élémentaires: Prix de vente > Prix d'achat Relations entre objets: Un employer ne doit être rattaché qu'à un seul service.
33
Contraintes d’intégrité
Avantages: simplification du code des applications sécurité renforcée par l'automatisation mise en commun des contraintes Nécessite: un langage de définition de contraintes d'intégrité la vérification automatique de ces contraintes
34
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
35
Intégrité Physique Motivations: Tolérance aux fautes Transaction:
Transaction Failure: Contraintes d'intégrité, Annulation System Failure: Panne de courant, Crash serveur ... Media Failure: Perte du disque Communication Failure: Défaillance du réseau Transaction: Ensemble d'opération élémentaires regroupées devant s'exécuter toutes ou sinon aucune. Objectifs: Assurer l'atomicité des transactions Garantir la durabilité des effets des transactions commises Moyens: Journalisation : Mémorisation des états successifs des données Mécanismes de reprise
36
Transaction Transférer 3000DA du compte 1 vers le compte 2 Begin
Incohérence possible... Etat cohérent Etat cohérent Begin Commit Transaction Transférer 3000DA du compte 1 vers le compte 2 Begin Compte1 = Compte Compte2 = Compte Commit T1
37
Atomicité et Durabilité
Begin Compte1 = Compte Compte2 = Compte Commit T1 Restaurer les données telles qu'elles étaient avant la transaction. Annuler le débit !! DURABILITE Begin Compte1 = Compte Compte2 = Compte Commit T1 Restaurer les données telles qu'elles étaient après la transaction. Panne Panne ou crash disque
38
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
39
Partage des données BD Accès concurrent aux mêmes données
Conflits d’accès !! BD
40
Isolation et Cohérence
Le SGBD gère les accès concurrents Chacun à l’impression d’être seul (Isolation) Cohérence conservée (Pas de mises à jour conflictuelles) Système de gestion de bases de données BD
41
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
42
Confidentialité Objectif: Protéger les données de la BD contre des accès non autorisés Deux niveaux : Connexion restreinte aux utilisateurs répertoriés (identifiant et mot de passe…) Privilèges d'accès aux objets de la base Objets : Relation, Vue, autres objets (procédures, etc.)
43
Objectifs des SGBD Indépendance physique des données
Indépendance logique des données Manipulation simple Gestion des vues Optimisation des questions Gestion de la cohérence Gestion des pannes Concurrence d’accès Gestion de la confidentialité Standards
44
Standardisation L’approche bases de données est basée sur plusieurs standards Langage SQL (SQL1, SQL2, SQL3…) Communication SQL CLI (ODBC / JDBC) Transactions (X/Open DTP, OSI-TP) Force des standards Portabilité Interopérabilité Applications multi-sources…
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.