Base de Datos - ISPC-Vanguard-Systems/ARG-Broker GitHub Wiki

🚀 Base de Datos - ISPC VANGUARD SYSTEMS

📍 Diagrama Entidad-Relacion

Vanguard _ Diagrama E-R _ Proyecto integrador

Consignas propuestas para Base de Datos

📍 Identificar las entidades principales del sistema.

Identificación de Entidades

📍 Principales

  • Tipos_Documentos: Tabla que registra los tipos de documentos de identificación que se manejan en el sistema.
  • Inversores: Tabla que registra a los usuarios o inversores de la aplicación.
  • Cuentas: Tabla que registra las cuentas del inversor.
  • Tipos_Inversores: Tabla que registra el tipo de inversor, según su personalidad fiscal.
  • Tipos_Cuentas: Tabla que registra los tipos de cuentas, si es demo o no.
  • Tipos_Transacciones: Tabla que registra los tipos de transacciones disponibles para cada operación.
  • Acciones: Tabla que registra las acciones y su información.
  • Transacciones: Tabla que registra todas las transacciones realizadas.
  • Monedas: Tabla que registra las monedas en las que puede operar el inversor.
  • Comisiones: Tabla que registra las comisiones del Broker.

📍 Otras

  • Saldos_por_Cuentas: Tabla que registra los saldos de cada cuenta por cada moneda.
  • Detalles_Acciones: Tabla que registra los detalles diarios de cada acción.
  • Precios_por_Acciones: Tabla que registra los precios de compra y venta actuales de cada acción en tiempo real.
  • Tipos_Doc_por_Tipos_Inv: Tabla que registra los tipos de documentos admitidos por personalidad fiscal o tipo de inversor.
  • Acciones_por_inversores: Tabla que registra la cantidad de acciones especificas que posee cada inversor.

📍 Definir los atributos para cada entidad, considerando los datos necesarios para cumplir con las funcionalidades especificadas.

Detalle de las Tablas

📍 Atributos por tabla

Tipos_Documentos

Nombre Tipo Explicación
id_tipo_documento PK Identificador único del tipo de documento
nombre_tipo_documento UNQ Nombre del tipo de documento, ej: dni, cuit, etc.
formato Formato del documento, ej: ##-########-#, etc.

Inversores

Nombre Tipo Explicación
id_inversor PK Identificador único del inversor
id_tipo_documento FK Clave foránea al tipo de documento del inversor
documento UNQ Número de documento del inversor
mail UNQ Correo electrónico del inversor
telefono UNQ Número telefónico del inversor
razon_social Razón social o nombre del inversor
id_tipo_inversor FK Clave foránea al tipo de inversor

Cuentas

Nombre Tipo Explicación
numero_cuenta PK Número único de la cuenta
id_inversor FK Clave foránea al inversor propietario de la cuenta
id_tipo_cuenta FK Clave foránea al tipo de cuenta
fecha_creacion Fecha de creación de la cuenta

Saldos_por_Cuentas

Nombre Tipo Explicación
numero_cuenta PK-FK Clave foránea y primaria del número de cuenta
id_moneda PK-FK Clave foránea y primaria de la moneda
saldo Saldo actual de la cuenta en esa moneda

Tipos_Inversores

Nombre Tipo Explicación
id_tipo_inversor PK Identificador único del tipo de inversor
nombre_tipo_inversor UNQ Nombre del tipo de inversor, ej: persona física, jurídica, etc.

Tipos_Doc_por_Tipos_Inv

Nombre Tipo Explicación
id_tipo_inversor PK Identificador único del tipo de inversor
id_tipo_documento PK Clave foránea al tipo de inversor

Detalles_Acciones

Nombre Tipo Explicación
id_accion PK-FK Clave foránea y primaria del identificador de acción
fecha PK Fecha del detalle, clave primaria junto con id_accion
precio_apertura Precio de apertura de esa acción en esa fecha
cantidad_compra_diaria Cantidad de acciones compradas ese día
cantidad_venta_diaria Cantidad de acciones vendidas ese día
minimo_diario Precio mínimo alcanzado ese día
maximo_diario Precio máximo alcanzado ese día
variacion_diaria Variación porcentual del precio ese día
ultimo_cierre Precio de cierre final ese día

Precios_por_Acciones

Nombre Tipo Explicación
id_accion PK-FK Clave foránea y primaria del identificador de acción
fecha_hora PK Fecha y hora del precio, clave primaria junto con id_accion
precio_compra_actual Precio actual de compra de esa acción
precio_venta_actual Precio actual de venta de esa acción

Tipos_Cuentas

Nombre Tipo Explicación
id_tipo_cuenta PK Identificador único del tipo de cuenta
tipo_cuenta UNQ Nombre del tipo de cuenta, ej: demo, etc.

