SQL LDD
SQL LDD
SQL LDD
DE DONNÉE(LDD)
CHCHAB MOHAMED
INTRODUCTION
Syntaxe :
Use Master
Go
CREATE DATABASE Test
ON PRIMARY
( NAME = ‘Test',
FILENAME = 'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\Test.mdf',
SIZE = 3072KB ,
MAXSIZE = 20Mb,
FILEGROWTH = 1024KB )
LOG ON
( NAME = ' Test_log',
FILENAME = 'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\Test_log.ldf' ,
SIZE = 1024KB ,
MAXSIZE = 10Mb,
FILEGROWTH = 10%)
GO
CRÉATION DES TABLES
• Syntaxe :
CREATE TABLE table
(
column1 datatype [DEFAULT expr],
column2 datatype,
...)
Exemple :
Use Teste;
Go;
CREATE TABLE Etudiant
(
num_etud int,
nom_auditeur varchar(30)
);
Go;
• Expression colonne calculée
Expression définissant la valeur d'une colonne calculée
• Syntaxe:
(Column1 as (Formule avec d’autre colonne))
• Exemple :
Total as (qte * prix)
MODIFICATION DES TABLES
Syntaxe de base
Exemple :
DROP TABLE Client
GESTION DES CONTRAINTES
D’INTÉGRITÉ
• Définition :
• Une vue est une table virtuelle dont la définition
s’appuie sur des tables ou d’autres vues. Elle affiche
des données qui ne lui sont pas propres, mais c’est
comme une fenêtre par laquelle il est possible de
visualiser ou de modifier des données venant des
tables
LES VUES
• Syntaxe :
• Création d'une Vue
CREATE VIEW view_name
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
• WITH CHECK OPTION.
Cette option impose que toutes les instructions de modification de données exécutées sur la vue
respectent le critère défini dans select_statement.
• Modifier une vue : Alter
ALTER VIEW view_name
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
• Suppression d'une Vue
L'ordre DROP VIEW view_name : permet de supprimer une vue. La suppression d'une vue n'a
aucun effet sur les tables sur lesquelles la vue est basée.
DÉCLARATION ET
AFFECTATION DES VARIABLES
• Déclaration des variables locales
Syntaxe générale : Declare @nom_variable type
Le caractère @ est obligatoire
-Exemple : Declare @maVariable int
- Déclaration multiple :
- Declare @var1 type1, @var2 type2
- Exemple :Declare @x int, @y int, @z char
- NB : Declare @x ,@y int est incorrecte
Affectation
Syntaxe générale : Select @variable=Expression où set
@variable=Expression
-Exemple :select @i=3
-set @j=4
-select @str='TSDI'
-Affectation multiple
-select @i=3,@j=4,@str='TSDI' est correcte
-Mais set @i=3, @j=4, @str='TSDI' est une affectation
incorrecte.
-Affichage
• Syntaxe :
If(condition)
-instruction ou bloc d’instruction
else
-instruction ou bloc d’instruction
• Structure Itérative
La structure itérative est une structure qui permet d’exécuter
un même traitement plusieurs fois.
• Syntaxe générale :
While(condition)
-instruction ou bloc d’instructions
où
Etiquette : -instruction ou bloc d’instructions
goto etiquette
PROCÉDURES STOCKÉES
• Syntaxe
CREATE PROC[EDURE] procedure_name @parameter
data_type
AS sql_statement [ ...n ]
FONCTIONS
• CREATE FUNCTION [ schema_name.] function_name
( [ { @parameter_name [ AS ][ type_schema_name. ]
parameter_data_type [=default]} [ ,.....n ] ] )
• Scalar Functions (retourne une valeur)
RETURNS return_data_type
[ AS ]
BEGIN function_body
RETURN scalar_expression
END[ ; ]
• Inline Table-valued Functions (retourne une table online)
RETURNS TABLE
[ AS ]
RETURN [ ( ] select_stmt [ ) ] [ ; ]
FONCTIONS
• Multistatement Table-valued Functions (retourne une table
on multi -instruction)
RETURNS @return_variable TABLE < table_type_definition >
[ AS ]
BEGIN
function_body
RETURN
END
[;]
Pour la Suppression : Drop Function F
et la Modification :, Alter Function F
TRIGGERS (DÉCLENCHEURS)
• Principe de fonctionnement.
• INSTEAD OF (au lieu de): Les déclencheurs INSTEAD OF peuvent être définis
sur des tables ou des vues; remplace le traitement de l’action (Insert, Delete ou
Update), en peut avant l’action, est utilisé comme suit:
• Cas de suppression (Delete) : La/les lignes supprimées sont placées dans la table
temporaire DELETED et non supprimées de la table réelle;
• Cas de création d’une (Insert) : La/les lignes nouvelles sont placées dans la table
temporaire INSERTED et non dans la table réelle;
• Cas de modification d’une ligne de table (Update) : La/les lignes avant
modification sont placées dans la table temporaire DELETED et reste dans la table
réelle, et la/les lignes après modification sont placées dans la table temporaire
INSERTED et non dans la table réelle.
TRIGGERS (DÉCLENCHEURS)
• Syntaxe :
CREATE TRIGGER nom_trigger ON nom_table FOR INSERT
AS bloc d’instruction SQL