Estructura de la Base de Datos

DataBase

Se desea crear una base de datos.
Las entidades principales que componen la Base de datos son:
GRÁFICOS, MAGAZINES, EPISODIOS, SERIES,
FILMES, SAGAS Y EXTRAS.

**Notas Técnicas sobre Tipos de Datos:**

**BOOLEAN:** SQLite no tiene tipo BOOLEAN nativo.
Los campos booleanos se almacenan como INTEGER con valores 0 (FALSE) o 1 (TRUE).
En la documentación se especifica como BOOLEAN por claridad conceptual.

GRAFICO
La Entidad GRAFICO contiene y muestra todos los cómics con los siguientes atributos:

· ID GRÁFICO. Identificador único.

· FK - ID TIPO GRÁFICO. Clave Foránea que enlaza con la entidad TIPO_GRAFICO.

· PÁGINAS. Número de Páginas que tiene el cómic.

· FECHA DE PUBLICACIÓN O ESTRENO DEL CÓMIC. Representa la fecha en que el elemento fue publicado o estrenado. Almacenamiento en BD: Tipo DATE formato YYYY-MM-DD (ej: 2025-09-25). Formato de Visualización: Se debe mostrar al usuario como DD · MMM · YYYY , el día, después el mes y luego el año, separados por un punto medio (ejemplo: 25 · Sep · 2025). La conversión se realiza en la capa de aplicación.
Funcionalidad: Actúa como vínculo a un sitio que muestre todos los gráficos que compartan la misma fecha completa, o el mismo mes, o el mismo año. Esto implica que el sistema debe poder consultar por diferentes niveles de granularidad de la fecha.

· SINOPSIS. Resumen corto de la historia del cómic.

· FK · ID PAÍS. Indica el país de origen del Gráfico.

· FK · ID EDITORIAL. Indica la editorial del Gráfico.

· FK · ID TINTA. Indica el tipo de tinta que tiene el Gráfico.

· FK · ID DISTRIBUIDORA. Indica la distribuidora que tiene el Gráfico.

· CÓDIGO DISTRIBUIDORA. Indica el código que le asigna la distribuidora al cómic.

· RATING. Calificación del Cómic de 1 a 5.

· COMENTARIOS. Puntos de vista personales acerca del cómic y su contenido.

· ANOTACIONES. Notas o anotaciones personales.

· CLASIFICACIÓN. Indica si el gráfico es para mayores de 18 años o para todo público.

· PIXELIZACIÓN. Indica si el gráfico contiene censura o no.

· FK · ID EDICIÓN. Indica la Expo en donde se presentó el Gráfico.

· LEÍDO. Indica si el cómic ya fue leído o no.

· FECHA DE CAPTURA. Fecha en que se captura el cómic en la base de datos. Se compone del día/mes/año.

· CÓDIGO. Es un código alfanumérico que se utiliza para identificar el elemento de manera única en la interfaz. Formato de Generación: Se genera anteponiendo un prefijo específico de la categoría al ID único de la entidad, para GRAFICO: Prefijo "GR-" + ID_GRAFICO (Ej. GR-123)

Entidad Principal GRAFICO · Tabla Maestra
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_grafico INT PK NO Id único y primario del registro. - Autoincremental.
id_tipo_grafico INT FK NO Id de TIPO_GRAFICO que estamos vinculando. Referencia a TIPO_GRAFICO.id_tipo_grafico -
paginas_grafico INT - NO No. de páginas. - -
fecha_publicacion_grafico DATE - Fecha de publicación. - Día, Mes y Año.
sinopsis_grafico TEXT - Resumen corto. - -
id_pais INT FK NO Id de País que estamos vinculando. Referencia a PAIS.id_pais Regla: Es obligatorio registrar el país.
id_editorial INT FK SI Id de la Editorial que estamos vinculando. Referencia a EDITORIAL.id_editorial -
id_tinta INT FK NO Id de la Tinta que estamos vinculando. Referencia a TINTA.id_tinta Regla: Es obligatorio registrar la tinta.
id_distribuidora INT FK SI Id de la Distribuidora que estamos vinculando. Referencia a DISTRIBUIDORA.id_distribuidora -
codigo_distribuidora TEXT - SI Código de la Distribuidora. - -
rating_grafico FLOAT - Calificación. - -
comentarios_grafico TEXT - Comentarios. - -
anotaciones_grafico TEXT - Notas Personales. - -
clasificacion_grafico BOOLEAN - NO +18 o no. - TRUE = +18 FALSE = Todo público
pixelizacion_grafico BOOLEAN - NO Censurado o no. - TRUE = Censurado FALSE = Sin censura
id_edicion INT FK SI Id de la expo que estamos vinculando. Referencia a edicion_EXPO.id_edicion -
leido_grafico BOOLEAN - NO Si fue o no leído ya el cómic. - TRUE = SÍ FALSE = No
fecha_captura_grafico DATE - NO Fecha de captura en la Base de Datos. - Día, Mes y Año.
codigo_grafico TEXT - NO Código para su Identificación. - Se usa el prefijo GR-

