Cours accéléré 101
10 Modules
5 Semaines

Concepteur de modèles de données

Cliquez pour copier

Création de la base de données à l'aide du concepteur de modèles de données


Conception de la base de données

Il est temps de concevoir votre propre base de données. Pour ce faire, allez dans l'onglet Database sur le panneau de gauche.

Data models designer

Modèles de données

Les données de la base de données sont stockées sous la forme de tables spéciales (modèles). Vous pouvez remarquer que nous avons déjà un modèle. Il fait partie du module d'autorisation et est inclus par défaut dans chaque projet. C'est grâce à lui que sont créés les nouveaux utilisateurs de l'application et que sont gérés les utilisateurs existants. Mais nous n'allons pas nous attarder sur son étude maintenant, nous allons créer notre propre modèle.

Imaginons que nous développions un service de cartographie. Créons un modèle qui contient des informations sur les pays. Pour le créer, il faut faire un clic droit dans une zone vide du canevas et sélectionner Create empty model.

Pour créer, il nous suffit de spécifier le nom du modèle. Nous traiterons de la génération automatique des points de terminaison et des éléments de l'interface utilisateur dans les autres modules du cours.

Create new model

Champs du modèle

Veuillez noter qu'immédiatement après la création, le modèle contient déjà 4 champs. Il s'agit de champs système, dont la présence simplifie grandement la création initiale et l'utilisation ultérieure du modèle.

ID (integer) - Identifiant unique, clé primaire. Il est automatiquement créé pour chaque nouvelle entrée dans la table et a pour but de s'assurer qu'il n'y a pas de doublons. C'est par l'identifiant que l'on peut identifier de façon unique un enregistrement dans une table. Sa valeur commence à 1 et augmente automatiquement de 1 pour chaque nouvelle entrée.

CreatedAt (datetime) - L'heure à laquelle l'enregistrement a été créé dans la table.

UpdatedAt (datetime) - L'heure à laquelle l'entrée a été modifiée pour la dernière fois.

DeletedAt (datetime) - L'heure à laquelle l'entrée a été supprimée. Bien sûr, uniquement si une suppression douce a été utilisée. C'est-à-dire, une telle suppression, lorsque l'enregistrement est seulement marqué comme supprimé et filtré par les demandes d'accès à celui-ci, mais en même temps reste physiquement dans la table. C'est différent de la suppression en masse, qui supprime en fait complètement les données.

En plus des champs système, il serait judicieux d'ajouter des champs personnalisés au modèle créé. Supposons que nous voulions voir le nom du pays et une description contenant des informations à son sujet.

Le choix d'un type de champ ne devrait pas poser de problème. String convient pour le nom, et Text pour la description informative.

Add model field

En outre, quatre autres commutateurs sont disponibles :

Multiple values ​​(Array) - utilisez des tableaux plutôt que des entrées individuelles.

Not null - le champ spécifié ne peut pas être vide, il doit toujours contenir des données.

Unique - la valeur du champ doit être unique, dans ce modèle il ne peut pas y avoir deux enregistrements dont les valeurs de ce champ sont les mêmes.

Index - indique qu'un index spécial sera créé pour ce champ afin d'accélérer la recherche.

En général, il n'est bon de cocher les marques que si c'est vraiment nécessaire. Par exemple, nous pourrions marquer Not null et Unique pour les noms de pays, en supposant qu'il ne peut y avoir un pays sans nom, ou deux pays avec le même nom. Cependant, il est préférable de contrôler cela au stade de la création de la logique de l'application, et de ne pas imposer de restrictions à la base de données elle-même.

De même, créez une table contenant des informations sur les villes. Réfléchissez aux champs de données qu'elle peut contenir et au type de ces champs.

Relations entre les modèles de données

Les données de la base de données n'existent pas toutes seules, sous la forme de tableaux épars. Elles sont liées les unes aux autres d'une certaine manière. La clé du développement d'un modèle de données consiste à définir ces relations et à établir des liens.

Pour établir ces liens, il est nécessaire de tracer une ligne avec la souris de la frontière d'un modèle à un autre. Dans notre exemple, nous savons avec certitude que chaque ville est située dans un certain pays, nous pouvons donc créer un lien du pays vers la ville.

Data models relations

Il existe 3 différents types de liaisons :

One-to-one (has one). Chaque enregistrement de la table est mis en correspondance avec un enregistrement de la table associée (ceci est également vrai en sens inverse). Un exemple simple est celui d'une personne et de son passeport. Nous pouvons toujours être sûrs que cette connexion est unique. Un passeport ne peut avoir qu'un seul titulaire, et chaque personne ne peut avoir qu'un seul passeport valide.

One-to-many (has many). Chaque enregistrement d'une table peut avoir de nombreux enregistrements dans une autre table. Notre base de données est un exemple similaire. Un pays peut avoir de nombreuses villes différentes, mais chaque ville ne peut appartenir qu'à un seul pays. C'est la connexion que nous allons établir.

Plusieurs à plusieurs. Une relation dans laquelle plusieurs enregistrements d'une table peuvent correspondre à plusieurs enregistrements d'une autre table. Un exemple simple est la relation entre les enseignants et les élèves. Chaque professeur peut enseigner à de nombreux élèves, tout comme chaque élève peut apprendre de nombreux professeurs différents.

Was this article helpful?
Vous cherchez toujours une réponse ?
Rejoignez la communauté