2.1 · HFSQL: la base de datos de WinDev

Nivel 2 · Intermedio: datos, consultas e informes

2.1HFSQL: la base de datos de WinDev

Objetivo: Comprender HFSQL (Classic y Cliente/Servidor), gestionar los datos y el centro de control: la base de datos de su aplicación de gestión.
Tiempo estimado: 11 min · lectura autónoma · Si solo tienes 5 min: lee «Lo esencial en 30s» + el esquema.

Lo esencial en 30 segundos

  • HFSQL es el SGBD que se entrega con WinDev: incluido, sin licencia de servidor adicional en uso local y perfectamente integrado en el taller.
  • Dos modos que hay que distinguir: Classic (datos en archivos en el disco local o en un recurso compartido de red — monopuesto o pequeña red) y Cliente/Servidor (un servidor real centraliza los accesos — multiusuario, volúmenes, seguridad, accesos remotos).
  • El índice (la «clave») es la optimización más rentable; el motor también gestiona SQL, la integridad referencial, las transacciones, el journal y la replicación, y WinDev sabe conectarse a otras bases.

Mini-caso hilado — Yacine monta la base de datos de su aplicación

Yacine, desarrollador WinDev en una pyme de venta de material eléctrico en Orán, pone en marcha la aplicación de gestión (clientes, productos, pedidos, facturas, existencias). Primero debe elegir sobre qué apoyar los datos. Al principio, solo una persona introduce los pedidos: opta por HFSQL Classic, ya que la base está incluida y sin licencia de servidor adicional. Pero el jefe anuncia pronto tres comerciales en red y consultas cada vez más pesadas: Yacine pasa entonces a HFSQL Cliente/Servidor, un servidor real que centraliza los accesos. Sobre todo, se asegura de indexar los campos más buscados (CodeProduit, NomClient), porque es, señala, la optimización más rentable. Por último, implanta una copia de seguridad diaria: los datos del negocio son su responsabilidad.

Caso autónomo de esta sección: reaparece en el curso, el esquema, el guion y el reto de 48 h de la sección 2.1.

1. El SGBD integrado de WinDev

HFSQL es el SGBD (sistema de gestión de bases de datos) que se entrega con WinDev. Es una baza importante: la base está incluida, sin licencia de servidor adicional en uso local y perfectamente integrada en el taller. Yacine no tiene que montar un motor de terceros para su aplicación de gestión.

2. Classic o Cliente/Servidor

(1) HFSQL Classic: los datos están en archivos situados en el disco local o en un recurso compartido de red; la aplicación accede a ellos directamente. Sencillo y gratuito — ideal en monopuesto o para una pequeña red. (2) HFSQL Cliente/Servidor: se instala un servidor real; las aplicaciones le envían consultas y él gestiona centralmente los accesos. Es la solución multiusuario, de grandes volúmenes, seguridad y accesos remotos. El análisis y el código WLangage siguen siendo en gran medida idénticos de un modo a otro.

3. Índices y capacidades del motor

HFSQL gestiona los índices (las «claves») que aceleran mucho las búsquedas y las ordenaciones: indexar un campo buscado con frecuencia es la optimización más rentable. Admite SQL, la integridad referencial, las transacciones (todo o nada), el journal y la replicación. Y WinDev no encierra: también se conecta a SQL Server, MySQL, Oracle y PostgreSQL mediante accesos nativos u ODBC.

Error frecuente de interpretación: «HFSQL Classic y Cliente/Servidor son solo una opción de pago; los índices son comodidad; y la copia de seguridad es cosa del editor». No, triple error. Classic almacena los datos en archivos en el disco local o en un recurso compartido de red, Cliente/Servidor confía los accesos a un servidor centralizado: son dos arquitecturas, no dos tarifas. Los índices son la optimización más rentable para el rendimiento (búsquedas y ordenaciones). Y la copia de seguridad es su responsabilidad, sea cual sea la versión: una base no salvaguardada es una catástrofe que espera su momento. Yacine indexa y salvaguarda, por tanto, desde el principio.
Los dos modos HFSQL Classic accede a archivos en disco o en un recurso de red; Cliente/Servidor pasa por un servidor que centraliza los accesos. HFSQL ClassicArchivos en disco / recurso de red+HFSQL Cliente/ServidorEl servidor centraliza los accesos+IncrementoÍndice, SQL, transacciones, copia de seguridad Pase a Cliente/Servidor cuando aumenten los usuarios simultáneos y los volúmenes.
Classic accede a archivos en disco o en un recurso de red; Cliente/Servidor pasa por un servidor que centraliza los accesos.
Versión en texto del esquema (SEO / lectores de pantalla / traducción): 1) Yacine, desarrollador WinDev en una pyme de venta de material eléctrico en Orán, aprende que HFSQL es el SGBD que se entrega con WinDev: incluido, sin licencia de servidor adicional en uso local. 2) Distingue los dos modos: Classic (los datos son archivos en el disco local o en un recurso de red, accedidos directamente — monopuesto o pequeña red) y Cliente/Servidor (un servidor real procesa las consultas — multiusuario, grandes volúmenes, seguridad, accesos remotos). 3) Para su aplicación de gestión, empieza en Classic y luego pasa a Cliente/Servidor cuando tres comerciales trabajan en red; indexa CodeProduit y NomClient e implanta una copia de seguridad diaria. Lección: el índice es la optimización más rentable y la copia de seguridad sigue siendo su responsabilidad.

🔎 Ejemplo concreto — 🔎 Ejemplo concreto — ¿Classic o Cliente/Servidor?

El modo adecuado depende del número de usuarios y del volumen: Yacine elige según su negocio.

// HFSQL Classic : fichiers locaux ou sur partage reseau
HOuvre("Produit")
HIndexe("Produit", "CodeProduit")      // optimisation la plus rentable

// HFSQL Client/Serveur : serveur centralise les acces
HOpenConnection("CS_Negoce")
HChangeConnection(Produit, "CS_Negoce")

Lecture   : Classic = monoposte / petit reseau ; C/S = multi-utilisateurs
Reflexe   : indexer les rubriques recherchees + sauvegarder les donnees

Lectura: Classic basta en monopuesto o pequeña red; Cliente/Servidor se impone en cuanto llegan varios usuarios y grandes volúmenes.

Lección: el código WLangage y el análisis cambian poco de un modo a otro; el índice y la copia de seguridad son los verdaderos reflejos que hay que adoptar.

Vocabulario de la sección

HFSQL
El SGBD que se entrega con WinDev, integrado en el taller e incluido sin licencia de servidor adicional en uso local.

Ejemplo sencillo: Yacine se apoya en HFSQL para almacenar productos, pedidos y facturas.

Lo que no es: un motor externo que hay que instalar y licenciar por separado.

Reflejo: base incluida con WinDev → HFSQL.

HFSQL Classic
Modo en el que los datos son archivos en el disco local o en un recurso compartido de red, accedidos directamente por la aplicación.

Ejemplo sencillo: Yacine empieza en Classic, solo él introduce los pedidos.

Lo que no es: un servidor que centraliza las consultas de varios puestos.

Reflejo: monopuesto o pequeña red → Classic.

HFSQL Cliente/Servidor
Modo en el que un servidor real gestiona centralmente los datos; las aplicaciones le envían consultas.

Ejemplo sencillo: Yacine pasa a Cliente/Servidor con tres comerciales en red.

Lo que no es: archivos compartidos en una simple carpeta de red.

Reflejo: multiusuario, volúmenes, accesos remotos → Cliente/Servidor.

Índice (clave)
Estructura que acelera mucho las búsquedas y las ordenaciones sobre un campo; indexar los campos frecuentes es la optimización más rentable.

Ejemplo sencillo: Yacine indexa CodeProduit y NomClient.

Lo que no es: un campo rara vez buscado, dejado sin índice.

Reflejo: acelerar búsquedas y ordenaciones → un índice.

Copia de seguridad de los datos
Copia de seguridad de la base, a cargo del desarrollador sea cual sea la versión.

Ejemplo sencillo: Yacine programa una copia de seguridad diaria del negocio.

Lo que no es: confiar en la sola presencia de los archivos en el disco.

Reflejo: proteger los datos → la copia de seguridad.

En la práctica — En la práctica — Elegir y aprovechar HFSQL

  1. Determine su modo: Classic (monopuesto o red muy pequeña, máxima sencillez) o Cliente/Servidor (multiusuario, volúmenes, seguridad, accesos remotos), como Yacine.
  2. Cree índices sobre los campos que busca u ordena a menudo (CodeProduit, NomClient) — es la optimización más rentable.
  3. Aproveche las capacidades del motor según sus necesidades: integridad referencial, transacciones (todo o nada), journal, replicación.
  4. Implante una política de copia de seguridad de los datos desde el principio — es su responsabilidad, sea cual sea el modo.
Sabe elegir el modo HFSQL adecuado, acelerar los accesos mediante índices, aprovechar las funciones del motor y proteger sus datos con copias de seguridad.

