CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1
PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre ce qu est une base de données (ce qui n a rien d évident), de comprendre comment on la fabrique et comment on s en sert, comment on stocke les données et comment on interroge la base de données. Pour cela nous serons amenés à utiliser le langage SQL. 2. Réquisits Il n est pas nécessaire de connaître les langages de troisième génération (Pascal ou C) ni l algorithmique. Il vaut mieux (mais ce n est pas obligé) connaître l architecture et le fonctionnement général d un ordinateur : unité centrale, processeur, périphériques d entrée et de sortie, bus, mémoire, mémoire fixe, mémoire de travail, mémoire de stockage, ROM, RAM, disque dur, répertoires, fichiers, logiciels, système d exploitation. Architecture des ordinateurs : R A M SE ROM Processeur SE Rappelons que quand l ordinateur démarre, le petit programme codé dans la ROM va chercher le logiciel système d exploitation (MsDos, Windows 98, Windows NT, UNIX, MacOS, etc. SE sur le schéma) sur le disque dur et le recopie sur la RAM. L utilisateur communique alors avec le système d exploitation. Le système d exploitation offre trois grands types de fonctionnalité : la gestion de fichier (dir, cd, grep, etc.), la gestion des périphériques et le lancement des logiciels. 3. Généralités sur les BD 3.1 Base de données en général Le concept de base de données n est pas facile à définir précisément. On peut toutefois en donnée une définition intuitive très large : une base de données est un ensemble d objets plus ou moins organisés. EPF - BASE DE DONNÉES - septembre 2005 - page 2
Par exemple : un musée est une base de données. Un magasin avec ses articles en rayon est une base de données. Une bibliothèque est une base de données. Un disque dur plus ou moins rempli est une base de données. Un cerveau plus ou moins rempli (!) est une base de donnée. 3.2 Base de données informatiques Les bases de données informatiques sont des ensembles d objets informatiques plus ou moins organisés. Exemples Les bases de données informatiques interviennent dans tous les types d applications, pour toutes les tailles d application. - Catalogue des bibliothèques - Réservations de la SNSF (Système Socrate) - Site internet de publication : base de données d articles (Le Monde, le Figaro, mais aussi les petits sites sous SPIP ) - Etc. 3.3 Quand utilise-t-on une base de données On utilise une BD quand : - On a un nombre important de données à traiter - On peut regrouper ces données par catégories - On est amené à ajouter, supprimer et modifier des données - On est amené à s interroger sur ces données de façon assez indéterminée 4. Objectifs d une base de données 4.1 Distinction entre données et traitements Les données existent indépendamment des traitements qu on leur applique. 4.2 Unification des données sur le plan conceptuel La BD permet d apporter une vision unifiée de l information manipulée (dans une entreprise ou n importe quel système d informations, scientifique par exemple). 4.3 Unification des données sur le plan physique La redondance des données, les versions des données posent rapidement un problème dès que le nombre des données traitées (des fichiers) est important. La BD maintient la cohérence et la non-redondance des données. La BD est un réservoir d informations commun et "canonique" sans duplication de données. 4.4 Unification de l interrogation des données EPF - BASE DE DONNÉES - septembre 2005 - page 3
Quels que soient les applications et les types de données traitées, l interrogation des données se ramène toujours à un petit nombre de questions-types. La BD est organisée de telle sorte que le langage correspondant à ces questions-types puisse être établi. 5. Généralité sur les SGBD 5.1 Fonctionnalités Le SGBD, Système de Gestion de Base de Données, est le système logiciel capable d interpréter des commandes qui permettent de : définir les données qu on veut manipuler, ajouter, modifier, supprimer des données consulter des données suivant certains critères de recherche Le SGBD répond aux objectifs de la BD. 5.2 Architecture L architecture des SGBD est une architecture Client Serveur : le SGBD est le serveur avec lequel des clients peuvent communiquer. Utilisateur Applications SGBD Disque dur Clients Serveur La BD est stockée sur le disque dur. L application peut être une application qui permet l utilisation directe de la BD (c est une application de ce type qu on utilise pour les TP). L application peut être n importe quel programme qui, dans son code source, va envoyer des commandes au SGBD pour manipuler d une façon ou d une autre les données de la BD sur le disque dur. 5.3 Principaux composants d un SGBD Le SGBD est composé de plusieurs sous-systèmes : Un gestionnaire de fichier (interface le disque dur) Un gestionnaire de requête (interface avec l application : interprétation de la requête) Un gestionnaire de transaction (exécution de la requête) 6. Objectifs d un SGBD Les objectifs d un SGBD sont à la fois ceux de la BD et les objectifs liés à l usage concret de la BD. 6.1 Intégrité des données EPF - BASE DE DONNÉES - septembre 2005 - page 4
Pas de redondance Pas de liens morts Pas de valeurs aberrantes 6.2 Partage des données et gestion des accès concurrents Gestion de plusieurs utilisateurs 6.3 Gestion des autorisations d accès Gestion des droits des utilisateurs 6.4 Sécurité sur panne Maintien de l intégrité des données, même en cas de panne 6.5 Interrogation des données facilitée Fournier un langage standard d interrogation des données 6.6 Rapidité des traitements Traiter rapidement aux questions 7. Les utilisateurs d un SGBD Il y a trois types d utilisateur d un SGBD : L administrateur : il gère les accès et les droits des utilisateurs. L utilisateur : il utilise une application client du SGBD. Le programmeur : il programme une application qui sera client du SGBD. 8. Historique et types de BD et de SGBD Il existe différents types de BD en fonction du modèle d organisation des données qu elles utilisent. A ce modèle est associé un langage de manipulation des données. Années 60 : les anciens modèles. Modèle hiérarchique, réseau, langages d accès navigationnel permettant de circuler dans des structures de types graphes. 1970 : Création du modèle relationnel. Article de CODD. Années 80 : Premiers SGBD-Relationnels sur le marché (Oracle, Ingres, Informix, sybase, Dbase IV, etc.) Années 90 : Premiers SGBD-Objets sur le marché (02, etc.) Aujourd hui : L Objet n a pas remplacé le Relationnel. Le marché est dominé par les SGBD-R (mysql). Mais les technologies sont souvent mixtes. EPF - BASE DE DONNÉES - septembre 2005 - page 5