Diseña un banco de proyectos y su base de datos

Clase 3 de 17Curso Básico de Manejo de Datos en Laravel con Eloquent ORM

Antes de empezar a escribir código sin control, debemos ejecutar el paso número cero, que es diseñar el proyecto y cómo estará estructurada la base de datos a la cual accederemos a través de Eloquent.

Diseñaremos un banco de proyectos, lo que traduce a una aplicación para administrar información sobre proyectos, algo así como un repositorio. El foco de esta aplicación será la realización de un CRUD,. lo llamaremos Project Manager o Manejador de Proyectos.

El nombre de la base de datos será project_manager. Para empezar podemos identificar que necesitaremos una tabla principal que almacene los proyectos llamada projects. La información de los proyectos es nuestro segundo foco para empezar a armar la estructura, necesitaremos que cada proyecto tenga un identificador, nombre, fecha de ejecución, presupuesto, ciudad donde se ejecutará, la compañía que lo llevará a cabo, si está activo o no y un usuario responsable.

Diseño de tablas y base de datos con Eloquent

Luego tendremos que relacionarla con la ciudad, la compañía y el usuario responsable, para esto necesitaremos tener una tabla por cada grupo de datos que será de donde tomaremos su identificador y lo traeremos como llave foránea a nuestra tabla principal.

Esto pensando que existen muchas ciudades y cada proyecto solo puede pertenecer a una ciudad donde se ejecutará, igualmente sucede con la compañía y el usuario que será titular.

El modelo de nuestra base de datos quedaría así:

Modelo Bases de Datos

De esta forma, ahora tenemos las tablas users, companies y cities que se relacionan directamente con la tabla projects.

Recuerda que vamos a desarrollar un CRUD sobre proyectos, por lo tanto, tendremos que preparar las acciones de Agregar, Actualizar, Eliminar y Listar datos. Aquí empieza la magia de Eloquent pues el flujo será el mismo para todas:

Flujo de Datos Eloquent

Ya tenemos nuestra base de datos lista para empezar a trabajar sobre ella, te invito a seguir a la siguiente clase donde iniciaremos nuestro proyecto en Laravel y haremos la conexión a nuestra base de datos en MySQL.