1:N – Uno a Muchos –

TIPO DE GRÁFICO
La Entidad TIPO_GRAFICO contiene e indica la clasificación específica de un gráfico.
Valores Posibles (sólo uno a la vez): Cómic, Manga, Doujinshi, Manhua, Manhwa, Webtoon e Historieta.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los que comparten ese mismo tipo.

· ID TIPO GRÁFICO. Identificador único.
· NOMBRE DEL TIPO. Nombre de los valores posibles que puede tener la entidad GRAFICO.

Entidad TIPO_GRAFICO
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_tipo_grafico INT PK NO Id único del registro. - Autoincremental.
nombre_tipo VARCHAR (50) - NO El nombre del tipo de cómic. - Regla: Es obligatorio registrar el tipo.

Valores Posibles

Id Nombre
1 Cómic
2 Manga
3 Doujinshi
4 Manhua
5 Manhwa
6 Webtoon
7 Historieta

N: 1 – Muchos a Uno –

VERSIÓN GRÁFICO
La Entidad VERSION_GRAFICO contiene y maneja las múltiples versiones que puede tener un único GRAFICO y posee los siguientes atributos:

· ID VERSION. Identificador único de cada versión específica del Gráfico.
· FK - ID GRÁFICO. Enlaza esta versión con el cómic principal en la entidad GRAFICO.
· FK - ID IDIOMA. El idioma en el que se encuentra esta versión específica**.**
· TÍTULO. Nombre del gráfico en el idioma de esta versión. (Depende del Idioma)
· SOPORTE. Indica el medio de esta versión. Valores Posibles: Físico, Digital.
· FK - ID TIPO FORMATO. El formato específico de esta versión. (Dependerá del Soporte)
· ANCHO DE LAS IMAGEN. Tamaño del ancho de las imágenes en píxeles de esta versión.
· ALTO DE LAS IMAGEN. Tamaño del alto de las imágenes en píxeles de esta versión.
· RESOLUCIÓN. Calidad de la imagen en DPI.
· PESO. Indicar el peso del archivo convertido a Bytes siempre.
· FK - ID TRADUCTOR. Indica el traductor de esta versión.

Entidad VERSION_GRAFICO
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_version INT PK NO Id único del registro. - Autoincremental.
id_grafico INT FK NO Id del Gráfico que estamos vinculando. Referencia a GRAFICO.id_grafico Regla: Es obligatorio registrar un gráfico.
id_idioma INT FK NO Id del Idioma que estamos vinculando. Referencia a IDIOMA.id_idioma Regla: Es obligatorio registrar un idioma.
titulo_version TEXT - NO Título del cómic. - -
soporte_version TEXT - NO Soporte del cómic. Físico o Digital - Regla: Es obligatorio registrar el soporte.
id_tipo_formato INT FK NO Id del Tipo de Formato que estamos vinculando. Referencia a TIPO_FORMATO.id_tipo_formato Regla: Es obligatorio registrar el tipo de formato.
ancho_version INT - Ancho de las Imágenes. - Datos en Pixeles.
alto_version INT - Alto de las Imágenes. - Datos en Pixeles.
resolucion_version INT - Resolución. - Datos en DPI.
peso_version BIGINT - Peso. - Datos en Bytes.
id_traductor INT FK SI Id del Ttraductor que estamos vinculando. Referencia a TRADUCTOR.id_traductor -

1:N - Uno a Muchos -

ÍNDICE VERSIÓN

La Entidad INDICE_VERSION almacena el índice o listado de las rutas de archivos que componen una versión digital específica. Esto permite que cada versión en la tabla VERSION_GRAFICO tenga su propio listado ordenado de páginas/archivos.

· ID ÍNDICE. Identificador único para el registro de cada archivo/página.
· FK - ID VERSION. Enlaza esta ruta con la versión digital correspondiente en la tabla VERSION_GRAFICO.
· NÚMERO DE PÁGINA. El número de página (o índice) que representa este archivo, es crucial para mantener el orden de lectura.
· RUTA DEL ARCHIVO. La ruta absoluta o relativa donde se encuentra el archivo de la página en el sistema de almacenamiento.
· FK - ID TIPO DE PÁGINA.·El tipo de contenido que es la página del cómic.

