El Proyecto: App de Control de Gastos Personales
Vamos a diseñar el modelo lógico para una aplicación simple que ayuda a una persona a registrar sus ingresos y gastos para saber a dónde va su dinero cada mes.
- El Mini-Mundo y sus Reglas de Negocio
Después de las "entrevistas con el usuario" (en este caso, nosotros mismos), definimos las siguientes reglas:
Una persona tiene varias cuentas de donde sale o entra el dinero (ej: cuenta de ahorros, tarjeta de crédito, efectivo).
Se registran transacciones (gastos o ingresos) que ocurren en una fecha específica.
Toda transacción debe pertenecer a una sola cuenta.
Para organizar los gastos, cada transacción de egreso debe estar asociada a una categoría (ej: Comida, Transporte, Ocio).
Una misma categoría se puede usar para muchas transacciones.
- Identificando las Entidades y Atributos
A partir de las reglas, extraemos las entidades principales y la información que necesitamos de cada una.
CUENTA : Representa de dónde viene o a dónde va el dinero.
ID_Cuenta (Llave Primaria)
Nombre_Cuenta (ej: "BCP Ahorros", "Interbank TC")
Tipo_Cuenta (ej: "Débito", "Crédito", "Efectivo")
Saldo_Inicial
TRANSACCION : El registro de cada movimiento de dinero.
ID_Transaccion (Llave Primaria)
Fecha
Monto
Tipo (Ingreso o Egreso)
Descripcion
ID_Cuenta (Llave Foránea para saber de qué cuenta es)
ID_Categoria (Llave Foránea para saber a qué categoría pertenece)
CATEGORIA : Para clasificar los gastos.
ID_Categoria (Llave Primaria)
Nombre_Categoria (ej: "Comida", "Transporte", "Vivienda")
Descripcion_Categoria
- Creando el Modelo Lógico en diagrams.net
Ahora, llevamos esta estructura a un diagrama. Usaremos la representación vertical que es la más común y clara, ya que se parece a la estructura final de las tablas en la base de datos.
Paso 1: Creamos un rectángulo para cada entidad: CUENTA, TRANSACCION y CATEGORIA.
Paso 2: Listamos los atributos verticalmente dentro de cada entidad.
Paso 3: Identificamos las llaves, marcando las Llaves Primarias (PK) y las Llaves Foráneas (FK).
Paso 4: Dibujamos las líneas de relación y establecemos la cardinalidad según nuestras reglas:
CUENTA a TRANSACCION: Una cuenta puede tener muchas transacciones, pero una transacción pertenece a una sola cuenta. Relación de Uno a Muchos (1:N).
CATEGORIA a TRANSACCION: Una categoría puede usarse en muchas transacciones, pero una transacción tiene una sola categoría. Relación de Uno a Muchos (1:N).