0% ont trouvé ce document utile (0 vote)
25 vues22 pages

Suite DB SQL Partie1

Ce document présente une introduction au langage SQL, en se concentrant sur la création, la modification et la manipulation des bases de données relationnelles. Il décrit les étapes nécessaires pour établir une base de données, ainsi que les différentes commandes SQL pour définir et gérer les tables. Les concepts clés incluent le langage de définition de données (LDD) et le langage de manipulation de données (LMD), avec des exemples pratiques de création et de gestion des tables.

Transféré par

Yassine
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)
25 vues22 pages

Suite DB SQL Partie1

Ce document présente une introduction au langage SQL, en se concentrant sur la création, la modification et la manipulation des bases de données relationnelles. Il décrit les étapes nécessaires pour établir une base de données, ainsi que les différentes commandes SQL pour définir et gérer les tables. Les concepts clés incluent le langage de définition de données (LDD) et le langage de manipulation de données (LMD), avec des exemples pratiques de création et de gestion des tables.

Transféré par

Yassine
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

Introduction aux bases de données

(Langage SQL - partie I -)

CPGE Moulay Youssef


Rabat

MP

2024 / 2025

0 / 21
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Plan

1 Introduction

2 Le langage SQL

3 Langage de définition de données

4 Langage de manipulation de données

1 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Introduction

Les étapes nécessaires pour établir une base de données relationnelle :


Créer un modèle conceptuel de données (MCD) : Modèle Entité-Associations ;
Créer un modèle logique de données (MLD) : Modèle relationnel ;
Implémentation de la base sous un SGBD.

⇒ Nous avons vu comment définir un schéma relationnel d’une base de données


relationnelle, l’objectif maintenant est de l’implémenter sous un SGBD à l’aide du langage
SQL.

2 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Le langage SQL

SQL (Structured Query Language) est un langage informatique normalisé introduit par
IBM servant à exploiter des bases de données relationnelles. Il comporte :
Un langage de définition de données (LDD) ;
Un langage de manipulation de données (LMD) ;
Un langage de contrôle de données (LCD) ;
Un langage de contrôle de transaction (LCT) ;
etc.

3 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Le langage de définition de données (LDD) permet la modification du schéma d’une base


de données :
Créer une table
Supprimer une table
Modifier une table
La création d’une table consiste à définir :
le nom de table
les colonnes de la table (leurs noms et types)
les contraintes d’intégrité que devront respecter les données de la table

4 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Les différentes types de données :


CHAR (TAILLE) : chaîne de caractères de longueur fixe
VARCHAR (tailleMax) : chaine de caractères de longueur variable
SMALLINT, INTEGER, BIGINT : Entier signé (de 2,4,8 octets)
REAL : nombre décimal à virgule flottante
DATE : pour les dates au format AAAA-MM-JJ
...

5 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Création d’une table


1 CREATE TABLE nom (
2 nom_attribut type valeur_par_defaut contrainte ,
3 ...
4 nom_attribut type valeur_par_defaut contrainte ,
5 contrainte de table ,
6 ...
7 contrainte de table )
Contraintes de colonne :
UNIQUE : Toutes les valeurs de la colonne doivent être différentes.
NOT NULL : Interdit l’insertion de valeur nulle pour cet attribut.
DEFAULT : Permet de spécifier la valeur par défaut de la colonne.
Contraintes de table :
PRIMARY KEY (colonne) : Désigne les attributs cités comme clé primaire de la table.
FOREIGN KEY (colonne) REFERENCES table (colonne) : Identifie une ou plusieurs
colonnes comme étant clé étrangère. 6 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

La création des tables : Contraintes de colonne


Exemple :
Soit la table article avec les attributs :
référence de type chaine de caractère qui représente la clé primaire de la table
libellé de type chaine de caractère qui ne doit pas avoir une valeur NULL
dateAjout de type Date
Créer la table de tel sorte que quand on insérera un article dans la table sans indiquer la
date d’ajout, le système affectera automatiquement la date du jour.
CREATE TABLE article (
référence VARCHAR(10) PRIMARY KEY,
libellé VARCHAR(30) NOT NULL,
dateAjout DATE DEFAULT CURRENT_DATE
);

7 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

