IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

MCD valeurs booléennes


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 34
    Points
    34
    Par défaut MCD valeurs booléennes
    Bonjour,
    Je travaille actuellement sur des données cadastrales provenant des fichiers ASCII de la DGI.
    Je développe une base de donnée orientée sur les problématiques foncières et j'ai un petit souci avec certaines données et mon MCD.
    J'ai donc crée une table (ou entité?) logement reliée à la table parcelle (un logement appartient à 1 parcelle et une parcelle peut contenir N logements)
    J'ai donc crée mon MCD mais je ne sais pas comment intégrer les données booléennes de la table logements.
    Ce sont des données concernant des caractéristiques de conforts avec une réponse OUI/NON: ex présence d'eau (O/N); présence de wc (O/N), présence de tout à l'égout (O/N)...
    Je voulais donc savoir si il est judicieux d'intégrer ce genre de donnée dans l'entité logement du MCD ou faut-il créer un attribut de type "caractéristique de confort"?
    Merci pour vos réponses
    un stagiaire en galère

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 114
    Points : 31 602
    Points
    31 602
    Billets dans le blog
    16
    Par défaut
    Bonjour Trago,

    Une fois que votre MCD aura été dérivé en MLD, vos entités-types auront donné lieu à des tables.

    Considérons donc le cas de la table Logement. Le fait qu’elle comporte autant de colonnes que de caractéristiques de confort pose des problèmes de stabilité de structure. En effet, à chaque fois qu’il faudra prendre en compte de nouvelles caractéristiques, cela se traduira par un changement de structure de la table Logement, ce qui est une opération délicate à réaliser et que n’apprécient guère les Productions Informatiques.

    Il est préférable de définir une entité-type Caractéristique (de logement) et de définir une relation M-N entre Logement et Caractéristique. Ainsi, au niveau MLD, la table Logement est dotée d’une structure stable (au moins en ce qui concerne les caractéristiques), par déport des caractéristiques dans une table LogementCaracteristique, dérivée de l’association entre Logement et Caractéristique. A noter que l’association Logement - Caractéristique peut être accompagnée d’attributs (Observation dans le MLD donné en exemple ci-dessous (outil DBDesigner)).



  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 34
    Points
    34
    Par défaut
    merci pour cette réponse détaillée.
    Mais avec des cardinalités de type 0/1/N comment puis-je gérer cette table intermédiaire LogementCaractéristique?
    --> Un local (plus qu'un logement) peut avoir 0 à N caractéristiques de confort. Un caractéristique peut concerner 1 à N logement.
    Ainsi comment k egère ces cardinalités avec la table intermédiaire?
    Désolé pour ces questions.... mais je débute juste dans les SI dans le cadre des SIG...et je ne suis pas très au point,
    merci encore!!

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 114
    Points : 31 602
    Points
    31 602
    Billets dans le blog
    16
    Par défaut
    Bonsoir,

    Le MLD que j'ai fourni à l'occasion de mon précédent message n’est qu’un graphique. Les tridents et doubles barres se lisent ainsi :

    Une ligne de la table Logement est en relation avec au moins une et au plus N lignes de la table LogementCaracteristique (cardinalité 1,N).

    Une ligne de la table LogementCaracteristique est en relation avec une et une seule ligne de la table Logement (cardinalité 1,1).

    Une ligne de la table Caracteristique est en relation avec au plus N lignes de la table LogementCaracteristique (cardinalité 0,N).

    Une ligne de la table LogementCaracteristique est en relation avec une et une seule ligne de la table Caracteristique (cardinalité 1,1).

    Si je demande à DBDesigner (ou tout autre outil) de produire un script, voilà ce qu’il fournit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    CREATE TABLE Logement (
      Id_Logement INTEGER NOT NULL,
      Libelle_Logement CHAR(48) NOT NULL,
      PRIMARY KEY(Id_Logement)
    );
    
    CREATE TABLE Caracteristique (
      Id_Caracteristique INTEGER NOT NULL,
      Libelle_Caracteristique CHAR(48) NULL,
      PRIMARY KEY(Id_Caracteristique)
    );
    
    CREATE TABLE LogementCaracteristique (
      Id_Caracteristique INTEGER NOT NULL,
      Id_Logement INTEGER NOT NULL,
      Observation CHAR(48) NOT NULL,
      PRIMARY KEY(Id_Caracteristique, Id_Logement),
      FOREIGN KEY(Id_Caracteristique)
        REFERENCES Caracteristique(Id_Caracteristique)
          ON DELETE NO ACTION,
      FOREIGN KEY(Id_Logement)
        REFERENCES Logement(Id_Logement)
          ON DELETE CASCADE
    );
    Pour remonter au niveau conceptuel, par exemple Merise (avec l’outil POWER AMC), le schéma est le suivant :


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2009, 13h00
  2. Réponses: 4
    Dernier message: 01/05/2008, 17h40
  3. Valeur booléenne de crystal report
    Par majej dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 28/12/2007, 12h52
  4. PL SQL valeur booléenne select
    Par nathieb dans le forum SQL
    Réponses: 9
    Dernier message: 25/09/2007, 16h13
  5. [JTable] afficher des Chekbox pour des valeurs booléennes
    Par grabriel dans le forum Composants
    Réponses: 11
    Dernier message: 21/02/2007, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo