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

Resume SQL v2

Ce document présente les concepts fondamentaux des bases de données et du langage SQL, incluant la définition d'une base de données, les types de données, les contraintes d'intégrité, ainsi que les commandes DDL et DML. Il fournit également des exemples pratiques pour créer des tables, insérer des données et établir des relations entre tables à l'aide de clés étrangères. Enfin, un exercice corrigé illustre l'application de ces concepts dans un contexte réel.

Transféré par

y92033190
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)
0 vues12 pages

Resume SQL v2

Ce document présente les concepts fondamentaux des bases de données et du langage SQL, incluant la définition d'une base de données, les types de données, les contraintes d'intégrité, ainsi que les commandes DDL et DML. Il fournit également des exemples pratiques pour créer des tables, insérer des données et établir des relations entre tables à l'aide de clés étrangères. Enfin, un exercice corrigé illustre l'application de ces concepts dans un contexte réel.

Transféré par

y92033190
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

BASE DE DONNÉES & SQL

Résumé Complet — Niveau 3ème SI


🏫 Lycée Mareth • Ibtihel Azizi & Med Yassin Guediri

🗄️ 📊 🔒 ⚙️
Base de Données Types de données Contraintes DDL / DML
Concepts fondamentaux INT, VARCHAR, DATE... PK, FK, NOT NULL... CREATE ALTER INSERT

1 Concepts de base
Vocabulaire essentiel

📌 Une Base de Données, c'est quoi ?

Un ensemble organisé d'informations stockées dans un ordinateur,

que l'on peut consulter, modifier et gérer facilement.

Exemple : la liste de tous les élèves du lycée avec leurs notes et absences.

Terme Définition
Table Un tableau regroupant des données similaires (ex: table des élèves)
Colonne / Champ Propriété élémentaire d'une entité (ex: nom, prénom, âge)
Ligne / Enreg. Les données d'une personne ou d'un objet (une entrée dans la table)
Clé Primaire Identifie de façon UNIQUE chaque ligne de la table (PRIMARY KEY)
Clé Étrangère Relie deux tables via une référence (FOREIGN KEY)
DDL Langage de définition : CREATE, ALTER, DROP (structure)
DML Langage de manipulation : INSERT, UPDATE, DELETE (données)
DQL Langage d'interrogation : SELECT (consultation)

💡 Astuce — Pensez à un tableau Excel !

→ Les colonnes = les titres du tableau (nom, prénom, âge…)

→ Les lignes = chaque personne inscrite dans le tableau

→ La clé primaire = le numéro de ligne unique qui ne se répète jamais

1
2 Types de données
INT · VARCHAR · DATE · DECIMAL…

Chaque colonne doit avoir un type qui définit quelle sorte d'information elle contient :
Type SQL Ce qu'il représente Exemple d'utilisation
INT Nombre entier idModele INT → 15, 26, 38
DECIMAL(n,d) Nombre réel (n chiffres, d DECIMAL(6,3) → 123.456
décimales)
VARCHAR(n) Texte de longueur variable VARCHAR(20) pour un prénom
(max n)
CHAR(n) Texte de longueur FIXE de n CHAR(1) pour le genre M/F
caractères
TEXT Texte long sans limite fixe description, commentaires
DATE Date format AAAA-MM-JJ 2025-04-26
DATETIME Date ET heure 2025-04-26 08:30:00

⚠️ Erreur fréquente à éviter !

DECIMAL(10.3) ← FAUX ! (point au lieu de virgule)

DECIMAL(10,3) ← CORRECT ! (virgule entre n et d)

2
3 Contraintes d'intégrité
Règles qui garantissent la qualité des données

Contrainte Rôle & Exemple


PRIMARY KEY Identifie chaque ligne de façon unique. Une seule PK par table.
NOT NULL La colonne ne peut pas être vide — saisie obligatoire.
UNIQUE Interdit les doublons (accepte NULL contrairement à PK).
DEFAULT valeur Valeur automatique si on ne saisit rien. Ex: DEFAULT 'Tunis'
CHECK (cond.) Vérifie une condition. Ex: CHECK (NbEtoiles BETWEEN 1 AND 5)
FOREIGN KEY Lie une colonne à la PK d'une autre table.
REFERENCES Utilisé avec FK pour indiquer la table et colonne de référence.