Entidad INDICE_VERSION
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_indice INT PK NO Id único del registro. - Autoincremental.
id_version INT FK NO Id de la versión que estamos vinculando. Referencia a VERSION_GRAFICO.id_version Restricción: Solo aplica para soporte_version = 'Digital'.
numero_pagina INT - NO Número de página del archivo. - Valor >= 0 (0 = portada)
ruta_archivo TEXT - NO Ruta del archivo. - Ruta relativa al directorio base.
id_tipo_pagina INT FK NO Id del tipo de página que estamos vinculando Referencia a TIPO_PAGINA.id_tipo_pagina -

*Restricciones y Reglas de Negocio:

- Esta tabla solo aplica para versiones con soporte_version = 'Digital'.
- El numero_pagina debe ser único por id_version.
- numero_pagina = 0 indica portada.
- La ruta_archivo debe ser relativa al directorio base de almacenamiento.
Tablas Intermedias

N: M - Muchos a Muchos -

GRAFICO_GENEROS

· FK - ID GRÁFICO. Enlaza esta ruta con la tabla GRAFICO.
· FK - ID GÉNERO. Enlaza esta ruta con la tabla GENEROS.

Entidad GRAFICO_GENEROS
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_grafico INT FK NO Id del Gráfico que estamos vinculando. Referencia a GRAFICO.id_grafico Regla: Es obligatorio registrar un gráfico.
id_genero INT FK NO Id del Género que estamos vinculando. Referencia a GENEROS.id_genero Regla: Es obligatorio registrar un género.

N: M - Muchos a Muchos -

GRAFICO_AUTOR

· FK - ID GRÁFICO. Enlaza esta ruta con la tabla GRAFICO.
· FK - ID AUTOR. Enlaza esta ruta con la tabla AUTOR.

Entidad GRAFICO_AUTOR
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_grafico INT FK NO Id del Gráfico que estamos vinculando. Referencia a GRAFICO.id_grafico Regla: Es obligatorio registrar un gráfico.
id_autor INT FK NO Id del Autor que estamos vinculando. Referencia a AUTOR.id_autor Regla: Es obligatorio registrar un autor.

N: M - Muchos a Muchos -

GRAFICO_AVISOS

· FK - ID GRÁFICO. Enlaza esta ruta con la tabla GRAFICO.
· FK - ID AVISO. Enlaza esta ruta con la tabla AVISOS.

Entidad GRAFICO_AVISOS
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_grafico INT FK NO Id del Gráfico que estamos vinculando. Referencia a GRAFICO.id_grafico Regla: Es obligatorio registrar un gráfico.
id_aviso INT FK NO Id del Aviso que estamos vinculando. Referencia a AVISOS.id_aviso Regla: Es obligatorio registrar un aviso

COLECCIÓN MAGAZINE
La Entidad COLECCION se componen de varios números de magazines con los siguientes atributos:

· ID COLECCIÓN. Identificador único.

· NOMBRE COLECCIÓN. Nombre general de la colección de Magazines.

· TIPO DE PUBLICACIÓN. Frecuencia de publicación del magazine: Semanal, Mensual, Bimestral, Anual o por Evento.

· ESTADO DE LA EMISIÓN. Muestra si el Magazine se sigue publicando o ya terminó de publicarse.

· FECHA INICIO. Indica la fecha de la primera publicación.

· FECHA FINAL. Indica la fecha de la última publicación.

· DESCRIPCIÓN. D.

· CÓDIGO. Es un código alfanumérico que se utiliza para identificar el elemento de manera única en la interfaz. Formato de Generación: Se genera anteponiendo un prefijo específico de la categoría al ID único de la entidad, para COLECCION: Prefijo "CN-" + ID_COLECCION (Ej. CN-123)

Entidad Principal COLECCION MAGAZINE · Tabla Maestra
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_coleccion INT PK NO Id único y primario del registro. - Autoincremental.
nombre_coleccion TEXT - NO Nombre de la Colección. - -
tipo_publicacion TEXT - SI Frecuencia de publicación. - Semanal, Mensual, Bimestral, Anual o por Evento.
estado_emision BOOLEAN - NO Si aún se publica. - TRUE = En Emisión FALSE = Finalizado
fecha_inicio DATE - SI Fecha de la primera publicación. - Día, Mes y Año.
fecha_fin DATE - SI Fecha de la última publicación. . Día, Mes y Año.
descripcion_coleccion TEXT - SI Descripción - -
codigo_coleccion TEXT - NO Código para su Identificación. - Se usa el prefijo CN-

