Introduction au Data Definition Language (DDL)
DDL est l'acronyme de Data Definition Language, c'est-à-dire un ensemble de commandes pour décrire la conception complète d'une base de données en SQL (Structured Query Language). Les principales commandes DDL sont :
- CREATE : Utilisé pour créer un nouvel objet.
- ALTER : Utilisé pour modifier la structure d'un objet existant.
- DROP : Utilisé pour supprimer un objet.
Utilisation des commandes CREATE, ALTER et DROP sur MySQL
a. CREATE
La commande CREATE est utilisée pour créer une nouvelle base de données, une nouvelle table ou une nouvelle vue.
- Exemple :
CREATE DATABASE toko_buku; - Explication : Cette commande permet de créer une nouvelle base de données nommée
toko_buku.
b. ALTER
La commande ALTER est utilisée pour modifier la structure d'une table déjà créée. Cette opération peut être effectuée pour ajouter, supprimer, modifier des colonnes, modifier la table, ou encore attribuer de nouveaux attributs à une colonne.
- Exemple :
ALTER TABLE buku ADD judul_buku varchar(20); - Explication : Cette commande permet d'ajouter un nouveau champ (colonne) nommé
judul_bukude typevarcharavec une longueur maximale de 20 caractères dans la tablebuku.
c. DROP
La commande DROP permet de supprimer définitivement un objet de la base de données. Cet objet peut être la base de données elle-même, une table, une fonction, un index, une procédure, un déclencheur ou une vue.
- Exemple :
DROP DATABASE toko_buku; - Explication : Cette commande supprime la base de données nommée
toko_buku.
Types de données sur MySQL
Le choix du type de données approprié est crucial pour l'efficacité du stockage de la base de données. Voici les catégories de types de données sur MySQL :
A. Types de données numériques
Utilisés pour stocker des données de type numérique.
- TINYINT : Stocke des entiers (positifs/négatifs). Plage : -128 à 127. Taille : 1 octet (8 bits).
- SMALLINT : Stocke des entiers. Plage : -32768 à 32767. Taille : 2 octets (16 bits).
- MEDIUMINT : Stocke des entiers. Plage : -8388608 à 8388607. Taille : 3 octets (24 bits).
- INT : Stocke des entiers. Plage : -2147483648 à 2147483647. Taille : 4 octets (32 bits).
- BIGINT : Stocke des entiers à grande échelle. Plage : -9223372036854775808 à 9223372036854775807. Taille : 8 octets (64 bits).
- FLOAT : Stocke des nombres décimaux en simple précision. Taille : 4 octets (32 bits).
- DOUBLE / REAL : Stocke des nombres décimaux en double précision. Taille : 8 octets (64 bits).
- DECIMAL / NUMERIC : Stocke des nombres décimaux avec une très haute précision. Taille : 8 octets (64 bits).
B. Types de données chaîne (texte)
Utilisés pour stocker des données sous forme de caractères ou de texte.
- CHAR : Stocke une chaîne de caractères de taille fixe (ex : ID produit, NIK carte d'identité). Plage : 0 à 255 caractères.
- VARCHAR : Stocke une chaîne de caractères de taille dynamique/variable. Plage : 0 à 65 535 caractères (dans les versions récentes).
- TINYTEXT : Stocke un texte court. Plage : 0 à 255 caractères.
- TEXT : Stocke un texte standard. Plage : 0 à 65 535 caractères.
- MEDIUMTEXT : Stocke un texte de longueur moyenne. Plage : 0 à 16 777 215 caractères.
- LONGTEXT : Stocke un texte très long. Plage : 0 à 4 294 967 295 caractères.
C. Types de données date et heure
Utilisés pour stocker des données temporelles.
- DATE : Stocke une date (Format :
YYYY-MM-DD). Plage : 1000-01-01 à 9999-12-31. Taille : 3 octets. - TIME : Stocke une heure (Format :
HH:MM:SS). Plage : -838:59:59 à +838:59:59. Taille : 3 octets. - DATETIME : Combinaison de date et heure (Format :
YYYY-MM-DD HH:MM:SS). Plage : 1000-01-01 00:00:00 à 9999-12-31 23:59:59. Taille : 8 octets. - YEAR : Stocke une année (Format :
YYYY). Plage : 1900 à 2155. Taille : 1 octet.
D. Types de données BLOB (binaires)
BLOB est l'acronyme de Binary Large Object. Utilisé pour stocker des données binaires pures, sensible à la casse, et idéal pour les fichiers multimédias comme les images, documents ou sons.
- BIT : Stocke des données binaires. Plage : 64 chiffres binaires.
- TINYBLOB : Taille maximale de 255 octets.
- BLOB : Taille maximale de 65 535 octets.
- MEDIUMBLOB : Taille maximale de 16 777 215 octets.
- LONGBLOB : Taille maximale de 4 294 967 295 octets.
Types de clés en SQL
Une clé en SQL est une combinaison de plusieurs attributs (colonnes) qui permet de distinguer de manière unique les lignes de données dans une table ou de relier une table à une autre.
- Super clé : Ensemble d'attributs pouvant être utilisé pour identifier de manière unique chaque ligne de données d'une table.
- Clé candidate : Super clé minimale ne contenant pas d'attribut redondant. La clé candidate est choisie parmi la combinaison la plus petite de champs pour identifier une valeur unique.
- Clé primaire : Clé candidate choisie comme identification principale d'un enregistrement. Les données de la clé primaire ne peuvent pas être nulles (Not Null) et ne peuvent pas être dupliquées. Chaque table ne peut avoir qu'une seule clé primaire.
- Clé alternative : Clé candidate non choisie comme clé primaire.
- Clé étrangère : Clé utilisée pour relier une table à une autre, formant une relation parent-enfant. La clé primaire de la table principale (parent) est référencée par la clé étrangère de la table liée (enfant).
- Clé composite : Clé composée de deux ou plusieurs attributs pour identifier de manière unique une entité. Généralement utilisée lorsqu'aucune colonne unique ne peut servir de clé primaire.
Types de contraintes sur MySQL
Les contraintes sont des règles de limitation appliquées à une colonne ou une table pour garantir l'intégrité et la validité des données.
- NOT NULL : Garantit qu'une colonne ne peut pas être laissée vide lors de l'insertion d'un enregistrement. Cette colonne doit être remplie avec des données.
- UNIQUE : Garantit que chaque valeur d'une colonne est différente des autres (pas de duplication des enregistrements).
- PRIMARY KEY : Combinaison des contraintes
NOT NULLetUNIQUE. Identifie de manière unique chaque ligne d'une table. Une seulePRIMARY KEYest autorisée par table. - FOREIGN KEY : Maintient l'intégrité référentielle des données entre les tables. Garantit que la valeur dans la colonne enfant doit avoir une référence valide dans la colonne parent (autre table).
- CHECK : Effectue une validation avant que les données ne soient enregistrées dans la base de données. Les données sont évaluées avec une valeur booléenne ; si elles satisfont la condition (true), elles sont enregistrées, sinon (false), SQL les rejette et affiche un message d'erreur.
Écrit par
Wilan
Contributeur permanent de Bali Island Tekno qui partage activement des connaissances sur la technologie, la programmation et le monde du génie logiciel.