Tipos_Transacciones

Nombre Tipo Explicación
id_tipo_transaccion PK Identificador único del tipo de transacción
nombre UNQ Nombre del tipo de transacción, ej: compra, venta, conversión, etc.

Acciones

Nombre Tipo Explicación
id_accion PK Identificador único de la acción
simbolo UNQ Símbolo de la acción en el mercado, ej: AAPL para Apple Inc.
nombre_empresa Nombre de la empresa emisora de la acción

Transacciones

Nombre Tipo Explicación
id_transaccion PK Identificador único de la transacción
numero_cuenta FK Cuenta en la que se realizó la transacción
id_tipo_transaccion FK Tipo de transacción realizada
id_moneda FK Moneda en la que se realizó la transacción
fecha_hora Fecha y hora en que se efectuó la transacción
cantidad_acciones Cantidad de acciones involucradas
id_acciones FK Acción involucrada en la transacción, si aplica
id_comision FK Comisión aplicada en la transacción, si aplica
monto_total Monto total de la transacción

Monedas

Nombre Tipo Explicación
id_moneda PK Identificador único de la moneda
nombre UNQ Nombre de la moneda, ej: USD, EUR, etc.

Comisiones

Nombre Tipo Explicación
id_comision PK Identificador único de la comisión
nombre UNQ Nombre de la comisión
porcentaje_aplicable Porcentaje de la comisión aplicable

Acciones_por_Inversores

Nombre Tipo Explicación
id_inversor PK Identificador único del inversor
id_accion UNQ Identificador único de la acción
cantidad_acciones Cantidad de una acción por inversor

📍 Establecer las relaciones entre las entidades identificadas.

Identificación de Relaciones

📍 Relaciones

  • Tipos_Documentos - Inversores (1:N) Un tipo de documento puede estar asociado a múltiples inversores, pero un inversor sólo puede tener un tipo de documento.
  • Inversores - Cuentas (1:N) Un inversor puede tener múltiples cuentas, pero cada cuenta sólo puede pertenecer a un inversor.
  • Cuentas - Saldos_por_Cuentas (1:N) Una cuenta puede tener múltiples registros de saldos por moneda, pero cada registro de saldo está asociado únicamente a una cuenta y una moneda específica.
  • Tipos_Inversores - Inversores (1:N) Un tipo de inversor puede aplicar a múltiples inversores, pero un inversor sólo puede pertenecer a un tipo de inversor.
  • Acciones - Detalles_Acciones (1:N) Una acción puede tener múltiples registros de detalles diarios, pero cada detalle diario está asociado únicamente a una acción y una fecha específica.
  • Acciones - Precios_por_Acciones (1:N) Una acción puede tener múltiples registros de precios por fecha y hora, pero cada precio está asociado únicamente a una acción y un momento específico.
  • Tipos_Cuentas - Cuentas (1:N) Un tipo de cuenta puede aplicar a múltiples cuentas, pero cada cuenta sólo puede ser de un tipo de cuenta.
  • Tipos_Transacciones - Transacciones (1:N) Un tipo de transacción puede estar asociado a múltiples transacciones, pero cada transacción sólo puede ser de un tipo de transacción.
  • Cuentas - Transacciones (1:N) Una cuenta puede tener múltiples transacciones, pero cada transacción está asociada únicamente a una cuenta.
  • Monedas - Transacciones (1:N) Una moneda puede estar involucrada en múltiples transacciones, pero cada transacción sólo se realiza en una moneda específica.
  • Acciones - Transacciones (1:N) Una acción puede estar involucrada en múltiples transacciones (compras/ventas), pero cada transacción, si aplica, sólo está asociada a una acción específica.
  • Comisiones - Transacciones (1:N) Una comisión puede aplicarse a múltiples transacciones, pero cada transacción, si aplica comisión, sólo está asociada a una comisión específica.
  • Tipos_Documentos - Tipos_Doc_por_Tipos_Inv (1:N) Un tipo de documento puede asociarse con múltiples “tipos de documentos por tipos de inversores”, pero cada tipo de documento por tipo de inversor, solo se aplica con un tipo de documento.
  • Tipos_inversores - Tipos_Doc_por_Tipos_Inv (1:N) Un tipo de inversor puede asociarse con múltiples “tipos de documentos por tipos de inversores”, pero cada tipo de documento por tipo de inversor, solo se aplica con un tipo de inversor.
  • Acciones - Acciones_por_Inversores (1:N) Una acción puede aplicarse a multiples acciones por inversores, pero cada acción por inversor, solo puede relacionarse con una acción.
  • Inversores - Acciones_por_Inversores (1:N) Un inversor puede asociarse con múltiples acciones por inversores, pero cada acción por inversor, solo se aplica con un inversor.
⚠️ **GitHub.com Fallback** ⚠️