De toute façon ça ne corrige pas toute la base de donnée où Il doit avoir une lettre majuscule pour la première lettre des mots…. Et je veux que ça soit bien saisie dans la base de données, c'est plus propre et plus facile de s'y retrouver...
De toute façon ça ne corrige pas toute la base de donnée où Il doit avoir une lettre majuscule pour la première lettre des mots…. Et je veux que ça soit bien saisie dans la base de données, c'est plus propre et plus facile de s'y retrouver...
Petite question…….
Dans AxleType nous avons 2NDForward et 3RDForward..... Le problème c'est que les 2NDForward et 3RDForward sont identiques…. Donc si j'enlève le 3RDForward d'un Camion et que je l'installe sur un Tandem avec un Rear qui a les mêmes caractéristiques…. il ne sera pas identifié au bon endroit dans notre Vue 'AXLE_CAMION_INSTALL' ????? L'utilisateur devra le renommer en 2NDForward ????
Selon la logique du système et pour que ça fasse plus propre, oui, l'utilisateur devrait le renommer en 2NDForward, même si ça n’est pas essentiel, sinon on pourrait plus tard se poser des questions sur la présence d’un 3RDForward sur le tandem... Cela dit, avant d’entériner cela sous la forme d’une règle de gestion gravée dans le marbre, on va d’abord regarder les conséquences sur l’historique, c’est-à-dire la désinstallation/installation des essieux.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Pour l'instant on ne change rien….. peut-être qu'on pourra le renommer avec un trigger plus tard ??? ou l'utilisateur le renommera…. Pour l'instant ça ne cause pas de problème…. On passe à la prochaine étape. Donc vous pouvez mettre à jour DZINDZIO_TRUCKS_MANAGEMENT_TEMP avec ce que vous venez de terminer… Ça semble fonctionner très bien….
Je ne le fais pas tout de suite, j’ai d’abord des fusions de données et de code à faire et à vérifier, sinon ça va être le bazar…Envoyé par ordigil
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
D'accord ! Mais j'espère que je ne rêverai pas que je monterai des essieux, pauvres camions !
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Bonjour Ordigil,
A la réflexion, puisque physiquement (à leur usure près...) il n’y a aucune différence entre des essieux qu’on a qualifiés soit de 2NDForward, soit de 3RDForward simplement parce qu’ils sont placés l’un derrière l’autre, je propose de remplacer dans la table AXLE les types '2NDForward' et '3RDForward' par le seul type 'Forward'.
Ainsi, le tableau a l’allure suivante pour le camion #426 :
Mais, grâce à la valeur prise par la colonne PositionCode, il est évidemment qu’on a le loisir de traduire mentalement {'Forward', '1INTGAWR'} par {'2NDForward', '1INTGAWR'} et {'Forward', '2INTGAWR'} par {'3RDForward', '2INTGAWR'}.
Cela vous convient-il ?
Autre question : combien prévoyez-vous qu’on puisse placer au maximum de pushers devant le(s) forward(s) ?
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Si vous regardez sur les étiquettes de Freightliner, il n'y a pas de 2NDforward et de 3RDForward.... Nous les qualifions mentalement Nous appliquerons la méthode de Freightliner à tous les manufacturiers….
Sur les photos des camions, on voit que le nombre maximum de pushers semble être 4... car au Canada nous sommes limité par la longueur du camion et le wheelbase( 244 pouces )... Il y a des exceptions et des permits spéciaux mais il se pourrait que même si vous êtes légal dans une province, vous pourriez être illégal dans une autre… Donc règle général, on ajoute 2 pushers….. certain trucks en ont 4.... Pour l'instant je dirais le max de pushers est 4....
D’accord, j’entérine (de lapin , of course) : je remplace donc dans la table AXLE les types '2NDForward' et '3RDForward' par le seul type 'Forward', c’est le minimum syndical.Envoyé par ordigil
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Aujourd'hui était ma journée musique, je regarderai les essieux plus tard...
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Bonjour Ordigil,
Ça me permet de m’entraîner...
Avant de passer à la vue CAMION_COMPOSITION, il y en a d’autres à modifier, sur lesquelles s’appuie sa sœur, CAMION_COMPOSITION_V. Comme je n’ai pas encore créé le trigger qui s’assure de la cohérence du type d’essieu et du type de différentiel, je fais figurer les anomalies dans les résultats. A cet effet, j’ai créé un différentiel de type 'forward' installé sur un essieu de type 'front' (balek les engrenages !)
Par ailleurs, on voit dans le résultat les camions avec des essieux sans différentiels.
-------------------------------------------------------- -- différentiel 'front' installé sur un essieu 'front' -------------------------------------------------------- INSERT INTO DIFFERENTIAL_COMPOSANT_V (NumeroSerie, DateAchat, Fabriquant, Modele , DiffType, Ratio, GVWR, Torque, Lock, PDLock, Serie) SELECT 'diffFront16156', (SELECT DateAchat FROM AXLE_COMPOSANT_V WHERE NumeroSerie = 'FRONT16156'), 'Meritor', 'DIFF 40' , 'front', 374, 2000, 1000, 'Y', 'N', 'Meritor série 1' ; INSERT INTO DIFF_AXLE (DiffId, DiffInstalDate, DiffDesInstalDate, AxleId) SELECT DiffId, (SELECT DateAchat FROM AXLE_COMPOSANT_V WHERE NumeroSerie = 'FRONT16156'), '9999-12-31' , (SELECT ComposantId FROM AXLE WHERE AxleSerialNumber = 'FRONT16156') FROM DIFFERENTIAL AS x WHERE DiffSerialNumber = 'diffFront16156' ; -------------------------------------------------------------- -- différentiel non 'front' installé sur un essieu 'front'... -------------------------------------------------------------- INSERT INTO DIFFERENTIAL_COMPOSANT_V (NumeroSerie, DateAchat, Fabriquant, Modele , DiffType, Ratio, GVWR, Torque, Lock, PDLock, Serie) SELECT 'diffFront14414', (SELECT DateAchat FROM AXLE_COMPOSANT_V WHERE NumeroSerie = 'FRONT14414'), 'Meritor', 'DIFF 40' , 'forward', 374, 2000, 1000, 'Y', 'N', 'Meritor série 1' ; INSERT INTO DIFF_AXLE (DiffId, DiffInstalDate, DiffDesInstalDate, AxleId) SELECT DiffId, (SELECT DateAchat FROM AXLE_COMPOSANT_V WHERE NumeroSerie = 'FRONT14414'), '9999-12-31' , (SELECT ComposantId FROM AXLE WHERE AxleSerialNumber = 'FRONT14414') FROM DIFFERENTIAL AS x WHERE DiffSerialNumber = 'diffFront14414'
Je n’ai toujours pas modifié les bases de données. Avant que j’aille plus loin dans les mises à niveau des objets, que pensez-vous de la vue CAMION_FRONT_V ?
GO CREATE VIEW CAMION_FRONT_V (CamionVIN, CamionNumber, FrontAxleSerialNumber , AxleInstallationDate, FrontNumeroSerie, FrontInstallationDate, DiffType) AS ---------------------------------------------------------------------------------------------------- -- Pour chaque paire {camion, essieu} on récupère la date la plus récente d'installation d'essieu. -- on ne considère que les essieux de type 'front'. ----------------------------------------------------------------------------------------------------- WITH t1 AS ( SELECT DISTINCT k.CamionVIN, k.CamionNumber, LocalisationId, MAX(ComposantInstallationDate) AS AxleInstallationDate, y.ComposantId FROM CAMION AS x JOIN COMPOSANT_AFFECTATION AS y ON x.CamionId = y.LocalisationId JOIN AXLE AS z ON y.ComposantId = z.ComposantId -- pour ne considérer que les essieux JOIN COMPOSANT AS t ON t.ComposantId = y.ComposantId WHERE LOWER(AxleType) = 'front' GROUP BY LocalisationId, CamionVIN, CamionNumber, y.ComposantId ) -------------------------------------------------------------------------- -- Pour chaque différentiel, on récupère la date la plus récente -- d'installation sur essieu. Afin d'intercepter les différentiels -- de type non 'front' installés sur des essieux de type 'front', -- on ne filtre pas sur le type 'front'... -- Quand on aura créé le contrôle de cohérence des différentiels et des -- essieux, on pourra activer le filtre... --------------------------------------------------------------------------- , t2 AS ( SELECT y.AxleId, MAX(DiffInstalDate) AS theDiffInstalDate FROM DIFF_AXLE AS y JOIN DIFFERENTIAL AS z ON z.DiffId = y.DiffId ------ WHERE LOWER(DiffType) = 'front' -- filtrage des différentiels GROUP BY y.AxleId ) ---------------------------------------------------------------------------------------------------------- -- Pour chaque différentiel 'front' le plus récemment installé sur essieu, on récupère les informations -- obtenues via les variables t1, t2, à savoir le CamionVIN, le CamionNumber, et tant qu'à faire, le -- numéro de série et la date d'installation de l'essieu hébergeant le différentiel. -- Si un essieu 'front' n'a pas de différentiel, au résultat la colonne FrontNumeroSerie est forcée à 0. -- Si un différentiel 'front' n'est pas sur un essieu (gloups !) il n'est sur aucun camion : -- il ne figure pas dans le résultat... ----------------------------------------------------------------------------------------------------------- , t3 AS ( SELECT DISTINCT k.CamionVIN, k.CamionNumber, t1.ComposantId, x.DiffId , AxleSerialNumber, AxleInstallationDate , DiffSerialNumber, theDiffInstalDate AS DiffInstallationDate, DiffType FROM t1 JOIN AXLE AS z ON t1.ComposantId = z.ComposantId LEFT JOIN t2 ON t1.ComposantId = t2.AxleId FULL JOIN DIFF_AXLE as x on t2.Axleid = x.Axleid AND DiffInstalDate = theDiffInstalDate LEFT JOIN DIFFERENTIAL as y on x.DiffId = y.DiffId JOIN CAMION AS k ON k.CamionVIN = t1.CamionVIN ) SELECT CamionVIN, CamionNumber , COALESCE(AxleSerialNumber, '0') AS AxleSerialNumber, COALESCE(AxleInstallationDate, '9999-12-31') AS AxleInstallationDate , COALESCE(DiffSerialNumber, '0') AS DiffSerialNumber, COALESCE(DiffInstallationDate, '9999-12-31') AS DiffInstallationDate , COALESCE(DiffType, '0') AS DiffType FROM t3 ; GO
SELECT * FROM CAMION_FRONT_V
Comme disait Pénélope, à suivre !
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Désolé si vous avez perdu la connection à mon serveur SQL… J'ai upgradé la carte réseau pour que la connection soit plus rapide…. Veuillez vérifiez si tout est correct dans votre BD
Vous ne faites pas de distinction entre un différentiel Front et un Forward ????
ah ok les explications vous les avez données hehehe…… Il n'y a pas d'urgence pour la vue CAMION_COMPOSITION.... On s'assure que tout est en ordre et ensuite vous la créerez. J'ai hâte de vour lorsque tous les essieux et différentiels seront terminés
Je crois savoir qu’il y a une différence entre front et forward
Je ne touche toujours pas aux bases, car c’est un peu (beaucoup) le bazar dans mes fichiers...
Mais que cela ne vous empêche pas de tester la vue CAMION_FRONT_V, car j’ai besoin de savoir comment elle se comporte chez vous, là-bas dans les neiges...
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager