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

Langage SQL Discussion :

delete cascade + gestion du pluriel


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 201
    Points : 92
    Points
    92
    Par défaut delete cascade + gestion du pluriel
    Bonjour,
    En réalisant un petit projet, j'ai été souvent confronté à une meme problématique qui devenait un casse tète
    Je voudrais votre avis et surtout savoir dans la 'vraie vie' comment on travaille sur ces points.

    J'avais dans mon projet des tables (catégorie, recettes, ingrédients, étapes etc. plus les tables de liaison). En créant une interface administrateur, avec des formulaires et requetes préparées on peut créer-modifier-supprimer les catégories, recettes, ingrédients etc.
    Je prend l'exemple d'une recette à effacer si il y avait des ingrédients ou étapes la recette ne se supprime pas, je sais c'est normal vu que cette recette est liée à d'autre tables par le biais des clefs. Ma question est 'dans la vraie vie', est ce que il vaut mieux créer une fonction avec plusieurs requêtes préparées de delete pour chaque table ou utiliser cascade à la préparation de la base de donnée.
    Un autre doute est sur le pluriel concernant les ingrédients, dans les tables on met au singulier(ex. tomate) puis mettre des conditions en php etc. pour ajouter le s du pluriel?
    Je sais que un petit projet diffère du vrai travail, en finissant ce projet j'ai des points à éclaircir et surtout de la curiosité.
    merci
    bonne journée

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Je prend l'exemple d'une recette à effacer si il y avait des ingrédients ou étapes la recette ne se supprime pas, je sais c'est normal vu que cette recette est liée à d'autre tables par le biais des clefs. Ma question est 'dans la vraie vie', est ce que il vaut mieux créer une fonction avec plusieurs requêtes préparées de delete pour chaque table ou utiliser cascade à la préparation de la base de donnée.
    En effet, les clefs étrangères assurent l'intégrité.
    Dans la pratique il y a 2 grandes stratégies :
    1. Marquer la recette comme étant effacée, ex. colonne is_deleted = TRUE|FALSE => Soft delete
    2. Supprimer physiquement les lignes => Et là clairement il faut profiter des bienfaits des clefs étrangères en ON DELETE CASCADE

    Un autre doute est sur le pluriel concernant les ingrédients, dans les tables on met au singulier(ex. tomate) puis mettre des conditions en php etc. pour ajouter le s du pluriel?
    Le pluriel, ce n'est pas seulement un "s" en plus

    Ingrédient : Sel
    Quantité : 2
    Unité : Pincée

    Comment présentes-tu ceci ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 201
    Points : 92
    Points
    92
    Par défaut
    Bonjour,
    je vous remercie pour vos explication.
    Oui concernant le pluriel c'est vrai, j'avais fait un exemple avec le s mais c'est plus vaste..
    Comment on gère tout cela ?
    merci

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Tu peux renseigner l'ingrédient au singulier et au pluriel et/ou l'unité au singulier et au pluriel.

    Cela pourrait donner :

    Sel : 2 pincées
    Tomate : 500 grammes
    Lait : 1 litre
    Echalotte : 2 gousses

    Tu peux aussi renseigner les types d'article/charnière de chaque ingrédient pour articuler des phrases comme :

    2 pincées de sel
    500 grammes de tomate
    1 litre de lait
    2 gousses d'échalotte

    Modèle : {quantité} {unités accordées selon la quantité} {charnière} {ingrédient}

    À titre indicatif, voici comment procède le Code Officiel Géographique https://www.insee.fr/fr/information/2114773 pour les noms de départements, communes, etc. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Codes de la variable TNCC
    0	pas d'article et le nom commence par une consonne sauf H muet.	charnière = DE
    1	pas d'article et le nom commence par une voyelle ou un H muet.	charnière = D'
    2	article = LE	charnière = DU
    3	article = LA	charnière = DE LA
    4	article = LES	charnière = DES
    5	article = L'	charnière = DE L'
    6	article = AUX	charnière = DES
    7	article = LAS	charnière = DE LAS
    8	article = LOS	charnière = DE LOS
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre régulier
    Homme Profil pro
    Autre
    Inscrit en
    Mars 2021
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Mars 2021
    Messages : 201
    Points : 92
    Points
    92
    Par défaut
    Bonjour,
    Vos explications sont toujours claires et bien détaillées comme d'habitude. je vais garder vos explications et votre tableau qui me sera bien utile pour la suite.
    Encore Merci
    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. On Delete Cascade
    Par malbarre dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/07/2006, 11h40
  2. SQL Delete Cascade
    Par mschoum dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/06/2006, 14h18
  3. [SQL 2K5] Pb : ON DELETE CASCADE : référence circulaire
    Par n00bi dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 29/05/2006, 08h48
  4. [SQL2K] delete cascade d'une table sur elle même
    Par StormimOn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2006, 16h28
  5. Delete cascade --> problème de temps de traitement
    Par celine31 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 11/01/2006, 12h03

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