Dans SQL Server 2008, garantir que la participation attendue aux événements ne dépasse pas les capacités des lieux est crucial pour la planification et l’allocation des ressources. Pour appliquer cette contrainte, une fonction personnalisée peut être utilisée conjointement avec une contrainte de vérification.
La fonction personnalisée, nommée CheckVenueCapacity, prend deux paramètres : @venue_id et @capacity. Il compare la @capacity spécifiée avec la capacité maximale du lieu avec le @venue_id donné. Si la @capacity est inférieure ou égale à la capacité du lieu, elle renvoie 0 ; sinon, il renvoie 1.
CREATE FUNCTION dbo.CheckVenueCapacity (@venue_id int, @capacity int) RETURNS int AS BEGIN DECLARE @retval int SELECT @retval = CASE WHEN venue_max_capacity >= @capacity THEN 0 ELSE 1 END FROM venues WHERE venue_id = @venue_id RETURN @retval END; GO
Pour appliquer la contrainte, une contrainte de vérification est ajoutée à la table des événements, garantissant que la fréquentation attendue (event_expected_attendance) pour chaque événement satisfait la fonction CheckVenueCapacity avec l'ID du lieu de l'événement. (event_venue_id) :
ALTER TABLE events ADD CONSTRAINT chkVenueCapacity CHECK (dbo.CheckVenueCapacity(event_venue_id, event_expected_attendance) = 0);
En combinant la fonction personnalisée avec une contrainte de vérification, la base de données garantit que la participation à l'événement ne dépasse pas les capacités du lieu, maintenant l'intégrité des données et facilitant la planification de l'événement en toute confiance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!