La création des tables : Contraintes de colonne


CHECK (condition) : Vérifie lors de l’insertion des enregistrements (lignes) que l’attribut
vérifie la condition « condition ».
Opérateurs de comparaison :
=, ! =, <,>, <=, >=
expression BETWEEN value1 AND value2
expression [IN | NOT IN] (value1, value2, value3)
expression [LIKE| NOT LIKE] « expression » : LIKE permet d’utiliser des symboles ( «
% » pour une chaîne de caractères de longueur quelconque, «_ » pour un seul
caractère...)

8 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

La création des tables : Contraintes de colonne


Exemple :
CREATE TABLE Etudiant (
idEtudiant INTEGER PRIMARY KEY,
nom VARCHAR (5) NOT NULL ,
prenom VARCHAR (30) NOT NULL ,
moyenne REAL NOT NULL CHECK (moyenne <20),
Email VARCHAR(50) NOT NULL CHECK (Email LIKE "%@%") ) ;

9 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Création d’une table


Exercice d’application :
Soit le schéma relationnel :
Film (idfilm , titre, année)
Acteur (idacteur, nom, prenom)
Joue (#idacteur, #idfilm)

Créer la base de données et les tables correspondants :

1 CREATE TABLE Joue (


2 idacteur INTEGER ,
3 idfilm INTEGER ,
4 PRIMARY KEY ( idacteur , idfilm ) ,
5 FOREIGN KEY ( idacteur ) REFERENCES Acteur ( idacteur ) ,
6 FOREIGN KEY ( idfilm ) REFERENCES Film ( idfilm )
) ;
10 / 21
7
CPGE Moulay Youssef
Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Suppression et modification d’une table


Suppression d’une table :
Supprimer une table revient à éliminer sa structure et toutes les données qu’elle contient.
La syntaxe est la suivante :
1 DROP TABLE nom_table
⇒ Il n’est pas possible d’utiliser cette commande avec une table référencée par une
contrainte FOREIGN KEY
Pour éviter ce genre de problème, on peut ajouter à la contrainte FOREIGN KEY des
options comme :
Quand la ligne contenant la clé primaire référencée est supprimée dans la table
d’origine :
ON DELETE CASCADE : supprimer les lignes concernées
ON DELETE SET NULL : mise à NULL des valeurs des clés étrangères
En cas de modification de la valeur de la clé primaire de la table d’origine :
ON UPDATE CASCADE : modifier les valeurs des clés étrangères
ON UPDATE SET NULL : mise à NULL des valeurs des clés étrangères 11 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Suppression et modification d’une table


Modification d’une table : Ajout de colonne
1 ALTER TABLE nomTable ADD (
2 nomColonne1 type1 [ contrainte1 ] ,
3 ... ) ;
Exemple :
1 ALTER TABLE personne ADD ( Age INTEGER ) ;
Modification d’une table : modifier une colonne :
1 ALTER TABLE nomTable MODIFY ( nomColonne1 type1 [ contrainte1 ] ,
... ) ;
Exemple :
1 ALTER TABLE personne MODIFY ( prenom NOT NULL , nom VARCHAR (50) ) ;
12 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Suppression et modification d’une table

Modification d’une table : Ajout d’une contrainte :


1 ALTER TABLE nomTable ADD [ CONSTRAINT nomContrainte ] contrainte
Modification d’une table : suppression d’une contrainte :
1 ALTER TABLE nomTable DROP contrainte
Modification d’une table : Renommer une colonne :
1 ALTER TABLE nomTable RENAME COLUMN ancienNom TO nouveauNom
Modification d’une table :Renommer une table :
1 ALTER TABLE nomTable RENAME TO nouveauNom
Exemple :

13 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

1 CREATE TABLE utilisateurs (


2 id INT PRIMARY KEY ,
3 nom VARCHAR (100) NOT NULL ,
4 email VARCHAR (100) UNIQUE ,
5 age INT CHECK ( age >= 18) ,
6 pays_id INT ,
7 CONSTRAINT fk_pays FOREIGN KEY ( pays_id ) REFERENCES pays ( id )
8 );
9 ALTER TABLE utilisateurs
10 ADD CONSTRAINT pk_utilisateurs PRIMARY KEY ( id ) ;
11 ALTER TABLE utilisateurs
12 ADD CONSTRAINT fk_pays FOREIGN KEY ( pays_id ) REFERENCES pays ( id )
13 ALTER TABLE utilisateurs
14 ADD CONSTRAINT unique_email UNIQUE ( email ) ;
15 ALTER TABLE utilisateurs
16 DROP CONSTRAINT unique_email ;
14 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Insertion dans une table

Le langage de manipulation de données (LMD) est l’ensemble des commandes qui


permettent :
l’ajout de lignes dan une table
la suppression de lignes
la modification de lignes
la visualisation du contenu des tables
Les opérations d’ajout, suppression,et modification des lignes doivent être validées par
une transaction pour qu’ils soient pris en compte.

15 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Insertion dans une table


La commande INSERT permet d’insérer une ligne dans une table en spécifiant les valeurs
à insérer.
1 INSERT INTO nomTable ( nomCol1 , nomCol2 , . . . , nomColn ) VALUES
2 ( val11 , val12 , . . . , val1n ) ,
3 ( val21 , val22 ,. . . , val2n ) ,
4 ... ,
5 ( valm1 , val12 , ... , valmn ) ;
Exemples :
1 CREATE TABLE Livre (
2 Code INTEGER NOT NULL ,
3 Titre VARCHAR (60) ) ;

1 INSERT INTO Livre VALUES (4512 , " Antigone " )


2 INSERT INTO Livre ( Code ) VALUES (3105)
16 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Modification de lignes

La commande UPDATE permet de modifier les valeurs d’une ou plusieurs colonnes, dans
une ou plusieurs lignes, selon une condition (prédicat).
Syntaxe :
1 UPDATE nomTable SET
2 nomCol1 = expression1 ,
3 ...
4 ...
5 nomColN = expressionN
6 [ WHERE predicat ]
En l’absence d’une clause WHERE, toutes les lignes sont mises à jour.

17 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Modification de lignes

Exemple :

Soit la table EMPLOYE dont les colonnes sont : num_Employe, nom, prénom, sa-
laire, département
Augmenter de 10% le salaire des employés du département commercial :

1 UPDATE EMPLOYE
2 SET salaire = salaire * 1.1
3 WHERE departement = " COMMERCIAL " ;

18 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Suppression de lignes

Syntaxe :
1 DELETE FROM nomTable [ WHERE predicats ]
Exemple :
1 DELETE FROM EMPLOYE WHERE departement = " COMMERCIAL " ;

19 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

Interroger une base de données


La commande SELECT constitue le langage permettant d’interroger une base de données.
Syntaxe :
1 SELECT A1 , A2 , ... , An
2 FROM T1 , T2 , ... , Tm
3 WHERE C
Avec :
Ai représente un attribut (colonne)
Ti représente une relation (table)
C est une condition
Exemple :
1 SELECT Titre FROM Livre WHERE Code =4512
Donne le titre du livre portant le code 4512.
20 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)
Introduction Le langage SQL Langage de définition de données Langage de manipulation de données

* dans la clause SELECT indique tous les attributs.


La clause SELECT peut contenir des expressions arithmétiques.
On peut renommer un attribut en utilisant le mot clé as.
SQL permet l’utilisation des connecteurs logiques et, ou, et non.
SQL permet l’utilisation Les opérateurs de comparaison <; <=; >; >=; = et <>.
IN(valeur1,. . . , valeurN)
BETWEEN . . . AND . . .
Exemple : Soit le schéma relationnel suivant :
Eleve(IdEleve, Nom, Prenom, Ville, Tel, NoteBac, dateNaissance, classe)
Afficher les noms et prénoms des élèves qui habitent Rabat :
1 SELECT Nom , Prenom FROM Eleve WHERE Ville = " Rabat "
Afficher les noms et les téléphones des élèves qui habitent à Temara ou à Kenitra :
1 SELECT Nom , Tel FROM Eleve WHERE Ville = " Temara " OR Ville = "
Kenitra "
2 SELECT Nom , Tel FROM Eleve WHERE Ville IN ( " Temara " ," Kenitra " )
21 / 21

CPGE Moulay Youssef


Introduction aux bases de données (suite)

Vous aimerez peut-être aussi