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

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Transac SQL Intégrité des données.

Présentations similaires


Présentation au sujet: "EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Transac SQL Intégrité des données."— Transcription de la présentation:

1 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Transac SQL Intégrité des données

2 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 2 Régles Objet qui définit une restriction sur une colonne Assure l’intégrité d’une domaine S ’applique à une colonne ou type de données Permet de définir: Liste ou ensemble de valeur Série de valeurs Image d’édition Condition à remplir pour des valeurs uniques.

3 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 3 Règles Créate rule nom-regle as expression. Create rule regle-etat as @staterule in (‘CA’,’NY’) Une régle est liée à une marque de réservation commençant par @. Application de la regle à une colonne: sp_bindrule Exec sp_bindrule regle_etat, ‘auteurs.state’ Insert auteurs values(‘123’,’GG’,’GG’,’123’,azer’,’paris’,’NY’,’122’,’0’) Insert auteurs values(‘123’,’phi’,’phi’,’123’,azer’,’paris’,’WA’,’122’,’0’)

4 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 4 Régles Ainsi on applique cette contrainte à la colonne. Sp_unbindrule ‘authors.state’ annulation. Drop rule state-rule destruction de l’objet. Application d’un règle sur un type, alors toutes les colonnes de ce type sont concernés. A l’insert vérifie les valeurs par défaut puis les règles. Update applique les règles.

5 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 5 Régles Create rule PrixHaut as @price < 10 Exec sp_bindrule PrixHaut, ‘titles.price’ Create rule PrixBas as @price > 5 Exec sp_bindrule PrixBas,’titles.price’

6 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 6 Sp_helpdb Avoir les infos sur une base Sp_helpdb [nomBase] Use nomBase Select db_name() Sp_help Sp_helptext

7 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 7 Insertion de données INSERT : ajoute une ou plusieurs lignes à une table existante. Liste de colonne pour la table est facultative, pour ajouter des valeurs null, ne pas indiquer la colonne dans la liste : Insert [into] nom_table [(liste_colonne)] { values (expression, [expression] …) | instruction select

8 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 8 Exercices Insertion d’un enregistrement dans la table discount et remise Select * into remise from discount insert remise values (‘ma remise’,’1111’, 5, 9, 4)  OK (non liée) insert discounts values (‘ma remise’,’1111’, 5, 9, 4)  PB Cela ne fonctionne pas, en effet l’identifiant magasin 1000 n’existe pas dans la table Stores. Nous voyons ici l’interêt des clés étrangères, il n’est pas possible de faire une erreur, cad affecter des commandes à un magasin qui n’existe pas. Création du magasin Philippe id=1111 insert stores (stor_id, stor_name) values (1111, ‘philippe’) On précise que certains champs à insérer. Rejouer la commande Insert dans discount  OK

9 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 9 Update UPDATE : modifie tout ou une partie d'une ligne existante : Update table set col = ‘ val’ update nom_table Set nom_colonne = « valeur » where condition pour restreinte les actions.

10 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 10 Delete DELETE : permet de supprimer les lignes d'une table avec ou non une restriction (where), attention la destruction est irréversible Pour supprimer toutes les lignes rapidement, truncate table nomTable

11 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 11 exercice EXERCICE : update remise set discounttype = ‘ remise maxi de philippe’ where stor_id = 1000 Faire un select de remise, verification Delete remise where stor_id=1000 Faire un select de remise, verification

12 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 12 Conversion Les opérations sur les chaines comprennent l’opérateur de concaténation de chaine et des fonctions. Pour concaténer signe + ‘london’+’,’+’est’+ ‘england’ La longueur maxi 255 caractères. Voir liste fonction.


Télécharger ppt "EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Transac SQL Intégrité des données."

Présentations similaires


Annonces Google