0% ont trouvé ce document utile (0 vote)
15 vues40 pages

SQL Alter

Transféré par

ecole message
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)
15 vues40 pages

SQL Alter

Transféré par

ecole message
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

SG

de base de données
COURS

Visit Our Website


ecolemsg.com
Langage SQL Quelques définitions
Définitions courantes: Une base de données
Une base de données est un ensemble de
données modélisant les objets d’une partie du
monde réel et se servant de support à une
application informatique. Les bases de
données sont présentes dans la plupart des
applications que nous utilisons régulièrement.
Exemples:
Les opérations bancaires (toutes les
banques et les caisses)
Les achats en ligne (Amazon)
Les jeux vidéos pour garder les
caractéristiques(force, habiletés etc..) et les
items(armes, armures etc..) d’un
personnage du jeu
Etc….
Définitions & Exemples

Définitions courantes:
Un SGBD Exemples de SGBD:
Un SGBD peut-être perçu comme un Oracle,
ensemble de logiciels système
MySQL,
permettant aux utilisateurs d’insérer, de
MS SQL Server,
modifier et de rechercher efficacement
des données spécifiques dans une MongoDB,

grande masse d’information partagée SQLite


par de multiples utilisateurs.
Problèmes avant l'utilisation des
bases de données :
Systèmes de gestion de fichiers (SGF) des années 60 :

Avant l'introduction des bases de données, les fichiers


étaient gérés directement par chaque application via un
système de gestion de fichiers. Cela posait plusieurs
difficultés :
Problèmes avant
l'utilisation des bases de
données

Indépendance des
fichiers pour chaque Problèmes de mise à Redondance accrue Difficultés de mise à
application jour des fichiers des données jour
Chaque application devait Si plusieurs applications devaient Cette approche augmentait la Les mises à jour des fichiers
avoir son propre fichier pour utiliser les mêmes données dans un duplication des données, car devaient être effectuées
stocker ses données. Cela fichier, chaque application devait chaque application devait individuellement dans chaque
signifiait qu'il n'y avait pas de gérer sa propre version des stocker ses propres copies des application, ce qui rendait les
données. Toute modification des
partage efficace des mêmes données, entraînant processus de maintenance
données devait être répliquée
informations entre plusieurs une inefficacité. lents et coûteux.
manuellement dans chaque fichier,
applications. ce qui augmentait le risque
d'erreurs.
Solutions proposées par
les bases de données :
Les bases de données ont été introduites pour découplage

surmonter les problèmes des systèmes de gestion de


fichiers. Les bases de données ont révolutionné la Réduction de la
redondance des données

manière dont les données sont stockées, accédées et


mises à jour en apportant les avantages suivants :
Facilité de mise à
jour

Contrôle d'accès aux


données

Intégrité des
données
Performance
Management Programs

Contrôle d'accès aux


données
Les bases de données
Indépendance des données Réduction de la permettent un contrôle strict
Facilité de mise à jour des droits d'accès, garantissant
par rapport aux redondance des que seules les personnes
programmes (découplage) données Les mises à jour peuvent être autorisées peuvent lire ou
Dans une base de données, les Grâce à une conception effectuées de manière centralisée modifier certaines informations.
données sont stockées centralisée des bases de dans la base de données, ce qui
indépendamment des applications données, il n'est plus nécessaire garantit que toutes les applications Intégrité des données
utilisant ces données voient les
qui les utilisent. Cela signifie que de dupliquer les données. Cela
modifications immédiatement, sans
plusieurs applications peuvent réduit la redondance et améliore besoin de mise à jour manuelle pour Les systèmes de gestion de bases
accéder aux mêmes données sans l'efficacité de la gestion des chaque application. de données garantissent l'intégrité
avoir à stocker leurs propres copies. données. des données, ce qui signifie que les
données restent cohérentes,
précises et fiables, même en cas de
mise à jour ou de suppression.
Fichier vs Base de
Données :

Fichier
Dans le système de fichier traditionnel, les données sont définies
directement dans chaque programme qui les utilise. Cela signifie qu'un
changement dans la structure des données nécessite de modifier le
programme associé.

Base de Données
Dans une base de données, les données sont stockées et gérées
séparément. Cela permet une gestion plus centralisée et une meilleure
évolutivité, car les programmes peuvent accéder aux données sans
dépendre directement de leur structure ou emplacement spécifique.
Définition d’une base de données
relationnelle.

Dans une base de données relationnelle, La table ci-après a 4 colonnes (idarticle,


les données sont stockées à l’intérieur d’objets appelés « table ». Ces descriptions, prix et quantite_stock)
tables sont reliées entre elles par des clés étrangères (qu’on va voir plus
loin). Les tables ont un nom. La table ci-après a 7 lignes.
table Le nom de la table est Articles.
Une table est un ensemble de lignes et de colonnes.