3
4 Commandes DDL
CREATE · ALTER · DROP — Gérer la structure

🆕 4.1 Créer une base de données

⌨ SQL

CREATE DATABASE nom_base;

-- Exemple :
CREATE DATABASE BD_Voitures;

📋 4.2 Créer une table (CREATE TABLE)

Syntaxe générale :

⌨ SQL

CREATE TABLE nom_table (


colonne1 TYPE CONTRAINTE,
colonne2 TYPE CONTRAINTE,
...
PRIMARY KEY (colonne1)
);

Exemple complet — Table testeur :

⌨ SQL

CREATE TABLE testeur (


numPermis VARCHAR(8) PRIMARY KEY,
nom VARCHAR(20) NOT NULL,
prenom VARCHAR(20) NOT NULL,
genre CHAR(1),
adresse VARCHAR(10)
);

⚠️ Erreur classique !

4
CREATE tableau personne(...) ← FAUX !

CREATE TABLE personne(...) ← CORRECT !

→ Il faut toujours écrire TABLE (mot-clé SQL), pas 'tableau' !

✏️ 4.3 Modifier une table (ALTER TABLE)

a Ajouter une colonne


⌨ SQL

ALTER TABLE nom_table ADD nom_col TYPE;

-- Exemple : ajouter 'confort' à evaluation


ALTER TABLE evaluation ADD confort INT;

b Modifier le type / la taille d'une colonne


⌨ SQL

ALTER TABLE nom_table MODIFY nom_col NOUVEAU_TYPE;

-- Réduire la taille de 'nom' à 10 caractères


ALTER TABLE testeur MODIFY nom VARCHAR(10);

c Supprimer une colonne


⌨ SQL

ALTER TABLE nom_table DROP COLUMN nom_col;

-- Exemple : supprimer la colonne 'adresse'


ALTER TABLE testeur DROP COLUMN adresse;

d Supprimer la clé primaire


⌨ SQL

ALTER TABLE evaluation DROP PRIMARY KEY;

5
e Définir une nouvelle clé primaire (simple ou composée)
⌨ SQL

ALTER TABLE personne ADD PRIMARY KEY (idpersonne);

-- Clé primaire composée (sur 2 colonnes) :


ALTER TABLE evaluation ADD PRIMARY KEY (numPermis, idModele);

🗑️ 4.4 Supprimer une table (DROP TABLE)

⌨ SQL

DROP TABLE nom_table; -- ATTENTION : suppression définitive !

⚠️ Attention !

DROP TABLE supprime définitivement la table ET toutes ses données.

Cette opération est IRRÉVERSIBLE — impossible à annuler !

6
5 INSERT — Insérer des données
Remplir les tables avec des enregistrements

📥 5.1 Insérer toutes les colonnes (sans les nommer)

⌨ SQL

INSERT INTO nom_table VALUES (val1, val2, val3, ...);

-- Exemple : insérer un testeur complet


INSERT INTO testeur VALUES ('33 44444', 'Zahdane', 'Olfa', 'F', '');

📥 5.2 Insérer en précisant les colonnes

⌨ SQL

INSERT INTO nom_table (col1, col2) VALUES (val1, val2);

-- Exemple : insérer seulement idModele et libelle


