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

SQL Procédural MySQL Discussion :

Multiplication du même champs autant créer une autre table?


Sujet :

SQL Procédural MySQL

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut Multiplication du même champs autant créer une autre table?
    Bonjour.
    Lorsque je regarde un peut mes objets et qu'après il faille les transposer dans une base je constate qu'il y a des éléments des attributs qui revienne pour chaque classe qui sont.
    Nom (Varchar 100), Description (Text), Date création (DateTime), Date Modification (DateTime, Actif (tinyint 1), Visible(tynint 1).
    Ceci sont référencé dans au moin 5 tables.
    Question : serait il préférable de créer trois tables ?
    Nom , description - Date créa, date modif - Actif, visible .

    Dans mysql 5 il y a un nouveau type de champs ? BOOL il accepte directement il accepte quoi comme valeur ? 1 ou true pour true et 0 ou false pour false ?

    Merci
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Les dates et les champs tinyint sont suffisament petits afin que tu les gardes pour chacunes de tes lignes. Les déporter dans une table de référence ne changerait pas beaucoup la taille des enregistrements ( une date = un long, hors avec une table de référence tu aurais en plus besoin d'un identifiant unique ) donc autant les garder sur chaque ligne.

    En ce qui concerne le nom et la description par contre, tout dépend de leur "répétition". Si ils se répètent souvent, ça peut valoir le coup de les déporter.

    Et pour répondre à ta dernière question, BOOL est juste un synonyme de TINYINT(1). Donc les valeurs sont 0 et 1.

    A+
    K

  3. #3
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    Ok je comprend mieux. Pour le nom et description non il y a pas de répétition le rapport sera toujours 1,1 Donc au final rien ne sert de modifier ma structure.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

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

Discussions similaires

  1. Update avec champs provenant d'une autre table
    Par GoustiFruit dans le forum SQLite
    Réponses: 0
    Dernier message: 01/04/2010, 13h38
  2. UPDATE d'un champs à partir d'une autre table
    Par choupeo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/12/2007, 14h50
  3. Réponses: 1
    Dernier message: 04/10/2007, 16h35
  4. Tester si un couple de champs existe sur une autre table
    Par jerjerrod dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/02/2007, 18h02
  5. Réponses: 3
    Dernier message: 09/07/2004, 10h23

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