Curso intensivo 101
10 Módulos
5 Semanas

Diseñador de modelos de datos

Haga clic para copiar

Creación de bases de datos mediante el diseñador de modelos de datos


Diseño de la base de datos

Es hora de diseñar su propia base de datos. Para ello, vaya a la pestaña Database del panel izquierdo.

Data models designer

Modelos de datos

Los datos de la base de datos se almacenan en forma de tablas especiales (modelos). Y puedes notar que ya tenemos un modelo. Forma parte del módulo de autorización y se incluye por defecto en todos los proyectos. Gracias a él, se crean nuevos usuarios de la aplicación y se gestionan los existentes. Pero no nos vamos a detener en su estudio ahora, vamos a crear nuestro propio modelo.

Imaginemos que estamos desarrollando un servicio de mapas. Vamos a crear un modelo que contenga información sobre los países. Para crearlo, hay que hacer clic con el botón derecho del ratón en una zona vacía del lienzo y seleccionar Create empty model.

Para crear, sólo tenemos que especificar el nombre del modelo. Nos ocuparemos de la autogeneración de los puntos finales y de los elementos de la interfaz de usuario en otros módulos del curso.

Create new model

Campos del modelo

Tenga en cuenta que inmediatamente después de la creación, el modelo ya contiene 4 campos. Se trata de campos de sistema, cuya presencia simplifica enormemente la creación inicial y el uso posterior del modelo.

ID (integer) - Identificador único, clave primaria. Se crea automáticamente para cada nueva entrada en la tabla y tiene por objeto garantizar que no haya duplicados. Es por el identificador que se puede identificar de forma única un registro en una tabla. Su valor comienza en 1 y se incrementa automáticamente en 1 para cada nueva entrada.

CreatedAt (datetime) - La hora de creación del registro en la tabla.

UpdatedAt (datetime) - La hora de la última modificación del registro.

DeletedAt (datetime) - La hora en que se borró la entrada. Por supuesto, sólo si se utilizó la eliminación suave. Es decir, un borrado de este tipo, cuando el registro sólo se marca como borrado y se filtran las solicitudes de acceso al mismo, pero al mismo tiempo permanece físicamente en la tabla. Esto es diferente del borrado masivo, que realmente borra los datos por completo.

Además de los del sistema, sería conveniente añadir campos personalizados al modelo creado. Supongamos que queremos ver el nombre del país y alguna descripción con información sobre el mismo.

Elegir un tipo de campo no debería ser un problema. String es adecuado para el nombre, y Text para la descripción informativa.

Add model field

Además, hay otros cuatro interruptores disponibles:

Multiple values ​​(Array) - utilizar matrices en lugar de entradas individuales.

Not null - el campo especificado no puede estar vacío, siempre debe contener datos.

Unique - el valor del campo debe ser único, en este modelo no puede haber dos registros cuyos valores de este campo sean iguales.

Index - indica que se creará un índice especial para este campo con el fin de acelerar la búsqueda.

En general, sólo es correcto marcar si es realmente necesario. Por ejemplo, podríamos marcar Not null y Unique para los nombres de los países, asumiendo que no puede haber un país sin nombre, o dos países con el mismo nombre. Sin embargo, es una buena idea controlar esto en la fase de creación de la lógica de la aplicación, y no poner restricciones en la propia base de datos.

Del mismo modo, cree una tabla con información sobre las ciudades. Piense en qué campos de datos puede contener, y de qué tipo son estos campos.

Relaciones de los modelos de datos

Los datos de la base de datos no existen por sí solos, en forma de tablas dispersas. Están relacionados entre sí de una manera determinada. La clave para desarrollar un modelo de datos es definir esas relaciones y establecer vínculos.

Para establecer estos vínculos, es necesario trazar una línea con el ratón desde el borde de un modelo a otro. En nuestro ejemplo, sabemos con certeza que cada ciudad se encuentra en algún país, por lo que podemos crear un enlace de país a ciudad.

Data models relations

Hay 3 tipos diferentes de conexiones:

Uno a uno (has one). Cada registro de la tabla se asigna a un registro de la tabla asociada (esto también es cierto a la inversa). Un ejemplo sencillo es el de una persona y su pasaporte. Siempre podemos estar seguros de que esta conexión es única. Un pasaporte sólo puede tener un titular, y cada persona sólo puede tener un pasaporte válido.

Uno a muchos (has many). Cada registro de una tabla puede tener muchos registros en otra tabla. Nuestra base de datos es un ejemplo similar. Un país puede tener muchas ciudades diferentes, pero cada ciudad sólo puede pertenecer a un país. Esta es la conexión que haremos.

De muchos a muchos. Una relación en la que varios registros de una tabla pueden corresponder a varios registros de otra. Un ejemplo sencillo es la relación entre profesores y alumnos. Cada profesor puede enseñar a muchos alumnos, al igual que cada alumno puede aprender de muchos profesores diferentes.

Was this article helpful?
¿Sigue buscando una respuesta?
Únase a la Comunidad