Rechercher : dans
Par :

[BD]Contraintes d integrité fonctionnelle

Dernière réponse le 26 avr 2008 à 18:21:40 tesnimeronsard, le 15 fév 2008 à 05:47:50 
 Signaler ce message aux modérateurs

Bonjour,
Pourrais t on m expliquer clairement , que signifie exactement une contrainte d integrité ou dependance fonctionnelle au niveau d' un Mcd?
y a t il un rapport avec les formes normales pour valider un Mcd?

un petit exemple simple pourrait m aider a mieux cerner la chose

je vous remercie

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « [BD]Contraintes d integrité fonctionnelle » dans :
SQL - Contraintes d'intégrité Voir Expression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...
[md5sum] Vérifier l'intégrité des téléchargements VoirSomme MD5 Introduction I - Windows I-1 - Pour les puristes de la ligne de commande (sous "Dos") I-2 - Pour les inconditionnels de l'interface graphique "GUI" mst MD5 WinMD5 winMd5Sum II - GNU/LInux II-1 -Dans une console II-2 Pour les...
MERISE - Contraintes sur relations VoirAlors que les contraintes sur rôles permettent de définir les conditions de participation d'une entité à une relation, les contraintes sur relations permettent d'exprimer des restrictions sur les classes de relation. Contraintes d'exclusion sur...
Contrôle de l'intégrité des serveurs VoirContrôle d'intégrité Lorsqu'un serveur a été compromis, le pirate masque généralement son passage en supprimant les traces dans les journaux d'activités. Par ailleurs, il installe un certain nombre d'outils lui permettant de créer une...
MERISE - Contraintes sur rôles VoirLa cardinalité d'une relation permet de définir les conditions de participation d'une entité à une relation. Toutefois, une entité peut participer à plusieurs relations, c'est ce que l'on nomme les contraintes sur rôles. Contraintes de totalité sur...

1

cchristian, le 15 fév 2008 à 13:04:39

Bonjour,

D'une manière générale une contrainte d'intégrité fonctionnelle posée sur les éléments d'une base de données relationnelle est un "verrou" appliqué à une possibilité d'intervention sur une table relativement à une ou plusieurs autres tables appartenant à une ou plusieurs bases de données.

exemple :
deux tables "ENTETE_CMDE" et "LIGNES_CMDE" d'une base de données "COMMANDES" .
Il est inconcevable, sur le plan fonctionnel que le futur applicatiif soit en mesure de créer une ou plusieurs lignes de commande (n° de commande, référence, quantité, prix-unitaire, .........) dans la table "LIGNES_CMDE" SI l'entête de cette commande n'a pas été préalablement créée dans la table "ENTETE_CMDE" (n° de client, n° de commande, client de livraison, de facturation, ........). Cela n'aurait aucun sens l'aspect relationnel en l'occurrence ne pourrait être préservé, il y aurait une possibilité de création de lignes de commmandes "orphelines" (sans en-tête) .Par contre la réciproque peut être concevable (une en-tête sans ligne) si on admet que le futur applicatif sera en mesure, pour des raisons pratiques (administratives) de traiter des commandes en attente de finalisation.
De même créer une entête de commande dans la base de données "ENTETE_CMDE" avec un n° de client inexistant dans la base de données "CLIENTS" n'est fonctionnellement pas recevable.
Où bien l'annulation d'un cllient de la base "CLIENTS" alors que ses commandes ne sont pas toutes soldées en fabrication et/ou en facturation. Cordialement.

Cchristian.

Répondre à cchristian

2

bongo, le 20 avr 2008 à 13:48:59

Ce lien pourra bcp t'aider pr resoudre ton pb:

http://www.iutc3.unicaen.fr/~moranb/cours/acsi/donnees1/ea7.­htm

bonne journée

Répondre à bongo

3

MIG, le 26 avr 2008 à 15:24:09

Pourriez-vous me définir une contrainte d'intégrité fonctionnelle ?

Répondre à MIG

4

 cchristian, le 26 avr 2008 à 18:21:40
  • +1

Bonjour,

Voici quelques illustrations de contraintes d'intégrité fonctionnelles/référencielles en SQL/DB2 :

--CREATION DE LA TABLE POSTES AVEC CONTRAINTES ET INTEGRITES REFERENTIELLES 