MAGAZINE
Un Magazine puede componerse de elementos únicos, cómo su portada, índice, contraportada, artículos, ads y Gráficos de diferentes autores. Estos últimos pueden encontrarse ya capturados o capturarse al momento mismo de la captura del Magazine.

La Entidad MAGAZINE contiene y muestra todos los magazines con los siguientes atributos:

· ID MAGAZINE. Identificador único.

· FK · ID COLECCION. Indica la colección a la que pertenece.

· NÚMERO MAGAZINE. Número del Magazine dentro de la colección..

· PÁGINAS TOTALES. Representa el número total de páginas del magazine. Regla de Cálculo: Este valor es la suma de las páginas de todos los elementos que componen el MAGAZINE.

· FECHA DE PUBLICACIÓN O ESTRENO DEL MAGAZINE. Representa la fecha en que el elemento fue publicado o estrenado. Almacenamiento en BD: Tipo DATE formato YYYY-MM-DD (ej: 2025-09-25). Formato de Visualización: Se debe mostrar al usuario como DD · MMM · YYYY , el día, después el mes y luego el año, separados por un punto medio (ejemplo: 25 · Sep · 2025). La conversión se realiza en la capa de aplicación.
Funcionalidad: Actúa como vínculo a un sitio que muestre todos los MAGAZINES que compartan la misma fecha completa, o el mismo mes, o el mismo año. Esto implica que el sistema debe poder consultar por diferentes niveles de granularidad de la fecha.

· SINOPSIS. Resumen corto de la historia del cómic.

· FK · ID PAÍS. Indica el país de origen del Gráfico.

· FK · ID EDITORIAL. Indica la editorial del Gráfico.

· FK · ID TINTA. Indica el tipo de tinta que tiene el Magazine.

· FK · ID DISTRIBUIDORA. Indica la distribuidora que tiene el Magazine.

· CÓDIGO DISTRIBUIDORA. Indica el código que le asigna la distribuidora al Magazine.

· RATING. Calificación del magazine.

· COMENTARIOS. Puntos de vista personales acerca del magazine y su contenido.

· ANOTACIONES. Notas o anotaciones personales.

· CLASIFICACIÓN. Indica si el gráfico es para mayores de 18 años o para todo público.

· PIXELIZACIÓN. Indica si el gráfico contiene censura o no.

· FK · ID EDICIÓN. Indica la Expo en donde se presentó el Magazine.

· LEÍDO. Indicar si el magazine ya fue leído o no.

· FECHA DE CAPTURA. Fecha en que se captura el magazine en la base de datos. Se compone del día/mes/año.

· CÓDIGO. Es un código alfanumérico que se utiliza para identificar el elemento de manera única en la interfaz. Formato de Generación: Se genera anteponiendo un prefijo específico de la categoría al ID único de la entidad, para MAGAZINE: Prefijo "MGZ-" + ID_MAGAZINE (Ej. MGZ-456)

Entidad Principal MAGAZINE · Tabla Maestra
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_magazine INT PK NO Id único y primario del registro. - Autoincremental.
id_coleccion INT FK SI ID de la Colección a la que pertenece. COLECCION_MAGAZINE.id_coleccion NULL para magazines independientes.
numero_magazine INT - SI Número dentro de la colección. - NULL si no es parte de una colección.
paginas_magazine INT - NO No. de páginas totales. - Campo calculado: suma de páginas de componentes. Se actualiza automáticamente mediante TRIGGERS cuando se insertan, actualizan o eliminan componentes del magazine.
fecha_publicacion_magazine DATE - Fecha de publicación. - Día, Mes y Año.
sinopsis_magazine TEXT - Resumen corto. - -
id_pais INT FK NO Id de País que estamos vinculando. Referencia a PAIS.id_pais Regla: Es obligatorio registrar el país.
id_editorial INT FK SI Id de la Editorial que estamos vinculando. Referencia a EDITORIAL.id_editorial -
id_tinta INT FK NO Id de la Tinta que estamos vinculando. Referencia a TINTA.id_tinta Regla: Es obligatorio registrar la tinta.
id_distribuidora INT FK SI Id de la Distribuidora que estamos vinculando. Referencia a DISTRIBUIDORA.id_distribuidora -
codigo_distribuidora TEXT - SI Código de la Distribuidora. - -
rating_magazine FLOAT - Calificación. - -
comentarios_magazine TEXT - Comentarios. - -
anotaciones_magazine TEXT - Notas Personales. - -
clasificacion_magazine BOOLEAN - NO +18 o no - TRUE = Contiene contenido +18. FALSE =Todo el contenido es apto para todo público.
pixelizacion_magazine BOOLEAN - NO Censurado o no - TRUE = Contiene al menos un contenido censurado. FALSE = Todo el contenido está sin censura.
id_edicion INT FK SI Id de la expo que estamos vinculando. Referencia a edicion_EXPO.id_edicion -
leido_magazine BOOLEAN - NO Si ya fue o no leído el magazine. - -
fecha_captura_magazine DATE - NO Fecha de captura en la Base de Datos. - Día, Mes y Año.
codigo_magazine TEXT - NO Código para su Identificación. - Se usa el prefijo MGZ-

