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

Schéma Discussion :

Maintenance de camions


Sujet :

Schéma

  1. #301
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    Le problème est : Pourquoi SQL fait des restaurations ? Je dois régler ce problème. "Temp" est hors service maintenant. Et si vous avez fait des changements à "DZINDZIO TRUCKS MANAGEMENT" C'Est perdu car il y a eu une restauration hahah


    Citation Envoyé par fsmrel Voir le message
    Je rappelle que si je fus DBA DB2, je ne le suis aucunement en ce qui concerne SQL Server. Je suppose que lorsque vous dites qu’une base est « restoring », c’est que le système attend la fin d’une opération de restauration... Mais comment provoque-t-on cette situation ? et que faut-il faire pour la débloquer ?
      0  0

  2. #302
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    "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
      0  0

  3. #303
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    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.
      1  0

  4. #304
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    Ok je regarde. Peut-être à cause que les backup ne se sont pas resynchroniser lorsque j'ai tout réinstaller.

    Citation Envoyé par fsmrel Voir le message
    J'ai donc supprimé Temp, je l'ai recrée et rechargée.
      0  0

  5. #305
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    Ç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….
      0  0

  6. #306
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    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.
      2  0

  7. #307
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    Vous savez avec tous les problèmes que j'ai eu ici, je ne sais même plus où on en est, je ne vous suis plus. J'ai pris trop de retard, il faudrait que je relise tout à partir du premier message


    Citation Envoyé par fsmrel Voir le message
    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
    ;
      0  0

  8. #308
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    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…..




    Citation Envoyé par fsmrel Voir le message
    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
    ;
      0  0

  9. #309
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut


    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
    ;
      0  0

  10. #310
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par ordigil
    Il faut vraiment que je crée cette table ''AXLE''.
    Les ''AXLE'' et ''DIFFERENTIEL'' c'est vraiment complexe et difficile à représenter dans la base de données
    On s’en occupera, à commencer par la modélisation, à partir de règles de gestion précises et exhaustives.


    Citation Envoyé par ordigil
    Lorsqu'on regarde le tableau, en réalité ComposantId et ComposantAffectationId ne veulent rien dire pour l'utilisateur…..
    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 :


    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.


    Citation Envoyé par ordigil
    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.
    Il faudra le mettre au garage...


    Citation 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.
    Il faudra le mettre au garage...
    (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.
      2  0

  11. #311
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    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.
    Citation Envoyé par famrel
    Il faudra le mettre au garage...
      0  0

  12. #312
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par ordigil
    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"...

    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' ;
    
    =>

    VIN       DateAchat      Number    Immat      DateSold      Note
    vin01     2012-07-01               immat01    9999-12-31    note 41
    
    Allez, zou ! nouvelle fonction !

    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
    

    Citation Envoyé par ordigil
    Ceux qui n'ont pas d'Immat sont soient dans le garage soient ils sont vendus…
    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...

    .
    (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.
      2  0

  13. #313
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    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...



    Citation Envoyé par fsmrel Voir le message
    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' ;
    
    =>

    VIN       DateAchat      Number    Immat      DateSold      Note
    vin01     2012-07-01               immat01    9999-12-31    note 41
    
    Allez, zou ! nouvelle fonction !

    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’il 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...

    .
      1  0

  14. #314
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    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.
      1  0

  15. #315
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    hehehe Depuis 20 ans je veux étudier PostGreSQL mais j'ai toujours été trop occupé…. Mais là avec tous les problèmes qu'apporte Windows 10, je voulais apprendre SQL Server mais je pense de plus en plus que c'était un mauvais choix….

    Citation Envoyé par fsmrel Voir le message
    PostGreSQL ? Pourquoi pas

    Je réécrirai les triggers !
      0  0

  16. #316
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut Bonjour fsmrel
    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
      0  0

  17. #317
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    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 :

    Citation Envoyé par ordigil Voir le message
    En Amérique du Nord, la majorité des camions sans la remorque, ont 3 essieux, plusieurs en ont 2 et certains en ont 4.

    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.
      2  0

  18. #318
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par ordigil
    Toutes vos mise à jours vous devez les faire en premier dans DZINDZIO_TRUCKS_MANAGEMENT_TEMP
    J’ai essayé de soumettre un script SQL, mais :

    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.
      1  0

  19. #319
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut Bonjour fsmrel
    Je suis vraiment désolé, je n'avais pas vu votre dernier message. Je vais aller voir ce qui vous empêche d'accéder à "DZINDZIO_TRUCKS_MANAGEMENT_TEMP"....

    Citation Envoyé par fsmrel Voir le message
    J’ai essayé de soumettre un script SQL, mais :

    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.
      0  0

  20. #320
    Membre averti Avatar de ordigil
    Homme Profil pro
    Recherche et développement sur la protection de la vie privée.
    Inscrit en
    Juillet 2018
    Messages
    695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Recherche et développement sur la protection de la vie privée.
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 695
    Points : 379
    Points
    379
    Par défaut
    Vous pouvez réessayer. dbo ne veut pas lâcher prise sur vos bases de données mais je vous ai mappé avec dbo alors vous devriez avoir accès à tous

    Citation Envoyé par fsmrel Voir le message
    J’ai essayé de soumettre un script SQL, mais :

    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.
      0  0

Discussions similaires

  1. Ajout dans une table et relation avec d'autres
    Par climz dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 15h32
  2. Création table et relations
    Par ptitdragon_eric dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/09/2005, 13h37
  3. table de relation
    Par tanjonaravelson dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/06/2005, 18h20
  4. Table de relation et sélection via jointure
    Par 73672 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 09/11/2004, 09h33
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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