Chap I: Le modèle E/A Université de Tébessa

Slides:



Advertisements
Présentations similaires
Chap. 4 Recherche en Table
Advertisements

Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Modèle Entités-Associations
Le Modèle Logique de Données
Séminaire Groupes 27 mars 2003 Des concepts …... Des principes dutilisation ….. Des fiches pratiques ….. Des stratégies de mise en route ….
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
INTRODUCTION.
Exercices corrigés de schémas relationnels
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Initiation au système d’information et aux bases de données
Développement d’applications web
Rappel sur les bases de données et le vocabulaire
Initiation à la conception de systèmes d'information
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Cahier des charges v2 - Synthèse des Offres
Conception des données
La structuration et la représentation informatique de l'information
Le modèle relationnel.
L’utilisation des bases de données
Modèle Logique de Données
Cas pratique : Interim.
SYSTEMES D’INFORMATION
Exercices corrigés de schémas relationnels
MODELE RELATIONNEL concept mathématique de relation
Cours de Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Développement dapplication avec base de données Semaine 10 : WCF avec Entité Framework Automne 2013.
1. Représentation des informations
Introduction.
4. Enquête sur l’Abus de Position Dominante
INTRODUCTION.
Bases de données.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
PostgreSQL – Présentation
Bases de données : modèlisation et SGBD
Cours n°1 Introduction, Conception
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Système Gestion Bases Données
Initiation aux SGBD Frédéric Gava (MCF)
Introduction avec Access Quinio Nanterre 2008
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
LDAP (Lightweight Directory Access Protocol)
Nouvelles Technologies Internet & Mobile
UML : DIAGRAMME DE CLASSES
Chapitre 4 La représentation des nombres.
INTRODUCTION AUX BASES DE DONNEES
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Le modèle conceptuel des données
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction Module 1.
Le modèle logique des données relationnel
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 2
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 2 Méthodologies d’analyse.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

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 2013-2014

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

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

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).

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??

Anomalies de modification Modifie l’année de naissance de Hitchcock pour la ligne Vertigo et pas pour la ligne Psychose.

Anomalies de destruction Si on Efface le film Titanic???? Effacer le film Titanic efface du même coup lesinformations sur James Cameron.

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

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

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).

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.

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

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

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.

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’email 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).

Modèle E-A: Les Associations

Quelle est la clé d’une association ?

Association entité discriminante Clé (id, email, date) Un internaute peut noter à plusieurs reprises un film?

Association l’inconvénient : une entité assez artificielle, Date, et vient alourdir le schéma

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.

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.

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 :

Associations généralisées des associations entre plus de deux entités sont difficiles à comprendre (Horaire,Film,Salle)

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

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.

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.

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)

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.

Partie II Extensions du modèle EA

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

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

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

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.

Exercices

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.

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.

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.