Notion de bases de données Contexte technique Structure en mémoire centrale (MC) Fichiers Bases de données 2 Notion de bases de données Contexte technique Notion de bases de données Contexte technique Stockage persistant sur disque «Gros» volumes de données Langages de programmation et SGF Contexte mono-utilisateur (en général) Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages de programmation Contexte mono-processus (mono-utilisateur en général) 3 4 Introduction - 1 Notion de bases de données Contexte technique Direction des études Bibliothèque Service social Appli en Java Appli En Cobol Notion de bases de données Contexte technique Application bibliothèque Programme 1 Appli en C Description du fichier des Elèves *2 Edition du fichier Elèves par ordre alpha Programme 2 Description du fichier des Elèves Fichier Elèves Mise à jour du fichier Elèves via nom élève SGF Fichiers Elèves et UVs Fichiers Elèves et Livres Fichiers Elèves et Chambres 5 !" # Notion de bases de données Contexte technique Difficulté à saisir les liens entre les données Pas de partage de données entre les utilisateurs Pas de vision globale des données Redondance des données Risque d' incohérence des données Pas d' indépendance entre les données et les traitements Problème de gestion de la sécurité des données Multiplicité des traitements, des langages, des matériels 6 Notion de bases de données Contexte technique Stockage persistant sur disque «Très gros» volumes de données Langage de requêtes et langages de programmation SGBD Contexte multi-utilisateurs 7 8 Introduction - 2 Notion de bases de données Contexte technique PC Windows Appli Cobol PC NT PC Windows BD Appli C Appli Java Notion de bases de données Contexte technique $ Elèves Uvs Livres Chambres Elèves Uvs Livres Chambres Appli Cobol SGBD PC NT SGBD BD Appli Java Description BD Description BD Appli C PC Linux PC Linux Terminaux 9 # 10 Notion de bases de données Apport BD Intégration : # Notion de bases de données Apport BD %&' Sécurité : Contrôle sémantique des données Protection contre les accès non autorisés Protection contre les pannes Description unique et globale des données Eviter les redondances Eviter les incohérences Facilités pour l’utilisateur : Indépendance : Partage des données Vision « haut niveau » et « personnalisée » des données Manipulation « aisée » des données Accès efficaces aux données Répartition des données et des traitements Indépendance entre données et traitements Séparation entre les descriptions logiques et physiques des données 11 12 Introduction - 3 Notion de bases de données Domaines d’application () Architecture de référence # Volume de données Groupe ANSI/X3/SPARC (1975) Complexité des traitements Intensité du service Applications ≈ Go transactionnelles Interrogation + Mise à jour Temps de réponse < 2 s. > 100 tps ≈ To Interrogation Temps de réponse en mn ou h Notion de tpm Application d’aide à la décision Datewarehouse Datamining Schéma externe 1 …. Schéma externe n Schéma conceptuel Schéma physique TPC (Transaction Processing Council) Benchmarks systèmes transactionnels 13 Architecture de référence * " Schéma externe pour appli Bibliothèque - Elève - Livre 14 Schéma externe pour appli Direction des études - Elève - UV Schéma conceptuel Schéma Physique Schéma externe pour appli Service social - Elève - Chambre Comment les données sont vues par les « utilisateurs » Représentations logique Multiples Globalité des données Représentation logique Unique Globalité des données Représentation physique des données. Comment les données sont mémorisées (fichiers, index, …) Unique 15 Architecture de référence Indépendance physique Indépendance entre les structures de stockage et les structures de données Pouvoir modifier l' organisation physique sans modifier les programmes d’application Exemple: ajouter un index Indépendance logique Pouvoir modifier le schéma conceptuel sans modifier les programmes d’application Exemple : ajouter un attribut 16 Introduction - 4 + # , # - Qu’est-ce qu’un SGBD ? But Moyens mis en oeuvre Fonctionnalités Architecture Langage de définition des données (LDD) Langage de manipulation des données (LMD) Interface avec un LPG Java et les SGBD Transaction Les utilisateurs d’un SGBD Qu’est-ce qu’un SGBD ? " . But : Simplifier et faciliter l’accès aux données de la base Assurer une grande sécurité du système d' information Moyens : En offrant une vision de « haut niveau » des données, via un modèle logique des données En se chargeant de faire la correspondance avec la vision de « bas niveau » des données (structures de stockage et méthodes d’accès) 17 Qu’est-ce qu’un SGBD ? Langage de définition et de manipulation des données (LDD + LMD) Gestion de l’intégrité définition des CI, Trigger Gestion de la persistance Structures de stockage et méthodes d’accès cluster, index Gestion de la concurrence (transaction, verrouillage) Gestion de la sécurité de fonctionnement transaction, journaux, mécanisme de reprise sur panne Gestion des droits identification, attribution de droits Optimisation algorithme, statistiques Interface avec les langages de programmation 18 % ' Qu’est-ce qu’un SGBD ? Gestion de versions Gestion de la répartition Gestion d’objets complexes (image, document, ...) Gestion de connaissances, règles de déduction Environnement de développement (AGL) 19 20 Introduction - 5 Qu’est-ce qu’un SGBD ? # Administrateur Programmeur d’application Définition des schémas de la BD Utilisateur terminal / # Qu’est-ce qu’un SGBD ? Le concepteur Contexte de travail : niveau conceptuel Construction du schéma conceptuel avec un modèle de données Manipulation de la BD Administrateur BD Traducteur LDD Contexte de travail : les 3 niveaux. Définit et màj les schémas logiques Définit les CI + Vues + droits d’accès Définit les schémas physiques (structures de stockage + stratégies d’accès) Utilise le LDD et DD Traducteur LMD Noyau SGBD Métabase BD 21 / # % 22 Qu’est-ce qu’un SGBD ? ' Développeur d’applications Contexte de travail : niveau externe et conceptuel Utilise le LMD + LPG Écrit des programmes pour interroger, mettre à jour et traiter les données Connaît les schémas logiques et physiques Utilisateur terminal Contexte de travail : niveau externe « Averti »: interroge la BD en utilisant un LMD « Naïf »: utilise les programmes d’application 23 Introduction - 6