Introduction aux bases de données

Page 1 sur 8Lecteur de document UniversityLib

Introduction aux bases de données

Database Design · notes

Voir tous les documents en bases de données

Introduction aux bases de données

Chapitre 1 : Modèle Entité / Association

1. Introduction aux bases de données

a. Définition d’une base de données

Une base de données est un ensemble structuré de données enregistrées sur des supports accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de manière sélective en un temps opportun. b. Avantages d’une BD

Données partagées

Redondance et incohérence évitées Transactions gérées Intégrité assurée Sécurité appliquée Normes appliquées

Indépendances des données obtenues

Ces informations sont interrogées et mises à jour par l’intermédiaire d’un logiciel spécialisé appelé Système de Gestion de Bases de Données (SGBD). Ce dernier permet d’interagir avec une BD. Ainsi, il permet de : créer, mettre à jour, interroger, visualiser, administrer, contrôler, partager des données.

c. Conception d’une BD

ère

étape : Collection des besoins et analyse

1 Collection des besoins des utilisateurs.

Spécifiques Détaillés Complets

Analyse du problème:

On se questionne sur : quelles informations nous voulons stocker?

ième

étape : Analyse conceptuelle

2 Modélisation des données à partir des besoins et de l'existant, sous la forme d'un schéma conceptuel (étape d'abstraction) -> Création du schéma conceptuel basé sur le modèle Entité-Relation.

Aucune implantation. Il est seulement une représentation graphique.

ième

étape : Conception logique

3 Traduction du schéma conceptuel selon le modèle de base de données sous la forme d'un schéma logique (étape automatisable) ième

4 Optimisation du schéma logique en un schéma physique mis en place dans un SGBD-R

étape : Mise en place

1

Introduction aux bases de données

Figure 1 : Etapes de conception d’une BD

2. Modèle Entité-Association

a. Concepts de base

La représentation du modèle entités-associations s’appuie sur trois concepts de base :

Entité, Attribut, Relation.

(cid:1) Entité Une entité correspond à un objet abstrait ou concret que l’on perçoit de la réalité.

Une entité est un regroupement d’objets qui ont les mêmes caractéristiques -> L’entité permet de modéliser un ensemble d’objets de même nature.

Publicité

Exemples : Enseignant, Etudiant, Employé, etc.

(cid:1) Attribut Un attribut est une caractéristique associée à une entité ou à une association.

Remarques :

Un attribut peut être simple (salaire, prix) ou composé (date : jour, mois, année) mais il doit être toujours atomique. Un attribut ne doit pas être calculé (âge, durée, prixTTC). Un attribut ne doit jamais être redondant. Chaque attribut possède un domaine qui définit l’ensemble des valeurs possibles qui peuvent être choisies pour lui (entier, chaîne de caractères, booléen…).

Exemple : Le domaine de l'attribut code postal peut être l'ensemble des entiers positifs appartenant à l'intervalle [1000, 3000].

2

Introduction aux bases de données

Le formalisme utilisé pour représenter une entité est le suivant :

Exemple

Deux occurrences de l’entité Etudiant. Figure 2 : Formalise de représentation d’une entité

Parmi les propriétés d’une entité, il existe un sous-ensemble qui joue le rôle d’identifiant qui permet de reconnaître sans aucune ambiguïté chaque occurrence d’une entité.

Deux étudiants peuvent avoir le même prénom (nom ou bien date de naissance) par contre

(cid:3)

ils ne peuvent pas avoir le même numéro identifiant de l’entité Etudiant.

l’attribut numEtud est retenu comme

Identifiant

(cid:1) Association (Relation)

Une association définit un lien sémantique entre une ou plusieurs entités.

Remarques :

L’ensemble des entités intervenant dans une relation constitue une collection.

Une relation peut être porteuse ou non de propriétés (attributs). Ces propriétés sont en dépendance fonctionnelle de deux ou plusieurs identifiants d’entités,

La dimension de la relation est le nombre d’entités entrant dans sa collection. Elle peut

être binaire, ternaire ou de dimension n.

Exemple :

Une personne possède un logement.

Relation de dimension 2

Figure 3 : Modèle E/A "Logement"

3

Introduction aux bases de données

(cid:1) Cardinalité

C’est un couple de valeurs (minimum, maximum) indiqué à l’extrémité de chaque lien d’une association. La cardinalité précise le nombre de fois minimal et maximal d’interventions d’une entité dans une association. La cardinalité minimale doit être inférieure ou égale à la maximale. Les cardinalités possibles sont :

0,1 : une occurrence du type-entité peut exister en étant impliquée soit dans aucune association soit au maximum dans une seule. 0,n : une occurrence du type-entité peut exister en étant impliquée soit dans aucune association soit dans plusieurs associations (sans limite). 1,1 : une occurrence du type-entité ne peut exister que si elle est impliquée dans exactement une association. 1,n : une occurrence de type-entité ne peut exister que si elle est impliquée dans au moins une association.

Exemple 1 :

Une personne peut être propriétaire d’un ou plusieurs logements. Une personne habite un ou plusieurs logements.

Publicité

Le logement est habité par une ou plusieurs personnes. Le logement appartient à une seule personne.

La relation est de type plusieurs à plusieurs

1,n

La relation est de type un à plusieurs

Figure 4 : Schéma E/A "Logement"

Remarque On veut enregistrer dans la base à concevoir la date d’habitation de chaque personne dans chaque logement.

Ajoute l’attribut dateHabitation de chaque personne dans chaque logement, le schéma E/A devient comme suit :

Association porteuse de données

(cid:4)

Obtenir deux informations d’une même entité.

Figure 5 : Schéma E/A "Logement"

(cid:4) L’attribut dateHabitation est un attribut de l’association habiter, car il dépend à la fois des

deux entités.

4

Introduction aux bases de données

Explication : En plaçant l’attribut dateHabitation dans Personne ou dans Logement, nous exprimons deux choses différentes, à savoir qu’une personne n’habite dans un logement qu’à une seule date ou qu’un logement n’est pas habité qu’à une seule date. Exemple 2 : Proposer un schéma d’Entités/Associations relatif aux phrases suivantes :

Un vol a une ville de départ et une ville d’arrivée. On veut également mémoriser la distance entre deux villes.

Association réflexive

Figure 6 : Schéma E/A "Vol"

Exemple 3 : Réaliser le schéma conceptuel de données du texte ci-dessous. On souhaite gérer la gestion des emprunts des livres. Un livre peut être emprunté par plusieurs abonnés, et un abonné peut Emprunter plusieurs livres. On souhaite enregistrer la date d’emprunt.

Figure 7 : Schéma conceptuel de données "Emprunt"

(cid:4) Problème : Si un abonné Emprunte un même livre à deux dates différentes, alors

l’identifiant du type- association Emprunter comptera des doublons, ce qui est impossible.

Figure 8 : Relation Emprunter comporte des doublons

(cid:4) Solution : Pour permettre à notre modèle d’autoriser un tel emprunt, il faut rajouter un

identifiant dateEmprunt à l’association Emprunter. Pour cela il faut rajouter une 3 entité dateEmprunt avec comme identifiant dateEmp. Ainsi nous obtenons le modèle entité-association suivant :

ème

5

Introduction aux bases de données

Relation ternaire

Figure 9 : Modèle E/A permettant l’emprunt de livres à plusieurs dates

Exemple 4 : On souhaite gérer le personnel d'une société. Chaque membre du personnel a un nom, une fonction, un salaire, une commission, une date d'entrée dans la société. Chaque membre du personnel travaille dans un département caractérisé par son nom (commercial, production, personnel, comptable et recherche) et la ville dans laquelle il se trouve. A chaque employé correspond un et un seul supérieur hiérarchique, lui-même employé, à l’exception du président qui n’a pas de supérieur hiérarchique. Un employé peut diriger d’autres employés.

Figure 10 : Schéma E/A relatif à la gestion d’emprunt de livres

Exercice 1 : Le propriétaire de plusieurs salles de cinéma désire informatiser son système d’information dans le but d’automatiser certains traitements. Chaque salle est caractérisée par un code unique, un nom, une adresse, une capacité et par le nom de la ville dans laquelle elle se trouve. Un film peut être projeté dans une ou plusieurs salles. Il est identifié par une référence et caractérisé par un nom, une date de création, un type et par le nom du réalisateur. Pour chaque projection d’un film dans une salle on enregistre le nombre de spectateurs. La réalisation d’un film fait intervenir plusieurs acteurs dont on connaît les codes uniques, les noms, les prénoms et les adresses. Pour chaque film, on enregistre le rôle de chaque acteur. Travail demandé :

Publicité

Proposer un schéma conceptuel de données (modèle E/A) en se basant sur le texte ci-

dessus.

b. Règles de réalisation d’un modèle entités-associations

La bonne conception d’un modèle entités-associations permet d’éviter une grande partie des sources d’incohérences et de redondances. Pour être bien conçu, un modèle entités- associations doit respecter certaines règles.

6

Introduction aux bases de données

Règles portant sur les noms

Dans un modèle entités-associations, le nom d’une entité, d’une association ou d’un attribut doit être unique. Exemple : Les deux entités Ecrivain et Abonne doivent être fusionnés en une unique entité

(cid:4) Factorisation des entités

Règles de normalisation des attributs (cid:4) Il faut remplacer un attribut multiple en une association et une entité supplémentaires.

Exemple :

Problème :

1. Les attributs en plusieurs exemplaires posent des problèmes d’évolutivité du modèle,

comment faire si un employé a deux adresses secondaires ?

Remplacer les attributs en plusieurs exemplaires en une association supplémentaire de cardinalités maximales n. Remarque : On suppose que :

une adresse peut être habitée par un ou plusieurs employés. le numéro de téléphone est possédé par un et un seul employé

il est également intéressant de décomposer les attributs composites comme l’attribut Adresse par exemple. Il est difficile d’écrire une requête portant sur la ville où

habitent les employés si cette information est noyée dans un unique attribut Adresse.

(cid:4) Il ne faut pas ajouter d’attribut calculable à partir d’autres attributs (risque d’incohérence).

Exemple :

7

Introduction aux bases de données

2. Les attributs d’une association doivent dépendre directement des identifiants de toutes

les entités de la collection de l’association.

Exemple : Par exemple, l’attribut quantite de l’association figurer dépend bien à la fois de l’identifiant n°commande et de numeroarticle des entités de la collection de Figurer. Une conséquence immédiate de cette règle est qu’une association dont la cardinalité maximale de l’une des pattes est 1 ne peut pas posséder d’attribut. Si elle en possédait, ce serait une erreur de modélisation et il faudrait les déplacer dans l’entité connectée à la patte portant la cardinalité maximale de 1. Exemple : Une entité avec une cardinalité de 1.1 ou de 0.1 aspire les attributs de l’association.

3. Un attribut correspondant à un type énuméré est généralement remplacé par une

entité. Exemple :

L’attribut Type caractérise le type d’une émission et peut prendre des valeurs comme : actualité, culturelle, reportage, divertissement, etc. Le remplacement cet attribut par une entité permet, d’une part, d’augmenter la cohérence et d’autre part, si les cardinalités le permettent, de pouvoir a(cid:1)ecter plusieurs types à une même entité (ex : actualité et culturelle).

(cid:4) Il faut éliminer les associations fantômes

c. Étapes de conceptions d’un modèle entités-associations

Pour concevoir un modèle entités-associations, il est nécessaire de passer par une succession d’étapes. Ces étapes sont décrites ci-dessous dans un ordre chronologique.

Recueil des besoins Tri de l’information (synonyme et redondance) Identification des entités Identification des associations Vérification du modèle.

8