Introduction aux bases de données Références bibliographiques Jeff Ullman,Jennifer Widom, « A First Course in Database systems », Prentice-Hall, 3rd Edition, 2008 Hector Garcia-Molina, Jeff Ullman, Jennifer Widom, « Database Systems: The Complete Book », Prentice-Hall, 2nd Edition, 2008 Raghu Ramakrishnan, « Database Management Systems », McGraw-Hill, Second Edition, 936 pages, 1999. S.Abiteboul, R.Hull, V.Vianu, « Foundations of Databases », Addison-Wesley, 685 pages, 1995. C. Delobel,``Bases de Données et Systèmes Relationnels", Dunod, 468 pages, 1983. Intervenants Cours Farouk Toumani ftoumani_at_univ-bpclermont.fr TD/TP Vincent Limouzy Issam Rabhi Baptiste Charmette Matériel supplémentaire : http://www.isima.fr/~ftoumani/enseignement/intro-BD/ Objectifs et applications « business today is data » Gestion de gros volumes de données Système de Gestion de Bases de Données (SGBD) Domaines d’application très variés Stockage persistant des données Interrogation/mise à jour des données Gestion des transactions Sécurité des données .. SGBD vs. SGF (Systèmes de gestion fichiers) Approche SGF Fichier : /usr/db/Flights 001#Paris#Milano 002#Clermont-Ferrand#Sydney … Gestion des vols Comptabilité Réservation Passager Limites de l’approche SGF Redondance des informations Organisation des données sur le disque inadéquate Coût de la recherche élevé Processus « naïf » de traitement des requêtes « bufferisation » des données en mémoire centrale impossible Pas de contrôle de la concurrence Système peu robuste et peu sécurisé Qu’est qu’une BD ? « Une base de données est une collection de représentations de la réalité sous forme de données inter-reliées aussi cohérentes que possible, mémorisées avec une redondance calculée, structurées de manière à faciliter leur exploitation pour satisfaire une grande variété de demandes de renseignements exprimées par de nombreux utilisateurs simultanés ayant des exigences de temps de réponse compatibles avec leurs conditions de travail » BD vs. gestion de fichiers Appli1 Appli2 Appli1 AppliN Appli2 SGBD SGF AppliN BD Qu’est qu’un SGBD « A DBMS is a complex set of software programs that controls the organization , storage, management, and retrieval of data in a database. DBMS are categorized according to their data structures or types. It is a set of prewritten programs that are used to store, update and retrieve a Database » Wikipedia Industrie des BDs Bases de données relationnelles fondements théoriques solides + grand succès commercial Domaines d’application très variés Marché important et en constante évolution Top 3 des éditeurs de SGBDs : parmi les plus grandes entreprises d’informatique Industrie des BDs (cont.) Principales fonctionnalités d’un SGBD Gestion du stockage des données Modèles de données abstraits Langage d’interrogation et de manipulation de données de haut niveau (déclaratif) Traitement efficace des requêtes Gestion des transactions Résistance aux pannes Interface avec les langages de programmation Gestion de la sécurité des données Composants d’un SGBD User/Application DBA Transaction commands Queries, updates DDL commands Query compiler Metadata, statistics Transaction manager DDL compiler Metadata Query plan Index, file and record requests Execution engine Index/file/record manager Page commands Buffer manager Storage manager Logging and recovery Log pages Data, metadata, indexes Buffer Storage Concurrency control Lock table Objectifs des SGBDs Optimisation des accès aux données Réduction du temps de développement des applications Garantir l’intégrité et la sécurité des données Faciliter l’administration des données Accès concurrent et reprise après pannes Notion d’indépendance des données « Immunité de l'application par rapport aux changements des structures de stockage et des stratégies d'accès des données qu'elle utilise » Exemple Séparation logique/physique Description des données Notion de modèle de données Représentation mathématique des données Exemples modèle relationnel : relation= table modèle semistructuré : arbres/graphes Opération pour la manipulation des données Contraintes pour la spécification/vérification de la cohérence des données Niveaux de descriptions Niveaux d’abstraction Niveaux de description Niveau Interne correspond à la structure de stockage des données (modèle physique du SGBD) Niveau Conceptuel Structure canonique des données de l'entreprise Capte la sémantique de l'entreprise sans souci d'implantation Niveau Externe décrit une partie des données présentant un intérêt pour un utilisateur ou un groupe d'utilisateurs (Vue externe) Panorama des modèles Niveau logique hiérarchique réseau relationnel Objet Niveau Conceptuel Modèle Modèle Modèle Modèle Modèle Entité-Association Niveau physique Dépendant du SGBD Enseignement des BDs M1 L3 Fondements Analyse et conception L2 Théorie des bases de données (relationnelles) Modèles, Méthodes Outils informatiques Développement Interrogation, mise à jour Programmation L3 (op) Implémentation des SGBDs M2 Administration des bases de données Contenu du cours Eléments de la théorie des bases de données : modèle relationnel Manipulation des données : SQL Programmation : PL/SQL Gestion des transactions Travaux pratiques : SGBD Oracle Oracle via la WiFi http://sciora.univ-bpclermont.fr:5560/isqlplus