Télécharger la présentation
1
Chap I: Le modèle E/A Université de Tébessa
Faculté des Sciences exactes Département MI Cours Base de données Chap I: Le modèle E/A Version
2
Plan du Cours Principes généraux:
Bon et mauvais schémas La bonne méthode (pour éviter les pbms du mauvais schémas?) Le modèle E/A: Présentation informelle Le modèle E/A: : Entité, attributs et identifiants Extensions du modèle E/A Exercices
3
Principes généraux La méthode permet de distinguer les entités qui constituent la base de données, et les associations entre ces entités. E + A donner une structure à la base
4
Le modèle de données entité-association (E.A.)
En anglais: Entity-Relationship (ER) Origines: C.Bachman (1969), P.Chen (1976). Modèle de données –> décrire la réalité perçue à travers les données mises en jeu (indépendamment des opérations que l’on effectuera ultérieurement dessus). But: fournir des outils et un cadre rigoureux pour l’analyse des données et de leurs liaisons. Concepts de base: entité, association, attribut et valeur (et type de valeur).
5
Si on traite une BD comme un fichier????
Anomalies d’insertion On peut représenter le même film +sieurs fois Et de manière différentes (exp avec deux réalisateurs différents Peut-il y avoir deux films différents avec le même titre par exemple? A quel moment on peut dire que la même information a été répétée??
6
Anomalies de modification
Modifie l’année de naissance de Hitchcock pour la ligne Vertigo et pas pour la ligne Psychose.
7
Anomalies de destruction
Si on Efface le film Titanic???? Effacer le film Titanic efface du même coup lesinformations sur James Cameron.
8
La bonne méthode représenter individuellement les films et les réalisateurs: Une action sur l’un n’entraîne pas systématiquement une action sur l’autre ; définir une méthode d’identification d’un film ou d’un réalisateur: la même information est représentée une seule fois ; préserver le lien entre les films et les réalisateurs
9
La bonne méthode représenter individuellement les films et les réalisateurs: Une action sur l’un n’entraîne pas systématiquement une action sur l’autre ; deux réalisateurs peuvent avoir le même nom deux films ne peuvent avoir le même titre
10
La bonne méthode préserver le lien entre les films et les réalisateurs La redondance est réduite au minimum (idMES clé étrangère).
11
La bonne méthode Les anomalies
Anomalie d’insertion. On doit interdire toute insertion redondante . Anomalie de mise à jour. Il n’y a plus de redondance, donc toute mise à jour affecte l’unique instance de la donnée à modifier. Anomalie de destruction. On peut détruire un film sans affecter les informations sur le réalisateur.
12
Le modèle E/A: Présentation informelle
Le choix des cardinalités est essentiel Ce choix est aussi parfois discutable Tout est ici question de choix et de compromis
13
Le modèle E/A: Entité Attribut= propriété
Définition (Entité) On désigne par entité tout objet identifiable et pertinent pour l’application. Attribut= propriété Un attribut est désigné par un nom et un Domaine (les valeurs possibles comme les entiers, les chaînes de caractères, les dates, etc). les attributs sont atomiques = une valeur et une seule. Les attributs multivalués =ensemble de valeurs prises dans un même domaine les attributs composés sont constitués par composition d’autres attributs Nous nous s’intéressons pour l’instant aux attributs atomiques
14
Le modèle E/A: Type d’entité
Definition (Type d’entité) Le type d’une entité est composé des éléments suivants : son nom ; la liste de ses attributs avec, – optionnellement – le domaine; La clé. Il est essentiel de bien distinguer types d’entités et entités. La distinction est la même qu’entre schéma et base dans un SGBD, ou entre type et valeur dans un langage de programmation.
15
Le modèle E/A: La Clé Définition (Clé) Soit E un type d’entité et A l’ensemble des attributs de E. Une clé de E est un sous-ensemble minimal de A permettant d’identifier de manière unique une entité parmi n’importe quelle extension de E .L’ constitue une clé naturelle pour l’entité « Internaute » pour toute extension du type d’entité « Intrenaute » Il est possible d’avoir plusieurs clés pour un même ensemble d’entités. Dans ce cas on en choisit une comme clé primaire, et les autres comme clés secondaires. On pourrait penser à utiliser la paire (nom,prénom), mais il faut utiliser avec modération l’utilisation d’identifiants composés de plusieurs attributs(Pbms performance et complique les manipulations par SQL).
16
Modèle E-A: Les Associations
17
Quelle est la clé d’une association ?
18
Association entité discriminante Clé (id, email, date)
Un internaute peut noter à plusieurs reprises un film?
19
Association l’inconvénient : une entité assez artificielle,
Date, et vient alourdir le schéma
20
On parle alors d’entité faible.
Entités faibles Il existe des cas où une entité ne peut exister qu’en étroite association avec une autre, et est identifiée relativement à cette autre entité: On parle alors d’entité faible. La salle est associée au cinéma avec une association qualifiée par l’attribut no qui sert de discriminant pour distinguer les salles au sein d’un même cinéma.
21
Entités faibles 1. Quand on insère une salle dans la base, on doit toujours l’associer à un cinéma ; 2. quand un cinéma est détruit, on doit aussi détruire toutes ses salles ; 3. quand on modifie la clé d’un cinéma, il faut répercuter la modification sur toutes ses salles.
22
Association n_aire Les associations de degré supérieur à deux sont difficiles à manipuler et à interpréter. Il est possible de les remplacer par un type d’entité. Pour cela on suit la règle suivante :
23
Associations généralisées
des associations entre plus de deux entités sont difficiles à comprendre (Horaire,Film,Salle)
24
Le modèle E/A: Les cardinalités
Les cardinalités sont notées par deux chiffres Le chiffre de droite est la cardinalité maximale (1,*) Le chiffre de gauche est la cardinalité minimale (0,1) Le chiffre de gauche est la cardinalité minimale (0,1) Exemple l’association « réalise entre Artiste et Film » indique qu’on s’autorise à ne pas connaître le metteur en scène d’un film. Attention : cela ne signifie pas que ce metteur en scène n’existe pas
25
Cardinalités Attention:
Les cardinalités maximales sont plus importantes que les cardinalités minimales ou, elles s’avèrent beaucoup plus difficiles à remettre en cause une fois que le schéma de la base est constitué. Attention: les cardinalités n’expriment pas une vérité absolue, mais des choix de conception.
26
Le modèle E/A: Les cardinalités
La notation * est équivalente à (0..*) La notation 1 est équivalente à (1..1) Attention : Les cardinalités et le choix des clés font vraiment partie des aspects décisifs des choix de conception.
27
Les caractéristiques d’une bonne clé primaire :
– sa valeur est connue pour toute entité ; – on ne doit jamais avoir besoin de la modifier ; - sa taille de stockage doit être la plus petite possible. Si on a du mal à déterminer une clé d’une entité, on crée un Identifiant Abstrait (exp num séquentiel)
28
Exemple : contraintes de participation des entités aux associations.
2. Contraintes extensions du modèle E/A Exemple : contraintes de participation des entités aux associations. 2.a Exclusivité de participation d’une entité à plusieurs associations Un Article est soit acheté auprès d’un fournisseur, soit figure dans le Stock 1,n Fournisseur acheter 0,n 0,1 Article Stock trouver X 1,n Si l’entité E participe à l’association A1, elle ne peut participer à l’association A2.
29
Partie II Extensions du modèle EA
30
2.b Inclusion de participation d’une entité à plusieurs associations
La participation d'une entité E à une association A1 implique sa participation à l'association A2. La participation de client dans l’association emprunte implique sa participation à l'association souscrit. 1,1 0,n 0,1 Client Abonnement Ouvrage souscrit emprunte I
31
2.c Exclusion de participation entre associations
Il y a exclusion de participation entre associations si la participation des entités à l'association A1 exclut leur participation à l'association A2. Une personne à une même date ne peut pas figurer simultanément dans les deux associations: disponible et en formation. 0,n Datejour Personne disponible en formation X
32
2.d Inclusion de participation entre associations
Il y a inclusion de participation entre associations si la participation des entités à l'association A1 implique leur participation à l'association A2. Tout couple commandes, produits figurant dans l'association ligneLiv doit figurer dans l'association ligneCde Le problème va être de vérifier toutes ces contraintes dans les programmes qui mettent à jour les données ! 1,n 0,n Commandes Produits ligneCde ligneLiv I
33
Avantages & inconvénients de l’E/A
Le modèle Entité/Association est simple et pratique. 1. Il n’y a que 3 concepts : entités, associations et attributs. 2. Il est approprié à une représentation graphique intuitive, même s’il existe beaucoup de conventions. 3. Il permet de modéliser rapidement des structures pas trop complexes. Il y a malheureusement plusieurs inconvénients. il est non-déterminisme : il n’y a pas de règle absolue pour déterminer ce qui est entité, attribut ou relation.
34
Exercices
35
Exercice 1 Lors d’une élection communale, faisant fi de tout secret électoral, un informaticien malfaisant réussit à se procurer et à stocker dans une base de données relationnelle les informations suivantes : pour chaque commune (avec son nom et son nombre d’électeurs potentiels) les électeurs ayant voté (nom, prénom, adresse et heure du vote), les candidats (nom, prénom, position sur la liste du parti) pour lesquels ils ont voté (un électeur pouvant en effet voter pour plusieurs candidats) ainsi que le parti pour lequel ils ont voté (les candidats pour lesquels ils votent doivent être du même parti). Notre informaticien veut aisément pouvoir comptabiliser le nombre de voix attribuées à chaque parti et à chaque candidat pour chaque commune et aisément retrouver les électeurs ayant voté dans chaque commune pour chaque candidat et chaque parti. Réalisez les tables (avec leurs attributs) et le schéma relationnel décrivant la base de données en question et permettant à notre informaticien d’acquérir cette connaissance.
37
Exercice 2 Une agence immobilière gère la location d’appartements et de maisons pour le compte de propriétaires. Cette agence maintient une base de données relationnelles dans laquelle chaque propriétaire (nom, prénom,adresse,tel.) remet en gestion à l’agence plusieurs appartements ou maisons (taille, adresse, prix de location) selon un contrat (durée, pourcentage) propre à chaque bien. Chaque appartement ou maison est donnée en location par un bail identifié par un numéro et pour une période déterminée, à un locataire dont on enregistre le nom, prénom, adresse, tél. Réalisez le schéma relationnel d’une telle base de données.
39
Exercice 3 Un fanatique de cinéma et de festivals de films décide de réaliser sa base de données personnelle en y stockant les différents festivals de cinéma (Venise, Canne, Bruxelles,… avec pour chacun le lieu et le directeur) et ce pour chaque année où ils se déroulent. Pour chaque festival, il désire également enregistrer les films qui y furent en compétition (titre, réalisateur…), les acteurs (nom, nationalité, films en compétition dans lesquels ils ont tourné) et les réalisateurs (nom, film en compétition qu’ils ont réalisé) présents durant le festival. Finalement, il veut, et ce pour chaque festival encore, encoder à part le film qui a remporté le grand prix et l’acteur ayant remporté le prix du meilleur rôle.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.