École Marocaine des Sciences de l’Ingénieur
Filière: IIR
Microsoft SQL Server
et Transact SQL
Prof. Zakaria KHATAR
SQL Server - Transact SQL
INTRODUCTION
INITIATION AU SGBD
Microsoft SQL SERVER
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Définition de SQL Server :
SQL Server est un système de gestion de base de données relationnel (SGBD)
développé par Microsoft. Il permet de stocker, de gérer et de manipuler des données
en utilisant le langage SQL de manière efficace et sécurisée.
Utilisateur SGBD Base de données
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Versions de SQL Server :
SQL Server a été fondé en 1989 par Microsoft pour les environnements Windows.
Les versions les plus récentes : Voici les dix dernières versions de SQL Server,
lancées à des dates différentes :
1998 2000 2005 2008 2012
2014 2016 2017 2019 2022
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Editions de SQL Server :
Il existe quatre éditions de SQL Server : Express, Developer, Standard et Enterprise
Édition Prix Public cible Fonctionnalités
Usage académique,
EXPRESS Gratuit personnel ou petits Limité, capacité de traitement de base
projets
Toutes les fonctionnalités de l'édition
DEVELOPER Gratuit Développeurs Enterprise, à des fins de
développement et de test uniquement
Entreprises de petite à Plus de fonctionnalités, capacité de
STANDARD Payant
moyenne taille traitement supérieure
Fonctionnalités supplémentaires pour
ENTERPRISE Payant Grandes entreprises la gestion de données et la
disponibilité
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Compatibilité du SQL Server avec les différents systèmes :
SQL Server peut être installé sur différents systèmes, comme :
Windows Server et Windows Workstation (Windows 10 ou Windows 11) les plus
couramment utilisées.
Depuis 2016, Microsoft a commencé à délivrer des éditions de SQL Server
compatibles avec les systèmes d'exploitation Linux Server, offrant une plus grande
flexibilité pour les développeurs et les administrateurs de bases de données.
Enfin, Microsoft a récemment autorisé l'utilisation de SQL Server sur la plateforme
Docker, facilitant la distribution, le déploiement et la gestion des instances SQL
Server dans un conteneur Docker.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Comparaison des SGBD SQL Server et Oracle sur les principaux critères :
Caractéristique SQL Server Oracle
Coût de la licence Moins cher que Oracle Plus cher que SQL Server
Intégration avec d'autres Bonne intégration avec les Bonne intégration avec les
produits produits Microsoft produits Oracle
Facilité d'utilisation Considéré plus facile à Considéré plus complexe à
utiliser que Oracle utiliser que SQL Server
Scalabilité Bonnes fonctionnalités de Bonnes fonctionnalités de
mise à l'échelle mise à l'échelle
Fiabilité Bonne fiabilité Très bonne fiabilité
Sécurité Bonne sécurité Très bonne sécurité
Flexibilité Bonne flexibilité Très bonne flexibilité
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Instance de SQL Server:
Une instance de SQL Server est comme une copie individuelle de l'application de
base de données qui fonctionne sur un même ordinateur. C'est comme si vous aviez
plusieurs copies de l'application Microsoft Word sur votre ordinateur, chacune portant
un nom différent.
Le nom de l'instance par défaut de SQL Server Express est "SQLEXPRESS".
Par exemple
Vous pourriez avoir une instance de SQL Server nommée "BDD1" pour gérer
une base de données de gestion de stock et une autre instance nommée
"BDD2" pour gérer une base de données de suivi de commandes sur le même
ordinateur. Chacune de ces instances aura ses propres bases de données,
tables et utilisateurs, et elles fonctionneront indépendamment l'une de l'autre.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Types de fichiers de SQL Server :
• Les fichiers .mdf ou Master Data File (Fichier de données
.mdf principal) sont les fichiers principaux de la base de données,
qui contiennent les données stockées.
• Les fichiers .ndf ou Secondary Data File (Fichier de données
.ndf secondaire) sont des fichiers secondaires qui peuvent être
utilisés pour stocker des données supplémentaires.
• Les fichiers .ldf ou Log Data File (Fichier de données de
.ldf journalisation) sont des journaux de transaction qui
enregistrent les modifications apportées aux données dans la
base de données.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Le schéma relationnel :
Facture(numFacture, #numClient, dateFacture, montantHT, montantTVA, …)
Client(numClient, titreClient, nomClient, …)
Clé étrangère précédé d’un #
Table 1 :
Facture(numFacture, #numClient, dateFacture, montantHT, montantTVA, …)
• numFacture : Clé primaire et numClient : Clé étrangère
Table 2 :
Client(numClient, titreClient, nomClient, …)
• Clé primaire : numClient
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
SQL Server Management Studio (SSMS) :
SQL Server Management Studio (SSMS) est un programme informatique qui permet de
gérer et administrer des bases de données SQL Server. Il est développé par Microsoft et
offre une interface facile à utiliser pour effectuer des tâches telles que la création de
bases de données, la modification de données et la sécurisation des données stockées.
Interface de SQL Server
Management Studio
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Téléchargement de SQL Server :
1. Allez sur le site Web de Microsoft: [Link]
server/sql-server-downloads
2. Sélectionnez la version SQL Server Express.
3. Cliquez sur le bouton "Télécharger maintenant".
4. Suivez les instructions pour installer SQL Server sur votre ordinateur.
Pour un usage académique, Microsoft nous recommande d'utiliser SQL Server Express.
Il s'agit d'une version gratuite qui convient à nos activités de formation. Elle dispose de
suffisamment de fonctionnalités pour gérer et interroger des bases de données.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION
Rappel :
Langage de Définition de Données (LDD)
et Langage de Manipulation de Données (LMD)
SQL Server/Transact SQL – Prof. Zakaria KHATAR
LANGAGE DE DÉFINITION DES DONNÉES (LDD)
Rappel : Création d'une base de données et de tables :
COMMANDE DESCRIPTION
CREATE DATABASE database_name; Créer une nouvelle base de données avec un nom spécifié
CREATE TABLE table_name (
column1 datatype1 [constraint], Créer une nouvelle table avec des colonnes et des types de
Column2 datatype2 [constraint] données spécifiés
...);
Exemple : CREATE DATABASE AutoLocation;
CREATE TABLE Client (
ClientID INT PRIMARY KEY,
Nom VARCHAR(50),
Prenom VARCHAR(50)
);
SQL Server/Transact SQL – Prof. Zakaria KHATAR
LANGAGE DE DÉFINITION DES DONNÉES (LDD)
Rappel : Création de tables en nommant les contraintes :
Pour créer une table en nommant les contraintes, on peut utiliser soit la première
syntaxe, soit la deuxième :
Commande SQL Description Syntaxe
CREATE TABLE MaTable (
Crée une nouvelle
Colonne1 INT CONSTRAINT NomPK PRIMARY KEY,
Nommer une table avec une ou
Colonne2 INT CONSTRAINT NomFK REFERENCES MaTable(Colonne1)
contrainte sur la plusieurs contraintes
Colonne3 VARCHAR(50) CONSTRAINT NomContrainte3 NOT NULL,
colonne (attribut) nommées sur la
Colonne4 DECIMAL(10,2) CONSTRAINT NomContrainte4 CHECK
colonne (attribut)
(Colonne4 > 0) );
CREATE TABLE MaTable (
Nommer une Crée une nouvelle Colonne1 INT,
table avec une ou Colonne2 VARCHAR(50),
contrainte sur la
plusieurs contraintes Colonne3 DECIMAL(10,2),
table nommées sur la table CONSTRAINT NomPK PRIMARY KEY(Colonne1, Colonne2),
CONSTRAINT NomFK FOREIGN KEY(Colonne3) REFERENCES
AutreTable(AutreColonne) );
SQL Server/Transact SQL – Prof. Zakaria KHATAR
LANGAGE DE DÉFINITION DES DONNÉES (LDD)
Types de données dans SQL Server :
TYPE NUMÉRIQUE DESCRIPTION
bigint Entier long compris entre -2^63 et 2^63-1
int Entier compris entre -2^31 et 2^31-1
smallint Entier court compris entre -32,768 et 32,767
bit Valeur booléenne (1 ou 0)
decimal(p, s) ou numeric(p, s) Nombre décimal: p chiffres avant la virgule et s chiffres après la virgule
float(n) Nombre à virgule flottante avec n pour la précision
TYPE ALPHANUMÉRIQUE DESCRIPTION
char(n) Chaîne de caractères fixe de longueur n
varchar(n) Chaîne de caractères variable de longueur maximale n
text Chaîne de caractères variable de longueur maximale de 2 Go
SQL Server/Transact SQL – Prof. Zakaria KHATAR
LANGAGE DE DÉFINITION DES DONNÉES (LDD)
Types de données dans SQL Server :
TYPE TEMPORELLE DESCRIPTION
datetime Date et heure
date Date uniquement
time Heure uniquement
TYPE BINAIRE DESCRIPTION
binary(n) Données binaires de longueur fixe de n octets
varbinary(n) Données binaires de longueur variable de longueur maximale n
image Données binaires de longueur variable de 2 Go maximum
SQL Server/Transact SQL – Prof. Zakaria KHATAR
LANGAGE DE DÉFINITION DES DONNÉES (LDD)
Rappel : Langage de Manipulation de Données (LMD) :
Les commandes de LMD :
Commande SQL Description Syntaxe
INSERT INTO MaTable (Colonne1, Colonne2, Colonne3)
Insère de nouvelles lignes de VALUES (Valeur1, Valeur2, Valeur3);
INSERT INTO
données dans une table Ou Bien :
INSERT INTO MaTable VALUES (Valeur1, Valeur2, Valeur3);
Met à jour les valeurs d'une
ou plusieurs colonnes d'une UPDATE MaTable SET Colonne1 = Valeur1 WHERE
UPDATE
ou plusieurs lignes dans une Colonne2 = Valeur2;
table
Supprime une ou plusieurs
DELETE FROM lignes de données dans une DELETE FROM MaTable WHERE Colonne1 = Valeur1;
table
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION
Découverte de SQL Server Management Studio
Initiation au SGBD Microsoft SQLSERVER
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Exécutez le programme d'installation
en cliquant sur le fichier téléchargé.
Sélectionnez le type d'installation :
De base
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Acceptez les termes et conditions de
la licence.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Cliquez sur Installer.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Après avoir terminé l'installation de
SQL Server, on va maintenant passer
à SQL Server Management Studio
(SSMS).
Pour cela, cliquez sur Installer SSMS
afin de télécharger l'outil.
Une nouvelle fenêtre s'ouvrira pour
procéder au téléchargement de SQL
Server Management Studio.
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Cliquez sur Téléchargement gratuit
de SQL Server Management (SSMS)
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Cliquez sur Installer pour commencer
l’installation de SQL Server
Management Studio (SSMS)
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Installation de SQL Server :
Une fois l'installation terminée, cliquez
sur le bouton Fermer.
Maintenant, vous êtes prêt à
commencer à utiliser SQL Server et SQL
Server Management Studio (SSMS).
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Commandes importantes dans SSMS :
USE et GO sont deux commandes importantes dans SQL Server Management Studio :
La commande USE est utilisée pour définir la base de données active pour la
connexion courante. Cela signifie que toutes les requêtes exécutées par la suite
seront effectuées sur la base de données spécifiée.
Par exemple : USE EcoleBD;
La commande GO est utilisée pour séparer les requêtes dans une lot de
requêtes dans SSMS. Cela signifie que chaque requête séparée par GO sera
exécutée de manière indépendante.
Par exemple : CREATE TABLE Customers (
CustomerID int,
CustomerName nvarchar(50));
GO
SQL Server/Transact SQL – Prof. Zakaria KHATAR
INTRODUCTION AU SGBD Microsoft SQLSERVER
Commandes importantes dans SSMS :
Pour afficher les différentes bases de données existantes et leurs éléments, voici
quelques commandes importantes :
Syntaxe Description
Affiche tous les noms de base de données
SELECT name FROM [Link];
disponibles dans le serveur SQL actuel.
Change la base de données active à la base de
USE database_name;
données spécifiée "database_name"
Affiche le nom des objets de base de données
SELECT name FROM [Link];
dans la base de données active.
Affiche le nom des tables de base de données
SELECT name FROM [Link];
dans la base de données active.
SQL Server/Transact SQL – Prof. Zakaria KHATAR