0% ont trouvé ce document utile (0 vote)
45 vues32 pages

SQL DDL

lecon de SQL DDL

Transféré par

fatimazahra.belharir15
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)
45 vues32 pages

SQL DDL

lecon de SQL DDL

Transféré par

fatimazahra.belharir15
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

Bases de données relationnelles

LANGAGE SQL

Prof : Tahri Mouna


SQL

Le langage SQL (structured Query language) est un langage utilisé pour

interroger, mettre à jour et gérer les informations contenues dans des bases de

données relationnelles.

2
SQL
SQL a une triple fonction :

o DDL : Data Definition Language : Définition et modification du schéma de la


base de données.

o DML : Data Manipulation Language : Interrogation et modification des


données.

o DCL : Data Control Language : Contrôler la sécurité et l’intégrité de la base de


données
3
LANGAGE DE DESCRIPTION DES DONNEES (DDL)

o Créer une base de données

Pour créer une base de données qui sera appelé « ma_base » il suffit d’utiliser la
requête suivante qui est très simple:

CREATE DATABASE ma_base;

4
LANGAGE DE DESCRIPTION DES DONNEES (DDL)

o Créer une base de données

Avec MySQL, si une base de données porte déjà ce nom, la requête retournera une
erreur. Pour éviter d’avoir cette erreur, il convient d’utiliser la requête suivante pour
MySQL:

CREATE DATABASE IF NOT EXISTS ma_base;

5
LANGAGE DE DESCRIPTION DES DONNEES (DDL)

o Créer une Table

CREATE TABLE Nom_table ( Employé


CIN
colonne1 type1, Nom
Prénom
colonne2 type2, Salaire
.........,
.........); Employé (CIN , Nom, Prénom, Salaire)
6
LANGAGE DE DESCRIPTION DES DONNEES (DDL)
o Créer une Table

Les principaux types de données supportés sont les suivants :

 CHAR(taille) : Ce type de données permet de stocker des chaînes de caractères de longueur


fixe. taille doit être inférieur à 255, sa valeur par défaut est 1.

 VARCHAR(taille) : Ce type de données permet de stocker des chaînes de caractères de longueur


variable. longueur doit être inférieur à 2000, il n'y a pas de valeur par défaut.

 INEGER : Ce type permet de stocker des entiers signés codés sur 4 octets
7
LANGAGE DE DESCRIPTION DES DONNEES (DDL)
o Créer une Table
Les principaux types de données supportés sont les suivants :

 REAL : Ce type permet de stocker des réels comportant 6 chiffres significatifs codés sur 4 octets

 NUMERIC(précision, longeur) : Ce type de données permet de stocker des données numériques


à la fois entières et réelles avec une précision de 1000 chiffres significatifs. longueur précise le
nombre maximum de chiffres significatifs stockés et précision donne le nombre maximum de
chiffres après la virgule.

 DATE/TIME : types date / heure


8
Création de table en Sql
o Exemple

CREATE TABLE Vente (


Vente
NumAch INT PRIMARY KEY,
NumAch DateVente Date ,
Date_vente
Ville Ville VARCHAR(30)
);

Vente (NumAch, Date_vente, Prix)


9
règles d’intégrité

Les règles d’intégrité (R.I.) sont des assertions qui doivent être vérifiées à tout

moment par les données contenues dans la base de données.

10
Contrainte de clé
 Clé primaire : PRIMARY KAY
La contrainte de clé impose que chaque relation possède une clé primaire.
 La clé primaire de la table Client est le noClient
CREATE TABLE Client
(noCLIENT INTEGER PRIMARY KEY,
nomClient VARCHAR(15) NOT NULL,
noTéléphone VARCHAR(15) NOT NULL) ;

CREATE TABLE Client


(noCLIENT INTEGER,
nomClient VARCHAR(15),
noTéléphone VARCHAR(15),
PRIMARY KEY (noCLIENT)
) ;
Contrainte de clé
 Clé primaire composée

CREATE TABLE LigneCommande


(noCommande INTEGER,
noArticle INTEGER,
quantité INTEGER,
PRIMARY KEY (noCommande, noArticle)
);
Contrainte de clé

 Clé étrangère : FOREIGN KEY... REFERENCES

porte sur une relation R et impose que la valeur d’un attribut (clé étrangère)

apparaisse comme valeur de clé primaire dans une autre relation S.


Société (S)

Clé étrangère
Nom_Soc Ville
BMCE CASA
Coca AGADIR
Maroc Tele RABAT
COPAG TAROUDANT

Employé (R)
CIN Nom Prénom Salaire Nom_Soc
A24578 ALAMI AHMED 5500.00 Maroc Tele
JE4569 FAOUZI SAID 6200.00 BMCE
AB6593 DAOUDI YOUSSEF 4000.00 Coca
B1234 ARABI FATIMA 8500.00 Coca
J3659 DAOUDI AMNIA 7550.00 Maroc Tel
A3426 FAHMI ANASSE 7550.00 COPAG

Clé primaire Clé primaire