N: 1 – Muchos a Uno –

VERSIÓN MAGAZINE
La Entidad VERSION_MAGAZINE contiene y maneja las múltiples versiones que puede tener un único MAGAZINE y posee los siguientes atributos:

· ID VERSION. Identificador único de cada versión específica del Magazine.
· FK - ID_MAGAZINE. Enlaza esta versión con el Magazine principal en la entidad MAGAZINE.
· FK - ID IDIOMA. El idioma en el que se encuentra esta versión específica
· TÍTULO. Nombre del Magazine en el idioma de esta versión. (Depende del Idioma)
· SOPORTE. Indica el medio de esta versión. Valores Posibles: Físico, Digital.
· FK - ID FORMATO. El formato específico de esta versión. Valores Posibles: (Depende del Soporte)
· ANCHO DE LAS IMAGEN. Tamaño del ancho de las imágenes en píxeles de esta versión.
· ALTO DE LAS IMAGEN. Tamaño del alto de las imágenes en píxeles de esta versión.
· RESOLUCIÓN. Calidad de la imagen en DPI.
· PESO. Indicar el peso del archivo convertido a Bytes siempre.
· FK - ID TRADUCTOR. Indica el traductor de esta versión.

Entidad VERSION_MAGAZINE
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_version INT PK NO Id único del archivo. - Autoincremental.
id_magazine INT FK NO Id del Magazine que estamos vinculando. Referencia a MAGAZINE.id_magazine -
id_idioma INT FK NO Id del Idioma que estamos vinculando. Referencia a IDIOMA.id_idioma Regla: Es obligatorio registrar un idioma.
titulo_version TEXT - NO Título del magazine. - -
soporte_version TEXT - NO Soporte del magazine. Físico o Digital - Regla: Es obligatorio registrar el soporte.
id_tipo_formato INT FK NO Id del Tipo de Formato que estamos vinculando. Referencia a TIPO_FORMATO.id_tipo_formato Regla: Es obligatorio registrar el tipo de formato.
ancho_version INT - Ancho de las Imágenes. - Datos en Pixeles.
alto_version INT - Alto de las Imágenes. - Datos en Pixeles.
resolucion_version INT - Resolución. - Datos en DPI.
peso_version BIGINT - Peso. - Datos en Bytes.
id_traductor INT FK SI Id del Ttraductor que estamos vinculando. Referencia a TRADUCTOR.id_traductor -

1:N - Uno a Muchos -

ÍNDICE VERSIÓN

La Entidad INDICE_VERSION almacena el índice o listado de las rutas de archivos que componen una versión digital específica. Esto permite que cada versión en la tabla VERSION_MAGAZINE tenga su propio listado ordenado de páginas/archivos y gráficos que componen.

· ID_INDICE. Identificador único del registro de la página o contenido.
· FK_ID_VERSION**.** Enlaza esta ruta con la versión digital correspondiente en la tabla VERSION_MAGAZINE.
· NUMERO_PAGINA. La página exacta del Magazine donde se encuentra este contenido. Crucial para la ordenación.
· FK - ID TIPO DE PÁGINA. Define el tipo de contenido en esta página. Portada, Índice, Artículo, Ads, Extra, Sección Especial, Contraportada, Gráfico, Gráfico Nuevo.
Gráfico Nuevo: Cuando se registra un Magazine, se selecciona la opción de Gráfico Nuevo en el TIPO_PAGINA de la entidad INDICE VERSION, la interfaz gráfica detecta el registro como TIPO_PAGINA = Gráfico Nuevo por lo que el sistema muestra la opción de capturar la información de este nuevo cómic (botón Capturar Gráfico) en una ventana emergente (popup) con todos los atributos definidos para la entidad GRAFICO.

Una vez que el cómic se guarda en la tabla GRAFICO y obtiene su ID_GRAFICO, el sistema realiza una actualización automática en la tabla INDICE VERSION:
· Cambiando TIPO_PAGINA de Nuevo_grafico a Gráfico.
· Asignando el nuevo ID_GRÁFICO al campo FK_ID_GRAFICO y
· Actualizando PAGINAS_CONTENIDO con el valor registrado en el del cómic.

