0% ont trouvé ce document utile (0 vote)
9 vues114 pages

SQL Server

Le document présente une vue d'ensemble de SQL Server, un système de gestion de bases de données relationnelles, en détaillant son installation, ses composants principaux tels que l'Entreprise Manager et le Query Analyser, ainsi que des fonctionnalités comme l'importation/exportation de données et la réplication. Il aborde également le langage Transact-SQL (T-SQL) et ses conventions, ainsi que les procédures de sauvegarde et de restauration des bases de données. Enfin, le document traite des différents types d'objets et des opérateurs disponibles dans T-SQL.

Transféré par

youssefkhaloufi8
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues114 pages

SQL Server

Le document présente une vue d'ensemble de SQL Server, un système de gestion de bases de données relationnelles, en détaillant son installation, ses composants principaux tels que l'Entreprise Manager et le Query Analyser, ainsi que des fonctionnalités comme l'importation/exportation de données et la réplication. Il aborde également le langage Transact-SQL (T-SQL) et ses conventions, ainsi que les procédures de sauvegarde et de restauration des bases de données. Enfin, le document traite des différents types d'objets et des opérateurs disponibles dans T-SQL.

Transféré par

youssefkhaloufi8
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

 Introduction  Les transactions

 Installation  Les contraintes


 Entreprise Manager  Les triggers
 Query analyser  Les vues
 Import and Export data  Les verrous
 Le langage Transact-  La sécurité
SQL  Etude de cas
 Les procédures stockées  Conclusion
Introduction

- Introduction  Qu’est ce que SQL server ?


- Installation
- Entreprise SQL server est un SGBD Relationnelle.
Manager
- Query analyser  De quoi se compose-t-il ?
- Import and
Export data Entreprise Manager
- Le langage
T-SQL Query analyser
- Les transactions
- Les contraintes Gestionnaire des services SQL server
- Les triggers
- Les vues Les fichiers physiques
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Installation

 Réalisé à l’aide d’un assistant.


 Une fois l’ installation terminé,il faut changer le mot de passe
par défaut (vide) afin de garantir un niveau de sécurité.
Installation(1)

- Introduction  L’installation de SQL server passe par un


- Installation
- Entreprise
Manager
logiciel d’installation assisté.
- Query analyser
- Import and
Export data
 Il sera nécessaire de disposer au
- Le langage
T-SQL
minimum d’un Pentium 166 MHz, de 128
- Les transactions
- Les contraintes Mo de RAM et 250 Mo de disque dur
- Les triggers
- Les vues pour une installation standard.
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Installation(2)

- Introduction  Les privilèges administrateur


- Installation
- Entreprise  Changement du mot de passe de « sa »
Manager
- Query analyser sp_password NULL,’nouveaupasswd’,sa
- Import and
Export data  Création d’un ensemble de bases de données:
- Le langage
T-SQL Master
- Les transactions
- Les contraintes
- Les triggers
Modèle
- Les vues
- Les verrous
Msdb
- Les procédures
stockées Nothwind et Pubs
- La sécurité
- Etude de cas Tempdb
- Conclusion
Présentation de SQL Server

 C’est un SGBD relationnel adapté à la gestion des données dans


un réseau.
 Les composants essentielles d’un serveur SQL Server:Entreprise
Manager,Analyseur de requête et le Gestionnaire de service
SQL Server.
 Disposition minimal d’une base de donnée SQL Server:fichier «
.mdf » et fichier « .ldf ».
 Les bases de données systèmes crées lors d’installation de SQL
Server:Master,Model,Msdb,tempdb,….
Présentation de l’Entreprise Manager

 C’est l’ interface graphique


de SQL Server pour la
création et administration
des bases de données.
 Les différents éléments
propre à un serveur
SQL:bases de
données,data
transformation service,
gestion , réplication ,
sécurité,…..
Query analyser

- Introduction
- Installation
 Editeur puissant de SQL/TSQL Permet
- Entreprise
Manager
d’exécuter des requêtes, de vérifier leur
- Query analyser
- Import and syntaxe et de les stocker dans un
Export data
- Le langage
T-SQL
fichier .SQL
Dispose d’outils importants comme le
- Les transactions
- Les contraintes 
- Les triggers
- Les vues
- Les verrous
débogueur des procédures stockées
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Analyseur de requête

 Permet d’exécuter des


requêtes, de vérifier leur
syntaxe et de les stocker dans
un fichier dont l’extension est «
.sql ».
 Possède des outils importants
comme le débogueur,affichage
du plan d’exécution,..
Entreprise Manager

- Introduction  C’est une interface graphique qui permet de


- Installation
- Entreprise gérer et d’administrer les bases de données
Manager
- Query analyser
- Import and
 De quoi se compose Entreprise Manager?
Export data
- Le langage
- Bases de données
T-SQL
- Les transactions
- Data transformation service
- Les contraintes
- Les triggers
- Gestion
- Les vues
- Les verrous
- Réplication
- Les procédures
stockées
- Management
- La sécurité
- Etude de cas
- Sécurité
- Conclusion - Service support
Import and Export Data(1)

- Introduction
- Installation
- Entreprise
Manager
- Query analyser
- Import and
Export data
DTS
- Le langage
T-SQL
- Les transactions
Réplication
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Import and Export Data(2)

- Introduction
- Installation
 DTS
- Entreprise
Manager Le procédé le plus utilisé sous
- Query analyser
- Import and
Export data
SQL-server pour importer ou
- Le langage
T-SQL
exporter des données
- Les transactions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
L’importation et l’exportation des données
(1)
 Permet de charger dans notre serveur des données en
provenance d’une source extérieur
 DTS (Data Transformation Service) est le procédé le plus utilisé
sous SQL Server pour importer ou exporter des données avec
d’autre serveur SQL ou des sources variées.
 Mais avant définir une source de donnée utilisateur dans le
panneau de configuration à l’aide de pilotes ODBC.
 Exemple :importation d’ une base de donnée Access en une
base de donnée SQL Server .
L’importation et l’exportation des données
(2)
 D’abord définir une source de donnée utilisateur dans le
panneau de configuration
L’importation et l’exportation des données
(3)
Réplication

- Introduction
- Installation
- Entreprise
Manager
- Query analyser
 Les différents types de réplication
- Import and
Export data
- Le langage
- snapshot
T-SQL
- Les transactions - réplication transactionnelle
- Les contraintes
- Les triggers
- Les vues - réplication fusion
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Réplication (1)

 Assure la cohérence entre les données des


différents serveurs , ce qui augmente la
disponibilité ainsi que les performance globale
du système.
 D’abord configurer le serveur comme
distributeur .
 Ensuite on pourra publier notre base de
donnée à l’aide de l’assistant publication.
 Enfin on va choisir les données à publier.
Réplication (2)
Réplication (3) : snapshot
 Un snapshot de base de données sous SQL Server 2005
Edition Enterprise est une copie d'une base de données.
Cette copie est en lecture seule (et donc figé). Elle est créée
lors de sa création avec CREATE DATABASE et est
maintenant dans l'état dans lequel elle était au moment de la
création du snapshot. La base de données a partir de
laquelle le snapshot a été créée est toujours en lecture /
écriture.
 Le snapshot est vide au départ et ne contiendra que les
données de la base dont il est la copie qui ont été modifiées
depuis sa création. En somme il se remplit au fur et à
mesure des données d'historique de la base de départ.
Réplication (4) : snapshot

 CREATE DATABASE MaBase_1100 ON PRIMARY


( NAME = N'MaBase_Data', FILENAME = N'C:\Program
Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\MaBase_1100.mdf')
AS SNAPSHOT OF MaBase

 Pour la suppression du snapshot, un simple DROP


DATABASE de ce dernier fera l'affaire :
DROP DATABASE MaBase_1100
Réplication (5) : réplication transactionnelle

 La réplication transactionnelle commence en général avec


la capture instantanée des objets et des données de la base
de données de publication. Dès que la première capture est
effectuée, les changements de données et les modifications
de schémas effectués ensuite au niveau du serveur de
publication sont en général transmis à l'Abonné à mesure
qu'ils se produisent (presque en temps réel). Les
changements de données sont appliqués à l'Abonné dans le
même ordre et dans les mêmes limites de transaction que
sur le serveur de publication ; c'est pourquoi, dans une
publication, la cohérence des transactions est garantie.
Réplication (5) : Réplication transactionnelle

 La réplication transactionnelle est en général utilisée dans les environnements


serveur à serveur, et convient pour chacun des cas suivants :
 Vous souhaitez propager les modifications incrémentielles vers les Abonnés, au fur et à
mesure qu'elles s'exécutent.

 L'application nécessite une faible latence entre le moment où les changements sont effectués
sur le serveur de publication et le moment où ils parviennent à l'Abonné.

 L'application a besoin d'un accès aux états de données intermédiaires. Par exemple, si une
ligne change cinq fois, la réplication transactionnelle permet à une application de réagir à
chaque changement (par exemple l'activation d'un déclencheur), et non pas seulement au
dernier changement effectué sur la ligne.

 Le serveur de publication a un volume très élevé d'activité d'insertion, de mise à jour et de


suppression.

 Le serveur de publication ou l'Abonné est une base de données non-SQL Server, Oracle par
exemple.
Réplication (6) : La réplication de fusion
 Comme la réplication transactionnelle, démarre
généralement avec une capture instantanée des objets
et des données de la base de données de publication.
Les modifications de données et de schéma ultérieures
qui sont effectuées sur le serveur de publication et sur
les Abonnés sont suivies avec des déclencheurs.
L'abonné est synchronisé avec l'éditeur lorsqu'il est
connecté au réseau et il échange toutes les lignes qui
ont changé entre l'éditeur et l'abonné depuis la
dernière synchronisation.
Réplication (7) : La réplication de fusion
utilisée dans des environnements de serveur à client

 Plusieurs abonnés peuvent mettre à jour les mêmes données à différents moments et
propager ces modifications au serveur de publication et à d'autres Abonnés.

 des abonnés doivent recevoir des données, apporter des modifications hors connexion
et synchroniser ultérieurement ces modifications avec l'éditeur et d'autres abonnés ;

 Chaque Abonné requiert une partition de données différente.

 Des conflits peuvent se produire et, le cas échéant, vous devez pouvoir les détecter et
les résoudre.

 L'application requiert le résultat des modifications des données au lieu de devoir


accéder aux états intermédiaires des données. Par exemple, si une ligne change cinq
fois sur un Abonné avant qu'il se synchronise avec un serveur de publication, la ligne
ne change qu'une seule fois sur le serveur de publication pour refléter le résultat final
des modifications (c'est-à-dire la cinquième valeur).
Les sauvegardes (1)

 une image complète de la base de données, comprenant la


sauvegarde des utilisateurs et droits d'accès et données et les
données.
 Deux manières de le faire:Entreprise Manager ou analyseur de
requête.
 Création d’un périphérique de sauvegarde qui est simplement un
emplacement qui enregistre les sauvegardes .
Les sauvegardes (2)
Les res(3)

 Autre manière c’est d’utiliser l’instruction backup


Restauration

 Permet la récupération de bases de données à partir d'un moment


antérieur.
 Utilisation de Entreprise Manager ou l’instruction Restore.
Le langage Transact-SQL (T-SQL)

- Introduction
- Installation
- Entreprise
Manager Introduction
- Query analyser
- Import and
Export data
- Le langage
T-SQL
- Les transactions
Pourquoi un langage de développement
- Les contraintes
- Les triggers ?
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
Qu’offre-t-il de nouveau ?
- Conclusion
Langage Transact-SQL

 pourquoi un langage de développement


au sein d’une base de donnée?
 Les conventions de nomenclatures:les
variables,les variables systèmes,les
procédures stockées et commentaires.
 Boucles et structures de contrôles: if else
,While.
Convention et nomenclature
 Les variables : elles commencent toutes par le
caractère @, ex : @toto
- Introduction
- Installation  Les variables systèmes : elles commencent par une
- Entreprise double @, ex : @@identity
Manager
- Query analyser  Les curseurs : il ne sont pas précédés d’un @
- Import and
Export data  Les procédures stockées : commencent par sp_
- Le langage
T-SQL  Les procédures étendues : commencent par xp
- Les transactions
- Les contraintes
 Les indexes : commencent par IX_
- Les triggers  Les clés primaires : commencent par PK
- Les vues
- Les verrous  Les clés étrangères : commencent par FK
- Les procédures
stockées  La mise en commentaire d’une ligne se fait à l’aide de -
- La sécurité -
- Etude de cas
- Conclusion  La mise en commentaire d’un paragraphe se fait à
l’aide de /* */
Les différents types d’objets(1)

- Introduction  Les variables


- Installation
- Entreprise
Manager Déclaration: Declare @toto type(taille)
- Query analyser
- Import and
Export data
Exemple: Declare @nom nvarchar(20)
- Le langage
T-SQL  Quelques types
- Les transactions
- Les contraintes
- Les triggers
- Les vues
Numeric
- Les verrous
- Les procédures nvarchar
stockées
- La sécurité
- Etude de cas ntext
- Conclusion
..
Les différents types d’objets(2)

- Introduction  Les variables système


- Installation
- Entreprise
Manager Ce sont des variables initialisées par le
- Query analyser
- Import and
Export data
système,elles commencent toujours par
- Le langage
T-SQL
@@
- Les transactions
- Les contraintes
- Les triggers
Exemple: @@version donne la version
- Les vues
- Les verrous
du logiciel
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les différents types d’objets(3)

- Introduction  Les opérateurs


- Installation
- Entreprise
Manager T-SQL dispose des opérateurs
- Query analyser
- Import and
Export data
arithmétiques et logiques classiques
- Le langage
T-SQL
- Les transactions
 Exemple:
- Les contraintes
- Les triggers
- Les vues
+ , - , * , / ,% , = , != , < , >
- Les verrous
- Les procédures &,|,^
stockées
- La sécurité
- Etude de cas
- Conclusion
Les différents types d’objets(4)

- Introduction  Les curseurs


- Installation
- Entreprise
Manager
Ils permettent de naviguer au sein des
- Query analyser
- Import and
enregistrements pour pouvoir effectuer
Export data
- Le langage
un traitement ligne par ligne
T-SQL
- Les transactions  Syntaxe
- Les contraintes
- Les triggers
- Les vues
Déclaration du curseur
- Les verrous
- Les procédures
stockées
DECLARE employe CURSOR FOR
- La sécurité
- Etude de cas
SELECTnom,prenom
- Conclusion FROM [Link]
WHERE nom LIKE ’B%’
Les différents types d’objets(5)

- Introduction Ouverture du curseur


- Installation
- Entreprise
Manager OPEN employe
- Query analyser
- Import and
Export data
Parcours des enregistrements
- Le langage
T-SQL
- Les transactions
FETCH NEXT FROM employe
- Les contraintes
- Les triggers
- Les vues
WHILE (@@FETCH_STATUS=0)
- Les verrous
- Les procédures
BEGIN
stockées
- La sécurité
- Etude de cas
//Traitement
- Conclusion
FETCH NEXT FROM employe
END
Les différents types d’objets(6)

- Introduction Fermeture du curseur


- Installation
- Entreprise
Manager
CLOSE employe
- Query analyser
- Import and Destruction du curseur
Export data
- Le langage DEALLOCATE employe
T-SQL
- Les transactions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Affectation

- Introduction L’affectation d’une valeur à une variable


- Installation
- Entreprise
Manager
se fait par deux méthodes:
- Query analyser
- Import and
Export data
- avec SET:
- Le langage
T-SQL SET @newvar = @oldvar
- Les transactions
- Les contraintes
- Les triggers - avec SELECT:
- Les vues
- Les verrous
- Les procédures
SELECT @newvar = @oldvar
stockées
- La sécurité
- Etude de cas
FROM table WHERE oldvar==" toto "
- Conclusion
Les boucles de structure

- Introduction
 IF BEGIN{..}END
- Installation
- Entreprise
ELSE BEGIN{..}END
Manager
- Query analyser
 CASE
- Import and
Export data
WHEN condition THEN instructions
- Le langage
T-SQL
END
- Les transactions
- Les contraintes
 WHILE condition
- Les triggers
- Les vues
instructions
- Les verrous
- Les procédures
 Label:
stockées
- La sécurité
instructions
- Etude de cas
- Conclusion
GOTO Label
 WAITFOR TIME ’9h12’
Les procédures stockées(1)

 Une procédure stockée est une procédure de


- Introduction
- Installation base de données, similaire à une procédure
- Entreprise
Manager
- Query analyser
dans d'autres langages de programmation, qui
- Import and
Export data
est contenue dans la base de données elle-
- Le langage
T-SQL même. Dans SQL Server, il est possible de
- Les transactions
- Les contraintes
- Les triggers
créer des procédures stockées à l'aide de
- Les vues
- Les verrous
Transact-SQL ou du CLR (Common
- Les procédures
stockées Language Runtime) et de l'un des langages de
- La sécurité
- Etude de cas
- Conclusion
programmation Visual Studio 2005 tel que
Visual Basic ou C#.
Les procédures stockées(1)

- Introduction
 En règle générale, les procédures stockées
- Installation
- Entreprise
SQL Server permettent
Manager
- Query analyser  d'accepter des paramètres d'entrée et de retourner
- Import and
Export data des valeurs multiples sous la forme de paramètres
- Le langage
T-SQL
de sortie à la procédure appelante ou au lot ;
- Les transactions
- Les contraintes  de contenir des instructions de programmation qui
- Les triggers
- Les vues
effectuent des opérations dans la base de données,
- Les verrous
- Les procédures
notamment l'appel d'autres procédures ;
stockées
- La sécurité
 de retourner une valeur d'état à une procédure
- Etude de cas
- Conclusion
appelante ou un lot afin d'indiquer la réussite ou
l'échec (ainsi que la raison de l'échec).
Création d’une procédure stockée

- Introduction
 Un programme T-SQL nommé et qui peut
- Installation prendre un ou plusieurs paramètres
- Entreprise
Manager  Syntaxe
- Query analyser
- Import and CREATE PROCEDURE sp_nom
Export data
- Le langage
@param1 TYPE,
T-SQL
- Les transactions
@param2 TYPE
- Les contraintes AS
- Les triggers
- Les vues
suite d’instructions
- Les verrous --code de la procédure
- Les procédures
stockées
- La sécurité
- Etude de cas NB: les fonctions sont une variante des
- Conclusion
procédures
Les procédures stockées(1)

- Introduction  Syntaxe
- Installation
- Entreprise
Manager
CREATE PROCEDURE sp_nom
- Query analyser
- Import and
@param1 TYPE,
Export data
- Le langage @param2 TYPE
T-SQL
- Les transactions AS
- Les contraintes
- Les triggers DECLARE @var TYPE
- Les vues
- Les verrous BEGIN
- Les procédures
stockées ---les instructions,les transactions
- La sécurité
- Etude de cas END
- Conclusion
Les procédures stockées(2)

- Introduction
- Installation
 Avec paramètre d’entrée
- Entreprise
Manager CREATE PROC note
- Query analyser
- Import and (@CNE INT)
Export data AS SELECT *
- Le langage
T-SQL FROM etudiants
- Les transactions
- Les contraintes WHERE code_et = @CNE
- Les triggers
- Les vues
- Les verrous
- Les procédures
 Avec paramètre de sortie :
stockées
- La sécurité
- Etude de cas
CREATE PROC nbetudiants
- Conclusion (@effectif INT OUTPUT)
AS
SET @effectif = (SELECT COUNT(*) FROM classe)
Les procédures stockées(3)

- Introduction
- Installation
 Modification
- Entreprise
Manager
- Query analyser
ALTER PROC note
- Import and
Export data --- les paramètres
- Le langage
T-SQL AS
- Les transactions
- Les contraintes
- Les triggers
--- nouveau corps
- Les vues
- Les verrous  Suppression
- Les procédures
stockées
- La sécurité DROP PROCEDURE note
- Etude de cas
- Conclusion
Les procédures stockées(4)

- Introduction
- Installation
 Utilisation
- Entreprise
Manager on peut utiliser les procédures
- Query analyser
- Import and
Export data
stockées dans du code SQL avec
- Le langage
T-SQL
l’instruction exec[UTE]
- Les transactions
- Les contraintes
- Les triggers
 Exemple
- Les vues
- Les verrous 1)- exec note 9997736295
- Les procédures
stockées
- La sécurité
2)- declare @effectif INT
- Etude de cas
- Conclusion
exec nbetudiants @effectif OUTPUT
Les procédures stockées(1) : Paramètres
Systèmes
 sp_column_privileges Renvoie des informations sur
- Introduction
- Installation
les autorisations concernant une ou plusieurs colonnes
- Entreprise d'une table ou d'une vue.
Manager
- Query analyser  sp_columns Renvoie des informations sur le type de
- Import and
Export data données pouvant être stockées dans une ou plusieurs
- Le langage
T-SQL colonnes.
- Les transactions
- Les contraintes  sp_databases Renvoie une liste des bases de données
- Les triggers
- Les vues
d'un serveur.
- Les verrous
- Les procédures  sp_datatype_info Renvoie des informations sur un
stockées
- La sécurité
type de données particulier ou sur tous les types de
- Etude de cas données pris en charge.
- Conclusion
Les procédures stockées(1) : Paramètres
Systèmes
 sp_fkeys Renvoie des informations sur les contraintes
de clé étrangère créées dans la base de données courante
- Introduction à l'aide de la commande create table ou alter table .
- Installation
- Entreprise  sp_pkeys Renvoie des informations sur les contraintes
Manager
- Query analyser de clé primaire créées pour une table à l'aide de la
- Import and
Export data
commande create table ou alter table.
- Le langage
T-SQL  sp_server_info Renvoie une liste des noms d'attributs
- Les transactions
- Les contraintes
et des valeurs correspondantes d'un serveur.
- Les triggers
- Les vues
 sp_special_columns Renvoie l'ensemble optimal des
- Les verrous colonnes identifiant une ligne de manière unique dans
- Les procédures
stockées une table ou une vue ; cette procédure peut également
- La sécurité
- Etude de cas renvoyer une liste des colonnes automatiquement mises
- Conclusion à jour lorsqu'une transaction modifie une valeur de la
ligne.
Les procédures stockées(1) : Paramètres
Systèmes
 sp_sproc_columns Renvoie des informations sur les
données entrées et les paramètres renvoyés d'une
- Introduction procédure stockée.
- Installation
- Entreprise  sp_statistics Renvoie la liste des index d'une table
Manager
- Query analyser unique.
- Import and
Export data  sp_stored_procedures Renvoie des informations sur
- Le langage
T-SQL une ou plusieurs procédures stockées.
- Les transactions
- Les contraintes  sp_table_privileges Renvoie des informations sur les
- Les triggers
- Les vues
privilèges de toutes les colonnes d'une table ou d'une
- Les verrous vue.
- Les procédures
stockées
- La sécurité
 sp_tables Renvoie la liste des objets qui peuvent figurer
