problème conception table (problème clé primaire) - SQL/NoSQL - Programmation
Marsh Posté le 20-03-2006 à 02:36:06
voila une option :
id_dossier num_auto = la clé primaire, une clé artificielle.
num_dossier num_auto recyclable a chaque année. elle forme avec la date du dossier ta clé naturelle.
PS : Assures-toi que le fait d'initialiser le numéro de dossier chaque année émane d'un besoin d'affaire ?
Marsh Posté le 20-03-2006 à 08:24:46
abdelelomari a écrit : voila une option : |
Bonjour,
Tout d'abord, merci de ta réponse.
La remise a zéro du numéro du dossier est une contrainte spécifié par le service en charge des dossiers, cela simplifie leur travail ( car les numéros deviennent vite important et il est difficile de s'y retrouver).
Citation : |
Je travaille avec Mysql et il n'est pas possible a ma connaissance d'avoir 2 auto_increment dans la même table.
Mais je peux me tromper , je vais vérifier cela.
Si on recycle le numéro de dossier , on va alors perdre les dossiers de l'année précédente , non ?
Marsh Posté le 20-03-2006 à 16:32:00
Je ne connais pas MySQL, je connais plutot oracle ( On utilisera une sequence ).
As tu une date dans ta table ? si oui qu'elle est sa définition ?
Marsh Posté le 20-03-2006 à 17:55:53
abdelelomari a écrit : Je ne connais pas MySQL, je connais plutot oracle ( On utilisera une sequence ). |
oui j'ai la date d'enregistrement du dossier au format date de mysql : YYYY-MM-JJ
je pensais a une autre solution mais je n'ai jamais essayé les clé primaire "composé" :
une clé primaire "composé" consituée :
- d'un numDossier int (sans auto increment)
- d'un champ de type YEAR(YYYY) que je rajouterais à la table
Cette solution ma l'air un peu plus facile que d'avoir un seul champ du type Année-NumDossier
Marsh Posté le 20-03-2006 à 19:52:55
Effectivement c'est plus logique de créer une clé composé de deux colonnes qu'une colonne composée de deux valeurs.
Marsh Posté le 20-03-2006 à 23:51:55
Bonsoir,
je pars sur cette idée ,on verra bien.
Merci pour ton aide.
Marsh Posté le 19-03-2006 à 22:11:03
Bonjour à tous,
Je suis actuellement en stage et je dois crée une application qui gère des dossiers, mais j'ai un problème, je ne suis pas sur que je commence correctement ma base de donnée.
Voici le problème :
Chaque dossier a un numéro (qui s'incrémente normalement) , mais chaque année on dois recommencer la numérotation.
Donc je ne sais pas comment gérer ce problème, car je ne peux donc pas utiliser un champ auto_increment en clé primaire de la table dossier.
je pensais faire un champ de type char qui contiendra une valeur du type : date-numéro, mais alors là il deviens difficile de gérer les numéros, car :
- Il faut a chaque fois vérifier l'année actuelle
- décomposer le champ pour récupérer le dernier numéro
Est ce que cette méthode est bonne ou alors vous auriez une meilleure solution a proposé ?