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 :

Table inutile ? [MLD]


Sujet :

Schéma

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Points : 125
    Points
    125
    Par défaut Table inutile ?
    Bonjour,

    Voici en pièce jointe une partie de mon MLD. Je me disais que je pouvais retirer ma table HC et créer une vue sur PROGRAM_HC qui récupererait les HC_ID avec la clause distinct ? Qu'en pensez vous ?


  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    TASK et PROGRAM, on comprend de quoi il s'agit mais HC ?
    Et comme on ne voit pas toutes les colonnes de la table HC, difficile de dire si on peut la supprimer.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Points : 125
    Points
    125
    Par défaut
    SISI il y a tout

    c'est juste un ID

    HC est une machine, et elle est rattachée à des programmes.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Et cette machine n'est pas décrite par d'autres attributs dans une table des machines ?

    Avec ce que tu nous dis, je dirais que, sémantiquement, une HC est bien différent d'une TASK et d'un PROGRAM et qu'il est donc logique que la table HC ait son existence propre.

    Comme tu as une association (0,n - 0,n) entre HC et PROGRAM, comment pourrais-tu conserver cette association si tu supprimes la table HC ?

    Je vois aussi que HC est liée à deux autres tables n'apparaissant pas sur l'extrait de ton schéma. Suprimer HC supprimerait aussi ces associations.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Points : 125
    Points
    125
    Par défaut
    Et cette machine n'est pas décrite par d'autres attributs dans une table des machines ?
    Non, mais je comprends qu'une HC est identifiée relativement par rapport à ces programs

    Mon idée était de créer une vue qui faisait quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct hc_id from program_hc
    et les liaisons des autres tables auraient été faite avec la vue et non avec hc

    donc mon hc devient program_hc et je tire les données hc_id avec ma vue..

    j'espère avoir été clair dans les propos ....

    Qu'en pensez vous ? est ce complètement idiot ?

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Sur le plan de la modélisation des données, c'est une hérésie ! Une machine (HC) est une machine et doit figurer en tant qu'entité dans le MCD et donc en tant que table indépendante dans le MLD puis le MPD.

    Sur le plan pratique, je ne pense pas que ta combine soit plus performante !
    Une vue est exécutée à chaque fois qu'elle est appelée, sauf si ton SGBD implémente les vues matérialisées, et le DISTINCT est une opération coûteuse. Avec un peu de chance, tu n'ajoutes pas souvent de machines, la vue est appelée souvent et son résultat est conservé en mémoire donc très rapidement accessible. Mais je pense quand même qu'une table sera plus rapide. Il faudrait l'avis d'un expert en mécanique des SGBD, tel SQLPro, pour argumenter plus précisément.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. Suppression d'une colonne inutile dans une table
    Par Ordonnateur dans le forum Oracle
    Réponses: 4
    Dernier message: 15/12/2011, 12h22
  2. Problème de lock inutile sur une table
    Par gouffe dans le forum Développement
    Réponses: 14
    Dernier message: 13/01/2011, 11h39
  3. supprimer un format inutile et accès tables
    Par soph35 dans le forum SAS Base
    Réponses: 5
    Dernier message: 01/04/2010, 09h13
  4. Réparation table/entête endommagée
    Par tbesrour dans le forum Paradox
    Réponses: 15
    Dernier message: 27/11/2007, 10h42
  5. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 21h31

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