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

SQLite Discussion :

Cardinalité et SQL


Sujet :

SQLite

  1. #1
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2020
    Messages : 28
    Points : 21
    Points
    21
    Par défaut Cardinalité et SQL
    Bonjour,

    J'ai une table Professeur et une table Eleves.
    Un professeur peut avoir 5 à 30 élèves et un élève put avoir qu'un seul professeur. Avec SQLite, comment puis-je vérifier cette cardinalité avec une requête SQL ?

    Par exemple, comment empêcher qu'un utilisateur ajoute plus de 30 élèves à la table Professeur ou qu'il affecte plusieurs professeurs à un élève ?

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Si c'est dans un cadre scolaire, les professeurs ne devraient pas être en association directe avec les élèves mais avec les matières, matières qui font l'objet de cours, cours animés par des professeurs en fonction des classes. La limitation du nombre d'élèves est par classe et non par professeur.
    Ex : un professeur peut enseigner dans 3 classes, chacune ayant 25 élèves, soit 75 élèves en tout, mais ça respecte la limite de 30 par classe.

    Cela étant dit, quelle que soit l'association n-aire, la cardinalité maximale n est la même au niveau du script DDL de création des tables, et ce que n puisse prendre la valeur 2 ou 5000.

    Pour vérifier lors de l'insertion d'un nouvel élève dans la classe que la limite de 30 est respectée, un comptage du nombre d'élèves déjà présents dans la classe est requis. Il faut tenir compte des éventuels threads concurrents susceptibles d'ajouter des élèves dans les classes.
    On se gardera bien d'utiliser la valeur maxi des identifiants de type "identity" ou "auto_increment" pour vérifier la limite de 30, ces identifiants ne présentant jamais de garantie de numérotation contiguë et ce quel que soit le SGBD.

Discussions similaires

  1. Cardinalité sur SQL-Server
    Par meagain dans le forum Développement
    Réponses: 6
    Dernier message: 14/10/2015, 14h19
  2. [cardinalité]Spécification de la cardinalité en langage SQL
    Par lazare dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 26/01/2006, 01h59
  3. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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