-- CREATION SUR TABLES PARENTES COMMANDE ET ARTICLES :
-- - Toute tentative de création d'une ligne de commande dans la table POSTES  
--       sera rejetée si aucune correspondance entre les deux n° de commande 
--       (NOCDE) des deux tables POSTES et COMMANDE, n'est vérifiée.
--        Si ce cas survient SQLCODE = -530 et SQLSTATE=23503  
-- - Idem pour les REFERENCES des lignes de la table POSTES relativement à 
--       la table ARTICLES. 

-- ANNULATION SUR TABLES PARENTES COMMANDE ET ARTICLES :
-- - Toute ANNULATION, dans la table COMMANDE, d'une COMMANDE entraîne l'annula- 
--       tion de la (ou des) ligne(s) de même numéro (NOCDE) présente(s) dans   
--       la table POSTES. 
-- - En ce qui concerne les référence des lignes de la table POSTES, Toute 
--       tentative d'ANNULATION dans la table ARTICLES, d'une REFERENCE existante 
--       sur une ligne au moins de la table POSTES génère une anomalie du type :
--       SQLCODE = -532 et SQLSTATE=23504.  
   
 CREATE TABLE 			POSTES 				            ( 
			POSTE         	DECIMAL (5)     NOT NULL	    ,
			REFERENCE     	CHAR    (9)     NOT NULL	    ,
			QTE		DECIMAL (6)            		    ,
			PRIXUNIT    	DECIMAL (9,2) 		    ,
			NUL		CHAR    (5)         		    ,
       			NOCDE		CHAR    (8)     NOT NULL	    ,
			PRIMARY KEY     (NOCDE, POSTE) 		    ,
-- Intégrités référencielles :
 	     CONSTRAINT REF_POSTART     FOREIGN KEY    (REFERENCE)
                        REFERENCES ARTICLES (REFERENCE) ON DELETE NO ACTION,
 	     CONSTRAINT REF_POSTCOM     FOREIGN KEY    (NOCDE)
                        REFERENCES COMMANDE (NOCDE)     ON DELETE CASCADE     );

============================================================­===========
--    INSERTION D'UNE LIGNE POSTES DONT LA REF. EST INCONNUE DANS ARTICLES    -- 
----  -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*­-*-*-*-*  ----       
--  Tentative d'insertion d'une ligne dans la table POSTES dont la référence est
--     inconnue dans la table ARTICLES/TARIFS 
-- 	      CONSTRAINT REF_POSTART     FOREIGN KEY     (REFERENCE)
--                        REFERENCES ARTICLES (REFERENCE) ON DELETE NO ACTION, 
 INSERT     	INTO 		POSTES  
	VALUES (10, 'ARTINCONN', 2,  100.00, '', '00000001')		       ;

-- RESULTAT OBTENU : A P R E S   T E N T A T I V E  (plantage du job) ----------
-- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$­$$$$$$$$$$$$$$$$$
-- $ SQL0530N La valeur d'insertion ou de mise à jour de la FOREIGN KEY (clé   $  
-- $      associée) "CHRISTIAN.POSTES.REF_POSTCOM" n'est égale à aucune valeur $
-- $      de la clé parente de la table parente.  SQLSTATE=23503               $
-- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


======================================================================
--     TENTATIVE DE SUPPRESSION DE TOUTES LES LIGNES DE LA TABLE ARTICLES      -- 
----   -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*    ---- 
--   Tentative d'annulation physique de toutes les lignes de la table ARTICLES  
--     en utilisant le synonyme TARIFS.
-- 	      CONSTRAINT REF_POSTART     FOREIGN KEY     (REFERENCE)
--                        REFERENCES ARTICLES (REFERENCE) ON DELETE NO ACTION,

 DELETE		 FROM  		TARIFS	 		 	       ;

-- RESULTAT OBTENU : A P R E S   T E N T A T I V E  (plantage du job) ----------
-- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-- $  SQL0532N Une ligne parente ne peut pas être supprimée car la relation    $ 
-- $  "CHRISTIAN.POSTES.REF_POSTART" limite la  suppression.  SQLSTATE=23504.  $ 
-- $SQLCA Information                                                          $ 
-- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Cordialement.

Cchristian.

Répondre à cchristian