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

MS SQL Server Discussion :

Urgent: Recodification d'une base de donnée


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 183
    Points : 66
    Points
    66
    Par défaut Urgent: Recodification d'une base de donnée
    Bonjour,

    J'ai une base de donnée qui sert pour la gestion des véhicules (enregistrer des véhicules, pdre des rdv pr ces véhicules pour des contrôles...). 1 véhicule est caractérisé par un num_parc (qui est l'identifiant), une immatriculation...

    Aujourd'hui,on me demande de recodifier cette base car l'idenfiant des véhicules (dc le num_parc) change.
    ex.:
    num_parc(source): 0001 devient num_parc(cible): PF003

    Ma solution était à partir de la base de production, créer une base vierge et transcodifier.
    Mais le problème s'est que j'ai des contraintes dans tous les sens (contraintes d'intégrité, clée, trigger...) donc comment je peux faire.
    Y-a-t-il un moyen de supprimer les contraintes, transcodifier et de remettre ensuite mes contraintes? Ou si vous avez une autre solution ca m'interesse également.

    Merci

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Sans recodifier ta base, je te suggère d'ajouter uen colonne codeVehicule par exemple. Ce code représentera le nouveau code. Tu peux alors laisser l'autre comme clé primaire et pour les nouveaux véhicules, faire un auto increment.
    Si tu recode la base de données, pour t'éviter de futurs problèmes, je te suggère de toujours mettre une clé primaire avec un nombre entier auto incrémenté et le code ou le nom de l'item dans uen autre colonne. Ceci te permettra de changer le code dans affecter le reste de la base de données.
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 183
    Points : 66
    Points
    66
    Par défaut
    la base de donnée n'a pas été crée par moi, il s'agit d'une base livré par une societe extérieure donc je n'ai pas du tout le mcd de cette base.

    De +, si je crée un champ contenant le nouveau code, je dois changer le code source de l'application pour le faire pointé sur le bon champ, or comme je disais je n'ai pas les sources...

    D'autre part, je dois recodifier les codes véhicules non seulement dans la table véhicule mais également dans toutes les tables ou aient contenu ce code.

    Détaille moi mieux ta solution car je crois pas que ca répond tout à fait à mes attente.

  4. #4
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Comme tu n'as pas accès au code source, voilà ce que tu vas faire. Je te proposes, comme tu l'a demander, de désactiver toutes les contraintes et tous les déclencheurs avec l'appel d'une procédure stockée système qui parcours et exécute une action individuellement sur chaque table :

    Désactiver toutes les contraintes et les déclencheurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
    sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER  all"
    Activer toutes les contraintes et les déclencheurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sp_msforeachtable "ALTER TABLE ? CHECK CONSTRAINT all"
    sp_msforeachtable "ALTER TABLE ? ENABLE TRIGGER  all"
    Avant de poster : FAQ, tutos, rechercher, google, ... Après :
    Merci

Discussions similaires

  1. [2008R2] aide urgente sur la connexion d'une base de donnée sql server et phpadmin dans Xampp
    Par mvictorinesonia dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/08/2014, 09h04
  2. Récupérer une base de donnée (très urgent)
    Par ganondorf5 dans le forum Android
    Réponses: 3
    Dernier message: 07/01/2014, 12h26
  3. Réponses: 0
    Dernier message: 16/02/2010, 10h09
  4. connection à une base de donné ,besoin urgent d'aide
    Par nadhem dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 21/07/2006, 15h28
  5. Réponses: 3
    Dernier message: 22/06/2006, 17h41

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