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

Looping Discussion :

Au sujet des contraintes d'inclusion


Sujet :

Looping

  1. #41
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    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 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Ave,
     
    Citation Envoyé par Paprick Voir le message
    c'est quand plus classe et plus lisible avec la modélisation de la contrainte d'inclusion 
     
    Je suis bien évidemment d’accord
     
    Pour ma part, si j’éprouve le besoin de mettre en oeuvre le MCD classique, dans lequel la sémantique est bien en place, avec les contraintes bien présentes , lisibilité garantie et tout ça (cf. ton premier MCD), j’éprouve aussi le besoin de disposer d’un MCD « optimisé » (cf. ton second mcd), situé entre ce MCD classique et le MLD, à partir duquel on peut produire le code SQL correct...
    Quand je regarde le paquet de mes gribouillages dans le chapitre 13 de l’ouvrage de Nanci, je me dis qu’il y a de quoi faire à ce propos.
     
    De ton côté, comment vois-tu la suite des opérations ?
    (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. #42
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 678
    Points : 2 716
    Points
    2 716
    Par défaut
    Bonsoir François,
    Citation Envoyé par fsmrel Voir le message
    De ton côté, comment vois-tu la suite des opérations ?
    Les derniers exemples que nous avons pris offrent un panel assez complet des types de contraintes à traiter.
    Pour être complet, pourrais-tu me donner ta vision pour le trigger qui bloque la suppression de la dernière ligne d'un devis (cf. pb cardinalité 1,N) ?

    Par ailleurs, j'ai un autre petit cas à te soumettre pour le contrôle des cardinalités Max.
    Imaginons une bibliothèque qui possède plusieurs exemplaires de plusieurs ouvrages mis à la disposition des étudiants.
    Une version simple du MCD donne cela :
    Nom : Biblio avec Cardinalité Max.jpg
Affichages : 109
Taille : 13,9 Ko
    Que proposerais-tu (en PostgreSQL) pour contrôler :
    • d'une part le fait qu'un étudiant ne peut pas emprunter plus de 10 ouvrages (sachant que, quand il ramène un ouvrage, on supprime le lien dans "Emprunt" sans garder l'historique),
    • d'autre part, qu'un même ouvrage possède un nombre d'exemplaires limité.

    J'imagine un CHECK qui renvoie à une fonction (cf. contrainte X pour l'héritage) ou un trigger INSTEAD OF INSERT...
    Qu'en penses-tu ?
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  3. #43
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    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 002
    Points : 30 907
    Points
    30 907
    Billets dans le blog
    16
    Par défaut
    Salve,

    Citation Envoyé par Paprick Voir le message
    Les derniers exemples que nous avons pris offrent un panel assez complet des types de contraintes à traiter.
    Pour être complet, pourrais-tu me donner ta vision pour le trigger qui bloque la suppression de la dernière ligne d'un devis (cf. pb cardinalité 1,N) ?
     
    J’ai besoin de souffler un peu...
    J’ai éprouvé quelques difficultés avec cette histoire de suppression de la dernière ligne (contexte SQL Server). Connaissant très mal PostgreSQL, il faudra que je prenne le temps d’étudier le problème de la suppression d’un devis avec squeeze du trigger qui bloque la suppression de la dernière ligne par Hilarion.
     
     
    Citation Envoyé par Paprick Voir le message
    Que proposerais-tu (en PostgreSQL) pour contrôler :
    • d'une part le fait qu'un étudiant ne peut pas emprunter plus de 10 ouvrages (sachant que, quand il ramène un ouvrage, on supprime le lien dans "Emprunt" sans garder l'historique),
    • d'autre part, qu'un même ouvrage possède un nombre d'exemplaires limité.

    J'imagine un CHECK qui renvoie à une fonction (cf. contrainte X pour l'héritage) ou un trigger INSTEAD OF INSERT...
    Qu'en penses-tu ?
     
    un CHECK qui renvoie à une fonction, ça devrait être jouable.

    Qu'un même ouvrage possède un nombre d'exemplaires limité, ça doit être du même ordre, je vais regarder tout ça. Si je comprends bien, si c’est Hilarion qui valorise l’attribut NbExemplaires (entité-type Ouvrage), alors il faudra l’empêcher fournir une valeur délirante. Autrement dit, la limite doit être la même pour tous les ouvrages : c’est ça ?
    (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.

  4. #44
    Membre émérite
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    Juin 2019
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2019
    Messages : 678
    Points : 2 716
    Points
    2 716
    Par défaut
    Salut François,
    Citation Envoyé par fsmrel Voir le message
    Si je comprends bien, si c’est Hilarion qui valorise l’attribut NbExemplaires (entité-type Ouvrage), alors il faudra l’empêcher fournir une valeur délirante. Autrement dit, la limite doit être la même pour tous les ouvrages : c’est ça ?
    Cet aspect-là est secondaire : Hilarion peut donner la valeur qu'il veut au nombre d'exemplaires (on peut aussi définir un Max avec un CHECK local à la rubrique), le nombre d'exemplaires pouvant bien sûr varier en fonction de l'ouvrage.
    L'important est de bloquer un nouvel emprunt s'il n'y a plus d'exemplaire disponible.
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

Discussions similaires

  1. Prise en compte des contraintes
    Par potanie dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/11/2004, 10h00
  2. heritage des contraintes
    Par krimson dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 30/04/2004, 12h04
  3. Affichage des contraintes
    Par nicobouboufr dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 17/03/2004, 09h21
  4. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16
  5. Au sujet des constantes
    Par FranT dans le forum Langage
    Réponses: 8
    Dernier message: 09/08/2002, 11h03

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