Creation d'une table 'sources'

Creation d'une table 'sources' - SQL/NoSQL - Programmation

Marsh Posté le 07-08-2008 à 14:48:30    

Bonjour a tous.
 
je seche depuis qlq semaines sur la creation d'une table qui me paret un peu compliquee mais surement pas pour vous... :)
 
il s'agit d'une table 'sources':
 

Code :
  1. table sources:
  2. id, titre, date_publi, disponibilite, isbn, issn, cote, inventaire, num_pages, num_tomes, ...


 
une source peut avoir plusieurs auteurs et etre en plusieurs langues, donc je cree d'autres tables:
 

Code :
  1. table sources_auteurs :
  2. id_source, id_auteur
  3. table sources_lang :
  4. id_source, id_langue


 
Mais mon probleme c'est le 'support', une source peut etre dispo en plusieurs support (cd, papier), sachant qu'un cd et papier ont des isbn differents...
 
comment gerer cela??
 
Merci beaucoup de votre aide.
Reda


Message édité par redah75 le 07-08-2008 à 14:48:48
Reply

Marsh Posté le 07-08-2008 à 14:48:30   

Reply

Marsh Posté le 07-08-2008 à 15:35:37    

tu vires isbn de la table sources et tu créées un table sources_supports qui contient id_source, isbn, id_support (et si besoin les autres champs spécifiques à ton couple source/support)


Message édité par anapajari le 07-08-2008 à 15:35:49

---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 07-08-2008 à 17:00:53    

merci anapajari pour ta reponse.
c'est bien ce que je me disais, mais je vais devoir virer tous les champs de la table 'sources' sauf le champ 'titre'
ca ne sera pas bizarre d'avoir la table 'sources' avec 2 ou 3 champs??
 
la langue posera aussi un probleme car un suport peut etre en une ou plusieurs langues... :(


Message édité par redah75 le 07-08-2008 à 17:04:11
Reply

Marsh Posté le 07-08-2008 à 17:47:04    

Apres reflexion, j'arrive a ca :
 

Code :
  1. table sources:
  2. id, titre
  3. table sources_supports:
  4. id_source, support, langue, date_publi, disponibilite, isbn, issn, cote, inventaire, num_pages, num_tomes
  5. table sources_auteurs :
  6. id_source, id_auteur


 
qu'en penses tu?


Message édité par redah75 le 07-08-2008 à 17:47:33
Reply

Marsh Posté le 08-08-2008 à 09:32:01    

humm ...
Quelques questions:
les auteurs d'une même source peuvent-ils changer pour des supports différents?
Le titre d'une source ne change-t-il pas en fonction de la langue?
Pourquoi support et langue ne sont pas des FK vers les tables respectives?
A quoi servent ces champs: disponibilité, cote et inventaire?


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 08-08-2008 à 11:01:42    

bonjour :)
 

Citation :

les auteurs d'une même source peuvent-ils changer pour des supports différents?


non, le(s) auteur(s) ne changent pas pour les differentes langues et/ou supports
je precise juste qu'une source peu ne pas avoir d'auteur, c'est le cas pour une source de type revue, car une revue contient plusieurs articles, et donc on ne repertorie pas tous les auteurs...
 

Citation :

Le titre d'une source ne change-t-il pas en fonction de la langue?


pour les titres c'est un peu plus complique, je ne voulais pas rentrer dans les details :)
j'ai au fait cree une table speciale pour les titres:

Code :
  1. table sources:
  2. id, id_titre
  3. table sources_titres:
  4. id_source, titre, titre abrege, langue


 
Exemple:

Code :
  1. table sources:
  2. id | id_titre
  3. 1      1
  4. table sources_titres:
  5. id_source | titre | titre abrege | langue
  6. 1            toto       to           en
  7. 1            titi       ti           fr
  8. ...


 
je le fais ainsi car lorsque je rentre une source francaise, son titre est systematiquement traduit en anglais.
si 1 an plus tard cette source est traduite en anglais, j'auris pas a resaisir une 2e fois le titre en anglais. ces langues sont a titre indicatif, ca peut etre de l'italien ou espagnol...
 

Citation :

Pourquoi support et langue ne sont pas des FK vers les tables respectives?


j'ai pas compris ce que tu veux dire!!!  :??:  
 

Citation :

A quoi servent ces champs: disponibilité, cote et inventaire?


disponibilite: disponibilite stock, si c'est dispo a la vente
cote et inventaire: c'est pour le classement des bouquins, j'avoue que moi aussi je ne sais pas trop a quoi ca sert mais je dois les garder!!
 
Merci


Message édité par redah75 le 08-08-2008 à 11:03:10
Reply

Marsh Posté le 08-08-2008 à 12:24:24    

ok pour auteurs et titre.
A propos des FK ( = foreign keys , clés étrangères) j'étais surpris de ne pas trouver des champs id_support et id_langue.
Dispo ok aussi.
cote et inventaire varie en fonction de isbn?
 
Sinon ça a l'air ok du coup


---------------
Software and cathedrals are much the same - first we build them, then we pray.
Reply

Marsh Posté le 08-08-2008 à 14:51:04    

Citation :

A propos des FK ( = foreign keys , clés étrangères) j'étais surpris de ne pas trouver des champs id_support et id_langue.

Si si, je n'ai juste pas donne trop de details, pour les langues j'utilise fr, en, es et pour les support, il y aura bien des identifiants... :)
 

Citation :

cote et inventaire varie en fonction de isbn?

Cote et inventaire peuvent varier selon le support et la langue

Reply

Marsh Posté le 08-08-2008 à 17:34:24    

je viens de me rendre compte d'une petite faille mais j'arrive pas a trouver la solution :(
- quand une source est bilingue ou trilingue, que devrais je faire?
- lorsqu'un an plus tard par exemple une nouvelle traduction d'un livre sort, dois je inserer un enregistrement uniquement ds la table 'table sources_supports'?? ds ce cas la, dois je creer un champ 'identifiant' pour l'attribuer a l'article tire de cette source???
 
Merci bp de ton aide!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed