SQL Server
SQL Server
- 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
- 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)
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 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 ;
Des conflits peuvent se produire et, le cas échéant, vous devez pouvoir les détecter et
les résoudre.
- 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
- 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)
- 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 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
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
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
- 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 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
- 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
- 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 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
Contraintes référentielle .