|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||||
|
Membre confirmé
![]() Inscription : août 2004 Messages : 324 ![]() |
Bonjour,
Je vous présent mon problème à l'aide d'un exemple concret. C'est en fait un horaire de train. J'ai 3 tables. Citation:
Citation:
Ce que je souhaite c'est pouvoir en quelque requetes, allouer une nouvelle ligne à un train. Ce que je fais c'est que j'utilise un train temporaire (3->TrainTemporaire). Action 1 : Allouer la Ligne2 au Train1 Code :
Citation:
Code :
Citation:
Citation:
Merci d'avance pour votre réponse Bonne journée
__________________
powder skiing is not a crime |
|||||||||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
bonjour,
Et pourquoi n'utilisez vous pas les clauses DELETE et INSERT ? edit : Citation:
|
|
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : août 2004 Messages : 324 ![]() |
En fait l'exemple ci-dessus c'est ma base de données mais très minimisé pour vous expliquer mon problème...
Je vais essayer ce soir le delete->insert... mais avec ce procédé, il faut quand même que je stocke les données avant de les deleter ? une table temporaire ayant la même structure que ma table Ligne ? ça peut faire l'affaire ?? Merci
__________________
powder skiing is not a crime |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
Quel est le but de cette manip ?
- process metier à mettre en place ? => vos tables sont mal modélisées, il faudrait repenser la solution si c'est encore possible D’après ce que j'ai compris de votre fonctionnel : - une ligne est rattachée à un train - une ligne dispose d’horaires de départ - un train ne peut être rattaché qu'a une seule ligne Il vous manque une table relation entre train / ligne avec une contrainte d'unicité sur la colonne d'identifiant du train.. et là vous n'aurez plus ce problème de train rattaché à plusieurs lignes ! La table ligne est donc à exploser pour gérer vos contraintes fonctionnelles. C'est pour ça que je vous demandais d’élaborer un peu votre MCD par rapport à vos contraintes car là vous galérez pour rien. De plus si vous avez un peu de concurrence sur cette appli vous n'arriverez pas à avoir des données cohérentes edit : Et sinon pour votre problème si vous ne voulez pas toucher à vos table, pourquoi ne faites-vous pas un test avant/après modification pour voir si ce que vous allez faire est valable fonctionnellement ? Et faites un rollback de votre transaction ou n’exécutez pas le script d'update le cas échéant. |
|
|
10
|
|
|
#5 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
Vous avez effectivement une très mauvaise modélisation.
Avant tout une base de données se modélise au niveau conceptuel. Jamais au niveau physique ! Commencez donc pas définir vos entités et vos associations et vous verrez qu'il vous en manque une capitale, la notion de circulation.... Voici un exemple de MCD Merise pour votre base : http://www.developpez.net/forums/att...1&d=1311408303 Pour un cours sur Merise : http://sqlpro.developpez.com/cours/modelisation/merise/ Pour comprendre la contrainte de modèle : http://merise.developpez.com/faq/?pa...Conditionnelle A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
10
|
|
|
#6 | ||
|
Membre éclairé
![]() |
roots_man,tu peux ajouter des conditions dans la clause wherecomme;
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com