La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Module 4 : Implémentation de l'intégrité des données.

Présentations similaires


Présentation au sujet: "Module 4 : Implémentation de l'intégrité des données."— Transcription de la présentation:

1 Module 4 : Implémentation de l'intégrité des données

2 Vue d'ensemble Types d'intégrité des données Implémentation de l'intégrité des données Utilisation de contraintes Utilisation de valeurs par défaut et de règles Choix d'une méthode d'implémentation

3 Types d'intégrité des données Intégrité de domaine ( colonnes ) Intégrité des entités (lignes) Intégrité référentielle (entre les tables )

4 Implémentation de l'intégrité des données Intégrité des données déclarative Critères définis dans les définitions d'objets Implémentée automatiquement par SQL Server Utilise des contraintes, des valeurs par défaut et des règles Intégrité des données procédurale Critères définis dans un script Implémentée par le script Utilise des déclencheurs et des procédures stockées

5  Utilisation de contraintes Choix du type de contrainte à utiliser Définition des contraintes Désactivation du contrôle des contraintes sur les données existantes Désactivation du contrôle des contraintes lors du chargement de nouvelles données

6 Choix du type de contrainte à utiliser Type d'intégrité Type de contrainte Domaine DEFAULT CHECK REFERENTIAL Entités PRIMARY KEY UNIQUE Référentielle FOREIGN KEY CHECK

7  Définition des contraintes Utilisation de l'instruction CREATE TABLE ou ALTER TABLE Ajout de contraintes à une table contenant des données Application de contraintes à une ou plusieurs colonnes Une seule colonne : contrainte de niveau colonne Plusieurs colonnes : contrainte de niveau table

8 Remarques relatives à l'utilisation des contraintes Peuvent être modifiées sans avoir à recréer une table Nécessitent un contrôle des erreurs dans l'application Vérifient les données existantes

9 USE library ALTER TABLE adult ADD CONSTRAINT firstname DEFAULT 'UNKNOWN' FOR firstname Contraintes DEFAULT Ne s'appliquent qu'aux instructions INSERT Une seule contrainte DEFAULT peut être définie par colonne Incompatibles avec la propriété IDENTITY ou le type de données timestamp Autorisent certaines valeurs fournies par le système

10 Contraintes CHECK Utilisées avec les instructions INSERT et UPDATE Peuvent faire référence à d'autres colonnes de la même table Ne peuvent pas : être utilisées avec la propriété IDENTITY être utilisées avec les types de données timestamp ou uniqueidentifier contenir des sous-requêtes USE library ALTER TABLE adult ADD CONSTRAINT phone_no CHECK (phone_no LIKE '(212)[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]')

11 USE library ALTER TABLE member ADD CONSTRAINT PK_member_member_no PRIMARY KEY CLUSTERED (member_no) Contraintes PRIMARY KEY Une seule contrainte PRIMARY KEY peut être définie par table Les valeurs doivent être uniques Les valeurs NULL ne sont pas autorisées Créent un index unique sur les colonnes spécifiées

12 USE sample_database ALTER TABLE employee ADD CONSTRAINT U_driver_lic_no UNIQUE NONCLUSTERED (driver_lic_no) Contraintes UNIQUE Autorisent les valeurs NULL Autorisent plusieurs contraintes UNIQUE dans une table Définies avec une ou plusieurs colonnes Implémentées avec un index unique

13 Contraintes FOREIGN KEY Doivent faire référence à une contrainte PRIMARY KEY ou UNIQUE Implémente une intégrité référentielle sur une ou plusieurs colonnes Ne créent pas automatiquement d'index Exigent de disposer des autorisations SELECT ou REFERENCES sur les tables référencées N'utilisent la clause REFERENCES qu'au sein de la même table USE library ALTER TABLE juvenile ADD CONSTRAINT FK_adult_memberno FOREIGN KEY (adult_memberno) REFERENCES adult(member_no)

14 USE library ALTER TABLE sales WITH NOCHECK ADD CONSTRAINT correct_amount CHECK (amount >=0) Désactivation du contrôle des contraintes sur les données existantes S'applique aux contraintes CHECK et FOREIGN KEY Utilise l'option WITH NOCHECK À n'utiliser que si les données existantes ne changent pas Peut modifier les données existantes avant d'appliquer des contraintes

15 USE library ALTER TABLE sales NOCHECK CONSTRAINT correct_amount Désactivation du contrôle des contraintes lors du chargement de nouvelles données S'applique aux contraintes CHECK et FOREIGN KEY À utiliser lorsque : les données sont conformes aux contraintes vous chargez de nouvelles données

16 Utilisation de valeurs par défaut et de règles En tant qu'objets indépendants, elles : ne sont définies qu'une seule fois peuvent être associées à une ou plusieurs colonnes ou à des types de données définis par l'utilisateur CREATE DEFAULT phone_no_default AS '(000)000-0000' GO sp_bindefault phone_no_default, 'adult.phone_no_col' CREATE RULE statecode_rule AS @statecode in ('IA', 'IL', 'KS', 'MO') GO sp_bindrule statecode_rule, state_type

17 Choix d'une méthode d'implémentation Composant d'intégrité des données Contraintes Valeurs par défaut et règles Valeurs par défaut et règles Déclencheurs FonctionnalitéFonctionnalité Moyenne Faible Élevée SurchargeSurcharge Faible Moyenne Élevée Avant ou après transaction Avant ou après transaction Avant Après

18 Conseils pratiques Utilisez des déclencheurs si des fonctionnalités supplémentaires sont requises Utilisez des déclencheurs si des fonctionnalités supplémentaires sont requises Utilisez les contraintes, car elles sont compatibles ANSI

19 Atelier 4.1 : Implémentation de l'intégrité des données

20 Contrôle des acquis Types d'intégrité des données Implémentation de l'intégrité des données Utilisation de contraintes Utilisation de valeurs par défaut et de règles Choix d'une méthode d'implémentation


Télécharger ppt "Module 4 : Implémentation de l'intégrité des données."

Présentations similaires


Annonces Google