· FK_ID_GRAFICO. Opcional. Se usa sólo si TIPO_PAGINA es GRAFICO. Almacena la ID_GRAFICO del cómic capturado.
· PAGINAS_CONTENIDO. El número de páginas que ocupa este archivo depende del TIPO_PAGINA, si es GRAFICO se tomará el total de páginas que almacena PAGINAS_GRAFICO del ID_GRAFICO**,** si no es GRAFICO el número de páginas será 1 por defecto
· RUTA_ARCHIVO. Opcional. Se usa sólo si TIPO_PAGINA no es GRAFICO (ej. para la portada, índice). Almacena la ruta del archivo.

Entidad INDICE_MAGAZINE
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_indice INT PK NO Id único del archivo. - Autoincremental.
id_version INT FK NO Id de la versión que estamos vinculando. Referencia a VERSION_MAGAZINE.id_version Restricción: Solo para soporte_version = 'Digital'
numero_pagina INT - NO Número de página del archivo. - Regla: Es obligatorio registrar el número de página. Valor >= 1
id_tipo_pagina INT FK NO Id del tipo de página que estamos vinculando Referencia a TIPO_PAGINA.id_tipo_pagina -
id_grafico INT FK NO Id del Gráfico que estamos vinculando. Referencia a GRAFICO.id_grafico Solo si id_tipo_contenido = 'Gráfico' o 'Gráfico Nuevo'
paginas_contenido INT - NO Total de páginas que ocupa. - Si id_tipo_contenido='Gráfico': obtener de GRAFICOS.paginas_grafico. Si no: valor = 1 por defecto
ruta_archivo TEXT - - Ruta del archivo. - Es opcional y depende del tipo_contenido

Restricciones y Reglas de Negocio:

Tablas Intermedias

Tablas Catálogos Globales

1: N - Uno a Muchos -

TIPO_FORMATO
Catálogo global que contiene los formatos disponibles para publicaciones impresas o digitales. Se utiliza en GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.
Valores Posibles (Depende del soporte, sólo uno a la vez)
Formato Físico = Tapa Dura, Tapa Blanda / Formato Digital = Jpg, Png, WebP, Pdf, Cbr.

· ID TIPO FORMATO. Identificador único de cada versión específica de la publicación.
· NOMBRE FORMATO. El formato específico de esta versión.

Entidad TIPO_FORMATO
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_tipo_formato INT PK NO Id único del registro. - Autoincremental.
nombre_formato TEXT - NO Formato del cómic. - Regla: Es obligatorio registrar el formato.
tipo_soporte VARCHAR(50) - NO Soporte del cómic. - Regla: Es obligatorio registrar el soporte.

Valores Posibles

Id Formato Soporte
1 Pasta Dura Físico
2 Pasta Blanda Físico
3 JPG Digital
4 PNG Digital
5 WEBP Digital
6 PDF Digital
7 CBR Digital

1: N - Uno a Muchos -

TIPO DE PÁGINA
La Entidad TIPO_PAGINA contiene e indica el tipo que tiene página que componen un GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.
Valores Posibles (sólo uno a la vez): Portada, Índice, Contenido, Contraportada, Extra.

· ID TIPO PÁGINA. Identificador único.
· NOMBRE DEL TIPO. Nombre de los valores posibles que puede tener la entidad TIPO_PAGINA.

Entidad TIPO_PAGINA
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_tipo_pagina INT PK NO Id único del registro. - Autoincremental.
nombre_tipo VARCHAR (50) - NO El nombre del tipo. - -

Valores Posibles

Id Nombre
1 Portada
2 Índice
3 Contenido
3 Artículo
4 Ads (Publicidad)
5 Extra
6 Contraportada
7 Gráfico
8 Gráfico Nuevo (Estado Temporal)

1: N - Uno a Muchos -

EDITORIAL
La Entidad EDITORIAL contiene las compañías editoriales relacionadas con GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten la misma editorial.

· ID EDITORIAL. Identificador único.
· NOMBRE EDITORIAL. Nombre de la compañía editorial.

Entidad EDITORIAL
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_editorial INT PK NO Id único del registro. - Autoincremental.
nombre_editorial TEXT - NO El nombre de la editorial. - -

1: N - Uno a Muchos -

DISTRIBUIDORA
La Entidad DISTRIBUIDORA contiene las distribuidoras relacionadas con los GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten la misma distribuidora.