Employé
Société
CIN
Nom_Soc
Nom
Ville
Prénom
Salaire Employé (CIN , Nom, Prénom, Salaire,# Nom_Soc)
Nom_Soc
Clé étrangère Société(Nom_Soc, Ville) 14
Clé étrangère
Le Nom_Soc de la table Employé fait référence à la clé primaire Nom_Soc de la table
Société
CREATE TABLE Employé
(CIN VARCHAR(10),
NOM VARCHAR(20),
Prénom VARCHAR(20),
Salaire INTEGER,
Nom_Soc VARCHAR(50),
PRIMARY KEY(CIN,NOM_Soc),
FOREIGN KEY (Nom_Soc) REFERENCES Société(Nom_Soc)
) ;

La table Société doit d ’abord être créée


15
Contrainte NON NULL

 NOT NULL

Spécifie qu’un ensemble d’attributs ne contient pas de valeur manquante (NULL)

CREATE TABLE Client


(noCLIENT INTEGER PRIMARY KEY,
nomClient VARCHAR(15) NOT NULL,
noTéléphone VARCHAR(15) NOT NULL
) ;
Contrainte de valeur par défaut
 DEFAULT ‘…..’

Pour spécifier la valeur par défaut d’un champ

CREATE TABLE Client


(noCLIENT INTEGER PRIMARY KEY,
nomClient VARCHAR(15) NOT NULL,
noTéléphone VARCHAR(15) DEFAULT 'Confidentiel'
) ;
Contrainte de valeur unique
 UNIQUE
CREATE Table Citoyen
(noAssurranceSociale INTEGER,
noAssurranceMaladie INTEGER,
noPasseport INTEGER,
Spécifie qu’un ensemble d’attributs ne contient nom VARCHAR(30),
prénom VARCHAR(30),
pas des doublons dateNaissance DATE,

PRIMARY KEY (noAssurranceSociale),


UNIQUE (noAssurranceMaladie),
UNIQUE (noPasseport),
UNIQUE (prénom)
) ;
Contrainte CHECK sur une colonne
 CHECK (contrainte)
Le noClient est supérieur à 0 et inférieur à 100000
CREATE TABLE Client
(noCLIENT INTEGER PRIMARY KEY CHECK(noClient >0 AND noClient < 100000),
nomClient VARCHAR(15) NOT NULL,
noTéléphone VARCHAR(15) NOT NULL
) ;

CREATE TABLE Client


(noCLIENT INTEGER PRIMARY KEY,
nomClient VARCHAR(15) NOT NULL,
noTéléphone VARCHAR(15) NOT NULL,
CHECK(noClient >0 AND noClient < 100000)
) ;
Exemple
Vente

NumAch Supposons que les champs doivent être non null


NumVoit
Date_vente
Prix Personne

Voiture NumAch
Nom
NumVoit
Age
Marque
Ville
Type
Couleur
20
Modification du schéma d’une table
 Renommer une colonne

ALTER TABLE nom_table


RENAME COLUMN ancien_nom TO nouveau_nom;

 Renommer une table

ALTER TABLE nom_table


RENAME TO nouveau_nom;
21
Modification du schéma d’une table

 Ajout d’un attribut à la relation en utilisant le mot clé ADD.

Dans ce cas, l'attribut est également ajouté aux tuples existants

ALTER TABLE Nom_Table


ADD colonne Type;

22
Modification du schéma d’une table
o Ajouter un attribut
CREATE TABLE Employé (

Employé CIN VARCHAR(8) PRIMARY KEY,


CIN
Nom
Nom VARCHAR(20),
Prénom Prénom VARCHAR(20),
Salaire
Salaire REAL

Employé (CIN , Nom, Prénom, Salaire) );

 Ajouter de la colonne Date_Naissance (de type DATE) dans la table Employé


23
EXEMPLE
o Ajouter un attribut

Employé
CIN
Nom
ALTER TABLE Employé Prénom
Salaire
ADD Date_Naissance DATE ; Date_Naissance

Employé (CIN , Nom, Prénom, Salaire, Date_Naissance)


24
Modification du schéma d’une table

o Ajouter une contrainte

ALTER TABLE Nom_table


ADD [CONSTRAINT Nom_contrainte] contrainte;

25
Ajouter une contrainte
o Exemple
CREATE TABLE Employé (
Employé CIN VARCHAR(8) PRIMARY KEY,
CIN
Nom Nom VARCHAR(20),
Prénom
Salaire Prénom VARCHAR(20),
Salaire REAL
Employé (CIN , Nom, Prénom, Salaire) );

Ajouter une contrainte Salaire > 0 sur les colonnes " Salaire" de la table Employé
LANGAGE DE Définition DES DONNEES (DDL)

o Suppression d’une contrainte

Toute contrainte que vous avez définie peut être supprimée à l'aide de la
commande ALTER TABLE avec l'option DROP CONSTRAINT.

ALTER TABLE Nom_table


DROP CONSTRAINT nom_contrainte;

27
SUPPRIMER une contrainte
o Exemple
Employé
CIN ALTER TABLE Employé
Nom
Prénom DROP CONSTRAINT Salaire_Positif;
Salaire
LANGAGE DE Définition DES DONNEES (DDL)

o Modification du schéma d’une table

 Suppression d’un attribut à la relation en utilisant le mot clé DROP

ALTER TABLE Nom_Table


DROP colonne ;

29
Modification du schéma d’une table
o Supprimer un attribut
CREATE TABLE Employé (

Employé CIN VARCHAR(8) PRIMARY KEY,


CIN
Nom
Nom VARCHAR(20),
Prénom Prénom VARCHAR(20),
Salaire
Salaire REAL

Employé (CIN , Nom, Prénom, Salaire) );

 Supprimer la colonne Salaire de la table Employé


30
EXEMPLE
o Ajouter un attribut

Employé
CIN
Nom
ALTER TABLE Employé
Prénom
DROP Salaire;

Employé (CIN , Nom, Prénom)

31
LANGAGE DE Définition DONNEES (DDL)

o Suppression d’une table

 Suppression d’une table en utilisant le mot clé DROP TABLE

Supprimer une table revient à éliminer sa structure et toutes les données qu'elle contient

DROP TABLE Nom_table ;

32

Vous aimerez peut-être aussi