Guide du débutant pour écrire des schémas de base de données mySQL

Guide du débutant pour écrire des 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 la construction d'une maison dont 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é.





Comment créer un disque de récupération pour Windows 8.1

CREATE TABLE Syntaxe

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 constituée de colonnes, et la syntaxe CREATE TABLE est utilisée pour créer une seule table. Voici un exemple de base :






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

Comme vous pouvez le voir, cela créera une table de base de données nommée utilisateurs qui se compose de quatre colonnes. Cela devrait être une instruction SQL assez simple commençant par CRÉER UN TABLEAU , 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 colonnes 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 colonnes 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. Ci-dessous, un autre exemple de CRÉER UN TABLEAU déclaration:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth 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. 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 elle contribue à améliorer la vitesse et les performances.
  • Les identifiant La 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 une seule ligne dans la table.
  • Les statut La colonne est un ENUM et doit avoir la valeur 'active' ou 'inactive'. Si aucune valeur n'est spécifiée, une nouvelle ligne commencera avec le statut 'actif'.
  • Les équilibre La colonne commence à 0 pour chaque nouvelle ligne et correspond à un montant formaté à deux décimales.
  • Les date de naissance La 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 créé à La 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. Ainsi, lorsque la ligne parente est supprimée, les lignes enfants nécessaires sont également supprimées automatiquement.

Voici un exemple :


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

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

Notez également le moteur=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.

comment faire une capture d'écran sur Windows 10 sans outil de capture

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 .

Partager Partager Tweeter E-mail Comment interroger plusieurs tables de base de données à la fois avec des jointures SQL

Apprenez à utiliser les jointures SQL pour rationaliser les requêtes, gagner du temps et vous faire sentir comme un utilisateur expérimenté de SQL.

Lire la suite
Rubriques connexes A propos de l'auteur Matt Dizak(18 articles publiés) Plus de Matt Dizak

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner