Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD

Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: Etes-vous pour ou contre une valeur "poubelle" qui remplace la valeur NULL?
NSP 2 16,67%
Contre 9 75,00%
Pour 1 8,33%
Votants: 12. Vous ne pouvez pas participer à ce sondage.

Publicité
'
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Vieux 15/05/2005, 23h08   #1
Membre chevronné
 
Avatar de pinocchio
 
Homme François
Développeur informatique
Inscription : novembre 2002
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 35
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : novembre 2002
Messages : 773
Points : 787
Points : 787
Par défaut Quel vision avez-vous de la valeur "poubelle"?

Dans un message précédant, j'ai lu ceci :
Citation:
Envoyé par al1_24
Dans la pratique, on utilise souvent un identifiant "poubelle" (non défini, 9999, ...) dans la table de référence.
L'avantage est qu'on évite les jointures externes, et donc on diminue la charge système.
En plus, on évite de "perdre" des enregistrements si, par inadvertance, on utilise un INNER JOIN à la place du OUTER JOIN (outils de consultation mis à la disposition des utilisateurs...)
1) Je ne connaissais pas cette pratique
2) Je suis outré par cette pratique

Pour moi cette technique semble incohérente pour plusieurs raisons. La première est que cet identifiant peut prendre une valeur future (il suffit de le mette à -1 ou 0 et cela marche). La deuxième est que cela est la porte ouverte pour avoir une BDD poubelle ensuite car chacun utilisera cette valeur un peu n'importe comment. La troisième est que la valeur NULL est une valeur importante à mes yeux, ce n'est pas l'absence de valeur.
Voila à vos votes.
pinocchio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2005, 02h32   #2
Membre chevronné
 
Avatar de nako
 
Ingénieur développement logiciels
Inscription : août 2003
Messages : 581
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : août 2003
Messages : 581
Points : 635
Points : 635
Par défaut Re: Quel vision avez-vous de la valeur "poubelle"?

Citation:
Envoyé par pinocchio
1) Je ne connaissais pas cette pratique
2) Je suis outré par cette pratique
1) Je ne connaissais pas cette pratique
2) Je ne suis malheureusement presque plus étonné par ce genre de pratique ...
T'as pas souvent bossé avec des sagouins toi !
nako est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2005, 11h23   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 2
Points : 14
Points : 14
Je ne comprends pas la question...
Quelle différence fonctionnelle y a-t-il entre la valeur Null et la valeur 999 ?
alvain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2005, 17h03   #4
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 450
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 450
Points : 7 559
Points : 7 559
Il faut replacer les choses dans leur environnement peut-être...
Sur le papier, au moment de la conception d'une BDR, la valeur Null et les jointures externes sont la meilleure solution théorique.
Dans la pratique, dans un environnement Décisionnel / Entrepôt de données, où la moindre table de faits comporte quelques Tera-enregistrements (pour ceux qui l'auraient oublié, 1 tera=10**12), la jointure externe est bannie par les DBA, qui ont leur mot à dire sur la formulation des requêtes les plus courantes.
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2005, 21h28   #5
Membre chevronné
 
Avatar de pinocchio
 
Homme François
Développeur informatique
Inscription : novembre 2002
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 35
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : novembre 2002
Messages : 773
Points : 787
Points : 787
Jsutement, mon but c'est d'avoir l'avis de DBA.
Mais ils ne participent pas trop, dommage!!!
pinocchio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2005, 09h35   #6
Membre confirmé
 
Inscription : mars 2002
Messages : 323
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 323
Points : 280
Points : 280
Tout dépend. Par exemple, pour une table de thèmes :

Code :
1
2
3
4
CREATE TABLE Theme (
  theme_id integer NOT NULL PRIMARY KEY,
  pays_libelle varchar(100) NOT NULL UNIQUE
);
Il est parfaitement possible de laisser l'utilisateur ajouter une ligne "-indéfini-". Ceci lui permet de définir le libellé de la valeur indéfinie. Autrement ce libellé devrait être codé en dur.
__________________
creapage.net
laffreuxthomas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2005, 14h11   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Moi j'ai du mal à voir un cas fonctionnel où on aurait besoin d'un identifiant bidon

Si quelqu'un veut bien m'éclairer avec un exemple concret je me ferais un plaisir de donner mon avis
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2005, 12h43   #8
Inactif
 
Avatar de Médiat
 
Inscription : décembre 2003
Messages : 1 946
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 1 946
Points : 1 932
Points : 1 932
Citation:
Envoyé par orafrance
Moi j'ai du mal à voir un cas fonctionnel où on aurait besoin d'un identifiant bidon
Si quelqu'un veut bien m'éclairer avec un exemple concret je me ferais un plaisir de donner mon avis
Exemple (pas hyper-fonctionnel ) : une table du personnel contient, entre autres, un IdPays et un IdRegion qui représente le lieu d'affectation du salarié, dans certains cas la région n'a pas de sens (le Vatican n'est pas découpé en régions). Jusque là, je ne vois pas l'intérêt de la valeur bidon, et NULL me convient parfaitement. Cette modélisation n'est pas parfaite (cf. Infra), mais on fait du décisionnel avec ce que l'on trouve...
Imaginons qu'à partir de ces données il faille créer une base décisionnelle (comme l'a fait remarquer al1_24 les volumes peuvent êtres énormes), avec une table de fait "Répartition géographique des Effectifs" dont la clé serait idéalement (IdPays, IdRegion), il me semble que la solution de créer une valeur 'N/A' dans le SI décisionnel qui correspondra à la valeur NULL du SI Opérationnel est simple et pratique, et évite les jointures externes.
Une autre solution consisterait à créer une entité LieuGéographique avec un héritage en Pays et Région, c'est d'ailleurs une solution que je préconiserais dans le cas du SI Opérationnel, mais pas pour le système décisionnel (calculer les agrégats par pays est beaucoup plus simple avec la première solution).
Médiat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web