Shordi 19-09-2021, 19:20
Después de un intenso trabajo de refundición, recopilación, y poda despiadada, he establecido la que, de momento, es la estructura "definitiva" del proyecto Intriga.

La tenéis en esta imagen:
[Imagen: coYT8fs.png]

Estas son las tablas con relación. A ellas hay que sumar otras 9 tablas sin relación de las que ya se hablará luego.
El concepto de estas entidades y relaciones, en seudo-código sería (en negrita el nombre de las tablas):
 Una empresa tiene usuarios que son personas que están en sedes.
Los usuarios tienen equipos adscritos
Los equipos envían datos al colector que levanta alertas que tienen categorías y umbrales asociados a acciones a tomar.

         Si hay software propio en la empresa entonces:
 
Los programas (incluido el propio Intriga, claro) tienen una jerarquía de permisos asociados a sus usuarios que controla sus capacidades dentro de los mismos
Los programas registran sesiones que tienen alertas que tienen categorías y umbrales asociados a acciones a tomar.
Los programas registran un log de actividades realizadas por los usuarios.

He tenido que simplificar mucho la estructura original y en caso de empresas complejas habría, quizá que retocar algo, pero de momento, para empezar a levantar la carpa del circo, vale.
Hay cositas que pulir aún y saldrán a la luz pero hay una que me trae un poco de cabeza porque no se me ocurre cómo hacerlo:
Si os fijáis hay un "corte" en la estructura de las relaciones: La tabla colector, que recibe los datos de los equipos, debería estar relacionada con la tabla equipos... pero no se me ocurre cómo. Es decir: ¿Cómo identificar unívocamente un equipo... teniendo en cuenta que casi todo (nombres, piezas, etc.) puede cambiarse? Si le pongo el número de serie del disco, por ejemplo, el usuario puede cambiarlo por avería o mejora y ya se fastidió, lo mismo con las memorias, la placa base, el hostname o lo que sea. ¿Un fichero camuflado en la tripas del SO? con la frecuencia de actualización del sistema y la afición al cambio de distros... tampoco vale ¿Una combinación de varias cosas? quizá pero ¿cuales?
En principio me incliné por el número de serie de la placa base pero la forma de obtenerlo que conozco (el comando dmidecode) no siempre la ofrece...
A ver qué se os ocurre.

Saludos.

En el caso del Autónomo que tiene clientes, el autónomo es la Empresa, los clientes son los Usuarios. La titularidad de las máquinas sería "Externa" y el nivel de datos a recibir por el colector habría, quizá que limitarlo... más o menos.
Shell 19-09-2021, 13:10
Buenas!.

¿ La consulta obtiene los registros y luego los formatea a la salida ?.

- Obtiene datos de una consulta.
- Se formatean.

En este caso, obtengo los juegos dentro de un rango de fechas y ordenadas por el campo de fechas. Un mes.
Siempre usando el formato YYYY-MM-DD con Between. Aunque luego a la ¿ salida ? se muestre con el formato de nuestro horario.


Código:
select field1 as Fecha, field2 as Tamaño, field3 as Nombre from JuegosAmiga where field1 BETWEEN '2017-01-01' and '2017-01-31' ORDER by field1;

A la hora de presentar el campo field1, lo presenta con el formato completo. Ejemplo con 1 registro.
 
Cita: 2017-01-01 00:00:00 247631 TheZone/files/_2017/MetaScope-The.Debugger_v102-150 [Metascope and Def by Metadigm inc].lha

Ahora modifico ¿ el formato de como se va presentar la salida ?.
Código:
select strftime('%d-%m-%Y',field1) as Fecha, field2 as Tamaño, field3 as Nombre from JuegosAmiga where field1 BETWEEN '2017-01-01' and '2017-01-31' ORDER by field1;

No es solo una selección del campo es un formateo de la salida.
 
Cita: 
01-01-2017 247631 TheZone/files/_2017/MetaScope-The.Debugger_v102-150 [Metascope and Def by Metadigm inc].lha 

El operador Distinct que es bastante curioso. Sobre todo cuando son tantísimos registros. En este caso solo quiero mostrar los años que abarcan cada uno
de los juegos, pero sin repetir años.

[code]

Siendo tan grande que es la base de datos por los registros que contiene. Las respuestas son instantáneas o casi.
Con el operador Between observo que da igual usar comillas simples que dobles. Aunque cambie el color de como se muestra,
al igual que cuando usamos en el editor de Gambas un comando que lo colorea de una forma para diferenciar que es.

Saludos
Shell 19-09-2021, 11:58
Buenas!.

Esta consulta me ordena los registros por las fechas, en este caso en orden ascendente.

Código:
select strftime('%d-%m-%Y',field1) as Fecha, field2, field3 from JuegosAmiga ORDER by field1;

Como veis a la hora de mostrar el campo de las fechas le digo que me lo nombre con el "alias" Fecha.
Ahora bien. Intenté hacer esto, pero no funcionó igual.

Código:
select strftime('%d-%m-%Y',field1) as Fecha, field2, field3 from JuegosAmiga ORDER by Fecha;

Di por entendido que Fecha es como decir field1. Que es el nombre del campo real.
Parece más bien una etiqueta, no se cambia el nombre del campo. Un adorno.
Como un titulo más explicativo.

Cuando usaba la base de datos de M$ Office, creaba campos calculados y se le asignaba un nombre al campo.
Eso no quiere decir que el campo existiera como tal. Sería gracioso decirle, ordena la salida según el valor del campo calculado.
Oye, que a lo mejor era posible.

Saludos
Páginas (553):    1 369 370 371 372 373 553   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 280
Último miembro: herbert
Temas del foro: 1,705
Mensajes del foro: 8,848
Últimos temas
Error de sistema "Demasia...
Foro: General
Último mensaje por: Shordi, 11-05-2025, 19:42
Respuestas: 3 - Vistas: 88
controlar el Activado/Des...
Foro: General
Último mensaje por: Shordi, 10-05-2025, 08:08
Respuestas: 1 - Vistas: 66
Conexión Bluetooth: RFCOM...
Foro: Hardware & IoT
Último mensaje por: jguardon, 06-05-2025, 16:57
Respuestas: 5 - Vistas: 216
gb.db2: columnas calculad...
Foro: Bases de Datos
Último mensaje por: guizans, 04-05-2025, 21:02
Respuestas: 14 - Vistas: 569
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.