SQL à l'aide de déclencheur pour la contrainte

Je suis étudiant les déclencheurs et les contraintes.

Et j'ai une question pour l'utilisation de déclenchement (Pour être honnête, je ne suis pas vraiment sûr de savoir comment utiliser déclencheur..)

Disons que nous avons un des Enseignants de la table.

Et de ce professeur de table contient teacher_id , le ssn , first_name , last_name , class_time

par exemple,

|teacher_id|ssn    | first_name | last_name | student_number| max_student
|1         |1234   | bob        | Smith     | 25            |25
|2         |1235   | kim        | Johnson   | 24            |21
|3         |1236   | kally      | Jones     | 23            |22

et

disons-le nombre maximum de numéro d'étudiant sera 25.(nombre maximum d'étudiant sera défini par l'enseignant, de sorte qu'il peut être n'importe quel nombre de 10, 22 , 25...)

et un étudiant qui veut ajouter le bob de la classe. Cependant, je tiens à faire la gâchette que le rejet d'ajouter de l'étudiant.(parce que bob est déjà complet..)

Cependant, je ne suis pas vraiment sûr de la façon de créer de la gâchette .. 🙁 .. (c'est la première fois pour l'étude du déclencheur.... )

N'importe qui peut aider à créer l'exemple de code pour comprendre le déclenchement de la partie?

Vous aurez à ajouter à une base de données qui vous intéresse, depuis les déclencheurs ont tendance à être de base de données spécifique.
C'est une règle d'entreprise, dont je me serais attendu à être mis en œuvre dans votre logiciel d'application plutôt que comme un déclencheur ou une contrainte dans la base de données. Base de données des contraintes et des déclencheurs généralement appliquer l'intégrité référentielle (qui est, ils gardent les données de cohérence interne) et même si elle peut éventuellement être un filet de sécurité pour s'assurer que les classes ne vont pas plus de 25, votre application devrait vraiment arrêter de les essayer en premier lieu.
Je suis d'accord la règle doit être appliquée dans chaque application qui utilise la base de données. Je suis en désaccord que c'est l'un ou l'autre ou à la considération. Dans l'idéal, à la fois base de données et d'applications pour l'utilisation d'un seul référentiel de règles; si cela n'est pas possible, alors il devrait être appliquée dans les deux endroits, c'est à dire les applications doivent s'abstenir de la rédaction de mauvaises données par l'intermédiaire de la validation et de la base de données devrait éviter les mauvaises données d'être commis par des contraintes. p.s. Excel est couramment utilisée pour la demande de travailler avec des bases de données (leur donner des privilèges, ils viendront!): comment faites-vous appliquer la règle dans Excel?!
si je comprends bien, le 25 est le nombre maximum d'élèves qui peuvent être inscrits dans Bob de classe. Lors de la 26e étudiant est incorporée dans Bob de classe, puis les données sont incohérentes car la teachers table indique la taille de la classe ne peut excéder 25.
la définition que vous donnez à 'incompatible' me semble être différente de la définition dans le dictionnaire et non intuitive. Je me demande si vous pouvez fournir une citation? Rappelez-vous que une ligne dans une table de base de données est un prédicat qui est vrai. Une ligne d'une table, que représentent, il est vrai que pas plus de 25 élèves peuvent prendre de Bob en classe. Une ligne dans une autre table peut dire Ravi est le 26 inscrits dans Bob de classe. Les deux ne peut pas être vrai. Comment est-ce pas 'incompatible'?

OriginalL'auteur Dc Redwing | 2012-03-12