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

Création de Bases de Données SQL

Le document présente les méthodes de création et de modification de bases de données en SQL, en détaillant les commandes pour créer des bases et des tables. Il explique les types de données, les contraintes d'intégrité, ainsi que les bonnes pratiques pour assurer une structure claire et maintenable. Enfin, il résume les principales catégories de commandes SQL utilisées pour la définition, la manipulation et le contrôle des données.

Transféré par

ben saada
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 vues5 pages

Création de Bases de Données SQL

Le document présente les méthodes de création et de modification de bases de données en SQL, en détaillant les commandes pour créer des bases et des tables. Il explique les types de données, les contraintes d'intégrité, ainsi que les bonnes pratiques pour assurer une structure claire et maintenable. Enfin, il résume les principales catégories de commandes SQL utilisées pour la définition, la manipulation et le contrôle des données.

Transféré par

ben saada
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

SQL - Création de Bases de Données FB : Les Z’Algorithmes

Création et Modification de la Structure


d’une Base de Données

es
I. Introduction
Il existe deux modes pour créer les éléments d’une base de données :

m
— Le mode assisté : Utilisation d’une interface graphique
— Le mode commande : Utilisation de commandes SQL

II. Création d’une table en mode commande

th
Le mode commande consiste à créer les différentes structures de la base de données à l’aide de commandes
du langage SQL. Ce langage est composé de trois familles de commandes :
— Commandes de définition de données (LDD) : permettent de créer, modifier et supprimer les
structures de la base de données. ri
— Commandes de manipulation de données (LMD) : permettent de manipuler le contenu de la BD
(insérer, modifier, consulter ou supprimer des lignes dans la table de la BD)
— Commandes de contrôle de données (LCD) : permettent de contrôler l’utilisation de la base de
o
données (sécurité de la base, intégrité des données, cohérence des données).
lg

Création d’une base de données


La commande du langage SQL permettant de créer une nouvelle base de données est la commande CREATE
DATABASE. La forme générale de cette commande est la suivante :
A

1 CREATE DATABASE nom_base ;


Z’

Création d’une table


La commande du langage SQL permettant de créer une table est la commande CREATE TABLE. La forme
générale de cette commande est la suivante :
1 CREATE TABLE nom_table ( definition_colonne ) ;
s

La clause « définition colonne »


Le

Permet de préciser les caractéristiques d’une colonne, elle a la syntaxe suivante :


1 Nom_colonne Type [[ NOT ] NULL ] [ DEFAULT Valeur ] [ Contrainte_colonne ]

Types de données :
— INT (n) : Numérique à n chiffres
— DECIMAL (n, m) : Numérique à n chiffres dont m décimales
— VARCHAR (n) : Chaîne de caractères de longueur maximale n
— DATE / TIME : Date et/ou heure
SQL - Création de Bases de Données FB : Les Z’Algorithmes

Options :
— L’option NULL : La colonne n’est pas obligatoire, l’option NOT NULL veut dire que la colonne est
obligatoire
— L’option DEFAULT : permet d’attribuer une valeur par défaut à cette colonne, elle ne peut pas être
indiquée lorsque la colonne est obligatoire

Exemples :

1 -- Exemple 1 : Colonne avec type et contrainte NOT NULL


2 Nom VARCHAR (50) NOT NULL
3

-- Exemple 2 : Colonne avec valeur par d é faut

es
4

5 Ville VARCHAR (30) DEFAULT ’ Paris ’


6

7 -- Exemple 3 : Colonne num é rique


8 Â ge INT (3)

hm
9

10 -- Exemple 4 : Colonne d é cimale


11 Prix DECIMAL (10 , 2)
12

13 -- Exemple 5 : Colonne date

it
14 Date_naissance DATE
15

16 -- Exemple 6 : Colonne avec caract è res accentu é s


17 Pr é nom VARCHAR (50) NOT NULL
r
L’option « Contrainte colonne »
go
Précise une contrainte d’intégrité relative à la colonne (contrainte de clé primaire, de clé étrangère ou de
valeur). La syntaxe est la suivante :
1 [ CONSTRAINT nom_contrainte ]
Al