- Etude de cas dans une clause from
- Conclusion
Exemple (Utilisation sans paramètres )
Cette procédure stockée retourne un seul jeu de résultats contenant une
colonne de données affichant une combinaison des fonctions, des prénoms
et des noms des dix premiers contacts figurant dans la table [Link].
- Introduction
- Installation CREATE PROCEDURE GetContactFormalNames
- Entreprise AS
Manager BEGIN
- Query analyser
- Import and
SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName
Export data
FROM [Link]
- Le langage END
T-SQL
- Les transactions
- Les contraintes CREATE PROC MoyenneNoteEtrude
- Les triggers
- Les vues
@code_etu int
- Les verrous @moyenne real OUTPUT
- Les procédures AS
stockées BEGIN
- La sécurité
SELECT @moyenne =AVG(Note)
- Etude de cas
- Conclusion FROM Notes
Where Code_etudiant = @cod_etud
END
Exemple (2)
Utilisation de procédure stockée dans un programme JAVA

- Introduction
- Installation
static void executeSprocNoParams(Connection con) {
- Entreprise
Manager
try {
- Query analyser
- Import and
Statement stmt = [Link](); ResultSet rs
Export data = [Link]("{call
- Le langage
T-SQL [Link]}");
- Les transactions
- Les contraintes while ([Link]()) {
- Les triggers
- Les vues
[Link]([Link]("FormalName")); }
- Les verrous
- Les procédures
[Link](); [Link](); }
stockées
- La sécurité
catch (Exception e) { [Link](); }
- Etude de cas
- Conclusion
}
Exemple (Utilisation avec des paramètres de sortie )
Cette procédure stockée retourne un seul paramètre OUT (ManagerID), un
nombre entier, basé sur le paramètre IN spécifié (EmployeeID), qui est
également un nombre entier. La valeur retournée dans le paramètre OUT est
- Introduction le ManagerID basé sur l'EmployeeID contenu dans la table
- Installation
- Entreprise [Link]
Manager
- Query analyser
- Import and
Export data CREATE PROC MoyenneNoteEtrude
- Le langage CREATE PROCEDURE GetImmediateManager @code_etu int
T-SQL @employeeID INT, @moyenne real OUTPUT
- Les transactions @managerID INT OUTPUT AS
- Les contraintes AS BEGIN
- Les triggers BEGIN SELECT @moyenne =AVG(Note)
- Les vues SELECT @managerID = ManagerID FROM Notes
- Les verrous FROM [Link] Where Code_etudiant = @cod_etud
- Les procédures WHERE EmployeeID = @employeeID END
stockées END
- La sécurité
- Etude de cas
- Conclusion
Exemple (Utilisation avec retour d'état )
Cette procédure stockée retourne une valeur de statut 1 ou 0, selon que la
ville spécifiée dans le paramètre cityName figure ou non dans la table
[Link]
- Introduction
- Installation
- Entreprise CREATE PROCEDURE CheckContactCity
Manager
- Query analyser
(@cityName CHAR(50))
- Import and
Export data
AS
- Le langage
T-SQL
BEGIN
- Les transactions IF ((SELECT COUNT(*) FROM [Link]
- Les contraintes
- Les triggers WHERE City = @cityName) > 1)
- Les vues
- Les verrous RETURN 1
- Les procédures
stockées ELSE
- La sécurité
- Etude de cas RETURN 0
- Conclusion
END
Exemple (Utilisation avec un nombre de mises à jour )
créez la table et la procédure stockée suivantes dans l'exemple de base de
données SQL Server 2005 AdventureWorks

- Introduction
- Installation
- Entreprise
CREATE TABLE TestTable
Manager (Col1 int IDENTITY, Col2 varchar(50), Col3 int);
- Query analyser
- Import and
Export data
- Le langage
CREATE PROCEDURE UpdateTestTable
T-SQL @Col2 varchar(50),
- Les transactions
- Les contraintes @Col3 int
- Les triggers
- Les vues AS
- Les verrous BEGIN
- Les procédures
stockées UPDATE TestTable SET Col2 = @Col2, Col3 = @Col3
- La sécurité
- Etude de cas END;
- Conclusion
Les transactions(1)

- Introduction  Introduction
- Installation
- Entreprise
Manager C’est une suite d’instructions
- Query analyser
- Import and
Export data
 Syntaxe
- Le langage
T-SQL
- Les transactions
BEGIN TRAN
suite d’instructions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures COMMIT TRAN
stockées
- La sécurité
- Etude de cas
- Conclusion
Les transactions(2)

- Introduction  Transactions imbriquée


- Installation
- Entreprise
Manager @@trancount
- Query analyser
- Import and
Export data
 Points de sauvegarde
- Le langage
T-SQL
- Les transactions
SAVE TRAN nom
- Les contraintes
- Les triggers
- Les vues
ROLLBACK TRANSACTION nom
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les transactions(3)

- Introduction  Exemple
- Installation
- Entreprise
Manager
- Query analyser
- Import and
Export data
- Le langage
T-SQL
- Les transactions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les transactions(4)

- Introduction  Solution
- Installation
- Entreprise
Manager
- Query analyser
- Import and
Export data
- Le langage
T-SQL
- Les transactions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les contraintes(1)

- Introduction
 Principe:elles permettent de forcer l’utilsateur à
- Installation créer des données cohérentes
- Entreprise
Manager  Elles doivent être exprimées soit au moment
- Query analyser
- Import and
de la création de la table soit après sa création
Export data
- Le langage
 Les principaux mots clés
T-SQL
- Les transactions
- CONSTRAINT
- Les contraintes - CHECK
- Les triggers
- Les vues
- DEFAULT
- Les verrous - PRIMARY KEY
- Les procédures
stockées
- FOREIGN KEY
- La sécurité
- Etude de cas
- UNIQUE
- Conclusion - NOT NULL
Les contraintes(2)

- Introduction
- Installation
 CHECK
- Entreprise Principe: vérification d’une condition
Manager
- Query analyser
Syntaxe: CHECK (condition)
- Import and Exemple1:
Export data create TABLE client (
- Le langage
T-SQL nom char(10) NOT NULL
- Les transactions age INT code_postal
- Les contraintes char(5) email
- Les triggers
- Les vues char(50) CONSTRAINT
- Les verrous cst_code_postal CHECK
- Les procédures (code_postal LIKE (’[0-9][0-9][0-9][0-9][0-9]’)) CONSTRAINT
stockées
- La sécurité
cst_email CHECK (email
- Etude de cas LIKE (’’%@%’’)
- Conclusion
Les contraintes(3)

 CHECK
- Introduction
- Installation
- Entreprise
Manager
- Query analyser
- Import and
Exemple2:
Export data
- Le langage ALTER TABLE note
T-SQL
- Les transactions
- Les contraintes
ADD CONSTRAINT cst_validé CHECK
- Les triggers
- Les vues (moy >= 10)
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les contraintes(4)

- Introduction  DEFAULT
- Installation
- Entreprise Principe: définir une valeur par défaut lorsqu’un
Manager
- Query analyser champs n’est pas remplis
- Import and
Export data Syntaxe: DEFAULT
- Le langage
T-SQL
- fonction
- Les transactions - constante
- Les contraintes
- Les triggers - NULL
- Les vues
- Les verrous Exemple: ALTER TABLE nom_table
- Les procédures
stockées ADD CONSTRAINT def_date
- La sécurité DEFAULT GETDATE() FOR date
- Etude de cas
- Conclusion
Les contraintes(5)

- Introduction
- Installation
 PRIMARY KEY
- Entreprise
Manager Principe: identification de façon unique
- Query analyser
- Import and d’un enregistrement
Export data
- Le langage
T-SQL
Syntaxe: PRIMARY KEY(col1,col2,..)
- Les transactions
- Les contraintes Exemple: CREATE TABLE client
- Les triggers
- Les vues code_cli INT PRIMARY KEY
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les contraintes(6)

- Introduction  FOREIGN KEY


- Installation
- Entreprise Principe: clé primaire d’une table étrangère
Manager
- Query analyser Syntaxe:
- Import and
Export data FOREIGN KEY(col1,col2,..)
- Le langage
T-SQL
REFERENCES nom_tab_etrg (col1,col2,…)
- Les transactions Exemple: ALTER
- Les contraintes
- Les triggers TABLE contient ADD
- Les vues CONSTRAINT cst_contient FOREIGN
- Les verrous
- Les procédures KEY(num_cmd,cod_art) REFERENCES
stockées
- La sécurité commande(num_cmd,nom_cmd),
- Etude de cas article(cod_art,nom_art)
- Conclusion
Les triggers(1)

- Introduction Est une procédure attaché à un événement pouvant


- Installation intervenir sur table
- Entreprise
Manager Syntaxe: CREATE
- Query analyser
- Import and
TRIGGER NOM_trigger on
Export data table_concernée AFTER insert(ou delete)(ou update)
- Le langage as /*le corps
T-SQL
- Les transactions du déclencheur*/
- Les contraintes
- Les triggers  Il existe 3 types de déclencheurs
- Les vues - sur insertion
- Les verrous
- Les procédures - sur suppression
stockées
- La sécurité - sur mise à jour
- Etude de cas
- Conclusion
Trigger

- Introduction
 Créer un trigger, type de procédure
- Installation
- Entreprise stockée souvent utilisée pour appliquer
Manager
- Query analyser
- Import and
les contraintes d'intégrité. Un trigger se
Export data
- Le langage
T-SQL
déclenche automatiquement lorsqu'un
- Les transactions
- Les contraintes utilisateur tente d'exécuter une
- Les triggers
- Les vues
- Les verrous
instruction de modification de données
- Les procédures
stockées sur une table donnée.
- La sécurité
- Etude de cas
- Conclusion
Triggers et intégrité référentielle

- Introduction
- Installation
- Entreprise
 Les triggers sont généralement
Manager
- Query analyser utilisés pour appliquer les règles d'
intégrité référentielle (règles
- Import and
Export data
- Le langage
T-SQL
- Les transactions d'intégrité relatives aux relations
- Les contraintes
- Les triggers
- Les vues
entre les clés primaires et étrangères
des tables), pour effectuer des
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas suppressions en cascade et des
- Conclusion
mises à jour en cascade.
Triggers et intégrité référentielle

- Introduction  Un trigger ne se déclenche que lorsque


- Installation
- Entreprise
l'instruction de modification de données
Manager est terminée et que SQL Server a
recherché les éventuelles atteintes aux
- Query analyser
- Import and
Export data
- Le langage types de données, règles ou contraintes
T-SQL
- Les transactions
d'intégrité. Le trigger et l'instruction qui le
- Les contraintes
- Les triggers
déclenchent sont traités comme une
- Les vues unique transaction pouvant être annulée (
- Les verrous
- Les procédures rollback ) dans le trigger. Si une erreur
stockées
- La sécurité grave est détectée, la transaction entière
- Etude de cas
- Conclusion
est annulée ( rollback ).
Triggers et intégrité référentielle

- Introduction  Pour appliquer les règles d'intégrité


- Installation
- Entreprise référentielle, vous pouvez également
Manager
- Query analyser utiliser les contraintes définies à
- Import and
Export data l'aide de l'instruction create table , au
- Le langage
T-SQL lieu d'utiliser create trigger . Pour
- Les transactions
- Les contraintes plus d'informations sur les
- Les triggers
- Les vues contraintes d'intégrité, consultez les
- Les verrous
- Les procédures sections " create table " et " alter
table ".
stockées
- La sécurité
- Etude de cas
- Conclusion
Restrictions relatives au trigger
 Un trigger ne peut être créé que dans la base de
- Introduction
données courante. Si vous utilisez un nom de
- Installation propriétaire pour qualifier le trigger, vous devez
- Entreprise
Manager procéder de même avec le nom de la table. Un
- Query analyser
- Import and trigger peut référencer des objets extérieurs à la
Export data
- Le langage base de données courante.
T-SQL
- Les transactions  Un trigger ne peut s'appliquer à plus d'une table.
- Les contraintes
- Les triggers Néanmoins, une même action déclenchée par un
- Les vues
- Les verrous trigger peut être définie pour plusieurs actions
- Les procédures
stockées
utilisateur (par exemple, insert et update ) d'une
- La sécurité
- Etude de cas
même instruction create trigger . Une table peut
- Conclusion comporter trois triggers au maximum
(correspondant à insert , update et delete ).
Restrictions relatives au trigger
 Chaque nouveau trigger d'une table ou
- Introduction colonne défini pour la même opération (
- Installation
- Entreprise insert , update ou delete ) écrase le
Manager
- Query analyser
- Import and
précédent. Aucun message de mise en
Export data
- Le langage
garde n'est donné avant cet écrasement.
T-SQL
- Les transactions  Vous ne pouvez pas créer de trigger sur une
- Les contraintes
- Les triggers
- Les vues
table temporaire.
- Les verrous
- Les procédures  Vous ne pouvez créer de trigger sur une vue.
stockées
- La sécurité
- Etude de cas
- Conclusion
Restrictions relatives au trigger
 Il est préférable de ne pas inclure, dans un trigger,
des instructions select retournant des résultats à
- Introduction
- Installation l'utilisateur. En effet ces résultats exigent un
- Entreprise
Manager
traitement spécifique qui doit être écrit dans
- Query analyser chaque programme d'application autorisant des
- Import and
Export data modifications dans la table des triggers.
- Le langage
T-SQL  Si les noms de tables, de colonnes ou de vues
- Les transactions
- Les contraintes
référencés par un trigger ne sont pas des
- Les triggers identificateurs corrects, activez l'option
- Les vues
- Les verrous quoted_identifier avant d'exécuter la commande
- Les procédures
stockées
create trigger et placez ces noms entre guillemets.
- La sécurité L'option quoted_identifier n 'a pas besoin d'être
- Etude de cas
- Conclusion active lors du déclenchement du trigger.
Triggers et transactions
 Une fois un trigger défini, l'action qu'il déclenche sur la
table à laquelle il est associé fait implicitement toujours
- Introduction partie d'une transaction, incluant le trigger lui-même.
- Installation Les triggers sont souvent utilisés pour annuler la totalité
- Entreprise
Manager
d'une transaction (rollback), en cas de détection d'une
- Query analyser erreur, ou pour annuler les effets d'une modification de
- Import and données particulière :
Export data
- Le langage  Si le trigger contient la commande rollback transaction ,
T-SQL l'annulation affecte la totalité du batch et empêche
- Les transactions l'exécution de toutes les instructions qui suivent la
- Les contraintes
- Les triggers
commande rollback .
- Les vues  Si le trigger contient la commande rollback trigger ,
- Les verrous l'annulation n'affecte que les modifications de données qui
- Les procédures
stockées
ont provoqué le déclenchement du trigger. La commande
- La sécurité rollback trigger peut inclure une instruction raiserror . Les
- Etude de cas instructions du batch qui suivent la commande rollback
- Conclusion trigger sont exécutées.
Triggers et transactions
 L'exécution d'un trigger faisant partie d'une transaction, les
instructions et procédures système suivantes ne peuvent être
- Introduction utilisées dans un trigger :
- Installation
- Entreprise
 Toutes les commandes create , dont create database , create table
Manager , create index , create procedure , create default , create rule ,
- Query analyser create trigger et create view
- Import and
Export data
 Toutes les commandes drop
- Le langage  alter table et alter database
T-SQL
- Les transactions
 truncate table
- Les contraintes  grant et revoke
- Les triggers
- Les vues  update statistics
- Les verrous  sp_configure et reconfigure
- Les procédures
stockées  load database et load transaction
- La sécurité  disk init , disk mirror , disk refit , disk reinit , disk remirror et
- Etude de cas
disk unmirror
- Conclusion
 select into
Triggers et transactions

- Introduction
 Lorsqu'un résultat (tel qu'une valeur résumée)
- Installation dépend du nombre de lignes affectées par une
- Entreprise
Manager modification des données, utilisez @@rowcount
- Query analyser
- Import and
pour tester les modifications de données sur
Export data plusieurs lignes (commande insert , delete ou
- Le langage
T-SQL update basée sur une instruction select ) et
- Les transactions
- Les contraintes
agissez en conséquence. Etant donné que les
- Les triggers instructions Transact-SQL qui ne retournent
- Les vues
- Les verrous aucune ligne (telle que l'instruction if ) affectent la
- Les procédures
stockées
valeur zéro à @@rowcount , @@rowcount doit
- La sécurité être utilisé en début de trigger.
- Etude de cas
- Conclusion
Syntaxe

- Introduction
- Installation create trigger [propriétaire.]nom_trigger
- Entreprise
Manager
on [propriétaire.]nom_table
- Query analyser
- Import and
for {insert , update}
Export data
- Le langage
as
T-SQL [if update (nom_colonne)
- Les transactions
- Les contraintes [{and | or} update (nom_colonne)]...]
- Les triggers
- Les vues instruction_SQL
- Les verrous
- Les procédures [if update (nom_colonne)
stockées
- La sécurité
[{and | or} update (nom_colonne)]... instruction_SQL]...
- Etude de cas
- Conclusion
Mots-clés et options

- Introduction
- Installation
- Entreprise nom_trigge r : nom du trigger. Il doit respecter les
Manager
- Query analyser règles relatives aux identificateurs et être
- Import and
Export data unique dans la base de données.
- Le langage
T-SQL
- Les transactions
- Les contraintes
- Les triggers insert , update , delete : vous pouvez les inclure
- Les vues
- Les verrous dans n'importe quelle combinaison. delete ne
- Les procédures
stockées peut être utilisé avec la clause if update .
- La sécurité
- Etude de cas
- Conclusion
Mots-clés et options

- Introduction
instruction_SQL : spécifie les conditions associées au
- Installation trigger et les actions déclenchées par le trigger. Les
- Entreprise
Manager
conditions associées au trigger déterminent si
- Query analyser l'exécution de insert , update ou delete déclenche le
- Import and
Export data
trigger. Elles incluent souvent une sous-requête
- Le langage précédée du mot-clé if . Dans l'exemple 2, la sous-
T-SQL
- Les transactions
requête suivant le mot-clé if est la condition
- Les contraintes associée au trigger.
- Les triggers
- Les vues Les actions déclenchées par le trigger sont exécutées
- Les verrous lorsque l'utilisateur tente de lancer une commande
- Les procédures
stockées
insert , update , ou delete . Lorsque plusieurs
- La sécurité actions sont indiquées, elles sont délimitées par
- Etude de cas
- Conclusion
begin et end .
Mots-clés et options

Vous trouverez dans la section ''Triggers et transactions'' une


- Introduction
- Installation
liste des instructions qui ne peuvent être utilisées dans la
- Entreprise définition d'un trigger. Pour plus d'informations sur les
Manager tables logiques inserted et deleted qui peuvent être
- Query analyser
- Import and
incluses dans une définition de trigger, reportez-vous à la
Export data section ''Tables logiques inserted et deleted''.
- Le langage
T-SQL
if update - permet de tester si la colonne spécifiée est incluse
- Les transactions dans la liste set d'une instruction update ou si elle est
- Les contraintes affectée par un insert . Cela vous permet d'associer les
- Les triggers actions spécifiques déclenchées par le trigger aux mises à
- Les vues
- Les verrous
jour effectuées sur des colonnes spécifiées. (Voir l'exemple
- Les procédures 3.) Vous pouvez spécifier plusieurs colonnes et utiliser
stockées plusieurs instructions if update dans une instruction create
- La sécurité
- Etude de cas
trigger .
- Conclusion
Les triggers(2)

- Introduction  AFTER
- Installation
- Entreprise 1 CREATE TRIGGER commandes_insert ON
Manager
- Query analyser commandes AFTER INSERT
- Import and
Export data 2 AS
- Le langage
T-SQL 3 UPDATE Clients
- Les transactions
- Les contraintes
4 SET nb_commande=nb_commande + 1
- Les triggers FROM Clients AS a JOIN inserted AS b ON (a.code_cli
- Les vues
- Les verrous = b.code_cli)
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les triggers(3)

- Introduction
- Installation
 AFTER
- Entreprise
Manager 2 CREATE TRIGGER commandes_delete ON
- Query analyser
- Import and commandes AFTER DELETE AS
Export data UPDATE Clients
- Le langage
T-SQL SET nb_commande=nb_commande - 1
- Les transactions
- Les contraintes FROM Clients AS a JOIN deleted AS b ON (a.code_cli
- Les triggers
- Les vues
= b.code_cli)
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les triggers(4)

- Introduction
- Installation  AFTER
- Entreprise
Manager
- Query analyser
- Import and
Export data CREATE TRIGGER ouvrages_update
- Le langage
T-SQL
ON ouvrages AFTER UPDATE AS
- Les transactions IF UPDATE (isbn)
- Les contraintes
- Les triggers BEGIN
- Les vues
- Les verrous
RAISEERROR (’Le numéro ISBN ne peut pas
- Les procédures être modifie’, 0, 1)
stockées
- La sécurité ROLLBACK TRANSACTION
- Etude de cas
- Conclusion END
Les triggers(5)

- Introduction  INSTEAD OF
- Installation
- Entreprise
Manager CREATE TRIGGER commandes_delete2 ON
- Query analyser
- Import and
commandes INSTEAD OF DELETE
Export data AS UPDATE Clients
- Le langage
T-SQL SET nb_commande = nb_commande – 1 FROM
- Les transactions
- Les contraintes Clients AS a JOIN deleted AS b ON (a.cod_cli =
- Les triggers
- Les vues b.cod_cli)
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les triggers(5) : Exemple

- Introduction create trigger reminder


- Installation
- Entreprise
Manager
on titles
- Query analyser
- Import and for insert, update as
Export data
- Le langage print "N'oubliez pas d'imprimer le
T-SQL
- Les transactions
- Les contraintes
rapport."
- Les triggers
- Les vues Affiche un message lors de chaque
- Les verrous
- Les procédures
stockées
tentative d'ajout ou de modifications de
- La sécurité
- Etude de cas données dans la table titles .
- Conclusion
Les triggers(5) : Exemple

- Introduction
 create trigger t1
- Installation on titleauthor
- Entreprise
Manager
for insert as
- Query analyser
- Import and
if (select count(*)
Export data from titles, inserted
- Le langage
T-SQL
where titles.title_id = inserted.title_id) = 0
- Les transactions begin
- Les contraintes
- Les triggers
print "Indiquez d'abord title_id dans la table
- Les vues
- Les verrous
titles."
- Les procédures rollback transaction
stockées
- La sécurité
end
- Etude de cas
- Conclusion
 Empêche l'insertion d'une nouvelle ligne dans
la table titleauthor lorsque la table titles ne
contient pas de title_id correspondant.
Les triggers(5) : Exemple

- Introduction
 create trigger t2
- Installation on publishers
- Entreprise
Manager
for update as
- Query analyser
- Import and
if update (pub_id) and @@rowcount = 1
Export data begin
- Le langage
T-SQL
update titles
- Les transactions set titles.pub_id = inserted.pub_id
- Les contraintes
- Les triggers
from titles, deleted, inserted
- Les vues
- Les verrous
where deleted.pub_id = titles.pub_id
- Les procédures end
stockées
- La sécurité  En cas de modification de la colonne pub_id
- Etude de cas
- Conclusion
de la table publishers , effectuez les
changements correspondants dans la table
titles .
Les triggers(5) : Exemple

 create trigger t3
- Introduction
- Installation
on titleauthor
- Entreprise for delete as
Manager begin
- Query analyser delete titles
- Import and
Export data from titles, deleted
- Le langage where deleted.title_id = titles.title_id
T-SQL delete titleauthor
- Les transactions
- Les contraintes
from titleauthor, deleted
- Les triggers where deleted.title_id = titleauthor.title_id
- Les vues print "Toutes les références à ce titre ont
- Les verrous
- Les procédures
été supprimées de titles et de titleauthor."
stockées end
- La sécurité  Toute ligne supprimée dans titleauthor l'est aussi dans la
- Etude de cas
- Conclusion
table titles . Si le livre a été écrit par plusieurs auteurs,
les données le référençant dans titleauthor sont
également détruites.
Les triggers(5) : Exemple

 create trigger stopupdatetrig


- Introduction on titles
- Installation for update
- Entreprise as
Manager if update (title_id)
- Query analyser and datename(dw, getdate())
- Import and in ("samedi", "dimanche")
Export data begin
- Le langage rollback transaction
T-SQL print "Modifications de clés primaires"
- Les transactions print "interdites le week-end !"
- Les contraintes end
- Les triggers if update (price) or update (advance)
- Les vues if (select count (*) from inserted
- Les verrous where ([Link] * inserted.total_sales)
- Les procédures < [Link]) > 0
stockées begin
- La sécurité rollback transaction
- Etude de cas print "Aucune modification du prix ou de"
- Conclusion print "l'avance d'un titre tant que le montant"
print "total des bénéfices pour ce titre"
print "ne dépasse pas la dernière avance"
end
Les triggers(6)

- Introduction
- Installation
 Compléments
- Entreprise
Manager - DROP TRIGGER commandes_insert
- Query analyser
- Import and - ALTER TRIGGER commandes_insert
Export data
- Le langage - ALTER TABLE nom_table
T-SQL
- Les transactions
DISABLE TRIGGER commandes_insert
- Les contraintes --- d’autre instruction puis
- Les triggers
- Les vues ALTER TABLE nom_table
- Les verrous
- Les procédures ENABLE TRIGGER commandes_insert
stockées
- La sécurité
- Etude de cas
- Conclusion
Les vues(1)

- Introduction
- Installation
 Définition
- Entreprise
Manager Une vue est une table virtuelle, c'est-à-dire
- Query analyser
- Import and
Export data
dont les données ne sont pas stockées dans
- Le langage
T-SQL
une table de la base de données, et dans
- Les transactions
- Les contraintes laquelle il est possible de rassembler des
- Les triggers
- Les vues
- Les verrous
informations provenant de plusieurs tables.
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les vues(2)

- Introduction
 Syntaxe et déclaration
- Installation
- Entreprise
CREATE VIEW VueCommandes
Manager ([Nom du client], [Article commande])
- Query analyser
- Import and AS
Export data
- Le langage
SELECT b.clt_nom, c.art_nom
T-SQL FROM commandes AS a
- Les transactions
- Les contraintes
JOIN clients AS b
- Les triggers ON a.cmd_clt = b.clt_num
- Les vues
- Les verrous JOIN articles AS c
- Les procédures
stockées
ON a.cmd_art = c.art_num
- La sécurité
- Etude de cas
 Suppression
- Conclusion DROP VIEW VueCommandes
Les vues(3)
Mots-clés et options
 nom_vue : nom de la vue . Il ne peut inclure le nom de la base de
- Introduction
- Installation données. Si l'option quoted_identifier est activée, vous pouvez
- Entreprise utiliser un identificateur délimité. Sinon, le nom de la vue doit être
Manager
- Query analyser conforme aux règles relatives aux identificateurs. Pour plus
- Import and d'informations sur les noms de vues autorisés, reportez-vous à la
Export data
- Le langage section ''Identificateurs''.
T-SQL
- Les transactions  nom_colonne : indique les noms à utiliser comme en-têtes dans les
- Les contraintes colonnes de la vue. Si l'option quoted_identifier est activée, vous
- Les triggers
- Les vues pouvez utiliser un identificateur délimité. Sinon, le nom de la colonne
- Les verrous doit respecter les règles relatives aux identificateurs. Pour plus
- Les procédures
stockées d'informations sur les noms de colonnes autoriés, reportez-vous à la
- La sécurité
- Etude de cas
section ''Identificateurs''.
- Conclusion
Les vues(4)
Restrictions relatives aux vues
 Une vue ne peut être créée que dans la base de données courante.
- Introduction
- Installation  Le nombre de colonnes référencées par une vue ne peut excéder 250.
- Entreprise
Manager  Vous ne pouvez pas créer de vue sur une table temporaire.
- Query analyser
- Import and  Vous ne pouvez pas créer de trigger ou construire un index sur une
Export data vue.
- Le langage
T-SQL  Vous ne pouvez pas utiliser readtext ou writetext sur des colonnes
- Les transactions
- Les contraintes de type text ou image dans des vues.
 Vous ne pouvez pas inclure de clauses order by ou compute , le
- Les triggers
- Les vues
- Les verrous mot-clé into ou l'opérateur union dans les instructions select
- Les procédures
stockées
définissant les vues.
- La sécurité
- Etude de cas
- Conclusion
Les vues(5)
 create view "nouvelle vue" ("column 1", "column 2")
as select col1, col2 from "vue précédente"
Crée la vue "nouvelle vue" à partir de la vue "vue précédente". Les deux
- Introduction
- Installation
colonnes de la nouvelle vue sont renommées. Les noms de vues et de
- Entreprise colonnes comportant des blancs imbriqués figurent entre guillemets.
Manager Avant de créer la vue, vous devez activer l'option quoted_identifier .
- Query analyser
- Import and
Export data
- Le langage  create view cities (authorname, acity, publishername, pcity)
T-SQL as select au_lname, [Link], pub_name,
- Les transactions [Link]
- Les contraintes
- Les triggers from authors, publishers
- Les vues where [Link] = [Link]
- Les verrous
- Les procédures Crée une vue à partir de deux tables sous-jacentes, authors et publishers .
stockées La vue contient les noms et villes des auteurs habitant dans une ville
- La sécurité
- Etude de cas où un éditeur est établi.
- Conclusion
Les vues(5)
 create view stores_cal
as select * from stores
where state = "CA"
- Introduction with check option
- Installation
- Entreprise
Crée une vue de la table stores excluant les informations relatives aux
Manager magasins situés hors de Californie. La clause with check option valide
- Query analyser chaque ligne insérée ou mise à jour d'après les critères de sélection de
- Import and
Export data la vue. Les lignes dont la valeur pour state n'est pas "CA" sont
- Le langage rejetées.
T-SQL
- Les transactions  create view stores_cal30_check
- Les contraintes as select * from stores_cal
- Les triggers
- Les vues
where payterms = "Net 30"
- Les verrous with check option
- Les procédures
stockées
Crée la vue stores_cal30_check à partir de stores_cal . Cette vue hérite de
- La sécurité l'option de vérification ( check option ) de stores_cal . Cette dernière
- Etude de cas possède sa propre clause with check option . Les lignes insérées ou
- Conclusion
mises à jour par stores_cal30_check sont validées d'après les critères
de sélection de stores_cal et stores_cal30_check . Les lignes dans
lesquelles la valeur de state est différente de "CA" ou la valeur de
payterms, différente de "Net 30" sont rejetées.
Les verrous(1)

- Introduction
- Installation
 Nécessité
- Entreprise
Manager empêcher les autres utilisateurs de
- Query analyser
- Import and
Export data
lire ou modifier les données faisant
- Le langage
T-SQL
l’objet d’une transaction inachevée
- Les transactions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Les verrous(2)

- Introduction  Isolation
- Installation
- Entreprise
Manager
Le niveau d’isolation par défaut est
- Query analyser READ COMMITTED, il garantit
- Import and
Export data seulement que les données sont
- Le langage
T-SQL cohérentes au moment de leur
- Les transactions
- Les contraintes
lecture
- Les triggers
- Les vues SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- Les verrous
- Les procédures  Verrouillage maximum
stockées
- La sécurité SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
- Etude de cas
- Conclusion
Les verrous(3)

- Introduction  Délai d’attente de transactions


- Installation
- Entreprise
Manager
(il n’y en a pas par défaut)
- Query analyser
- Import and SET LOCK_TIMEOUT duree_ms
Export data
- Le langage
T-SQL
 Remarques :
- Les transactions
- Les contraintes
- Les triggers
 Ces instructions sont attachées à la
- Les vues
- Les verrous
connexion qui les exécute.
- Les procédures
stockées  Ils restent valables pour toutes les
- La sécurité
- Etude de cas transactions qui suivent, jusqu’`a la
- Conclusion
déconnexion.
Les verrous(4)

- Introduction
- Installation
 Verrouillage niveau table
- Entreprise
Manager BEGIN TRAN
- Query analyser
- Import and UPDATE clients WITH(HOLDLOCK)
Export data SET ...
- Le langage
T-SQL
- Les transactions
COMMIT TRAN
- Les contraintes
- Les triggers
- Les vues
 Verrouillage des enregistrements
- Les verrous BEGIN TRAN
- Les procédures
stockées UPDATE clients WITH(ROWLOCK)
- La sécurité
- Etude de cas
SET ...
- Conclusion
COMMIT TRAN
La sécurité

- Introduction
- Installation
 Principe
- Entreprise
Manager - gestion des comptes utilisateurs
- Query analyser
- Import and
Export data
et leurs mots de passe
- Le langage
T-SQL
- gestion des droits d’utilisateurs
- Les transactions
- Les contraintes
- Les triggers
 Les principaux méthodes de sécurité
- Les vues
- Les verrous
- Les procédures
- connexion
stockées
- La sécurité
- rôle
- Etude de cas
- Conclusion - autorisation
Connexion(1)

- Introduction
- Installation
 Principe
- Entreprise
Manager création des comptes donnant
- Query analyser
- Import and
Export data
accès à un serveur SQLserver
- Le langage
T-SQL  Remarque:
- Les transactions
- Les contraintes
- Les triggers ces comptes peuvent être locaux
- Les vues
- Les verrous
- Les procédures
de la machine ou bien des comptes
stockées
- La sécurité
hérités de windows
- Etude de cas
- Conclusion
Connexion(2)

- Introduction
 Syntaxe
- Installation
- Entreprise
Nouveau compte SQLServer
Manager
- Query analyser
sp_addlogin
- Import and ’login’,
Export data
- Le langage ’password’,
T-SQL
- Les transactions
’database’
- Les contraintes
- Les triggers
Héritage d’une connexion windows
- Les vues
- Les verrous
sp_grantlogin ‘domaine/login’
- Les procédures sp_defaultdb ‘domaine/login’,’database’
stockées
- La sécurité Création du compte
- Etude de cas
- Conclusion sp_grantdbaccess ’login’
Rôle(1)

- Introduction  Principe
- Installation
- Entreprise
Manager
regrouper les utilisateurs selon leurs
- Query analyser
- Import and
autorisations
Export data
- Le langage  Syntaxe
T-SQL
- Les transactions sp_addsrvrolemember ’login’,’role’
- Les contraintes
- Les triggers ajouter un utilisateur à un rôle
- Les vues
- Les verrous
- Les procédures
 Sur les serveurs
stockées
- La sécurité
- Etude de cas
- Conclusion
Rôle(2)

- Introduction  Dans une base de données


- Installation
- Entreprise
Manager
Syntaxe
- Query analyser
- Import and
sp_addrole ‘nom_rôle’
Export data sp_addrolemember ‘nom_rôle’,’login’
- Le langage
T-SQL ajouter un rôle et un utilisateur à ce rôle
- Les transactions
- Les contraintes
- Les triggers
- Les vues
- Les verrous
- Les procédures
stockées
- La sécurité
- Etude de cas
- Conclusion
Autorisation(1)

- Introduction  Principe
- Installation
- Entreprise
Manager
accorder ou retirer des droits à un
- Query analyser
- Import and
utilisateur
Export data
- Le langage
T-SQL
 Intérêt
- Les transactions
- Les contraintes satisfaire les besoins de chaque
- Les triggers
- Les vues utilisateur
- Les verrous
- Les procédures
stockées
 Les principaux mots clés
- La sécurité
- Etude de cas GRANT
- Conclusion
REVOKE
Autorisation(2)

- Introduction  GRANT
- Installation
- Entreprise  Définition: permet d’attribuer des permissions à un
Manager ou plusieurs utilisateurs sur un ou plusieurs éléments
- Query analyser
- Import and de la base de données
Export data
- Le langage
 Syntaxe:
T-SQL GRANT liste de permissions ON liste d’objets TO liste d’utilisateurs
- Les transactions
- Les contraintes
 Exemples:
- Les triggers 1)- autoriser à l’utilisateur Adnan de créer des tables
- Les vues
- Les verrous
GRANT CREATE TABLE TO Adnan
- Les procédures
stockées
2)- autoriser la selection sur la table client GRANT
- La sécurité SELECT ON client TO Adnan
- Etude de cas
- Conclusion
Autorisation(3)

- Introduction
 REVOKE
- Installation  Définition: permet de retirer des permissions à un ou
- Entreprise
Manager
plusieurs utilisateurs sur un ou plusieurs élément de la
- Query analyser base de données
- Import and
Export data  Syntaxe:
- Le langage REVOKE liste des permissions ON listes d’objets TO liste d’utilisateurs
T-SQL
- Les transactions  Exemples:
- Les contraintes
- Les triggers 1)- retirer les droits de la création des tables et des bases
- Les vues de données à l’utilisateur Hicham
- Les verrous REVOKE CREATE DATABASE,CREATE TABLE TO Hicham
- Les procédures
stockées 2)- retirer les droits d’insertion,de modification et de
- La sécurité suppression à l’utilisateur Hicham
- Etude de cas
REVOKE INSERT,UPDATE,DELETE ON client TO Hicham
- Conclusion
Les transactions

 Définition d’une transaction:suite d’instructions qui réussissent ou


échouent en totalité (pas de réussite partielle) .
 Syntaxe:
Begin tran
/* suite d’instructions */
Commit tran
Les contraintes

 Assurent la cohérence de la base de donnée, il existe trois


types :
 Contraintes de domaine .

 Contraintes des entités .

 Contraintes référentielle .

 Modifications des données: INSERT,DELETE,UPDATE.


Etude de Cas (1)

 la gestion des notes d'étudiants qui suivent les différents


enseignements d'un diplôme.
 Elaboration du dictionnaire des données.
 Règles de gestion .
 Construction des entités de données:
ETUDIANT (Numetu, Nometu, Dtnaiss)
ENSEIGNANT (Numens, Nomens, Grade, Ancien)
MATIERE (Numat, Nomat, Coeff)
NOTES (Numetu, Numat, Note)
 Modèle physique de donnée:
Etude de cas (2)
Gestion de la sécurité

 l’administrateur crée des comptes utilisateurs avec mot de passe et


définira les données accessibles à partir de ce compte et la base de
donnée par défaut.
 les propriétés d’une connexion c’est l’ensemble de possibilités pour
les droits d’accès tel que:« db_owner », « data_reader » ,
« data_writer » .
Rôles

 Sont comparables à des groupes sous Windows (tel que le


groupe administrateur). En fait, ils donnent un ensemble de
droits propre à tout le serveur SQL Server et non plus une seule
base de données.
 le rôle « sysadmin », qui regroupe le compte « sa » et le
« groupe administrateurs local », permet d’avoir tous les droits
sur le serveur SQL Server.
Conclusion

 Grâce à SQL Server ,l’administrateur pourra


planifier, un serveur de base de donnée, gérer
les fichiers et les bases de données , gérer la
sécurité , sauvegarder et restaurer des bases
de données et enfin répliquer des données à
partir d'un serveur SQL Server .

Vous aimerez peut-être aussi