Guion paso a paso — montar la base como Yacine (4 min)

1) Abra los archivos de su análisis (Produit, Client, Commande). 2) En Classic, abra un archivo con HOuvre("Produit"); en Cliente/Servidor, conéctese mediante HOpenConnection y luego HChangeConnection. 3) Indexe los campos buscados: HIndexe("Produit", "CodeProduit"). 4) Active las transacciones para las escrituras sensibles. 5) Programe una copia de seguridad diaria de la base.

Conserve esta base: las secciones 2.2 (consultas), 2.3 (informes) y 2.4 (recorrido) se apoyan en los archivos e índices creados aquí.

Plantilla para copiar y pegar — mi base HFSQL

Mode        : Classic (monoposte/petit reseau) OU Client/Serveur (multi-utilisateurs)
Index       : sur les rubriques recherchees/triees  (optimisation la plus rentable)
Moteur      : SQL, integrite referentielle, transactions, journal, replication
Autres bases: SQL Server, MySQL, Oracle, PostgreSQL (natif ou ODBC)
Sauvegarde  : quotdienne, des le depart (VOTRE responsabilite)
Regle       : basculer en C/S quand utilisateurs simultanes et volumes augmentent

Arranque en Classic

Yacine empieza en HFSQL Classic, solo él introduce los pedidos: máxima sencillez y gratuidad.

Paso a Cliente/Servidor

Llegan tres comerciales en red: Yacine centraliza en HFSQL Cliente/Servidor.

Abrir a otras bases

Un cliente impone SQL Server: Yacine se conecta mediante un acceso nativo sin salir de WinDev.

Indexar los campos adecuados

Yacine crea un índice sobre CodeProduit: las búsquedas de productos se vuelven instantáneas.

✓ Buenas prácticas

  • Elegir el modo según los usuarios y los volúmenes (Classic o Cliente/Servidor).
  • Indexar los campos buscados u ordenados con frecuencia.
  • Implantar una copia de seguridad desde el principio.

✗ Errores frecuentes

  • Creer que HFSQL Classic y Cliente/Servidor son solo una opción tarifaria.
  • Descuidar los índices en los campos muy solicitados.
  • Aplazar la copia de seguridad — es su responsabilidad.

Puntos clave

  • HFSQL es el SGBD que se entrega con WinDev (incluido, sin licencia de servidor adicional en local).
  • Dos modos: Classic (archivos en disco o recurso de red) y Cliente/Servidor (servidor centralizado).
  • El índice es la optimización más rentable; el motor gestiona SQL, integridad, transacciones, journal y replicación.
  • WinDev también se conecta a SQL Server, MySQL, Oracle y PostgreSQL — y la copia de seguridad sigue siendo su responsabilidad.

Reto 48 h — aplícalo mañana

Como Yacine, abra un archivo de su análisis y cree un índice sobre el campo que busca con más frecuencia, y luego relance una búsqueda para medir la mejora. Anote en una frase por qué sigue en Classic o pasa a Cliente/Servidor según el número de usuarios, y lance una copia de seguridad de la base.

Lista de salida de la sección
  • Distingo los modos HFSQL Classic y Cliente/Servidor.
  • Sé indexar los campos buscados con frecuencia.
  • Entiendo que la copia de seguridad de los datos es mi responsabilidad.
Autoevaluación 1-5: ¿elijo el modo HFSQL adecuado según mi contexto?Autoevaluación 1-5: ¿sé indexar los campos que hay que optimizar y salvaguardar mi base?

Preguntas frecuentes

¿Cuándo debo pasar de HFSQL Classic a Cliente/Servidor?

En cuanto aparecen varios usuarios simultáneos intensivos, lentitudes crecientes, grandes volúmenes, necesidad de seguridad fina o de accesos remotos. Buena noticia: el análisis y el código WLangage siguen siendo en gran medida idénticos, por lo que el cambio no lo pone todo en entredicho.

¿Cuál es la mejor optimización de rendimiento con HFSQL?

Indexar los campos que busca u ordena a menudo: es la optimización más rentable, acelera mucho las búsquedas y las ordenaciones. Después viene el filtrado en la base (ver 2.2) en lugar de cargar todo el archivo.

Comprueba tu comprensión

¿Cuál es la diferencia entre HFSQL Classic y Cliente/Servidor?

Recursos adicionales (opcional, para ir más allá)

Examen del nivel 2Preguntas inéditas y más difíciles para validar tus conocimientos