Les lignes
Les lignes sont aussi appelées : Enregistrements

Les colonnes
Les colonnes sont aussi appelées: Attributs
Les fonctions des SGBD

I-DEFINITION DES DONNEES


⇒ Langage de définition des données (DDL)
(conforme à un modèle de données)

•II- MANIPULATION DES DONNEES

Interrogation Mise à jour insertion, suppression,


modification

• III-CONTRÔLE DES DONNEES ⇒ Langage de manipulation des données


Contraintes d'intégrité Contrôle des droits (DML) (langage de requête déclaratif)
d'accès Gestion de transactions

⇒ Langage de contrôle des données (DCL)


Microsoft SQL Server :

est un Système de gestion de base de données

relationnel et transactionnel développé et

commercialisé par Microsoft.


I-DEFINITION DES DONNEES

01 Création de la base de
données

02 Création des tables

03 Contraintes

04 Modification sur les tables

05 TD,TP
DDL
Le Langage de Définition des Données (DDL),
ou Data Definition Language en anglais

utilisé pour définir et gérer la structure des bases de données relationnelles. Il

permet de créer, modifier et supprimer les objets de la base de données comme les

tables, les index, les utilisateurs, etc

1-Création de la base de données

Les objets de type base de données (DATABASE) se gèrent principalement par :

CREATE DATABASE nom_bd;

RENAME DATABASE nom_bd TO nouveau_nom_bd [, nom_bd2 TO

nouveau_nom_bd2, ...];

DROP DATABASE nom_bd;


DDL
Tables

Les tables sont des objets de base de données qui contiennent toutes les données d'une

base de données. Dans les tables, les données sont logiquement organisées en lignes et

en colonnes, à la manière d'un tableur. Chaque ligne représente un enregistrement unique

et chaque colonne représente un champ dans l'enregistrement

2-Création des tables

L’instruction CREATE TABLE contient une très grande variété d’option et sa structure
contient plusieurs éléments importants.
Outre le nom de la table, les paramètres importants à spécifier sont : le nom et le type de
chaque colonne, les contraintes liées aux colonnes
CREATE TABLE nom_de_la_table ( ALTER TABLE ... voir prochaines diapositives
nom_colonne1 type_donnees contrainte , RENAME TABLE nom_table TO nouveau_nom_table [, nom_table2
nom_colonne2 type_donnees contrainte, TO nouveau_nom_table2, ...];
nom_colonne3 type_donnees contrainte ,
nom_colonne4 type_donnees contrainte ) DROP TABLE nom_table [CASCADE [CONSTRAINTS]] [PURGE];
DROP TABLE [IF EXISTS] nom_table;
Types Numériques
Type de nombre entier

TINYINT SMALLINT MEDIUMINT INT / INTEGER BIGINT

Description Description Description Description Description


Type d’entier qui stocke de petites Type d’entier qui peut contenir des Type d’entier qui supporte un Type d’entier standard qui peut Type d’entier conçu pour stocker de
valeurs entières. L’intervalle va de valeurs allant de -32,768 à 32,767 (ou intervalle de -8,388,608 à contenir des valeurs allant de très grandes valeurs, avec un
-128 à 127 (ou 0 à 255 si non signé). 0 à 65,535 si non signé). 8,388,607 (ou 0 à 16,777,215 si non -2,147,483,648 à 2,147,483,647 (ou intervalle de

signé). 0 à 4,294,967,295 si non signé). -9,223,372,036,854,775,808 à

Taille (bits) Taille (bits) 9,223,372,036,854,775,807.


Taille (bits) Taille (bits)
Taille (bits)
8 bits 16 bits 24 bits 32 bits 64 bits

Utilisation Utilisation Utilisation Utilisation Utilisation


Utile pour des petits nombres Idéal pour des valeurs comme Utile pour des valeurs nécessitant
Utilisé pour des valeurs Type de données le plus
comme des codes d’état ou des des identifiants ou des une grande capacité, comme des
intermédiaires, comme des couramment utilisé pour les
indicateurs. comptages. nombres de compteurs.
identifiants de produits. identifiants.
Types Numériques
Type de nombre décimal

FLOAT(n) DOUBLE(n) DECIMAL(p,s)/NUMERIC

Description Description Description

Type de nombre à virgule flottante Type de données à double Semblable à NUMERIC, permet
approximative qui utilise n bits pour précision qui offre plus de précision également de spécifier la précision
stocker la valeur (entre 1 et 126 bits). que FLOAT, en utilisant totale et les décimales.