· ID DISTRIBUIDORA. Identificador único.
· NOMBRE DISTRIBUIDORA. Nombre de la Distribuidora.

Entidad DISTRIBUIDORA
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_distribuidora INT PK NO Id único del registro. - Autoincremental.
nombre_distribuidora TEXT - NO El nombre de la distribuidora. - -

N: M - Muchos a Muchos -

GÉNEROS
La Entidad GENEROS contiene todos los géneros que clasifican los GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.

Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten el mismo género

· ID GÉNERO. Identificador único.
· NOMBRE GÉNERO. Nombre del Género.

Entidad GENEROS
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_genero INT PK NO Id único del registro. - Autoincremental.
nombre_genero TEXT - NO El nombre del género. - -

Valores Posibles

Id Nombre
1 Escolares
2 Fantasía
3 NTR
4 Harem
5 Cosplay
6 Chica Ángel
7 Vanilla

1:N - Uno a Muchos -

TINTA
La Entidad TINTA contiene los tipos de tintas que están relacionados con GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.
Valores Posibles (sólo uno a la vez): Color, Blanco & Negro, Sepia y Mixto.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten el mismo tipo de tinta.

· ID TINTA. Identificador único.
· NOMBRE TINTA. Nombre del color de la Tinta.

Entidad TINTA
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_tinta INT PK NO Id único del registro. - Autoincremental.
nombre_tinta VARCHAR (50) - NO El nombre de la tinta. - -

Valores Posibles

Id Nombre
1 Color
2 Blanco & Negro
3 Sepia
4 Mixto

N: M - Muchos a Muchos -

AUTOR
La Entidad AUTOR contiene a los autores relacionados con GRAFICOS, MAGAZINE y otras entidades que manejen contenido publicado.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que compartan el mismo autor.

· ID AUTOR. Identificador único.
· NOMBRE AUTOR. Nombre del Autor.

Entidad AUTOR
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_autor INT PK NO Id único del registro. - Autoincremental.
nombre_autor TEXT - NO El nombre del autor. - -

N: 1 - Muchos a Uno -

AKA
La Entidad AKA contiene e indica los alias o seudónimos que puede tener un mismo autor.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten el mismo aka.

· ID AKA. Identificador único.
· FK ID AUTOR. Enlaza esta ruta con el autor correspondiente en la tabla AUTOR.
· AKA. Nombre de los valores posibles que puede tener la entidad AKA.

Entidad AKA
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_aka INT PK NO Id único del registro. - Autoincremental.
id_autor INT FK NO Id del Autor que estamos vinculando. Referencia a AUTOR.id_autor Regla: Es obligatorio registrar un autor.
aka TEXT - NO El Seudónimo. - -

1: N - Uno a Muchos -

LISTA DE EXPOS
La Entidad EXPO contiene un listado de las exposiciones o convenciones en que se presentó el Magazine.
Valores Posibles: Comic Market, Anime Japan.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten ese mismo valor.

· ID EXPOSICIÓN. Identificador único.
· NOMBRE EXPOSICIÓN. Nombre de los valores posibles que puede tener la entidad EXPO.

Entidad EXPO
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_expo INT PK NO Id único del registro. - Autoincremental.
nombre_expo TEXT - NO El Nombre de la convención. - -

Valores Posibles

Id Nombre
1 Comic Market
2 Anime Japan

1: N - Uno a Muchos -

EDICIÓN EXPO
La Entidad EDICION_EXPO indica los detalles de una exposición o convención.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten ese mismo valor.

· ID EXPO. Identificador único
· FK - ID EXPO. Enlaza la edición con su Expo correspondiente en la entidad EXPO.
· NOMBRE EDICIÓN. Nombre completo de la edición.
· FECHA EDICIÓN. Fecha de la edición.
· NÚMERO EDICIÓN. Número de la edición.

Entidad EDICION_EXPO
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_edicion INT PK NO Id único del registro. - Autoincremental.
id_expo INT FK NO Id de la Expo que estamos vinculando. Referencia a EXPO.id_expo -
nombre_edicion TEXT - SI Nombre completo de la edición. - -
fecha_edicion DATE - SI Fecha de edición del evento. - -
numero_edicion INT - SI Número de la edición. - -

Valores de Referencia

Elemento Dato
id_edicion 106
id_expo 1
nombre_edicion Summer Comiket
fecha_edicion Agosto 2025
numero_edicion 106

1: N - Uno a Muchos -

PAÍS
La Entidad PAIS contiene e indica el país de origen.
Valores Posibles (sólo uno a la vez): Japón, Corea del Sur, EEUU, México.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten ese mismo país.

