Académique Documents
Professionnel Documents
Culture Documents
SQL SERVER
Pr. Farah SNIBA
f.sniba@emsi.ma
2023-2024
Plan
Une base de données (BD) est un ensemble bien structuré de données relatives
à un sujet global et stocké dans un support informatique pour satisfaire
simultanément plusieurs utilisateurs de manière imédiate
3
Introduction 1
Bases de données- Objectifs d’utilisation d’une base de données
Exemple: Entreprise agroalimentaire possède différents services :
Service de production de légumes un service de livraison service spécifique à l’exportation des légumes
Chaque service a des données contenues dans différents fichiers. Plusieurs de ces données sont identiques d’un service à
l’autre (les prix, la TVA, etc.). On parle de données dupliquées.
4
Introduction 1
Bases de données- Objectifs d’utilisation d’une base de données
Exemple :
Si la direction décide d’augmenter ou de baisser un prix, il faudra effectuer en même temps les changements dans
les fichiers de chacun des services, pour éviter des erreurs que l’on appellera des incohérences.
Si la direction décide d’ajouter un service de production de fruits, cela compliquera la gestion des données et fera
perdre du temps. Pour éviter cela, au lieu d’utiliser des données dupliquées, on utilise des données partagées.
5
Introduction 1
Bases de données- Définition
Une base de données (database en anglais) est une collection de données qui
vont être partagées entre plusieurs services, utilisateurs. Elles peuvent être de
très grande taille et contenir des millions de données.
6
Introduction 1
Bases de données- Avantages
➢ Les avantages que l’on peut attendre de l’utilisation d’une base de donnée :
Saisie unique : Une fois les données saisies dans la base de données, elles peuvent être
accessibles à différents programmes ou applications qui en ont besoin, sans avoir à être
ressaisies à chaque fois.
Mise à jour unique : Comme une donnée n’est stockée qu’une seule fois, le problème de sa
mise à jour dans différents fichiers ne se pose plus.
Gain de place au stockage : La suppression des redondances réduit le volume nécessaire au
stockage.
Accès plus facile à l’information : Chaque donnée est stockée indépendamment des
programmes qui l’utilisent. Elle est disponible pour les utilisateurs autorisés pour obtenir
rapidement les données dont ils ont besoin.
7
Introduction 1
Bases de données- Différents modèle de bases de données
Base hiérarchique
Base en réseau. Base de données
relationnelle
❑ Indépendance : le SGBD offre une abstraction entre les données et les applications qui
les utilisent. Cela signifie que les applications peuvent être développées et modifiées
sans affecter la structure des données.
❑ Accès : le SGBD fournit des mécanismes pour accéder rapidement et efficacement aux
données stockées. Cela implique l'utilisation de langages de requête.
❑ Cohérence : le SGBD conçus pour garantir la cohérence des données en respectant les
contraintes d'intégrité définies (Exemple: Contrainte de clé primaire, contrainte de clé
étrangère).
❑ Sécurité : le SGBD gère les accès aux données en fonctions des utilisateurs. 11
Introduction 1
Bases de données- Exemple d’utilisation de bases de données
Sent/Receipt Data
SGBDs
Interface Client 11
Introduction 1
Bases de données- Architecture d’un SGBD
Un SGBD offre des « services » organisés en couches afin de garantir l’intégrité des
données et de faciliter leur manipulation.
L'architecture Ansi/Sparc est une architecture fondamentale sur laquelle reposent les SGBD.
Introduction 1
Bases de données- Architecture d’un SGBD
Un SGBD offre des « services » organisés en couches afin de garantir l’intégrité des données et de faciliter leur
manipulation.
L'architecture Ansi/Sparc est une architecture fondamentale sur laquelle reposent les SGBD.
On peut distinguer 3 niveaux :
1. Schéma externe design application. Il définit les différentes perspectives ou vues de la base de données qui sont
pertinentes pour les différents utilisateurs ou groupes d'utilisateurs.
2. Schéma conceptuel (développeur) : Il définit la structure globale de la base de données, y compris les entités,
les relations et les contraintes.
3. Schéma interne qu’on voit pas (base de données) : Ce niveau représente la vue interne de la base de données
telle qu'elle est stockée physiquement sur le disque. Il définit les structures de stockage physiques utilisées pour
représenter les données.
Introduction 1
Bases de données- Architecture d’un SGBD
Indépendance logique : L'indépendance logique se réfère à la capacité de modifier la structure conceptuelle de la
base de données sans modifier les vues utilisateur qui accèdent aux données.
Par exemple, si vous ajoutez une nouvelle table ou modifiez une relation entre les tables dans la base de données,
cela ne devrait pas affecter les applications qui utilisent ces données.
L'indépendance physique se réfère à la capacité de modifier la structure de stockage interne de la base de
données sans modifier le schéma conceptuel ni les vues utilisateur.
Par exemple: Supposons que nous ayons une base de données utilisée par une application web. Cette base de
données est hébergée sur un serveur local. On a décider de déplacer la base de données vers un serveur cloud.
Les données sont déplacées d'un serveur local vers un serveur cloud. Cependant, cela ne modifie pas la manière
dont les utilisateurs interagissent avec les données. Les requêtes et les opérations restent les mêmes pour les
utilisateurs, même si les données sont désormais stockées sur un serveur distant.
Introduction 1
Bases de données- Architecture d’un SGBD
émet une demande de
lecture à l'intention du SGBD.
1
Le SGBD examine la
description physique de
la base et détermine les
enregistrements
physiques à lire 2
SGBD
Le Diagramme suivant présente des statistiques concernant les systèmes de gestion de base de données
existants :
3. Mettre en œuvre via un SGBD : créer physiquement les tables et les relations dans la
base de données. Vous créez également des contraintes (les clés primaires et les clés
étrangères), pour garantir l'intégrité des données.
Bases de données 1
Bases de données- Le modèle entité association et le modèle relationnel
Une base de données relationnelle utilise des Tables à deux dimensions pour le stockage de
données.
Une table c’est la structure de stockage de base dans une base donnée relationnelle.
❑ La structure : Les données dans une base de données relationnelle sont organisées sous
forme de tables, également appelées relations.
❑ Les opérateurs : Les opérateurs dans une base de données relationnelle sont des
commandes ou des fonctions utilisées pour effectuer des opérations sur les données
(SELECT, INSERT..).
❑ Les règles d’intégrité : Les règles d'intégrité sont des contraintes ou des règles définies sur
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
Une relation est une table qui contient des données, chaque colonne de cette table va
correspondre à un attribut de celle-ci, qui permet d’identifier une information stockée dans
cette relation. Une ligne de la relation est appelée un enregistrement.
Nom Prénom
MELASSE Lina
Enregistrement
Attribut
SOBKO Khalil
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
❑ Exemple: Livres
Si on considère un ensemble de livres, on peut construire
la relation LIVRES avec comme attributs Idnum, le titre, le Idnum
nom de l’auteur et l’année de publication. Titre
Nom_auteur
→ Le schéma de cette relation est : Anne_publication
LIVRES(Idnum, titre, nom_auteur, annee_publication).
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
❑Règles que la relation doit respecter
A. Règle n° 1
Un attribut ne peut prendre à un instant donné qu’une seule et unique valeur. On dit qu’il y a
atomicité de l’attribut.
B. Règle n° 2
Une relation ne peut contenir qu'un nombre fini d'enregistrements. Cela signifie que la relation ne
peut pas représenter des ensembles infinis, tels que la liste de tous les nombres entiers.
C. Règle n° 3
Lorsque la base de données est définie, on définit le domaine de chacun des attributs, c’est-à-dire
de quel type doivent être les données ou à quel intervalle les valeurs doivent appartenir.
On appelle cela l’intégrité de domaine.
D. Règle n° 4
Les enregistrements doivent tous être différents, c’est-à-dire qu’il ne peut pas y avoir deux fois la
même ligne. Cela assure l'unicité des données et empêche les doublons dans la base de données.
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
→Notion de clé primaire
Chaque relation doit posséder une clé primaire.
Une clé primaire (Primary Key en anglais) est un attribut ou un ensemble d’attributs qui permettent
d’identifier l’enregistrement de manière unique.
❑ Toute relation a une clé primaire (Règle n° 5).
❑ Aucune valeur NULL n'est autorisée dans une colonne (ou ce groupe de colonnes) déclarée comme clé
primaire.
❑ Pour signaler la clé primaire dans le schéma de la relation associée, on peut souligner l’attribut qui
correspond à cette clé primaire.
▪ Exemple
Dans la relation LIVRES précédente, le seul attribut qui correspond à une clé primaire est l’identifiant
numérique, puisque des livres différents peuvent avoir un même auteur, une même année de
publication et même un même titre.
On a donc le schéma de relation :
LIVRES (Idnum, Titre, Auteur, Annee).
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
→Notion de clé étrangère
Une clé étrangère (Foreign Key en anglais) est un attribut qui n’est pas primaire pour la relation étudiée
mais qui est la clé primaire d’une autre relation.
Pour signaler la clé étrangère dans le schéma de la relation associée, on peut soit placer un #
devant l’attribut qui correspond à cette clé étrangère, soit surligner cet attribut en gris.
❑ Exemple
On considère les deux schémas de relation suivants.
❑ LIVRES(Idnum, Titre, #identifiant.AUTEURS, annee)
❑ AUTEURS(identifiant.AUTEURS, Nom AUTEURS, Prenom AUTEURS)
❑ identifiant.AUTEURS est une clé primaire de la relation AUTEURS et une clé étrangère de la
relation LIVRES.
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
❑ Construire le schéma relationnel d'une base de données
Le schéma relationnel correspond à l'ensemble des relations présentes dans une base de
données. Le schéma relationnel d’une base de données est composé de l’ensemble des
schémas de relation de cette base.
Il faut donner les noms des relations, les attributs, les clés primaires soulignées et les clés
étrangères précédées d’un # dans des tableaux, puis faire une flèche pour indiquer de quelle
table la clé étrangère est la clé primaire.
Bases de données 1
Bases de données- Le principe du modèle relationnel d'une base de données
❑ Construire le schéma relationnel d'une base de données
Exemple: Voici le schéma relationnel de la base de données précédente, qui est composé des
deux relations LIVRES et AUTEURS. identifiant.AUTEURS est une clé étrangère de LIVRES, qui
est la clé primaire de l’AUTEURS
Bases de données 1
Bases de données- Récapitulatif sur le modèle relationnel
Bases de données 1
Le modèle relationnel – Dépendance fonctionnelle
Exemple
ELEVE (no_elv, nom, prenom, liste_notes)
Un attribut (liste_notes) ne peut pas être un ensemble de valeurs (note1,
note2,note3)
Solution :
ELEVE (no_elv, nom, prenom)
NOTE (#no_elv, note)
Bases de données 1
Le modèle relationnel – Normalisation
➢ 2NF : Deuxième forme normale
❑ Une relation est en 2FN si
elle est en 1FN (si tout attribut est atomique)
tous les attributs “non clés” sont complètement dépendants de la clé primaire.
❑ La 2NF est basée sur le concept de dépendance fonctionnelle complète.
Exemple :
COMMANDE (id_cmd, no_pro, date, prixPr)
• La relation Commande est en 1FN
Les DF : 1) id_cmd ->date
2) no_pro->prixPr
• La relation Commande n'est pas en 2FN car la clé = (id_cmd, no_pro),
et le prixPr ne dépend que de no_pro et date ne dépend que de id_cmd
Solution :
COMMANDE (id_cmd, date)
PRODUIT (no_pro, prixPr)
Bases de données 1
Le modèle relationnel – Normalisation
➢ 3NF : Troisième forme normale
❑ Une relation est en 3FN si
elle est en 2FN (si tout attribut est atomique et tous les attributs “non clés” sont complètement
dépendants de la clé primaire.)
si tout attribut n’appartenant pas à la clé ne dépend pas d’un attribut non clé (tous les attributs
“ non-clés ” sont dépendants non transitivement (dépendants directement) de la clé primaire.)
Exemple :
VOITURE (matricule, marque, modèle, puissance, couleur)
avec les DFs : matricule-> marque; matricule-> modele; matricule-> puissance;
matricule -> couleur; (marque,modele)->puissance
La relation est en 2FN.
La relation n'est pas en 3FN car la puissance dépend de modèle et marque (dépendance
transitive)
Solution :
VOITURE (matricule, couleur, #marque, #modèle) MODELE (marque, modèle, puissance)
Bases de données 1
Le modèle relationnel – Normalisation
➢ Exercice 1:
Considérons une relation "Employés" :
Employés (Num_Emp, Nom_emp, Departement, Salaire)
Solution de l’exercice 1
Employés (Num_Emp, Nom_emp, Departement, Salaire)
Pour déterminer si la relation est déjà en troisième forme normale (3NF), nous devons
vérifier si elle est en :
• 2eme forme normale :
- elle est en 1FN (si tout attribut est atomique (non décomposable))
- tous les attributs “non clés” sont complètement dépendants de la clé primaire
• tout attribut n’appartenant pas à la clé ne dépend pas d’un attribut non clé
1. Vérification de 2eme FN:
- tout attribut est atomique
- tous les attributs “non clés” sont complètement dépendants de la clé primaire:
Num_Emp -> Nom_emp
Num_Emp -> Departement
Num_Emp -> Salaire
Bases de données 1
Le modèle relationnel – Normalisation
Solution de l’exercice 1
Employés (Num_Emp, Nom_emp, Departement, Salaire)
Pour déterminer si la relation est déjà en troisième forme normale (3NF), nous devons
vérifier si elle est en :
• 2eme forme normale :
- elle est en 1FN (si tout attribut est atomique (non décomposable))
- tous les attributs “non clés” sont complètement dépendants de la clé primaire
• tout attribut n’appartenant pas à la clé ne dépend pas d’un attribut non clé
1. Vérification de 3eme FN:
On a la dépendance fonctionnelle : Nom_emp -> Salaire
•le salaire est fonctionnellement dépendant du nom de l'employé (attribut non clé), ce qui
n'est pas souhaitable (dépendance transitive).
Bases de données 1
Le modèle relationnel – Normalisation
➢ Exercice 2
On considère la relation suivante:
Elèves (id_eleve, id_club, Nom, Age, Club, Salle )
1. Déterminer si la relation est en troisième forme normale (3NF) ?
Bases de données 1
Le modèle relationnel – Normalisation
➢ Exercice 3
Soit la relation sous première forme normale suivante :
CINEMA (N°salleCinema, N°Film, adressesallecinema, nomsallecinema, titrefilm,
N°CatégorieFilm, intitulécatégoriefilm, datedébutprojectionfilm, datefinprojectionfilm)
1. Normalisez cette table en troisième forme normale. Bien expliquer les différentes étapes
Bases de données 1
Le modèle relationnel – Normalisation
➢ Solution : Exercice 3
SQL Server Plan
❑ SQL Server (ou Microsoft SQL Server (MS SQL Server)) est un Système de gestion de
base de données relationnel (SGBDR) développé et commercialisé par Microsoft.
❑ La première version ayant appartenu à Microsoft seul est en 1994.
❑ SQL Server est livré avec sa propre implémentation du langage SQL, T-SQL (Transact-
SQL).
❑ Le langage T-SQL est une extension propriétaire du langage SQL (Structured Query
Language) utilisée par Microsoft SQL Server, connu sous le nom de Transact-SQL. Il
offre des fonctionnalités supplémentaires de déclaration de variable, de gestion des
exceptions, de procédure stockée,… pour permettre un développement plus avancé
et une manipulation des données plus sophistiquée.
Introduction 2
Bases de données- SYSTÈMES DE GESTION DE BASES DONNÉES ---
SQL Server : installation, configuration et connexion
Pour utiliser MS SQL Server vous aurez besoin d’installer deux éléments principaux :
1-Le serveur de bases de données : C'est le composant principal de SQL Server qui
stocke et gère les données. Le serveur de bases de données gère les requêtes, les
transactions, les connexions, la sécurité et d'autres aspects liés à la gestion des
données.
2-L'outil de gestion de bases de données : Cet outil est utilisé pour administrer et
interagir avec les bases de données SQL Server. Microsoft propose SQL Server
Management Studio (SSMS) comme principal outil de gestion pour SQL Server. SSMS
offre une interface graphique conviviale permettant d'exécuter des requêtes SQL, de
gérer des bases de données,
Introduction 2
Bases de données- SYSTÈMES DE GESTION DE BASES DONNÉES ---
SQL Server : installation, configuration et connexion
- Enregistrer la table : cliquez sur le bouton enregistrez, puis donnez un nom à votre table. Notre table a pour nom :
EtudiantsInfo
SQL Server 2
Creation d’une BD SQL Server et de ses objets
➢ Creation de la base de donnee SQL Server :
❑ Création des tables
Attention : Si au moment d’enregister la table vous avez cette
fenêtre ------------------------------------------------------------------------------→
Sur la colonne codep de EtudiantsInfo, (la colonne qui sera clé étrangère), faire Relation comme le montre la
figure :
SQL Server 2
Creation d’une BD SQL Server et de ses objets
➢ Creation de la base de donnee SQL Server :
❑ Définir les relations (la clé étrangère)