FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Guide du débutant pour l'écriture de schémas de base de données mySQL

Lors du développement d'un projet logiciel, l'un des aspects les plus importants, fondamentaux et intrinsèques est un schéma de base de données correctement structuré. C'est l'équivalent de lorsque vous construisez une maison, vous devez vous assurer que les fondations sont correctement posées, sinon les chances de construire une maison de qualité sont considérablement réduites.

Étonnamment plus facile qu'on ne le pense, apprenons les différentes facettes utilisées pour écrire un schéma de base de données bien architecturé.

Syntaxe CREATE TABLE

Pour commencer, ouvrez votre éditeur de texte préféré. La création d'un schéma de base de données ne nécessite rien de plus qu'un fichier texte brut. Une base de données se compose de plusieurs tables, chacune composée de colonnes, et la syntaxe CREATE TABLE est utilisée pour créer une seule table. Voici un exemple basique :

 
utilisateurs de CREATE TABLE (
id INT NON NULL,
is_active TINY INT NOT NULL,
nom_complet VAR CHAR(100) NON NULL,
email VARCHAR(100) NON NULL
);

Comme vous pouvez le voir, cela créera une table de base de données nommée users qui se compose de quatre colonnes. Cela devrait être une instruction SQL assez simple commençant par CREATE TABLE , suivi du nom des tables de la base de données, puis entre parenthèses les colonnes de la table séparées par une virgule.

Utiliser les types de colonne corrects

Comme indiqué ci-dessus, les colonnes qui composent le tableau sont séparées par des virgules. Chaque définition de colonne est composée des trois mêmes parties :

COL_NAME     TYPE     [OPTIONS] 

Le nom de la colonne, suivi du type de colonne, puis de tout paramètre facultatif. Nous aborderons les paramètres facultatifs plus tard, mais en nous concentrant sur le type de colonne, ci-dessous répertorie les types de colonne disponibles les plus couramment utilisés :

À toutes fins utiles, les types de colonnes ci-dessus sont tout ce dont vous avez besoin pour écrire des schémas de base de données mySQL bien construits.

Définir les options de colonne

Lors de la définition des colonnes, vous pouvez également spécifier diverses options. Vous trouverez ci-dessous un autre exemple de CREATE TABLE déclaration :

 
utilisateurs de CREATE TABLE (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nom d'utilisateur VARCHAR(100) NOT NULL UNIQUE,
status ENUM('actif','inactif') NOT NULL DEFAULT 'actif',
solde DECIMAL(8,2) NON NULL PAR DEFAUT 0,
date_de_naissance DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Ce qui précède peut sembler un peu intimidant, mais ne vous inquiétez pas, c'est assez simple. En détail, voici ce qui se passe dans la déclaration ci-dessus :

  • Vous devez toujours utiliser NOT NULL sur toutes les colonnes possibles pour améliorer la vitesse et les performances de la table. Cela spécifie simplement que la colonne ne peut pas être laissée vide / nulle lorsqu'une ligne est insérée.
  • Essayez toujours de garder la taille de la colonne aussi petite que possible, car cela contribue à améliorer la vitesse et les performances.
  • L'identifiant colonne est un entier, est également la clé primaire de la table, ce qui signifie qu'elle est unique, et s'incrémentera de un à chaque fois qu'un enregistrement est inséré. Cela devrait généralement être utilisé sur toutes les tables que vous créez afin que vous puissiez facilement référencer n'importe quelle ligne dans la table.
  • Le statut colonne est un ENUM et doit avoir la valeur "actif" ou "inactif". Si aucune valeur n'est spécifiée, une nouvelle ligne commencera avec le statut "actif".
  • L'équilibre La colonne commence à 0 pour chaque nouvelle ligne et est un montant formaté avec deux décimales.
  • La date_de_naissance colonne est simplement une DATE mais permet également une valeur nulle car la date de naissance peut ne pas être connue lors de la création.
  • Enfin, le created_at colonne est un TIMESTAMP et prend par défaut l'heure actuelle à laquelle la ligne a été insérée.

Ce qui précède est un exemple de table de base de données bien structurée et devrait être utilisé comme exemple à l'avenir.

L'un des plus grands avantages de l'utilisation de bases de données relationnelles telles que mySQL est son excellent support pour les contraintes de clé étrangère et la cascade. C'est lorsque vous liez deux tables ensemble par une colonne, formant une relation parent-enfant, donc lorsque la ligne parent est supprimée, les lignes enfants nécessaires sont également automatiquement supprimées.

Voici un exemple :

 
utilisateurs de CREATE TABLE (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nom d'utilisateur VARCHAR(100) NOT NULL UNIQUE,
nom_complet VARCHAR(100) NON NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) moteur=InnoDB ;
Commandes CRÉER TABLE (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
ID utilisateur INT NOT NULL,
montant DECIMAL(8,2) NON NULL,
nom_produit VARCHAR(200) NON NULL,
FOREIGN KEY (userid) RÉFÉRENCES utilisateurs (id) ON DELETE CASCADE
) moteur=InnoDB ;

Vous remarquerez la clause FOREIGN KEY comme dernière ligne. Cette ligne indique simplement que cette table contient des lignes enfants liées par l'ID utilisateur colonne à leur ligne parente, qui est l'id colonne des utilisateurs table. Cela signifie qu'à chaque fois qu'une ligne est supprimée des utilisateurs table, mySQL supprimera automatiquement toutes les lignes correspondantes des commandes table aidant à assurer l'intégrité structurelle de votre base de données.

Notez également le engine=InnoDB à la fin de la déclaration ci-dessus. Bien qu'InnoDB soit maintenant le type de table mySQL par défaut, il ne l'a pas toujours été, donc cela devrait être ajouté juste pour rester du bon côté, car la cascade ne fonctionne qu'avec les tables InnoDB.

Concevoir en toute confiance

Vous êtes maintenant sur la bonne voie pour concevoir des schémas de base de données mySQL solides et bien structurés. En utilisant les connaissances ci-dessus, vous pouvez maintenant écrire des schémas bien organisés qui offrent à la fois des performances et une intégrité structurelle.

Une fois votre schéma en place, assurez-vous de savoir comment l'utiliser avec ces commandes SQL essentielles.


[]