généralement 64 bits pour le

Taille (bits) stockage.


Taille (bits)
Taille (bits)
32 bits 64 bits Variable (dépend des
valeurs p et s)
Utilisation Utilisation Utilisation
Utilisé pour des calculs approximatifs Utilisé pour des calculs nécessitant
Utilisé pour des valeurs monétaires
où la précision n'est pas critique, une plus grande précision, comme les
ou des calculs financiers où la
comme les statistiques. calculs scientifiques.
précision est essentielle.

p:Nombre total de chiffres dans le nombre (précision). s:Nombre de chiffres après le point décimal. n :Nombre de bits utilisé pour la précision des types flottants.
Types Numériques
Chaînes de caractères

TINYTEXT/MEDIUMTEXT
CHAR(n) VARCHAR(n) ENUM(a, b, c)
/LONGTEXT
Description Description
Ce sont des types de chaînes de
Description Description Type de données qui limite les
Type de données de longueur variable. caractères de longueur variable qui
valeurs possibles à un ensemble
Type de données de longueur fixe. diffèrent par leur capacité maximale
La longueur maximale de la chaîne est
prédéfini (exemple : ENUM('small',
Chaque valeur occupe exactement de stockage.
spécifiée par n, mais seulement la
'medium', 'large')).
l’espace défini par n, même si la TINYTEXT : Jusqu'à 255 caractères
place utilisée par les caractères
chaîne est plus courte (remplie avec (pratique pour des résumés très
insérés sera allouée, sans remplissage
des espaces). courts).
avec des espaces. Par exemple, avec
MEDIUMTEXT : Peut contenir jusqu'à
VARCHAR(50), une chaîne de 10 Utilisation
16 Mo de texte (utilisé pour des
caractères utilisera seulement 10
textes longs comme des articles ou
Utilisé pour des choix limités,
caractères d'espace.
Utilisation des descriptions).
Utilisation comme des tailles, catégories,
LONGTEXT : Peut stocker jusqu'à 4
Utilisé pour des valeurs fixes, Utilisé pour des valeurs ou états (par exemple "actif",
Go de texte (utilisé pour des données
comme des codes pays ou textuelles dont la longueur peut "inactif").
volumineuses comme des livres ou
identifiants fixes. varier, comme des noms ou des
des documents complets).
descriptions.
Types Numériques
Type temporels

TIME DATE DATETIME

FORMAT FORMAT
FORMAT

HH:MM:SS YYYY-MM-DD YYYY-MM-DD HH:MM:SS

EXEMPLE EXEMPLE
EXEMPLE

02:01:00 2024-12-15 2024-12-15 02:01:00


CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

valeur nulle permise ou interdite (NULL par défaut) NULL ou NOT NULL

NULL ou NOT NULL

unicité UNIQUE

clé primaire PRIMARY KEY

FOREIGN KEY
clé étrangère
CONTRAINTES
Toutes les contraintes qui
validation CHECK seront spécifiées seront
automatiquement géré par le
SGBD et toute les
valeur par défaut DEFAULT
manipulations violant ces
contraintes seront interdites
ON PEUT AJOUTER LES CONTRAINTES DE
DEUX FAÇON :

à la fin de la déclaration d’une colonne

à la fin de la déclaration de toutes les


colonnes

on privilégie généralement la deuxième


approche lorsqu’elle est possible.
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

valeur nulle permise ou interdite (NULL par défaut) NULL ou NOT NULL

NULL ou NOT NULL

Cette contrainte définit si une colonne peut accepter des valeurs nulles ou non.

NULL signifie qu'aucune donnée n'est présente, tandis que NOT NULL exige que
chaque enregistrement ait une valeur dans cette colonne.
Exemple

Le concept de NULL dans les bases de


données relationnelles représente
l'absence de valeur ou une valeur
indéfinie. Ce n'est pas un zéro, un
espace vide, ou une chaîne de
caractères vide, mais plutôt un
marqueur qui signifie "inconnu"
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

unicité UNIQUE
NULL ou NOT NULL

une déclaration à la fin permet de mettre une contrainte sur un


ensemble de colonne;
dans l’exemple suivant, la colonne Id doit être unique ainsi que le duo
Nom et Prenom;
pris individuellement, Nom et Prenom peuvent être répété mais pas
pour la même ligne. Exemple
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

clé primaire PRIMARY KEY

NULL ou NOT NULL

une insertion à la fin permet aussi de préciser une clé primaire sur
plusieurs attributs;

implicitement, une clé primaire inclue les contraintes UNIQUE et


NOT NULL.

Exemple
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

TP
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