2 [ PRIMARY KEY | REFERENCES nom_table [( nom_colonne ) ]


3 [ ON DELETE CASCADE ] CHECK ( condition )

Explications :
Z’

— CONSTRAINT : est optionnel et sert à attribuer un nom à la contrainte


— PRIMARY KEY : Spécifie que la colonne est utilisée comme clé primaire
— REFERENCES : Définit une contrainte d’intégrité référentielle
— ON DELETE CASCADE : Maintient l’intégrité référentielle en supprimant automatiquement les valeurs d’une
clé étrangère dépendant des valeurs d’une clé primaire supprimée
s

— CHECK : Mot clé associé à une condition pour chaque valeur insérée
Le

Exemples :

1 -- Exemple 1 : Cl é primaire avec nom de contrainte


2 CONSTRAINT pk_employ é PRIMARY KEY
3

4 -- Exemple 2 : Cl é é trang è re avec r é f é rence


5 REFERENCES D é partement ( Code_Dept )
6

7 -- Exemple 3 : Cl é é trang è re avec suppression en cascade


8 REFERENCES Client ( Id_Client ) ON DELETE CASCADE
9

10 -- Exemple 4 : Contrainte CHECK


11 CHECK ( Â ge >= 18)
12

13 -- Exemple 5 : Combinaison de contraintes


SQL - Création de Bases de Données FB : Les Z’Algorithmes

14 Id_Employ é INT NOT NULL PRIMARY KEY ,


15 Id_D é pt INT REFERENCES D é partement ( Id_D é pt ) ,
16 Â ge INT CHECK ( Â ge BETWEEN 18 AND 65)
17

18 -- Exemple 6 : Contrainte avec caract è res fran ç ais


19 CONSTRAINT chk_nom CHECK ( Nom NOT LIKE ’% é % ’ OR Pr é nom IS NOT NULL )

Contraintes au niveau de la table


Pour définir une contrainte d’intégrité au niveau de la table (doit être utilisée lorsque la contrainte ne
s’applique pas à une seule colonne). La syntaxe est la suivante :

es
1 [ CONSTRAINT nom_contrainte ]
2 { PRIMARY KEY ( colonne1 , colonne2 , ...)
3 FOREIGN KEY ( colonne1 , colonne2 , ...)
4 REFERENCES nom_table [( colonne1 , colonne2 , ...) ]
5 [ ON DELETE CASCADE ]

hm
6 CHECK ( condition ) }

Explications :

it
— CONSTRAINT : Optionnel et sert à attribuer un nom à la contrainte
— PRIMARY KEY : Spécifie que les colonnes sont utilisées comme clé primaire
— FOREIGN KEY : Définit une contrainte d’intégrité référentielle relative à plusieurs colonnes
r
— REFERENCES : le nom de la table précisé après ce mot est celui de la table mère, les noms des colonnes
sont ceux des colonnes vers lesquelles on se réfère
go
— CHECK : mot clé associé à une condition qui doit être vérifiée pour chaque valeur insérée, elle peut concerner
ici plus qu’une colonne

Exemples :
Al

1 -- Exemple 1 : Cl é primaire composite


2 CONSTRAINT pk_inscription PRIMARY KEY ( Id_ É tudiant , Id_Cours )
3

4 -- Exemple 2 : Cl é é trang è re composite


Z’

5 CONSTRAINT fk_commande FOREIGN KEY ( Id_Client , Id_Produit )


6 REFERENCES Client_Produit ( Id_Client , Id_Produit )
7

8 -- Exemple 3 : Contrainte CHECK au niveau table


9 CONSTRAINT chk_salaire CHECK ( Salaire_Base > 0 AND Prime >= 0)
10

11 -- Exemple 4 : Contrainte avec ON DELETE CASCADE


s

12 CONSTRAINT fk_d é pendance FOREIGN KEY ( Id_Parent )


13 REFERENCES Parent ( Id_Parent ) ON DELETE CASCADE
14
Le

15 -- Exemple 5 : Contrainte avec conditions complexes


16 CONSTRAINT chk_p é riode CHECK (
17 ( Date_D é but <= Date_Fin ) AND
18 ( Statut IN ( ’ Actif ’ , ’ Inactif ’ , ’ En attente ’) )
19 )

Exemple complet de création de table


1 -- Cr é ation de la base de donn é es
2 CREATE DATABASE Entreprise ;
3

4 -- S é lection de la base de donn é es


5 USE Entreprise ;
6
SQL - Création de Bases de Données FB : Les Z’Algorithmes

7 -- Cr é ation de la table D é partement


8 CREATE TABLE D é partement (
9 Code_Dept INT PRIMARY KEY ,
10 Nom_Dept VARCHAR (50) NOT NULL ,
11 Budget DECIMAL (12 , 2) DEFAULT 0.00 ,
12 Responsable VARCHAR (100)
13 );
14

15 -- Cr é ation de la table Employ é


16 CREATE TABLE Employ é (
17 Id_Employ é INT NOT NULL ,

es
18 Nom VARCHAR (50) NOT NULL ,
19 Pr é nom VARCHAR (50) ,
20 Date_Naissance DATE ,
21 Salaire DECIMAL (10 , 2) CHECK ( Salaire > 0) ,
22 Code_Dept INT ,

m
23 Date_Embauche DATE DEFAULT CURRENT_DATE ,
24

25 CONSTRAINT pk_employ é PRIMARY KEY ( Id_Employ é ) ,


26 CONSTRAINT fk_d é partement FOREIGN KEY ( Code_Dept )
27 REFERENCES D é partement ( Code_Dept )

th
28 ON DELETE SET NULL ,
29

30 CONSTRAINT chk_ â ge CHECK (


31 YEAR ( CURRENT_DATE ) - YEAR ( Date_Naissance ) >= 18
32 ),
33

34

35

36

37
CONSTRAINT chk_nom_complet CHECK (

)
LENGTH ( TRIM ( Nom ) ) > 0 AND
LENGTH ( TRIM ( Pr é nom ) ) > 0
o ri
38 );
39
lg
40 -- Cr é ation de la table Projet
41 CREATE TABLE Projet (
42 Id_Projet INT PRIMARY KEY ,
43 Nom_Projet VARCHAR (100) NOT NULL ,
44 Description TEXT ,
A

45 Date_D é but DATE NOT NULL ,


46 Date_Fin DATE ,
47 Budget_Allou é DECIMAL (15 , 2) ,
48

CONSTRAINT chk_dates CHECK ( Date_D é but <= Date_Fin ) ,


Z’

49

50 CONSTRAINT chk_budget CHECK ( Budget_Allou é >= 0)


51 );
52

53 -- Cr é ation de la table d ’ association Employ é _Projet


54 CREATE TABLE Employ é _Projet (
55 Id_Employ é INT ,
56 Id_Projet INT ,
s

57 R ô le VARCHAR (50) DEFAULT ’ Membre ’ ,


58 Date_Affectation DATE DEFAULT CURRENT_DATE ,
Le

59 Ta ux _Pa rticipation DECIMAL (5 , 2) CHECK ( Taux_Participation BETWEEN 0 AND 100) ,


60

61 CONSTRAINT pk_employ é _projet PRIMARY KEY ( Id_Employ é , Id_Projet ) ,


62 CONSTRAINT fk_employ é _ep FOREIGN KEY ( Id_Employ é )
63 REFERENCES Employ é ( Id_Employ é ) ON DELETE CASCADE ,
64

65 CONSTRAINT fk_projet_ep FOREIGN KEY ( Id_Projet )


66 REFERENCES Projet ( Id_Projet ) ON DELETE CASCADE ,
67

68 CONSTRAINT chk_taux CHECK ( Taux_Participation > 0)


69 );
SQL - Création de Bases de Données FB : Les Z’Algorithmes

Résumé des commandes SQL de définition


— CREATE DATABASE : Crée une nouvelle base de données
— CREATE TABLE : Crée une nouvelle table
— ALTER TABLE : Modifie la structure d’une table existante
— DROP TABLE : Supprime une table
— DROP DATABASE : Supprime une base de données

Les trois catégories de langage SQL

es
— LDD (Langage de Définition de Données) : Commandes pour créer, modifier et supprimer les
structures de la base de données (CREATE, ALTER, DROP)
— LMD (Langage de Manipulation de Données) : Commandes pour manipuler les données dans les

m
tables (INSERT, UPDATE, DELETE, SELECT)
— LCD (Langage de Contrôle de Données) : Commandes pour contrôler l’accès et les permissions
(GRANT, REVOKE, COMMIT, ROLLBACK)

th
Bonnes pratiques
— Utiliser des noms de table et de colonne clairs et descriptifs
— Toujours spécifier NOT NULL pour les colonnes obligatoires

— Nommer les contraintes pour faciliter la maintenance


ri
— Utiliser des contraintes pour assurer l’intégrité des données

— Utiliser des clés primaires simples (de préférence un identifiant numérique auto-incrémenté)
o
— Documenter la structure de la base de données
lg
A
Z’
s
Le

Vous aimerez peut-être aussi