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
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2006, 12h37   #1
Invité de passage
 
Inscription : mars 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 5
Points : 0
Points : 0
Par défaut Base DD multilingue

Bonjour,
Je m'interroge sur le bon choix à faire quant à l'organisation d'une base de données destinées à gérer plusieurs langues.
Voici les solutions qui sont à ma disposition et j'ai du mal à me décider :

1 --------------------
je fait un base avec des tables unique incluant les 2 langues (fr/gb) du type :
tb_produits // c'est la table produit
les champs :
id_produit_lg // clé primaire auto increment valeur unique par langue
id_produit // clé unique par produit mais commune a l'ensemble des langues

Exemple pour les produits X , Y ça donne :
(fr X) => id_produit_lg=1 ; id_produit=1
(gb X) => id_produit_lg=2 ; id_produit=1

(fr Y) => id_produit_lg=3 ; id_produit=2
(gb Y) => id_produit_lg=4 ; id_produit=2

on a donc deux clé dans la table et sur un système de table complexe les requettes ne sont-elles pas vite complexes ?

2 --------------------
je crée une table spécifique pour chaque langue :
ex :
tb_produit_fr
tb_produit_gb

et ainsi de suite pour toute les tables de la base

3 --------------------
je crée une table unique avec un id unique, mais les deux langues dans le même champ
ex pour les produits X , Y ça donne :
(fr gb X) => id_produit=1 ; contenu =" <fr>bonjour</fr><gb>hello</gb> "

(fr gbY) => id_produit=2 ; contenu =" <fr>rouge</fr><gb>red</gb> "

voilà, ce sont trois solutions et sans grande expérience du multilingue, il m'est difficile de juger des problèmes cachés , maintenance, ......

Existe-t-il une convention de creation de base multilingue, une modelisation qui répond aux utilisations les plus courantes

Merci à tous, votre aide et vos commentaires sont tjs précieux.

Bruno.
AlexOmil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 13h17   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 446
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 446
Points : 7 546
Points : 7 546
Autre possiblité, utilisée lorsqu'il y a plusieurs langues :
Table PRODUIT(id_produit, attributs produit hors libellé)
Table PRODUIT_LIB(id_langue, id_produit, libellé)

Cette structure a l'avantage d'être extensible si on a besoin d'ajouter une langue et d'être intégrable dans des vues complexes, intégrant le choix de la langue en fonction de l'utilisateur et la prise en charge d'une langue par défaut en cas d'absence du libellé attendu dans la langue demandée.

J'ai même vu des structures du type :
Table LIBELLE(id_table, id_langue, id_element, libellé)
L'unique avantage est de limiter le nombre de tables de libellés. En contrepartie, il n'est plus possible d'intégrer la vérification d'intégrité référentielle dans la BD.
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 13h41   #3
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
Les deux propositions de al1_24 sont les meilleures (et même les seules par rapport aux propositions initiales), j'ajoute deux détails :

1) dans la table produit, il faut prévoir un libellé par défaut qui permet de savoir de quoi on parle, et de suppléer l'absence de libellé dans une langue particulière.

2) l'absence d'intégrité référentielle dans la deuxième solution n'est pas très grave puisque les libellés n'ont aucune influence sur la gestion proprement dite.
Médiat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2006, 14h37   #4
Invité de passage
 
Inscription : mars 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 5
Points : 0
Points : 0
Bien dans ce cas je pense qu'il me faut m'incliner et merci pour vos conseils.

Peut-on dire que l'on a là une tb intermédiaire comme l'on pourrait la créer dans certains cas de relation plusieurs à plusieurs ?

en tous cas encore merci, et si d'autres infos je suis tjs preneur car je n'est pas une longue expérience en étude et concept de base
AlexOmil 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 04h53.


 
 
 
 
Partenaires

Hébergement Web