"Temp est hors service. Elle ne se restaure pas donc vous devez l'effacer et la recréer. Sinon dites-le moi et je la rechargerai avec un backup
J'ai donc supprimé Temp, je l'ai recréée et rechargée.
(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.
Ça semble avoir fonctionné. J'espère que ça va tenir le coup maintenant car il ne faut pas que ce que vous faites se restaure à chaque fois . Vous pouvez essayer de recréer ''DZINDZIO_TRUCKS_MANAGEMENT'' pour la mettre à jour aussi….
J’ai rechargé DZINDZIO_TRUCKS_MANAGEMENT.
J’apporte quelques modifications aux triggers.
Je ne sais plus si je vous ai proposé la requête qui permet de voir un peu plus confortablement les affectations.
Quoi qu’il en soit, la voici :
SELECT LocalisationId AS CamionId, CamionVIN , ComposantTypeLibelle , CASE ComposantTypeLibelle WHEN 'moteur' THEN (SELECT MoteurNumeroSerie FROM MOTEUR WHERE ComposantId = x.ComposantId) WHEN 'transmission' THEN (SELECT TransmissionNumeroSerie FROM TRANSMISSION WHERE ComposantId = x.ComposantId) WHEN 'différentiel' THEN (SELECT DifferentielNumeroSerie FROM DIFFERENTIEL WHERE ComposantId = x.ComposantId) ELSE '??' END AS NumeroSerie , x.ComposantId , ComposantAffectationId , ComposantInstallationDate, ComposantDesInstallationDate FROM COMPOSANT_AFFECTATION AS x JOIN CAMION AS y ON x.LocalisationId = y.CamionId JOIN COMPOSANT AS z ON x.ComposantId = z.ComposantId JOIN COMPOSANT_TYPE AS t ON z.ComposantTypeId = t.ComposantTypeId ORDER BY CamionVIN, ComposantInstallationDate, ComposantTypeLibelle ;
(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 voyez, lorsqu'on regarde le résultat de ce script, on ne c'est pas de quel différentiel on parle, on sait quand ça été installé et quand ça été désinstallé mais on ne sait pas d'où il vient et où il va sur un camion. Il faut que je fasse une table ''AXLE'' et affecter les différentiels à ''AXLE'' et non plus à ''CAMION''. Avec les moteurs et les transmissions il n'y a pas de problème puisqu'en principle un camion n'a qu'un moteur et une transmission. Mais pour les différentiels c'est différent. On installe pas un différentiel sur un camion, on installe un essieu et on installe le différentiel dans l'essieu. En principe lorsque je regarde le résultat de la requête, je devrais savoir de quel différentiel il est question. Il faut vraiment que je créer cette table ''AXLE'' mais ce n'est pas aussi simple à faire qu'à dire. Lorsque je créerai un ''CamionAxle'', il faudra que lors de la création nous puissions dire si c'est un FRAxle, un IntermediateAxle, un ForwardRearAxle ou un RearRearAxle car ils ne sont pas interchangeables et ensuite les FRGAWR, 2NDGAWR, 3RDGAWR, 4THGAWR, REARGAWR pourraient disparaître de la table Camion puisqu'ils seront déjà inclus dans la table ''AXLE''. En réalité, il n'y a que le GVWR qui concerne le camion, tous les autres concernent les essieux. Les ''AXLE'' et ''DIFFERENTIEL'' c'est vraiment complexe et difficile à représenter dans la base de données.
Lorsqu'on regarde le tableau, en réalité ComposantId et ComposantAffectationId ne veulent rien dire pour l'utilisateur…..
Maintenant je sais deux choses de plus, je sais que j'ai un Camion qui ne va pas sur la route car il n'a pas de CamionImmat, il n'a donc pas de contrat non plus car pas de CamionNumber. Et je sais que j'ai un deuxième camion qui n'a pas de contrat car il n'a pas de CamionNumber mais il peut aller sur la route car il a un CamionImmat.
SELECT LocalisationId AS CamionId, CamionVIN, CamionNumber, CamionImmat , ComposantTypeLibelle , CASE ComposantTypeLibelle WHEN 'moteur' THEN (SELECT MoteurNumeroSerie FROM MOTEUR WHERE ComposantId = x.ComposantId) WHEN 'transmission' THEN (SELECT TransmissionNumeroSerie FROM TRANSMISSION WHERE ComposantId = x.ComposantId) WHEN 'différentiel' THEN (SELECT DifferentielNumeroSerie FROM DIFFERENTIEL WHERE ComposantId = x.ComposantId) ELSE '??' END AS NumeroSerie , x.ComposantId , ComposantAffectationId , ComposantInstallationDate, ComposantDesInstallationDate FROM COMPOSANT_AFFECTATION AS x JOIN CAMION AS y ON x.LocalisationId = y.CamionId JOIN COMPOSANT AS z ON x.ComposantId = z.ComposantId JOIN COMPOSANT_TYPE AS t ON z.ComposantTypeId = t.ComposantTypeId ORDER BY CamionVIN, CamionNumber, CamionImmat, ComposantInstallationDate, ComposantTypeLibelle ;
On s’en occupera, à commencer par la modélisation, à partir de règles de gestion précises et exhaustives.Envoyé par ordigil
Ce tableau nous concerne, on en a besoin pour mettre la base de données au point. Je fais une vue à cet effet. Appelons-la par exemple AFFECTATION_ADMIN :Envoyé par ordigil
GO CREATE VIEW AFFECTATION_ADMIN AS SELECT LocalisationId AS CamionId, CamionVIN , ComposantTypeLibelle , CASE ComposantTypeLibelle WHEN 'moteur' THEN (SELECT MoteurNumeroSerie FROM MOTEUR WHERE ComposantId = x.ComposantId) WHEN 'transmission' THEN (SELECT TransmissionNumeroSerie FROM TRANSMISSION WHERE ComposantId = x.ComposantId) WHEN 'différentiel' THEN (SELECT DifferentielNumeroSerie FROM DIFFERENTIEL WHERE ComposantId = x.ComposantId) ELSE '??' END AS NumeroSerie , x.ComposantId , ComposantAffectationId , ComposantInstallationDate, ComposantDesInstallationDate FROM COMPOSANT_AFFECTATION AS x JOIN CAMION AS y ON x.LocalisationId = y.CamionId JOIN COMPOSANT AS z ON x.ComposantId = z.ComposantId JOIN COMPOSANT_TYPE AS t ON z.ComposantTypeId = t.ComposantTypeId ;
Pour consulter :
SELECT * FROM AFFECTATION_ADMIN ORDER BY CamionVIN, ComposantInstallationDate, ComposantTypeLibelle ;
Pour les autres utilisateurs, on leur concocte une vue sur la vue AFFECTATION_ADMIN, ne montrant que les attributs naturels. Appelons-la par exemple AFFECTATION_USER :
GO CREATE VIEW AFFECTATION_USER AS SELECT CamionVIN , ComposantTypeLibelle , NumeroSerie , ComposantInstallationDate, ComposantDesInstallationDate FROM AFFECTATION_ADMIN ;
Pour consulter :
SELECT * FROM AFFECTATION_USER ORDER BY CamionVIN, ComposantInstallationDate, ComposantTypeLibelle ;
Ces vues ne sont pas faites pour être mises à jour.
Il faudra le mettre au garage...Envoyé par ordigil
Il faudra le mettre au garage...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.
Celui-là pas au garage car il peut circuler sur la route alors il peut servir à autre chose, il pourrait servir comme dépanneuse "Towing truck"...
Ceux qui n'ont pas d'immat sont soient dans le garage soient ils sont vendus…...
Envoyé par ordigil
Et je sais que j'ai un deuxième camion qui n'a pas de contrat car il n'a pas de CamionNumber mais il peut aller sur la route car il a un CamionImmat.Envoyé par famrel
Envoyé par ordigil
Sitôt dit, sitôt fait...
Situation initiale du camion vin01 :
=>SELECT VIN, DateAchat, Number, Immat, DateSold, Note FROM CAMION_LOCALISATION_V WHERE VIN = 'vin01' ;
Allez, zou ! nouvelle fonction !VIN DateAchat Number Immat DateSold Note vin01 2012-07-01 immat01 9999-12-31 note 41
=>UPDATE CAMION_LOCALISATION_V SET Note = 'Towing truck' WHERE VIN = 'vin01' ; SELECT VIN, DateAchat, Number, Immat, DateSold, Note FROM CAMION_LOCALISATION_V WHERE VIN = 'vin01' ;
VIN DateAchat Number Immat DateSold Note vin01 2012-07-01 immat01 9999-12-31 Towing truck
S’ils sont vendus, alors l’attribut DateSold aura été valorisé avec la date de vente. Si cet attribut n’est pas renseigné, alors les camions sont au garage. On peut aussi enrichir le modèle et définir une association entre CAMION et LOCAL pour savoir dans quel garage (ou autre local) parmi N se trouve tel camion non vendu...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.
Vous semblez vous amusez hahaha
Ça commence à devenir intéressant LoL
Mais vous savez quoi ???? Avec la mise à jour de Microsoft, ça aussi planté IIS 10. Plus moyen de faire fonctionner avec PHP et SQL Server pour l'instant ….. Donc les produits Microsoft ne sont pas compatibles entre eux... LoL Je commence sérieusement à regretter de ne pas être retourné sur Linux et prendre PostgreSQL ou MySQL...
PostGreSQL ? Pourquoi pas
Je réécrirai les triggers !
(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.
Alors que j'étais découragé avec le site WEB qui ne fonctionnait plus avec SQL Server, "MIRACLE", il s'est remis à fonctionner, je ne sais pas pourquoi il ne fonctionnait plus et je ne sais pas pourquoi il s'est remis à fonctionner. LoL
Une chose est certaine, la dernière mise à jour de Microsoft a aussi mis à jour IIS 10 et il n'a pas apprécié…
Ce qui est embêtant c'est que je ne comprend pas pourquoi tout s'est remis à fonctionner.
Alors vous devriez avoir accès à nouveau au site web avec votre nouveau UserName et PassWord de SQL Server.
Là le Site WEB est lié à "DZINDZIO_TRUCKS_MANAGEMENT" alors il faut faire les changements un par un et me laisser le temps de voir si tout fonctionne.
Toutes vos mise à jours vous devez les faire en premier dans DZINDZIO_TRUCKS_MANAGEMENT_TEMP
Bonsoir Ordigil,
µS a sans doute des spécialistes du vaudou…
De mon côté, nonobstant toutes les informations que vous avez fournies concernant les essieux, j’aimerais avoir quelques informations complémentaires concernant ceux-ci, même si mes questions peuvent paraître naïves...
A partir de ce que vous présentez dans le post #184, je propose de renommer la table DIFFERENTIEL en AXLE et de mettre en oeuvre une table DIFFERENTIEL nouvelle, elle aussi spécialisation de COMPOSANT, mais associée en outre a AXLE via une table AXLE_DIFFERENTIEL permettant de gérer les dates d’installation/désinstallation des différentiels sur les essieux (si je commence à comprendre un peu le film, les différentiels ne sont en relation avec les camions que via les essieux, c’est ça ?) :
L’attribut AxleType de la table AXLE permet de savoir de quel type est l’essieu : "FRAxle", "IntermediateAxle", "ForwardRearAxle", "RearRearAxle". Si ceci ne suffit pas, s’il faut étendre la typologie, il faudra mettre en œuvre une table des types d’essieux. Pour les FRGAWR, 2NDGAWR, 3RDGAWR, 4THGAWR, REARGAWR, etc., je propose la mise en oeuvre d’une table ad-hoc, que pour le moment, faute d’imagination j’appelle XGAWR :
Vu que je suis loin d’avoir tout capté des subtilités des essieux, transmissions et autres, ce que je représente n’est qu’un brouillon qui demande a être corrigé, enrichi, etc.
Je reprends le post #156 :
Je m’avance peut-être beaucoup, mais le nombre maximum d’essieux pour un camion ne dépendrait donc que du camion, ou plutôt de son modèle et de son fabricant. Cela incite dans un 1er temps à mettre en œuvre une table FOURNISSEUR (ou MANUFACTURER, vous me direz) et une table MODELE, utilisables tant pour les composants que pour les camions.
Dans un 2e temps, on pourrait donc brancher la table COMPOSANT sur la table MODELE :
En passant, je note pour moi que si un moteur est un composant, même chose en ce qui concerne une transmission, un essieu, ou un différentiel, il y a quand même la nuance qu’un différentiel ne sera pas directement affecté à un camion, puisqu’il le sera déjà à un essieu, mais qu’il pourra être affecté à un local.
Dans un 3e temps :
Je suppose que le modèle du camion permet de connaître le nombre d’essieux de celui-ci (cf. la table QUANTITE_TYPE ci-dessous), le fabricant et le modèle des essieux d’origine, ainsi que leur numéro de série, quitte à ce qu’ils soient remplacés par la suite au gré des besoins.
Je pousse donc le bouchon un peu plus loin : jusqu’à ce jour, on avait dit qu’un camion ne pouvait avoir qu’une transmission, mais dans le post #230, vous précisez que certains camions pourraient à l’occasion en avoir 2, voire 3. J’en viens à penser que, contrairement à ce qu’on a modélisé précédemment, la limite ne dépend pas que du composant, le modèle du camion serait partie prenante dans cette histoire : qu’en est-il ?
En attendant votre réponse, voici ce que j’ai concocté, attention à la modélisation, on s’accroche :
Exemple :
Pour le type de camion Cascadia, le nombre maximum de composants serait par exemple égal à 2 dans le cas du composant RTLO-16918A (au fait, est-ce un essieu ? un différentiel ?)
FOURNISSEUR {FournisseurId FournisseurNom} f1 Freightliner f2 Meritor MODELE {FournisseurId ModeleId ModeleNom} f1 m1 Cascadia f2 m2 RTLO-16918A COMPOSANT {ComposantId ModeleId} Co1 m2 MODELE_CAMION {ModeleId} m1 CAMION {CamionId ModeleId CamionVIN, . .. } ca1 m1 1FUJGLDR2ALAR5747 QUANTITE_TYPE {ModeleId CamionModeleId ComposantQteMax} m2 m1 2
Evidemment, vu mon ignorance crasse de l’anatomie des camions, tout ceci est à prendre avec des pinchettes et vous balaierez peut-être tout ça d’un revers de main...
Mais la modélisation est affaire d’itérations, on pourra recommencer autrement...
Pour les affectations, les locaux, etc., rien de changé...
(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.
J’ai essayé de soumettre un script SQL, mais :Envoyé par ordigil
Msg 916, Niveau 14, État 1
Le principal de serveur ... ne peut pas accéder à la base de données "DZINDZIO_TRUCKS_MANAGEMENT_TEMP" dans le contexte de sécurité actuel.
(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