Bases de données – Cours 1 Présenter par: Rouagat Wahab
Contenu Limites des fichiers Définition des bases de données Présentation du SGBD Modèle conceptuel des données (Entité/Association) Démarche de conception Exercices par: Rouagat Wahab
Limites des fichiers Auparavant, on ne connaissait que des systèmes de gestion de fichiers (SGF). Travailler directement sur un fichier présente plusieurs inconvénients : Manipulation de données lourde et compliquée. Il faut être expert en programmation Le programmeur doit connaître la localisation physique des fichiers, la structure physique des enregistrements, le mode d’accès à ces fichiers Toute modification de la structure des enregistrements (ajout d’un champ par exemple) entraîne la réécriture de tous les programmes qui manipulent ces fichiers Il n’y a pas de relations entre les fichiers ce qui engendre des redondances et d’incohérence des données. par: Rouagat Wahab
Définition des bases de données Une base de données est un ensemble d'informations cohérentes et structurées. Elle est constituée d'un regroupement de données modélisant les objets du monde réel et servant de support à une application informatique. Les bases de données ont été créées dès les années 1960 s, elles sont considérés le bon alternatif des fichiers. par: Rouagat Wahab
Elles sont caractérisées par: Centralisation et partage des données entre plusieurs traitements. L'indépendance des données et des programmes Le contrôle immédiat de la validité de données. par: Rouagat Wahab
La base de données est accessible soit à travers : Un administrateur de la BD est responsable de l'installation, la gestion et la maintenance de la BD. La base de données est accessible soit à travers : L'interface d'un système de gestion de bases de données (SGBD). Soit à partir d'un programme spécifique qui peut être développé par n'importe qui. Pour consulter la base, on extrait des données grâce à des requêtes la plupart de temps formulées en langage SQL (Structured Query Language). par: Rouagat Wahab
Présentation du SGBD Un SGBD c'est un outil permettant d'insérer, de modifier et de rechercher efficacement des données spécifiques dans une grande masse d'informations. Il offre la possibilité à l’utilisateur de manipuler les représentations abstraites des données, indépendamment de leur organisation et de leur implantation sur les supports physiques. par: Rouagat Wahab
la description : des données, leur recherche et mise à jour. Un SGBD assure : la description : des données, leur recherche et mise à jour. la sécurité: vérifier les droits d’accès des utilisateurs ; limiter les accès non autorisés ; crypter les informations sensibles la sûreté : sauvegarde et restauration des données ; limiter les erreurs de saisie, de manipulation l’intégrité : définir des règles qui maintiennent l’intégrité de la base de données (contraintes d’intégrité). la concurrence d’accès : détecter et traiter les cas où il y a conflit d’accès entre plusieurs utilisateurs et les traiter correctement. par: Rouagat Wahab
Différents types de SGBDs ont été conçu pour supporter certaines exigences, on peut les classer comme suit: Le SGBD hiérarchique Le SGBD réseau Le SGBD relationnel par: Rouagat Wahab
Le SGBD hiérarchique Stocke les données dans une structure semblable à un arbre et assume une relation père et fils entre les données, le sommet s'appel la racine et peut être relier à plusieurs dépendants, le dépendant par son tour peut être relier à un nombre quelconque de sous- dépendants et ainsi de suite, se type de SGBD et maintenant obsolète. par: Rouagat Wahab
par: Rouagat Wahab
Le SGBD réseau Stocke les donnée dans une format d'enregistrements et de liens, il est caractérisé par l'efficacité et la rapidité de stockage, ce système supporte les données complexes mais il été inflexible et requit une conception très fatigante. par: Rouagat Wahab
par: Rouagat Wahab
Le SGBD relationnel Probablement a la structure simple qu'une base peut avoir, il consiste de tables, chacune table consiste d'enregistrements, et chaque enregistrement consiste de champs. Un seul champ correspond à une unité de donnée. Ce type est prospéré dans la dernière décade. Oracle, et Sybase sont quelque populaires incarnés SGBDRs. par: Rouagat Wahab
Objectifs du SGBD Indépendance des données Administration centralisée Normalisation par: Rouagat Wahab
Indépendance des données Un aspect important des SGBD vient du principe de découpage en couches: Le schéma conceptuel est issu des travaux des analystes, correspond à une modélisation purement intellectuelle de l’univers à gérer et des paramètres qui doivent être pris en compte. par: Rouagat Wahab
Le schéma logique en est la traduction informatique abstraite Selon le modèle utilisé, les données sont organisées selon un schéma arborescent (modèle hiérarchique), un graphe (modèle réseau), des tables (modèle relationnel), des objets (modèle objet). A ce niveau travaillent des analystes programmeurs et l’administrateur de la base de données. par: Rouagat Wahab
Le schéma physique correspond à l’implémentation des données sous forme de fichiers sur disques et gère les mécanismes d’accès. C’est le domaine des programmeurs système. Ces 3 niveaux doivent être indépendants, de façon à permettre la modification de l’un sans pour autant remettre en cause la totalité des autres couches, du moins tant que les règles d’interface restent respectées. par: Rouagat Wahab
par: Rouagat Wahab
Administration centralisée Avec un SGBD, personne ne peut modifier de données, encore moins leur mode d’organisation, sans y avoir été dûment autorisé par l’administrateur. Ce dernier a tous les droits sur la base, la crée, l’optimise, suit son évolution, gère les sauvegardes, ajuste les paramètres, distribue les droits d’accès. par: Rouagat Wahab
Normalisation C’est un aspect fondamental qui permet l’échange et la recherche de données à travers des systèmes différents. Malgré les développements particuliers de chaque éditeur de logiciel, la normalisation s’est imposée très tôt, que ce soit au niveau des modèles (ANSI/SPARC, CODASYL) ou des langages (SQL). Aujourd’hui, la communication à travers des SGBD différents est largement utilisée. par: Rouagat Wahab
Le Modèle Conceptuel des Données MCD Le MCD est un modèle abstrait de la méthode Merise permettant de représenter l'information d'une manière compréhensible aux différents services de l'entreprise. Il permet une description statique du système d'informations à l'aide d'entités et d'associations. Le travail de conception d'une base de données par l'administrateur commence juste après celui des analystes qui ont établi le MCD. par: Rouagat Wahab
Le Modèle Entité/Association Avant de réfléchir au schéma relationnel d’une application, il est bon de modéliser la problématique à traiter d’un point de vue conceptuel et indépendamment du logiciel utilisé. Un schéma E/A décrit l’application visée, c’est-à-dire une abstraction d’un domaine d’étude, pertinente relativement aux objectifs visés. Une abstraction consiste à choisir certains aspects de la réalité perçue (et donc à éliminer les autres). Cette sélection se fait en fonction de certains besoins qui doivent être précisément définis. par: Rouagat Wahab
Le modèle EA (ou ER en Anglais, pour Entity – Relationship) est un outil qui permet la conception graphique d’une base de données, c’est un ensemble de conventions graphiques ayant un sens très précis qui permettent de représenter la partie statique d’un système d’information. par: Rouagat Wahab
Concepts Une entité ou individu est un objet discernable des autres objets du monde à modéliser, par exemple une personne, un véhicule. Ce peut être aussi un concept ou une grandeur abstraite. Une entité ne peut exister par elle-même sans être déterminée par la liste de ses propriétés ou attributs. Une propriété constitue le plus petit élément d’information ayant un sens intrinsèque : un nom, une date de naissance, un numéro de téléphone, . . . par: Rouagat Wahab
Un type d’entité est représentée par l’ensemble des entités de même nature que l’on pourra déterminer au cours du temps : l’ensemble des individus, des véhicules, des comptes en banque, . . . Chaque entité devra pouvoir être distinguée de façon unique par un identifiant ou clé. Ce dernier est en général représenté par une propriété particulière. L’usage veut qu’elle soit soulignée dans la représentation graphique du type d’entité. par: Rouagat Wahab
Entité Nom de l’Entité propriété 1 propriété 2 propriété 3 .............. par: Rouagat Wahab
Association C’est un lien logique entre 2 ou plusieurs types d’entité. Elle est le plus souvent perçue comme une action entre des catégories d’objets et se traduit presque toujours par un verbe. On dira ainsi qu’un auteur publie des ouvrages Une association peut aussi posséder des propriétés qui dans ce cas n’appartiennent en propre à aucun des types d’entités qu’elle relie. par: Rouagat Wahab
propriété (éventuelle) de l’association Nom de l’association Auteurs Ouvrages Date de publication publie propriété (éventuelle) de l’association par: Rouagat Wahab
On distingue : Les associations binaires qui relient entre elles les différentes instances de deux types d’entité. Les associations n-aires (n > 2) qui relient les instances de n types d’entité. Les associations réflexives qui relient des instances d’un type d’entité avec d’autres instances du même type. On en trouve un exemple dans l’association Composant-Composé qui traduit le fait qu’une pièce de machine peut être un assemblage de plusieurs autres composants, et réciproquement. par: Rouagat Wahab
par: Rouagat Wahab
Cardinalités Les cardinalités d’une association sont un élément clé de la traduction du MCD vers un modèle logique. Elles permettent de préciser les nombres minimum, et surtout maximum d’occurrences d’une entité pouvant être impliquée dans les occurrences de l’association. Il faut faire très attention au fait que les normes US et européennes sont inverses l’une de l’autre dans la représentation des cardinalités. En Europe, et en France plus particulièrement, les cardinalités sont placées vis à vis du type d’entité qu’elles renseignent. par: Rouagat Wahab
Ainsi, dans l’exemple ci-dessus, un client passe de 0 à plusieurs commandes, et une commande est passée par un client et un seul. L’interprétation de ces cardinalités seraient inversées si le schéma figurait dans un livre publié aux USA. par: Rouagat Wahab
Les cardinalités doivent toujours être analysées du point de vue de l’entité à laquelle elles sont accolées. Les valeurs possibles sont : 0,1 0,n 1,1 et 1,n par: Rouagat Wahab
Démarche de conception Identifier les entités les plus naturelles Identifier les associations entre ces entités ( verbes) Identifier les attributs et les identifiant de ces entités et de ces association Exprimer les cardinalités Enumérer des CI (Contraintes d ’Intégrité). par: Rouagat Wahab
Exemple 1 par: Rouagat Wahab
Exemple 1 On vous donne le schémas au-dessus représentant des visites dans un centre médical. Répondez aux questions suivantes en fonction des caractéristiques de ce schéma (i.e.: indiquez si la situation décrite est représentable, indépendamment de sa vraisemblance). Un patient peut-il effectuer plusieurs visites ? Un médecin peut-il recevoir plusieurs patients dans la même consultation ? Peut-on prescrire plusieurs médicaments dans une même consultation ? Deux médecins différents peuvent-ils prescrire le même médicament ? par: Rouagat Wahab
Exemple 2 par: Rouagat Wahab
Exemple 2 Le second schéma représente des rencontres dans un tournoi de tennis. Peut-on jouer des matchs de double ? Un joueur peut-il gagner un match sans y a voir participé ? Peut-il y avoir deux matchs sur le même terrain à la même heure ? par: Rouagat Wahab
Exemple 3 par: Rouagat Wahab
Exemple 3 Pour vous entraîner le schéma E/A du système d’information d’un quotidien: Un article peut-il être rédigé par plusieurs journalistes ? Un article peut-il être publié plusieurs fois dans le même numéro ? Peut-il y avoir plusieurs articles sur le même sujet dans le même numéro ? par: Rouagat Wahab
Exercice 1 Une bibliothèque gère les emprunts des livres de ses adhérents. Les livres ont un titre et un auteur. Les exemplaires physiques des livres ont un numéro différent par exemplaire. Ils correspondent à un livre et ont un éditeur. Les adhérents ont un nom, un prénom, une adresse et un téléphone. On souhaite archiver tous les emprunts. Un livre ne peut pas être rendu le jour même de son emprunt. La durée maximum d'emprunt est de 14 jours. Question: donnez un schéma E/A. par: Rouagat Wahab
Exercice 2 Un site internet vend des produits à des clients. Un produit à un nom, un type et un prix. Le client a un nom, une adresse, une adresse mail et un mot de passe. Une adresse mail correspond à un client et un seul. Les clients peuvent changer d’adresse mail. Les clients font des achats. Pour cela, ils remplissent un panier avec leurs produits. Leur achat donnent lieu à une facture avec un numéro de facture, le détail des achats, le total des achats et le nombre de produits achetés. Question: donnez un schéma E/A. par: Rouagat Wahab