· ID PAÍS. Identificador único.
· NOMBRE DEL PAÏS. Nombre de los valores posibles que puede tener la entidad PAIS.

Entidad PAIS
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_pais INT PK NO Id único del registro. - Autoincremental.
nombre_pais VARCHAR (50) - NO El nombre del país. - -

Valores Posibles

Id Nombre
1 Japón
2 Corea del Sur
3 EEUU
4 México

1: N - Uno a Muchos -

IDIOMA
La Entidad IDIOMA contiene e indica el idioma.
Valores Posibles (sólo uno a la vez): Japonés, Coreano, Inglés, Español.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten ese mismo idioma.

· ID IDIOMA. Identificador único.
· NOMBRE DEL IDIOMA. Nombre de los valores posibles que puede tener la entidad IDIOMA.

Entidad IDIOMA
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_idioma INT PK NO Id único del registro. - Autoincremental.
nombre_idioma VARCHAR (50) - NO El nombre del idioma. - -

Valores Posibles

Id Nombre
1 Japonés
2 Coreano
3 Inglés
4 Español

1: N - Uno a Muchos -

TRADUCTOR
La Entidad TRADUCTOR contiene los traductores.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten ese mismo traductor.

· ID TRADUCTOR. Identificador único.
· NOMBRE DEL TRADUCTOR. Nombre de los traductores posibles que puede tener la entidad TRADUCTOR.

Entidad TRADUCTOR
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_traductor INT PK NO Id único del registro. - Autoincremental.
nombre_traductor TEXT - NO El nombre del traductor. - -

N: M - Mucho a Muchos -

AVISOS
La Entidad AVISOS contiene los diferentes valores que muestran el tipo de contenido que tienen los elementos.
Valores Posibles:
Sangre/Gore, Desnudez, Lenguaje Ofensivo, Tabaquismo, Violencia, Contenido Sexual, Diálogos Sugerentes.
Funcionalidad: Este elemento funcionará como un vínculo a un sitio donde se muestran todos los elementos que comparten ese mismo valor.

· ID AVISO. Identificador único.
· VALOR DEL AVISO. Nombre de los valores posibles que puede tener la entidad AVISOS.

Entidad AVISOS
Nombre del Campo Tipo de Dato Clave Key Nulidad Descripción o Función Relaciones FK Notas
id_aviso INT PK NO Id único del registro. - Autoincremental.
nombre_aviso TEXT - NO El valor del aviso. - -

Valores Posibles

Id Nombre
1 Sangre/Gore
2 Desnudez
3 Lenguaje Ofensivo
4 Tabaquismo
5 Violencia
6 Contenido Sexual
7 Diálogos Sugerentes

**Triggers y Reglas de Negocio**

TRIGGER: Actualización de páginas_magazine.
Tabla afectada: MAGAZINE
Campo calculado: paginas_magazine

Descripción:
Este trigger actualiza automáticamente el número total de páginas de un magazine
sumando las páginas de todos sus componentes (portada, índice, artículos, gráficos,
ads, contraportada, etc.).

Eventos que disparan el trigger:
· INSERT en tabla COMPONENTES_MAGAZINE
· UPDATE en tabla COMPONENTES_MAGAZINE (cuando cambia el número de páginas)
· DELETE en tabla COMPONENTES_MAGAZINE

Fórmula de cálculo:

paginas_magazine = SUM(paginas_componente)
FROM COMPONENTES_MAGAZINE
WHERE id_magazine = [id_magazine_actual]

**Nota:** Este campo no debe ser editado manualmente por el usuario.

* * *

GRÁFICO NUEVO
Tabla afectada: MAGAZINE
Captura de un nuevo gráfico que compone un Magazine..

Flujo completo:

1. Estado inicial en INDICE_VERSION:

id_tipo_contenido: 9 (Gráfico Nuevo)
id_grafico: NULL
numero_pagina: 50
paginas_contenido: 0 (temporal)

2. Usuario presiona "Capturar Gráfico":

3. Actualización automática atómica:

UPDATE INDICE_VERSION
SET
id_tipo_contenido = 8, -- Cambia a "Gráfico"
id_grafico = 789, -- Asigna el nuevo id
paginas_contenido = (SELECT paginas_grafico FROM GRAFICOS WHERE id_grafico = 789), -- Obtiene las 20 páginas
ruta_archivo = NULL -- Se asegura que sea NULL
WHERE id_indice = [id_actual]
```

4. Resultado final:
```
id_tipo_contenido: 8 (Gráfico)
id_grafico: 789
numero_pagina: 50
paginas_contenido: 20
ruta_archivo: NULL