INSERT INTO modeleVoiture (idModele, libelle) VALUES (15, 'WALLYS
IRIS');
INSERT INTO modeleVoiture (idModele, libelle) VALUES (26, 'WALLYS 619');

📥 5.3 Insérer plusieurs lignes en une fois

⌨ SQL

INSERT INTO CLIENT VALUES


('CL01', 'Sami GHARBI', '1985-04-15', '22334455'),
('CL02', 'Nadia FERSI', '1990-07-20', '33445566'),
('CL03', 'Mohamed KACEM', '1978-03-05', '44556677');

💡 À retenir sur les valeurs INSERT

→ Textes (VARCHAR, CHAR, DATE) : entre guillemets simples 'valeur'

→ Nombres (INT, DECIMAL) : sans guillemets → 15, 100, 3.5

→ Dates : format 'AAAA-MM-JJ' → '2025-04-26'

7
8
6 Clés Étrangères — Relations
Lier deux tables entre elles

Une clé étrangère (FOREIGN KEY) garantit que les valeurs d'une colonne existent bien dans la table liée.

🔗 Lors de la création de la table

⌨ SQL

CREATE TABLE CHAMBRE (


CodeCh VARCHAR(4) PRIMARY KEY,
TypeCh VARCHAR(15) NOT NULL,
Prix DECIMAL(6,3) CHECK (Prix > 0),
IdHotel VARCHAR(3),
FOREIGN KEY (IdHotel) REFERENCES HOTEL(IdHotel)
);

🔗 Avec ALTER TABLE (après création)

⌨ SQL

ALTER TABLE voiture


ADD CONSTRAINT ci
FOREIGN KEY (idpersonne)
REFERENCES personne(idpersonne);

📌 Règle fondamentale

Une valeur dans la colonne FK DOIT exister dans la colonne PK de la table mère.

→ On ne peut PAS insérer une voiture avec idpersonne='p9' si p9 n'existe pas dans
personne.

→ Il faut toujours insérer la ligne dans la table MÈRE avant la table FILLE.

9
7 Exercice Corrigé
Devoir de contrôle N°6 — Table personne & voiture

1 Créer la base de données


⌨ SQL

CREATE DATABASE devoir6votrenom;

2 Corriger et créer la table personne

🔴 Erreurs dans le code original :

CREATE tableau → doit être CREATE TABLE

Deux PRIMARY KEY séparées → une table = une seule clé primaire

DECIMAL(10.3) → doit être DECIMAL(10,3)

⌨ SQL

CREATE TABLE personne (


nom VARCHAR(40),
prenom VARCHAR(40),
adresse VARCHAR(50),
email VARCHAR(50),
telephone DECIMAL(10,3),
PRIMARY KEY (nom)
);

a Ajouter la colonne idpersonne (VARCHAR 5)


⌨ SQL

ALTER TABLE personne ADD idpersonne VARCHAR(5);

b Supprimer l'ancienne clé primaire


⌨ SQL

ALTER TABLE personne DROP PRIMARY KEY;

10
c Définir idpersonne comme nouvelle clé primaire
⌨ SQL

ALTER TABLE personne ADD PRIMARY KEY (idpersonne);

d Créer la table voiture


⌨ SQL

CREATE TABLE voiture (


matricule VARCHAR(10) PRIMARY KEY,
marque VARCHAR(20),
idpersonne VARCHAR(5)
);

e Ajouter la contrainte 'ci' (clé étrangère)


⌨ SQL

ALTER TABLE voiture


ADD CONSTRAINT ci
FOREIGN KEY (idpersonne)
REFERENCES personne(idpersonne);

3 Insérer dans la table personne


⌨ SQL

INSERT INTO personne (idpersonne,nom,prenom,adresse,email,telephone)


VALUES ('p1','gabssi','mohamed','rue essaada mareth 6080',
'gabsimohamed@[Link]', 75258666);

3 Insérer dans la table voiture → ATTENTION !


⌨ SQL

INSERT INTO voiture VALUES ('12tun1234', 'peugeot', 'p2');

⚠️ Remarque — Violation de contrainte !

L'idpersonne 'p2' n'existe pas encore dans la table personne.

11
→ Cette insertion échouera à cause de la contrainte FK 'ci'.

→ Il faut d'abord insérer la personne p2, PUIS insérer la voiture.

📝 Question Théorique — Réponses

Concept Définition
Colonne / Attribut Représente une propriété élémentaire de l'entité décrite par cette
table
DDL Commande permettant la création, modification et suppression
des structures d'une BD
Clé Primaire (PK) Identifie d'une façon unique chaque ligne de la table
Mode Graphique / Interface composée d'une suite de fenêtres pour créer une base
EasyPHP de données

✅ Bon courage MA FEMME! Je suis fier de toi.

Lycée Mareth — 3ème SI — 2025/2026

12

Vous aimerez peut-être aussi