clé étrangère FOREIGN KEY

Une clé étrangère est une clé utilisée pour relier deux tables. Ceci est
NULL ou NOT NULL

parfois appelé aussi clé de référencement.

Une clé étrangère est une colonne ou une combinaison de colonnes

dont les valeurs correspondent à une clé primaire dans une autre table.

Exemple
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

clé étrangère FOREIGN KEY

Contrainte de clé étrangère - plusieurs options supplémentaires


NULL ou NOT NULL
sont possibles:

RESTRICT CASCADE
Empêche la suppression ou la mise à jour de la Supprime ou met à jour les lignes dans la table enfant

ligne dans la table parent si elle est référencée par automatiquement lorsque la ligne correspondante dans

la Table enfant. la table parent est supprimée ou mise à jour.

Empêche la suppression/mise à jour Supprime/met à jour les lignes liées automatiquement

SET NULL
Remplace la valeur de la clé étrangère par NULL
dans la table dépendante lors d'une suppression
ou mise à jour.
Exemple
sous réserve que la colonne accepte les valeurs
nulles.
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

clé étrangère FOREIGN KEY

RESTRICT CASCADE NULL ou NOT NULL

SET NULL
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

validation CHECK

La contrainte CHECK active une condition permettant de vérifier la


NULL ou NOT NULL

valeur saisie dans un enregistrement.

Exemple
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

valeur par défaut DEFAULT

Contrainte de valeur par défaut


NULL ou NOT NULL
si aucune valeur n’est spécifiée pour une colonne lors de l’insertion, la valeur
définie par défaut sera insérée;
cette contrainte s’ajoute à la fin de la déclaration de la colonne.

Exemple
CONTRAINTES
Il est possible d’ajouter 6 types de contraintes différentes :

TP
MODIFICATION
SUR LES TABLES
MODIFICATION SUR
LES TABLES
La commande ALTER TABLE en SQL permet
de modifier une table existante. Idéal pour
ajouter une colonne, supprimer une colonne
ou modifier une colonne existante, par
exemple pour changer le type.

Syntaxe
ALTER TABLE nom_table
instruction
1 Ajouter une colonnes

2 Modifier un colonnes
MODIFICATION
3 supprimer une colonne
SUR LES TABLES
4 Ajouter une contrainte

5 Supprimer une contrainte


AJOUTER UNE COLONNES
ALTER TABLE nom_table ADD (colonne1 type_donnees, colonne1
type_donnees, ... colonneN type_donnees);

exemple :

La requête suivante ajoutera une colonne "age" à la table stagiaire


MODIFICATION
Alter table stagiaire
SUR LES TABLES add age int;

MODIFIER UN COLONNES
Pour modifier une colonne, il y a différentes syntaxes selon le SGBD. 
pour les colonnes contenant des contraintes, vous supprimez d’abord
des contraintes puis modifier la colonne.
 Les modifications sur le type valide sont : int -> decimal -> char ->
varchar -> nvarchar -> ntext date -> varchar

ALTER TABLE nom_table


ALTER COLUMMN nom_colonne type_donnees;
SUPPRIMER UNE COLONNE
Une syntaxe permet également de supprimer une colonne pour
une table.
pour les colonnes contenant des contraintes, vous supprimez
d’abord des contraintes puis supprimer la colonne.
ALTER TABLE nom_table
DROP COLUMN nom_colonne;

exemple :
MODIFICATION pour supprimer la colonne age de la table stagiaire :

SUR LES TABLES Alter table stagiaire


DROP COLUMN age ;

AJOUTER UNE CONTRAINTE


ADD peut également être utilisé pour créer une contrainte sur les colonnes
de la table
ALTER TABLE nom_table
ADD CONSTRAINT nom_contrainte contrainte
exemple :
La requête suivante, ajoutera une contrainte CHECK à la colonne Age
ALTER TABLE stagiaire
ADD CONSTRAINT stg_age check(age>12)
SUPPRIMER UNE CONTRAINTE

DROP CONSTRAINT , pour supprimer une contrainte sur les


colonnes de la table
ALTER TABLE nom_table
DROP CONSTRAINT nom_contrainte ;

exemple :
MODIFICATION Pour supprimer la contrainte const_age de la table Employes

SUR LES TABLES


Alter table stagiaire
DROP CONSTRAINT stg_age ;
MODIFICATION
SUR LES TABLES
TP1
MODIFICATION
SUR LES TABLES
TP2
Contactez-nous

0654855724

ecolemsg.com

[email protected]

BV MED V LOT RIF 1 GUERCIF


Thank You
For Your Attention

Visit Our Website


ecolemsg.com

Vous aimerez peut-être aussi