en cliquant ici

publicité
WINDEV • WEBDEV • WINDEV Mobile
BASE DE DONNÉES
Windows, Linux, Mac,
Android, iOS (iPhone, iPad)
Client/Serveur, Monoposte,
Mobile, Embarqué
®
PERFORMANCE, SÉCURITÉ, DISPONIBILITÉ
www.pcsoft.fr
®
BIENVENUE
DANS UN MONDE
DE SÉCURITÉ ET DE
PERFORMANCES
L
329 millions de milliards de lignes par table...
es données d’une entreprise sont une
ressource vitale.
Le Système de Gestion de Base de Données
Relationnelle
vous permet
de gérer ces données en toute sécurité.
Les performances sont remarquables.
Utilisé sur plusieurs millions de postes à travers le monde, la flexibilité et l'évolutivité
de
permettent de répondre
aux besoins les plus exigeants des applications à mission critique en temps réel.
Vous aussi, choisissez
!
HyperFileSQL est diffusé depuis 1988.
ocumentation technico-commerciale HyperFileSQL.
La connaissance de WINDEV, ou WEBDEV ou WINDEV Mobile
est utile. Si vous ne les connaissez pas, n’hésitez pas à demander
les documentations complètes (gratuites, en français) sur ces logiciels.
D
Version de documentation 2012-11. Version de référence : 18
Table des matières
Présentation
Local
Mobile – embarqué
Client/Serveur
Types de données et index
SQL
Fonctionnalités
Sécurité
Ouverture
WINDEV et WEBDEV
Les outils
Programmation
3
4
4
4
5
6
6
10
11
11
13
17
Liste des ordres SQL supportés
Liste des ordres WLangage
17
18
Vocabulaire
Qui utilise HyperFileSQL ?
Avantages
Résumé des fonctionnalités
21
22
22
24
performance, sécurité,
ouverture, flexibilité
PRÉSENTATION DE
HYPERFILESQL
HyperFileSQL est le choix idéal comme moteur de base de données.
Ouverture: basé sur les standards de l’industrie, HyperFileSQL ne
vous enferme pas dans une technologie propriétaire.
Flexibilité: le support des volumes de données importants (plusieurs dizaines de milliards de lignes dans une table) est assuré.
Indépendance vis à vis de la plateforme: les tables peuvent être
déplacées d’un Client/Serveur vers un mobile, d'un serveur Windows vers un serveur Linux, etc…
Extensibilité: vous passez sans contraintes de un utilisateur à plusieurs centaines d’utilisateurs, d’une architecture 2 tier à une architecture multi-tier...
Econome en ressources: le moteur Client/Serveur occupe moins
de 20Mo sur disque.
HyperFileSQL fonctionne en environnement hétérogène:
Windows, Linux, Mac, iOS, Android, TSE, Citrix, ADSL, VPN, Wi-Fi…
La compatibilité ascendante et descendante des tables est assurée.
Pérennité de l’éditeur: PC Soft est présent depuis plus de 25 ans,
et est n°1 en France dans le domaine des AGL.
Performance, scalabilité: grâce à une gestion optimisée des
index et une gestion affinée des caches, la vitesse est permanente.
Sécurité d’accès: la protection contre l’injection SQL est assurée
via la création automatique d‘IHM sécurisées.
Généralités
HyperFileSQL est un puissant SGBDR (Système de Gestion de Base
de Données Relationnelle).
HyperFileSQL est décliné en 3 versions :
• version mobile (embarquée)
• version locale (monoposte ou réseau)
• version Client/Serveur (et cluster).
HyperFileSQL est adapté à tous les types d’applications: applications métiers, applications critiques temps réel, progiciels, serveurs
d’applications, serveurs Web, PC stand-alone ou périphériques
mobiles.
Coût d’usage (TCO) réduit
:
PUISSANTE
BASE DE DONNÉES
SERVEUR
MOBILE
INDOWS
8
7, VISTA
XP
2000, 2003, 2008
NT
W
Une caractéristique de HyperFileSQL est son déploiement illimité
libre et gratuit (voir la licence).
Il n’y a aucun coût facturé, ni en fonction du nombre de processeurs du serveur, ni en fonction du nombre de postes client, ni annuellement, ni en fonction du type d’application (commerciale,...)
etc...
HyperFileSQL est livré en une édition systé100% Windows
matiquement complète, avec toutes les
100% Linux
fonctionnalités, gratuite.
Les coûts de maintenance sont très ré100% Mobile
duits.
ACCÈS
LOCAL
RÉSEAU
WIFI
LOCAL
Le support technique est également
gratuit (dans le cadre d’une licence
WINDEV, WEBDEV ou WINDEV Mobile).
Il est assuré par téléphone et par mail.
Les DBA et développeurs disposent également de forums professionnels (modérés) très actifs.
LINUX
MODEM,3G,4G
ANDROID
IPHONE
IPAD
IOS
ADSL
MAC
TSE
CITRIX
LIGNE
SPÉCIALISÉE
H y p e r F i l e S Q L • w w w. p c s o f t . f r
3
La revue LST (éditée par PC SOFT) publie
régulièrement des articles de fond et
des articles pratiques sur HyperFileSQL.
Des mises à jour («services pack ») sont
régulièrement mises à disposition gratuitement.
Les performances sont étonnantes de rapidité.
La compatibilité avec les versions locales et Client/Serveur est totale :tables, index, relations, contraintes.
Selon vos besoins, l’accès aux données dans une application mobile peut s’effectuer depuis de nombreuses technologies: ActiveSync, Accès direct, Accès par RPC, Webservices, Sockets,
Procédures stockées directes...
LES VERSIONS
version Locale
(version «classic»)
La version locale (monoposte et réseau) de HyperFileSQL (également dénommée version «Classic», car il s’agissait de la première
version disponible, dès 1988) offre performances, simplicité de
déploiement, d'installation et de configuration.
La compatibilité avec les versions mobiles et Client/Serveur est totale (tables, index, relations, contraintes).
Cette version est plus particulièrement destinée aux postes de travail indépendants, et aux petits réseaux.
Un usage courant de la version Classic est son utilisation dans un
progiciel.
La base de données se créera et s’installera automatiquement sur le PC de l’utilisateur du progiciel. La maintenance sera automatique.
Une base de données Classic peut également être située
et directement utilisable sur une clé USB.
Imaginez, 128 Giga Octets sur une carte mémoire. Il y a quelques années, c’était la capacité
des disques dur sur les PC de bureau ! Vous pouvez maintenant embarquer facilement et à faible
coût des bases de données (sécurisées) de taille
importante (jusqu’à 130 millions de lignes) sur les
pockets, mobiles et téléphones.
version Client/Serveur
La version Client/Serveur de HyperFileSQL est la version idéale
pour gérer de nombreux utilisateurs et des accès distants.
Les accès locaux et les accès distants sont gérés.
L’installation est simplissime, et l’administration, bien que très
puissante, s’effectue facilement.
HyperFileSQL Classic s’installe sur les machines équipées
de Windows (NT, 2000, 2003, Vista, 7, 8...), MacOS, iOS
(iPhone et iPad), Android et sur les serveurs Linux.
HyperFileSQL n’est pas limité en nombre de processeurs utilisés, ni
en mémoire.
Le load balancing est géré pour de meilleurs temps de réponse.
Le moteur est auto-restart.
Les clusters permettent d’assurer une disponibilité sans faille.
La compatibilité avec les versions embarquées et locales est totale
(tables, index, relations, contraintes).
HyperFileSQL fonctionne à la fois en 32 bits et en 64 bits. Serveurs
et clients peuvent être mixés.
HyperFileSQL fonctionne également sur Mac
Parmi les serveurs Windows gérés:
• Windows Server 2008
• Windows Server 2003
• Windows 2000
• Windows XP & Vista,
• Windows 7
dans toutes leurs éditions.
version Mobile
(embarquée)
iOS
Parmi les distributions Linux supportées:
• RedHat 9
• Debian 4.0
• OpenSuse 10.3 et 11.1
• Ubuntu 7.10, 8.04 et 8.10
• Fedora 8 et 9
• Mandriva 2008
HyperFileSQL est totalement adapté au développement croissant
des périphériques mobiles de tous types.
HyperFileSQL ne demande que de faibles ressources, et s’installe
sur tous les mobiles (terminal, pocket PC, smartphone, tablette)
s’exécutant sous Windows CE, Windows Mobile, Windows 8 RT,
iOS (iPhone et iPad), Android.
L’installation est simplissime, et la maintenance, quasi nulle, est
automatisée.
Parmi les clients supportés:
• Windows 32 bits et 64 bits
• Linux
• MacOS, iOS
• Windows CE et Mobile
• Android
H y p e r F i l e S Q L • w w w. p c s o f t . f r
4
HyperFileSQL assure l’intégrité des données en gérant :
• Contrainte d’unicité
• Contrainte de cardinalité
• Identifiant Automatique
• Clés primaires et étrangères.
DONNÉES ET
INDEX
T ype de données
Index Full text
La recherche «full text» permet la recherche de chaînes de caractères (mots ou expressions) très rapide dans les données. Elle permet par exemple de retrouver un mot parmi 1 million de lignes en
moins de 2 ms (moyenne par occurrence trouvée).
Il est donc possible d’indexer sans programmation les textes présents dans une base de données HyperFileSQL.
Les résultats sont proposés selon un ordre de pertinence («ranking»).
La création de l’index peut gérer les textes enrichis (RTF, HTML),
en ignorant les balises de ces formats lors de l’indexation.
Cette fonctionnalité permet d’effectuer des recherches de mots
stockés dans des documents RTF ou HTML.
HyperFileSQL gère tous les types de données:
• Texte, caractère
• Numérique (entier, réel, décimaux à 38 chiffres significatifs),
• Date, heure, durée
• Booléen
• Colonne de type tableau
• Blob («mémo», format binaire: image, vidéo,...)
Des fonctionnalités puissantes sont disponibles:
• Unicode est géré, avec gestion des tris linguistiques
• L’ordre de tri de tous les jeux de caractères est pris en compte.
• Valeur par défaut
• Gestion du Null.
Unicode
HyperFileSQL gère les colonnes «texte» et «blob» de type Unicode. Les index peuvent être triés en fonction de l’ordre linguistique de chaque langue (russe, de Russie ou d’Ukraine, chinois de
Singapour, de Taïwan, Hong Kong, Macao,...).
Des données en chinois
Ces textes peuvent être contenus dans des champs de type
«texte» ou des champs «blob» («mémo»).
Un rappel sur les systèmes d’exploitation: le codage et l’exécution
de Windows en mobile est Unicode, alors que le codage et l’exécution de Windows sur PC est ANSI.
Lorsque celà est nécessaire, le WLangage convertit automatiquement les chaines UNICODE en ANSI (et réciproquement) en tenant compte de l'alphabet courant.
Un index full text peut indexer une ou plusieurs colonnes différentes, donc une simple recherche peut s’effectuer sur plusieurs
colonnes différentes simultanément.
Capacités
HyperFileSQL Client/Serveur offre des capacités de stockages élevées, en phase avec les moyens de stockage actuels et avec ceux
du futur, ainsi qu’avec les besoins croissants des entreprises.
Lors d’un récent roadshow, devant près de 10.000 professionnels
du développement, PC SOFT a présenté l’utilisation d’une base
HyperFileSQL contenant plus de 15 milliards (15.000 millions) de
lignes: les recherches sur les données étaient immédiates dès le
démarrage du serveur (sans même que des caches soient remplis!).
Index & Clés
HyperFileSQL gère clés et index sur tous les types de colonne.
Afin d’assurer des performances optimales HyperFileSQL crée automatiquement un index lors de la définition d’une clé.
Sont gérés:
• Index simple
• Index composé (multi-colonnes)
• Index partiel
• Index full text
H y p e r F i l e S Q L • w w w. p c s o f t . f r
5
En effet, lorsque la façon de calculer un résultat ou une règle métier contenue dans une procédure stockée évolue, il vous suffira
de modifier seulement la procédure stockée sur le serveur, sans
effectuer la moindre modification dans les applications déployées.
Une procédure stockée permet également de limiter le nombre
d’allers et retours entre le poste client et le serveur, et donc améliore également la vitesse des traitements.
Une même procédure stockée peut être partagée entre plusieurs
applications.
Les procédures stockées se programment en WLangage, et bénéficient donc de la richesse fonctionnelle et de la facilité de ce L5G.
Les procédures stockées prennent des paramètres et/ou retournent des entiers, chaines, date, etc…
La création d’une procédure stockée depuis l’environnement de
WINDEV est vraiment très facile.
CAPACITÉS MAXIMALES HYPERFILESQL
Colonnes par table
Index par table
Lignes par table
Taille d’une table
Taille d’une ligne
Taille d’une colonne
65 535
65 535
329 millions de milliards
4 millions de téras
2 Go
65 535 octets
Taille d’une colonne blob (mémo
texte, image, vidéo, binaire...)
4 Go
SQL :
PRÉSENTATION
HyperFileSQL gère une grande partie de la norme Ansi SQL 92.
Le SQL géré par HyperFileSQL supporte également de nombreuses
syntaxes supplémentaires et spécifiques de SQL Server et Oracle,
entre autres.
HyperFileSQL gère les sous requêtes et les requêtes imbriquées.
HyperFileSQL gère les opérateurs ensemblistes: union, cartésien,
jointure, jointure externe, les opérateurs d'agrégation: count,
sum, avg, min, max, les opérateurs de tri et de regroupement:
group by, having, order by...
En complément du SQL, il est possible de bénéficier de la richesse
fonctionnelle du WLangage par l’utilisation directe de fonctions
WLangage, et par appel de procédures stockées (elles-mêmes développées en WLangage).
Sous l’éditeur de schéma de données (éditeur d’analyses)
Triggers
La vitesse du moteur SQL est optimisée entre autres par l’utilisation des statistiques des index et les contraintes pour choisir les
index d’accès les plus discriminants lors des requêtes.
La gestion avancée des caches mémoire améliore également les
performances.
Le moteur effectue automatiquement la gestion/ répartition de la
charge: si un client exécute de très nombreuses requêtes consommatrices de ressources (CPU,...) , le serveur équilibre automatiquement la charge pour ne pas pénaliser les autres clients.
Un trigger permet de déclencher une procédure stockée avant ou
après un événement sur une table de la base de données: par
exemple avant une suppression de ligne, ou après la modification
d’une ligne.
Un trigger apporte une grande sécurité. Le trigger sera déclenché
quelle que soit l’application ou composant qui accède à la base
de données et qui effectue l’opération définie, sans que le développeur de l’application n’ait quoi que ce soit à programmer.
Les triggers «serveur», comme leur nom l’indique, s’exécutent directement sur le serveur.
Le «droit» de créer un trigger est défini via les droits de la base de
données.
L’environnement de WINDEV avertit le développeur de la présence
de ces triggers (les triggers sont visualisés dans l’analyse).
Vous trouverez en fin de ce document la liste des fonctions SQL
supportées par HyperFileSQL, ainsi que les autres aspects de programmation (programmation des curseurs).
FONCTIONNALITÉS
Intégrité : contrainte,
suppression, mise à jour
en cascade
Les fonctionnalités offertes par HyperFileSQL sont très nombreuses.
Vous trouverez ci-après la description des principales fonctionnalités.
Il est facile de définir des contraintes d’intégrité.
Les cardinalités sont paramétrables: (0,n) ; (0,1); (1,n); (3,n); etc...
Les liaisons réflexives sont supportées.
Exemples de contraintes d’intégrité référentielle :
• Intégrité référentielle:
L'intégrité référentielle interdira l'effacement d'un auteur, tant
que dans la base de données il existera au moins un livre se référant à cet auteur.
Il n’est pas possible de supprimer une ligne dans une table si cette
Procédures stockées
(UDF)
Les procédures stockées (quelquefois appelées UDF) permettent
de faciliter l'évolution et la maintenance de vos applications en
factorisant le code.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
6
ligne est reliée à d’autres lignes d’une table (on ne peut pas supprimer un client si des commandes sont reliées à ce client).
L’intégrité référentielle peut être définie par liaison, depuis l’éditeur d’analyses.
• Suppression en cascade:
Si une ligne est supprimée dans une table, les lignes correspondantes dans les tables reliées sont également supprimées (cette
contrainte peut être activée ou désactivée, par relation)
Compression des données
«blob»
Les données de type «blob» (mémo texte ou binaire) peuvent être
compressées pour optimiser l’espace occupé sur le disque.
L’espace occupé peut ainsi être très sensiblement réduit.
Compression des trames
Journalisation
Le journal est une table particulière dans laquelle sont mémorisées
automatiquement toutes les opérations réalisées sur une ou plusieurs tables depuis un instant donné.
Le journal contient l'historique de l'utilisation de la table, c'est-àdire:
• la ligne complète avant manipulation ou modification par l'utilisateur
• la ligne complète après manipulation ou modification par l'utilisateur
• l'auteur de la manipulation ou de la modification
• la date et l’heure de la manipulation ou de la modification
• la nature de l'opération effectuée: ajout, modification, suppression, lecture
• l’identifiant du poste qui a effectué la modification
• l’adresse IP du poste qui a effectué l'opération
• le nom de l'application qui a effectué l'opération
Une «trame» est un paquet de données qui transite sur le réseau.
HyperFileSQL, comme tous les SGBD, utilise des trames pour communiquer entre le poste client et le serveur.
La vitesse de transfert des données d’un serveur dépend à la fois
de la vitesse de circulation des trames sur le réseau, et de la taille
de ces trames.
En réseau local, la vitesse est tellement élevée que la taille de la
trame a une importance relative.
Par contre, pour un accès à distance (ADSL, 3G,...), la taille de la
trame prend plus d’importance. Dans ce contexte, une forte réduction de la taille des trames engendre un gain de performances
sensible.
La compression des trames permet de réduire (jusqu’à 95% de réduction) la taille des paquets circulant sur le réseau, en appliquant
automatiquement un algorithme de compression aux données.
Dans un contexte de communication à distance, surtout si la vitesse de connexion est lente, l’intérêt de compresser les trames
est grand.
La vitesse en connexion à distance est améliorée.
Les volumes de données transitant par le média de transmission
étant réduits, celà peut avoir un avantage avec les contrats facturant selon le volume de données.
Il est possible de réaliser les opérations suivantes à partir d'un
journal :
• restaurer le contenu d’une table journalée en cas de perte ou de
destruction des données
• restaurer le contenu d’une table journalée jusqu'à une certaine
date
• retrouver l'auteur, la date et l'heure d'une opération réalisée sur
une ligne spécifique
• conserver un historique de l'utilisation d’une table (par exemple
pour réaliser des statistiques)
Ces opérations peuvent se lancer en ligne de commande ou depuis l’utilitaire WDJournal.
Verrou de ligne
automatique
Transactions:
commit, rollback,
crash recovery
HyperFileSQL gère les verrous au niveau table et au niveau ligne.
La gestion des verrous au niveau ligne permet d’assurer une meilleure performance des accès.
Une transaction est un ensemble d'opérations indissociables: soit
toutes les opérations de la transaction sont réalisées, soit aucune
opération n'est réalisée. La gestion des transactions est le meilleur
moyen d'assurer la cohérence d'un ensemble d'écritures indissociables sur différentes tables HyperFileSQL.
Une transaction permet de s'assurer que des mises à jour effectuées sur une ou plusieurs tables de données se sont déroulées
correctement.
Plusieurs databases sur
un même serveur
HyperFileSQL gère nativement la présence de plusieurs bases de
données sur un même serveur.
Les bases de données sont isolées.
Des droits spécifiques peuvent être définis sur chacune des bases.
Cela évite de multiplier les serveurs.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
7
programmation, directement depuis l’application.
La périodicité de la sauvegarde complète et de la sauvegarde différentielle éventuelle peut être spécifiée (exemple: 1 complète par
mois et 1 différentielle par semaine).
L’exécution de procédures stockées avant et/ou après la sauvegarde permet de réaliser des traitements automatiques: envoi
d’email, copie de la sauvegarde sur un emplacement réseau,
etc...)
Le nombre de sauvegardes à conserver peut être spécifié.
Reconnexion automatique
Cette fonctionnalité traite automatiquement l’aspect de la «déconnexion» en cours d’utilisation entre client et serveur.
Typiquement, ce problème se pose avec des matériels dont la
connexion avec le serveur n’est pas assurée en
permanence: les appareils mobiles en particulier (Wi-Fi, 3G,…).
En connexion Wi-Fi par exemple, la
liaison entre un appareil distant et
le serveur peut s’interrompre un
court instant.
Ce type de coupure peut intervenir également sur des réseaux filaires classiques.
Lorsque l’application est de nouveau connectée, il est utile de «reprendre» l’application là
où la communication a été interrompue, et que
les buffers soient correctement renseignés.
Grâce à la gestion automatique de la reprise,
l’ensemble des «buffers» et des positions est
mémorisé et réaffecté.
L’application peut ainsi continuer à s’exécuter
sans erreur, comme si la connexion ne s’était
pas interrompue.
Il est également possible de gérer les interruptions de connexion par programmation, ou d’exécuter des traitements
supplémentaires si on le souhaite.
La sauvegarde peut s’exécuter :
• à chaud, sans déconnecter les utilisateurs
• de manière transparente, sans perturber le fonctionnement des
applications.
Ordonnanceur intégré
(tâches planifiées)
HyperFileSQL dispose d’un ordonnanceur intégré qui permet de
définir et paramétrer des tâches planifiées.
Une tâche ne consiste pas seulement à permettre d’exécuter une
procédure stockée (UDF), mais permet également de déclencher
une sauvegarde, ou de déclencher une optimisation automatique
des performances.
La définition s’effectue par le Centre de Contrôle ou par programmation.
L’ordonnanceur permet aux DBA de programmer l’exécution automatique de tâches sur le serveur; il permet par exemple de réaliser des traitements par lots.
L’ordonnanceur est plus performant que l’exécution de commandes dans le planificateur de tâches de Windows ou dans le
«cron» de Linux.
Les tâches peuvent être exécutées à une date fixée, avec un ou
plusieurs intervalles réguliers.
Il est possible de créer, ajouter, modifier, activer, désactiver des
tâches programmées par programmation, ou depuis l’outil d’administration, sous réserve de posséder les droits adéquats.
Sauvegarde
Paramétrage d’une sauvegarde
La sauvegarde est une fonctionnalité importante d’une base de
données.
Il est possible de sauver l’intégralité du serveur, ou uniquement
une base de données, ou uniquement une sélection de tables,
avec ou sans les index.
HyperFileSQL gère la sauvegarde à chaud, différentielle.
Une sauvegarde est transportable, par exemple d’un Windows à
un Linux, d’une version Client/Serveur à une version Classic.
Une sauvegarde peut être déclenchée depuis le Centre de
Contrôle (sauvegarde immédiate, sauvegarde planifiée), ou par
Interface graphique et conviviale de l’ordonnanceur
(tâches planifiées)
Exemple de paramètres possibles :
• Tous les mois ou certains mois seulement
• Tous les jours ou certains jours (le lundi par exemple, ou le 4 de
chaque mois)
H y p e r F i l e S Q L • w w w. p c s o f t . f r
8
• A heure fixe ou toutes les n heures et/ou n minutes.
• Nombre de fois où la tâche doit être exécutée (10 fois par
exemple, ou à l’infini).
Cluster
(ferme de serveurs)
Réplication universelle
La réplication universelle fonctionne quelles que soient les bases
de données utilisées. Il est par exemple possible de répliquer des
données HyperFileSQL entre elles, ou avec des données Oracle ou
provenant de n’importe quelle autre base de données.
La réplication peut être unidirectionnelle ou bi-directionnelle, et
peut s’effectuer selon différents médias: ordinateurs connectés au
réseau, clé USB, Internet, GPRS, 3G...
N’importe quelle base:
HyperFileSQL, Oracle, SAP,
AS/400, MySQL, mobile...
N’importe quel média:
sur place, par réseau,
par modem, via Internet, Wifi, GPRS...
Grâce à la fonctionnalité de cluster, un ensemble de serveurs physiques apparaît comme un serveur unique aux clients.
La défaillance éventuelle d’un serveur physique ne provoque pas
de défaillance des accès à la base de données (haute disponibilité,
tolérance aux pannes).
Les serveurs se répliquent automatiquement les uns les autres en
temps réel.
La charge d’accès lecture est répartie sur l’ensemble des serveurs
(répartition de la charge en lecture).
On peut ajouter et supprimer des serveurs à chaud.
En cas de crash d’un serveur, il se re-synchronisera automatiquement au démarrage.
Lorsqu’un utilisateur est connecté à un serveur qui défaille, l’application ne sera pas déconnectée, et sera automatiquement reconnectée à un serveur valide (basculement automatique).
Le cluster est également très utile pour les infrastructures SaaS.
N’importe quelle base:
HyperFileSQL, Oracle,
AS/400, MySQL, mobile...
Une réplication se définit facilement à l’aide de l’assistant de réplication, ou par programmation.
Réplication déconnectée
Le mode de «réplication déconnectée» permet à une réplication
de se gérer de façon autonome.
La réplication s’effectue sans connexion permanente au serveur
contenant l’autre base de données.
Le principe est simple: le réplica est envoyé sur le serveur de réplication (par Internet, via une clé USB,...).
La liaison avec le serveur est ensuite inutile.
Modification Automatique
des Données sur chaque
site (SSD)
Quel informaticien, quel DSI n’a pas pesté contre le temps perdu
à écrire ces fameuses «moulinettes» (scripts) de tables pour ajouter ou agrandir une colonne ou un index à une table existante,
pour changer un type de données dans une colonne ?
Le problème est encore plus complexe quand de nombreuses (et
souvent différentes) versions de l'application sont déployées: il
faut en plus vérifier la version utilisée de la base de données.
L'écriture de moulinettes (scripts) est toujours délicate, car elle
modifie des données.
Avec HyperFileSQL tout cela appartient au passé !
HyperFileSQL gère de manière transparente l’évolution des structures (schémas) de données grâce à la technologie SDD (synchronisation du schéma des données).
Si par exemple une colonne voit sa taille modifiée, ou si une colonne est rajoutée, ou encore si le type des données contenues
change (entier vers réel par exemple) HyperFileSQL mettra à jour
automatiquement les données des tables concernées.
Un historique de 100 versions est géré.
Finies les «moulinettes» ! Finis les scripts ! Finis les «Alter table»
hasardeux et insuffisants !
La procédure de mise à jour, qui sera installée et exécutée automatiquement avec la mise à jour de votre application, est générée
automatiquement.
La réplication «déconnectée»
H y p e r F i l e S Q L • w w w. p c s o f t . f r
9
Droits d’accès :
authentification pour
établir la connexion
Le serveur dispose d’un système d’authentification des utilisateurs.
Il vérifie qu’un utilisateur est autorisé à se connecter, et ensuite
qu’il a les droits suffisants pour exécuter ses requêtes: par exemple droit de supprimer des lignes pour exécuter une requête de
suppression.
Le réglage des droits est très fin: au niveau du serveur, de la base
de données ou de la table.
Il s’effectue par programmation ou par une interface conviviale.
Les mots de passe ne sont pas sauvés en texte clair sur le serveur:
c’est une version hashée qui est sauvée par sécurité.
Il est possible de définir une période d’expiration des mots de
passe.
Il est possible de définir des groupes d’utilisateurs.
SDD: Mise à jour automatique du schéma de données
(également appelée Modif. Auto.)
Le SDD (synchronisation du schéma des données) effectue automatiquement :
• La comparaison et synchronisation automatique de la base et
des données par rapport au schéma à obtenir
• L’ajout, suppression, renommage de colonne
• Le changement de type, de taille
• L’ajout/suppression de clé/index, Ajout/suppression de
contraintes
• L’ajout/suppression de triggers, de procédures stockées.
Le SDD peut également être lancé par ligne de commande.
Notez qu’il n’est pas nécessaire d’utiliser d’autres outils de gestion
de script pour réaliser ces tâches.
Notez également que le SDD fonctionne quelles que soient les
versions du schéma des bases cibles: le SDD fonctionne immédiatement sur une version n-3 par exemple.
Cette fonctionnalité de SDD peut s’exécuter :
• à chaud, sans déconnecter les utilisateurs
• de manière transparente, sans perturber le fonctionnement des
applications.
Centre de Contrôle HyperFileSQL: définition des droits
Au niveau du serveur :
• Droit de supprimer ou ajouter des utilisateurs ou groupes
• Droit de voir les utilisateurs et les groupes
• Droit de créer une base de données
• Droit de changer les droits
• Droit d'arrêter le serveur
• Droit de changer son propre mot de passe
• Droit de déconnecter les postes client
• Droit d'envoyer des messages aux postes client
• Droit de paramétrer le serveur
• Droit de paramétrer la priorité des utilisateurs
• Droit de réaliser des sauvegardes
• Droit de paramétrer les tâches planifiées
• Droit de consulter les statistiques d'activité et les logs du serveur.
Lien avec les autres bases
de données
Il est bien entendu possible d’utiliser HyperFileSQL en parallèle
avec d’autres bases de données. D’ailleurs, la plupart des S.I. utilisent plusieurs SGBD hétérogènes.
Une même application peut utiliser à la fois et simultanément une
base HyperFileSQL et d’autres bases de données.
HyperFileSQL permet également l’import et l’export facile de données avec d’autres bases de données.
Au niveau d’une base de données :
• Droit d'ajouter de nouvelles lignes dans une table de données
• Droit de bloquer les tables ou les lignes d’une table
• Droit de changer les droits
• Droit de modifier les règles d'intégrité sur une table
• Droit de modifier le propriétaire d'un élément
• Droit de se connecter au serveur (connexion cryptée et non
cryptée ou connexion cryptée uniquement)
• Droit de créer une table par programmation
• Droit de brancher et de débrancher la gestion des doublons
SÉCURITÉ
L’intégration, la gestion automatique des verrous, le Centre de
Contrôle,... assurent par leur seule existence une grande sécurité
d’utilisation.
Des fonctionnalités spécifiques à la sécurité sont également disponibles.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
10
• Droit de lire les lignes d’une table
• Droit de lancer une ré-indexation ou un calcul de statistiques sur
une table
• Droit de lancer une modification automatique des tables (SDD)
• Droit de modifier les lignes d’une table
• Droit de supprimer les lignes d’une table
• Droit de supprimer une base de données
• Droit de supprimer une table par programmation
• Droit de brancher et de débrancher la gestion de l'intégrité
• Droit de bloquer l'accès à une base de données
• Droit d'exécuter des procédures stockées et/ou des commandes
WLangage dans les requêtes
• Droit de paramétrer les procédures stockées
• Droit de déboguer les procédures stockées
• Droit de modifier les triggers
• Droit de réaliser des sauvegardes.
• par programmation
• dans l’éditeur de schéma (d’analyse).
Si une personne malveillante se procure un fichier de données
crypté (vol, copie, récupération sur une machine recyclée, sur une
machine perdue,...), elle ne pourra pas l’exploiter.
OUVERTURE
HyperFileSQL est ouvert à toutes les technologies, et s’insère facilement dans tout S.I. existant.
Pilote ODBC
La fourniture du pilote ODBC permet à des applications tierces
d’accéder aux données stockées sur un serveur HyperFileSQL,
comme par exemple PHP, Python, Ruby, Access…
Au niveau d’une table :
• Droit d'ajouter de nouvelles lignes dans une table
• Droit de bloquer les tables ou les lignes d’une table
• Droit de changer les droits
• Droit de modifier les règles d'intégrité sur une table
• Droit de modifier le propriétaire d'un élément
• Droit de brancher et de débrancher la gestion des doublons
• Droit de lire les lignes d’une table
• Droit de lancer une ré-indexation ou un calcul de statistiques sur
une table
• Droit de lancer une modification automatique des tables (SDD)
sur une table
• Droit de modifier les lignes d’une table
• Droit de supprimer les lignes d’une table
• Droit de supprimer une table par programmation.
Provider OLE DB
La fourniture du pilote OLE DB (en mode lecture et écriture), permet à des applications tierces d’accéder aux données stockées sur
un serveur HyperFileSQL, comme par exemple C#, ASP.Net, Crystal Reports, Business Object, PHP, Excel , ...
Importation de base
L’outil WDCONVER (livré en standard) permet d’importer des
bases de données Oracle, SQL Server, MySQL, ...
L’import du schéma des données est automatique.
L’import de données depuis les formats texte (séparateurs personnalisables: tab, espace…), CSV, XML, est également facile.
Injection SQL impossible
L’utilisation du générateur de fenêtres de WINDEV et du générateur de pages de WEBDEV, par la définition des champs de saisie
qu’il génère automatiquement en fonction du schéma des données, rend quasiment impossible les attaques par «injection de
code SQL», et ce de manière automatique.
Les données que l’utilisateur final saisit sont vérifiées automatiquement, en temps réel dès la saisie, et ne sont pas transmises à
l’application si elles sont erronées ou incohérentes.
LIEN AVEC
WINDEV, WEBDEV,
WINDEV MOBILE
Connexions cryptées
La connexion entre le client et le serveur peut être cryptée.
Pour définir un haut niveau de sécurité, il est possible d’interdire
les connexions non cryptées au serveur.
Cryptage des données
Accès natif WINDEV et
WEBDEV
L’accès aux données peut être sécurisé, et les données ellesmêmes peuvent être sécurisées.
L’ouverture de la table peut nécessiter un mot de passe.
Les données elles-mêmes peuvent être cryptées.
Plusieurs modes de cryptage sont gérés:
• standard sur 128 bits
• RC5 12 boucles sur 128 bits
• RC5 16 boucles sur 128 bits
Le mode et la clé de cryptage peuvent être définis :
WINDEV, WEBDEV et WINDEV Mobile sont des Ateliers de Génie
Logiciel. WINDEV est l’AGL N°1 en France.
L’accès à HyperFileSQL est «natif» WINDEV et WEBDEV, ce qui signifie que les performances d’accès (lecture, écriture) sont optimisées.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
11
Les schémas de données HyperFileSQL sont également directement et immédiatement reconnus par les environnements de
WINDEV et WEBDEV, et bénéficient donc des automatismes et assistants de ces environnements: création automatique d’IHM, de
champs, complétion sous l’éditeur de code...
Le databinding est supporté, en visuel sous l’environnement et
par programmation.
Multicontexte
Il est possible de manipuler à un instant donné, plusieurs
contextes et plusieurs connexions différents sur une même base.
Générateur de fenêtres
et d’IHM à partir des
schémas de table
Assistance automatique
Les IHM générées tiennent compte de la définition de la table.
Par exemple si une colonne est de type numérique, avec une longueur maximum de 8, seules les données de ce type seront autorisées à la saisie.
Il sera impossible de saisir du texte, ou un nombre de taille supérieure.
Dans une application WINDEV, l’assistance à l’utilisateur final est
automatique dans les cas d’erreur suivants:
• détection des accès concurrents non protégés
• doublons
• non respect des contraintes d’intégrité
• mot de passe incorrect
• déconnexion
• blocage.
Si une de ces erreurs se produit, l’application affiche automatiquement une fenêtre d’assistance adaptée.
3 exemples de fenêtres créées avec WINDEV
Ici, 2 utilisateurs tentent de modifier en même temps le
même champ! Une fenêtre s’ouvre automatiquement et demande quelle valeur prendre. Il n’y a rien à programmer.
Curseur en WINDEV et
WEBDEV
La programmation native sous WINDEV et WEBDEV est grandement facilitée par un ensemble d’automatismes et d’assistants
très évolués.
Les relations entre les tables sont détectées automatiquement.
L’accès à un champ de la base de données se définit facilement
avec une syntaxe claire et intuitive: nom de table, nom de colonne
(client.nom).
Les assistances à la saisie de code sont permanentes et facilitent
une saisie sans faute de frappe, sans avoir à rechercher un nom.
Aide à la performance,
Tuning, audit
Le profiler et l’Audit dynamique permettent d’analyser les performances d’une application, et par là même de vérifier que les
accès aux données sont programmés de manière optimale.
Le tuning permet d'optimiser les requêtes, de vérifier les index, la
mise en place des statistiques, la surveillance du serveur, de
contrôler la mémoire, l'utilisation du CPU, de l'espace disque, des
connexions, etc... La fonction SQL «Explain» permet d’anayser
l’ordre d’exécution d’une requête.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
12
Des contrôles sophistiqués, prêts à l’emploi et à être personnalisés
sont disponibles par simple glisser/déplacer:
• champ de saisie formaté
• onglets
• combo box
• images
• ascenseurs
• boutons graphiques animés
• boutons poussoir
• interrupteurs
• tableaux
• listes arborescentes (tree-view)
• tiroir
• champs ActiveX
• boutons «spin»
• potentiomètres
• barre d’icones
• splitter (séparateur)
• barre d’état
• RTF
• jauge
• graphe
• carrousel
• ...
• Gestion des bases de données
• Gestion de la taille des données
• Arrêt/démarrage des différentes instances de serveurs
• Visualisation des informations spécifiques au serveur, à la base,
aux tables
• Désinstallation de serveur HyperFileSQL
• Affichage de la liste des connexions en cours
• Possibilité de terminer/interdire des connexions.
• Envoi de messages aux utilisateurs
• Paramétrage de l’emplacement des bases de données, des journaux, activation et emplacement des logs, des statistiques d’activités,
• Définition du port de connexion au serveur,
• Définition du port pour le débogage à distance,
• Edition des comptes
• Gestion des transactions en cours, rollback de transaction
• Gestion des tâches planifiées
• Réalisation de sauvegardes
• Gestion des sauvegardes
• Tuning à chaud : taille du cache, activation des logs etc…
• Création, suppression, import de bases de données.
• Explorateur de bases de données
• Exécution de requêtes
• Sauvegarde et restauration des données,
• Visualisation de la structure des tables.
• Automatisation de fonctions courantes.
• Monitoring.
• Gestion des utilisateurs et groupes d’utilisateurs, ainsi que de
leurs droits
• Gestion des utilisateurs connectés
• Déconnexion d’utilisateurs
• Edition des statistiques précises d’utilisation du serveur: postes,
requêtes, journaux, logs, paramètres...
• Visualisation des blocages de lignes
• ...
• champ d'affichage (libellé)
• listes déroulantes
• combo auto-alimentée
• images animées
• boutons graphiques (icones)
• boutons texte
• boutons temporisés
• sélecteurs mono et multi-colonnes
• listes graphiques
• table hiérarchique
• champs OLE
• zones de clicage
• champs avec ombre floue
• champs HTML
• formes géométriques
• liste graphique
• Web caméra
• zones répétées
• boite à outils
• codes-barres
• calendrier
LES OUTILS
Administration : centre de
contrôle HyperFileSQL
Administration à chaud
De nombreuses tâches de maintenance peuvent s’effectuer à
chaud, sans avoir à déconnecter les utilisateurs, et sans que ceuxci ne soient gênés dans l’utilisation de leurs applications, qui
continuent à lire et écrire les données pendant ces phases:
• SDD «Modif Auto» à chaud
• Réindexation à chaud
• Optimisation automatique des performances à chaud
• Changement de mot de passe à chaud
• Sauvegarde.
Modéliser une base de
données
La définition d’un schéma de base de données s’effectue facilement à l’aide du puissant éditeur visuel livré.
De nombreux assistants vous guident.
L’édition visuelle du modèle du schéma (création, suppression,
modification des tables, des colonnes, des relations, des
contraintes, des index, des triggers…) permet de définir un
schéma de base de données sans avoir à écrire de code SQL.
L’éditeur visualise de manière graphique l'organisation des données et des traitements.
Un onglet du Centre de Contrôle HyperFileSQL
Le Centre de Contrôle HyperFileSQL est un outil d’administration
indispensable disposant d’une interface graphique intuitive et ergonomique.
Le Centre de Contrôle HyperFileSQL permet d’effectuer de nombreuses tâches, depuis un poste du réseau ou depuis Internet,
telles que :
H y p e r F i l e S Q L • w w w. p c s o f t . f r
13
Définition assistée des relations (liaisons)
Un schéma de données (une analyse)
L’assistant demande alors s'il doit générer les éventuelles tables de
relation nécessaires, ou s'il doit utiliser des tables existantes.
L’assistant demande enfin l’intitulé des relations: le schéma est défini.
L’éditeur sait importer des schémas depuis des bases
HyperFileSQL, SQL Server, Oracle, OLE DB, …
Un import automatique de schémas existants peut être effectué.
Le dossier du schéma de base de données peut être édité à la demande (format papier, HTML, PDF, Word, OpenOffice).
L’éditeur visuel de schéma gère également :
• La rétro analyse depuis un serveur
• La modélisation logique ou physique
• L’édition des connexions
• La comparaison de schémas
• L’historique des schémas
• La génération de scripts DDL
• L’export du modèle du schéma sous format d’image vectorielle.
UML
Pages extraites d’un dossier automatique
Comment créer un schéma
de données (une analyse) ?
Créer un schéma de données (une analyse) est très facile: un assistant puissant vous guide.
Il suffit de définir la structure des tables constituant le schéma
(l’analyse); les colonnes sont définies, ou récupérées du dictionnaire des données.
On indique le type des colonnes, le type de clé (index)...
Toute nouvelle colonne créée vient alimenter le dictionnaire des
données.
On définit ensuite les relations entre les tables.
Pour relier des tables, il suffit de tracer un lien avec la souris!
L’assistant pose des questions en langage naturel pour déterminer
la nature des relations.
L’assistant demande également si la vérification de l'intégrité référentielle doit être automatique ou pas.
Le diagramme de classes UML
WINDEV et WEBDEV gèrent en standard les 9 modèles UML.
En particulier, le diagramme de classes peut être généré automatiquement à partir du schéma de la base de données.
La programmation en mode 3-tier est ainsi énormément facilitée
par un mapping objet-relationnel automatique: les classes sont
automatiquement générées pour implémenter la logique métier
propre à l’application, ainsi que la mise à jour des données des
objets vers les tables, et réciproquement.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
14
sélection à l’aide de l’assistant, et la requête est générée en code
SQL optimisé.
L’éditeur effectue également la rétro-analayse de requêtes existantes.
Le résultat d’une requête peut être une fenêtre de visualisation,
un état imprimé, ou une table HyperFileSQL.
Une requête peut utiliser comme source le résultat envoyé par une
autre requête.
Editeur de requêtes
La création des requêtes s’effectue en langage SQL ou en L5G
WLangage.
Les requêtes peuvent être directement saisies, ou générées par
l’éditeur de requêtes (Etats & Requêtes), fourni en standard avec
WINDEV et WEBDEV, et librement diffusable auprès des utilisateurs finaux des applications que vous avez créées.
L’éditeur de requêtes permet également d’optimiser la description
(le schéma) des bases de données, en détectant et définissant
Afficher tous les NumCommande, NumCommandeClient, Dateles index nécessaires aux performances d’exécution des reCommande, NumClient, ModeRèglement et DateFacturation
quêtes créées.
tels que DateFacturation est égal à ‘DateFacturation’
L’éditeur de requêtes génère les requêtes à la fois en SQL et
ET COMMANDE.TotalTTC est supérieur ou égal à MontantTTC
en langage naturel, afin de vérifier qu’elles correspondent
ET HISTORIQUE.Réceptionniste est égal à ‘Receptionniste’
bien à l’opération souhaitée ! Il n’y a ainsi pas de
OU PRODUIT.QteMini est égal à QuantiteMini
ET ModeRèglement contient ‘ModeReglement’
risque d’erreur.
ET COMMANDE.Observations contient ‘Observation’ .
La requête est également générée sous forme
schématique (graphique animé).
Le mode opératoire pour créer une requête est simple: choisissez les colonnes à intégrer, les conditions de
Quelques clics suffisent à créer
une requête, et à la vérifier en
langage naturel.
Le logiciel «Etats & Requêtes» est un éditeur d’états que vous
pouvez diffuser librement, gratuitement et de manière illimitée à
vos utilisateurs finaux, pour toute application réalisée en WINDEV
ou en WEBDEV.
Cet éditeur d’états est totalement interfacé nativement avec
HyperFileSQL, et permet la création très facile d’états sophistiqués
utilisant des données stockées (entre autres) dans des bases
HyperFileSQL.
PDF est géré en standard, tout comme les fonds de page, les
codes-barres, les étiquettes... et tout ce qui est nécessaire !
Outil de reporting (logiciel «Etats & Requêtes»)
Depuis l’éditeur d’états, l’export vers Word, Excel,
OpenOffice, l’envoi d’un mail, etc... sont automatiques
Un état créé avec Etats & Requêtes
H y p e r F i l e S Q L • w w w. p c s o f t . f r
15
Outil de comparaison de
données : WDHFDiff
L’utilitaire WDHFDIFF permet de comparer :
• la structure de 2 tables
• les données de 2 tables.
Cela peut être très utile en phase de mise au point.
Robot de surveillance
Un état peut être dirigé vers différentes cibles
Les formats de codesbarres supportés sont: UPCA, UPCE, EAN13,
EAN8, EAN128, CODE128, CODE39, CODE93, CODE11,
CODE128, Intervaled 2 of 5, CODABAR, CB_MSI, Datamatrix,
PDF417, QR code...
RAD: pour générer les
fenêtres et les pages
Le robot de surveillance (librement diffusable avec vos applications) permet de sécuriser l’exploitation des serveurs.
Le robot surveille en permanence, et détecte immédiatement les
éventuelles connexions impossibles avec le serveur.
Le serveur alerte, au choix, par :
• envoi d’un message paramétrable d’eMail aux adresses indiquées (jusqu’à 20 adresses)
• message envoyé à une application spécifique (messagerie interne,…)
• message envoyé à la messagerie intégrée
• écran de contrôle (alerte visuelle et/ou sonore)
• lancement d’une procédure WLangage
• programme tiers (ce programme tiers peut par exemple effectuer l’envoi d’un message paramétrable par SMS aux numéros
indiqués).
Bien entendu, il est possible de choisir une combinaison de ces
alertes.
Parmi les paramètres de surveillance que l’on peut spécifier, vous
trouverez :
• la fréquence: effectuer le test tous les combiens, de 2 minutes à
1 jour
• la répétition: en cas de non réponse de l’élément surveillé, ré essayer le test combien de fois et après quel délai avant de déclencher l’alerte
• le texte du message à envoyer
• le média du message (SMS, eMail, …).
Une page Web générée par WEBDEV
Le RAD de WINDEV, WEBDEV et WINDEV Mobile génère également les fenêtres et pages, ainsi que les champs, en paramétrant
les contrôles de saisie en fonctions des informations contenues
dans le schéma des données (analyse): champ obligatoire, taille
maximale, types de données acceptées, vérification de bornes,...
WDMAP: visualiseur de
données
WDMAP permet de visualiser, éditer et modifier les données
d’une table.
WDMAP est très utile en phase de test et de débogage.
WDMAP permet de filtrer, de trier les données, d’effectuer des exports immédiats (vers Word, Excel, OpenOffice, XML,...).
SILO: superviseur d’infrastructure logicielle
Le SILO permet de recenser les accès de toutes les applications
WINDEV et de tous les sites WEBDEV à toutes les ressources réseau, dont les bases de données HyperFileSQL.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
16
Le SILO permet d’analyser l’évolution des accès aux bases de données au cours du temps, de savoir quelles applications et quels
postes accèdent à une base de données, ...
Des statistiques précises sont disponibles à tout moment.
ABS
AND
ASCII
AVG
CASE
CEILING
CONCAT
DECODE
DISTINCT
EXISTS
FROM
HAVING
INSERT
IS NULL
LEAST
LENGTH
LOG
LTRIM
MIN
NEXT_DAY
OCTET_LENGTH
PATINDEX
RADIANS
REVERSE
RPAD
SHA
SOME
SOUNDEX2 LIKE
STDDEV
SUBSTR
TAN
TRUNC
UNION
VALUES
WHERE
PROGRAMMATION: SQL ET
WLANGAGE
ACOS
ANY
ASIN
BETWEEN
CAST
CHAR_LENGTH
COS
DEGREES
DIV
EXP
FULL OUTER JOIN
HEX
INSTR
LAST_DAY
LEFT
LIKE
LOG10
MAX
MOD
NOT
ON
PI
RANDOM
RIGHT
RTRIM
SHA1
SOUNDEX
SPACE
STDDEV_POP
SUBSTRING
TOP
UCASE
UPDATE
VAR_POP
XOR
ADD_MONTH
AS
ATAN
BIN
CBRT
CHARACTER_LENGTH
COUNT
DELETE
DROP TABLE
FIELD
GREATEST
IN
INTO
LAST_INSERT_ID
LEFT OUTER JOIN
LIMIT
LOWER
MD5
MONTHS_BETWEEN
NVL
OR
POSITION
REPEAT
RIGHT OUTER JOIN
SELECT
SIGN
SOUNDEX LIKE
SPLIT_PART
STDDEV_SAMP
SUM
TRANSLATE
UNHEX
UPPER
VAR_SAMP
ALL
ASC
ATAN2
BOTTOM
CEIL
COALESCE
CREATE TABLE
DESC
ELT
FLOOR
GROUP BY
INNER JOIN
IF NULL
LCASE
LEN
LN
LPAD
MID
NEW_TIME
OCT
ORDER BY
POWER
REPLACE
ROUND
SET
SIN
SOUNDEX2
SQRT
STRING_AGG
SYSDATE
TRIM
UNICODE
UUID
VARIANCE
Les requêtes SQL de type «Select» acceptent de nombreuses
fonctions WLangage en paramètres, ce qui permet d’affiner facilement une sélection.
Les fonctions WLangage acceptées sont:
La programmation simple
et puissante
Abs
Age
AnsiVersOem
AnsiVersUnicode
ArcCosinus
ArcSinus
ArcTang
Arrondi
Asc
Caract
ChaîneCompare
ChaîneConstruit
ChaîneFormate
ChaîneOccurrence ChaîneVersDate
ChaîneVersDurée
ChaîneVersUTF8
Complète
ComplèteRep
Compresse
ConstruitEntier
Conversion
Cosinus
CoTang
CouleurLuminosité CouleurSaturation CouleurTeinte
Crypte
DateDifférence
DateDuJour
DateEstValide
DateHeureDifférence
DateHeureLocaleVersUTC
DateHeureUTCVersLocale
DateSys
DateValide
DateVersChaîne
DateVersEntier
DateVersJour
DateVersJourEnLettre DateVersMoisEnLettre
DateVersNuméroDeSemaine
DDECR
DécomplèteRep
Décompresse
Décrypte
DonneGUID
Droite
DuréeVersChaîne
EmailVérifieAdresse EntierVersDate
EntierVersHeure
EntierVersJour
EntierVersJourEnLettre
EntierVersMoisEnLettre
EntierVersNuméroDeSemaine
EnvironnementDOS EstImpair
EstNumérique
EstPair
ETBinaire
ExeInfo
Exp
ExtraitChaîne
fAttributLectureSeule
fChargeTexte
fCheminCourt
fCheminLong
fCompacte
fCompare
fCopieFichier
fCréeLien
fCrypte
fDate
fDateHeure
fDécompacte
fDécrypte
fDéplaceFichier
fDisqueInfo
FenEnSaisie
FenExtPosH
FenExtPosV
FenIntPosH
FenIntPosV
fEspaceDisque
fExtraitChemin
fFichierExiste
fHeure
fNomCourt
fNomLong
fRepAttribut
fRepCopie
fRepCrée
fRepDroit
fRépertoireExiste
fRépertoireTemp fRepParent
fRepSupprime
fRepTaille
fSauveTexte
fSéparateur
fSupprime
fTaille
fTailleDécompacté fTailleDisque
fTypeDisque
Gauche
Hasard
HDescribeField
HDoublet
HeureDifférence
HeureEstValide
HeureSys
HeureValide
HeureVersChaîne
HeureVersEntier
HInfoField
HListField
HRetrieveField
HTMLVersTexte
HToField
HUnlockRecord
iDonneIdentifiant
InfoExe
INIEcrit
INILit
InitHasard
Inverse
LanceAppli
Ln
Log
Maintenant
Majuscule
Max
Milieu
Min
Minuscule
NetAdresseMAC
NetIPVersMAC
NetMACVersIP
NONBinaire
NumériqueVersChaîne
NuméroDeSemaine OemVersAnsi
OUBinaire
OuExBinaire
OUExclusifBinaire Pâques
La programmation de la base de données HyperFileSQL est à la
fois facile et puissante.
Cette programmation peut s’effectuer en SQL et/ou en L5G
WLangage.
La programmation par le langage SQL est une programmation
universellement connue.
La programmation avec le langage de 5° génération WLangage
permet la programmation évoluée et puissante de curseurs.
Les automatismes avec les applications et sites développés en
WINDEV et WEBDEV sont alors très forts.
RAD: pour générer le
code
Le code peut être généré à la demande par WINDEV et WEBDEV
en utilisant la fonctionnalité de RAD, ou par les nombreux assistants disponibles dans ces environnements.
Le code généré peut ensuite être modifié.
Le RAD supporte le concept de «pattern», qui permet de définir
soi-même le code qui sera généré.
Liste des ordres SQL
supportés
Voici la liste des fonctions SQL supportées (cette liste n’est pas
exhaustive).
Le détail de chaque fonction SQL n’est ici pas indiqué.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
17
PartieDécimale
PartieEntière
PoidsFort
Position
Racine
RegistreCherche
RegistreEcrit
RegistreExiste
RegistrePremièreSousClé
RegistreSupprimeValeur
Répète
RéseauConnecte
RéseauNomRep
RéseauUtilisateur
RVBRouge
RVBVert
sCalculeCrc16
sCalculeCrc32
SourisPosV
SysCouleur
SysEspace
SysInstance
SysVersionWindows SysXRes
TailleCommune
TailleVersChaîne
TSL
UnicodeVersAnsi
UTF8VersChaîne
UUDécode
VérifieExpressionRégulière
Phonétique
PoidsFaible
PositionOccurrence Puissance
RegistreCléSuivante RegistreCréeClé
RegistreListeValeur RegistreLit
RegistreSupprimeClé
RegistreTypeValeur Remplace
RéseauDéconnecte RéseauNomDomaine
RVB
RVBBleu
SansAccent
SansEspace
Sinus
SourisPosH
SysCouleurRes
SysEnvironnement
SysNomExe
SysRep
SysYRes
Taille
Tang
TermineApp
URLDécode
URLEncode
UUEncode
Val
VersChaine
VersionWindows
HActiveFiltre
HActiveFiltreAuto
HActiveTrigger
HActiveTriggerServeur
HAjoute
HAjouteGroupe
HAjouteLiaison
HAjouteTâche
HAjouteUtilisateur
HAlias
HAnnuleAlias
HAnnuleDéclaration
HAnnuleRecherche
HAnnuleSauvegarde
HArrêteServeur
HAttacheMémo
HAvance
Liste des ordres
WLangage
Les ordres WLangage permettent de programmer des curseurs,
ou même de programmer tous les traitements si vous le désirez.
La programmation en L5G WLangage est très puissante et très intuitive.
Par exemple, la recherche d’une ligne (d’un enregistrement), et
tous les traitements attachés (ouverture de table, affection de variables,...) s’effectuent en une seule de ligne de code, très simple,
très puissante:
hLitRecherche(CLIENT,NOM,"DUPONT")
HBloqueFichier
HBloqueNumEnr
HChangeClé
HChangeConnexion
HChangeLocalisation
HChangeNom
HChangeRep
HChangeRepJnl
HChangeRepRpl
Les programmes source sont limpides, faciles à écrire et surtout
faciles à maintenir; cela limite les erreurs, et rend les applications
développées plus fiables, plus rapidement.
L'utilisation d'instructions en français permet une meilleure maîtrise: le code est auto-commenté ! (anglais disponible)
L'ordre hLitRecherche sera compris par tous les développeurs,
même les novices !
Il est possible également de programmer en anglais: l'ordre devient hReadSeek.
HChargeParamètre
HConnecte
HConnecteAccèsDistant
HConstruitValClé
Autre exemple, la création d’une table s’effectue en 1 ligne de
code, sans script: hCréation.
HConstruitValCléANSI
HConvert
Liste non exhaustive des fonctions du WLangage (L5G utilisé
par WINDEV, WEBDEV et WINDEV Mobile), avec résumé de
leur action.
Ici liste en français; chaque fonction existe également en anglais.
EcranVersFichier
EcranVersSource
FichierVersEcran
SourceVersEcran
EspaceSignificatif
HCopieEnreg
HCopieFichier
HCréation
HCréationSiInexistant
Initialise automatiquement :
- la valeur mémoire des champs d’une table (des rubriques
d'un fichier) avec la valeur des contrôles de la fenêtre ou de la
page.
- la valeur des variables WLangage avec la valeur des contrôles
de la fenêtre ou de la page.
Initialise automatiquement :
-la valeur mémoire des champs d’une table avec la valeur ddes
contrôles de la fenêtre ou de la page.
- la valeur des variables WLangage avec la valeur des contrôles
de la fenêtre ou de la page.
Initialise automatiquement les contrôles d'une fenêtre ou
d'une page avec :
- les valeurs des champs associés à la ligne en cours de la
table (du fichier de données)
- les valeurs des variables WLangage associées.
Initialise automatiquement les contrôles d'une fenêtre ou
d'une page avec :
- les valeurs des champs associés à la ligne en cours de la
table.
- les valeurs des variables WLangage associées.
Ajoute ou supprime les espaces situés à droite d'un champ
texte lors de sa lecture.
HCréeRéplicaAbonné
HCréeRéplicaMaître
HCréeRéplicaTransportable
HCréeVue
HDateEnreg
HDébloqueFichier
HDébloqueNumEnr
HDéclare
HDéclareExterne
H y p e r F i l e S Q L • w w w. p c s o f t . f r
18
Active le filtre précédemment créé pour la table spécifiée.
Active un filtre automatique sur les tables reliées lors du parcours d'un fichier XML.
Réactive un trigger précédemment désactivé avec la fonction
HDésactiveTrigger.
Ré-active un trigger serveur précédemment désactivé.
Ajoute la ligne présente en mémoire dans la table.
Ajoute un groupe d'utilisateurs.
Ajoute une règle d'intégrité entre deux tables sur le serveur.
Ajoute une tâche planifiée sur le serveur défini par la
connexion.
Ajoute un utilisateur à une base de données.
Crée un alias logique d’une table ou annule tous les alias existants.
Annule un alias précédemment déclaré avec la fonction HAlias.
Supprime une déclaration précédemment faite avec HDéclare,
HDéclareExterne, HDécritFichier.
Annule le critère de recherche en cours.
Annule une sauvegarde en cours.
Arrête un serveur.
Associe un fichier à une colonne de type mémo binaire (blob).
Avance de plusieurs lignes dans la table, à partir de la position
en cours, selon une colonne spécifiée.
Bloque une table (un fichier) et restreint l'accès à cette table
(ce fichier ) pour toutes les autres applications.
Bloque une ligne (un enregistrement) et restreint l'accès à
cette ligne (cet enregistrement) pour toutes les autres applications.
Change la clé (la colonne) de parcours.
Change la connexion à une base de données utilisée pour une
table.
Modifie le mode de recherche des tables.
Modifie le nom physique d’une table.
Modifie le chemin d'accès à une table.
Modifie le chemin d'accès à un fichier journal.
Modifie l'emplacement de la description du réplica abonné (fichier RPL). Cette fonction doit être utilisée sur le poste abonné.
Lit un paramètre précédemment sauvegardé à partir d'une procédure stockée grâce à la fonction HSauveParamètre.
Redéfinit un ou plusieurs paramètres d'une connexion sur une
table spécifique ou sur un ensemble de tables.
Ouvre une analyse au format HyperFileSQL Classic via un accès
distant.
Construit la valeur d'une clé composée (d’un index) pour réaliser un filtre ou effectuer une recherche.
Sous une plateforme UNICODE (pocket PC par exemple), permet de construire la valeur d'une clé composée (index) pour
l'enregistrer dans une table HyperFileSQL.
Convertit une valeur numérique en une chaîne binaire pour effectuer une recherche sur une clé (un index) numérique.
Copie le contenu de l'enregistrement en cours (de la ligne en
cours) dans l'enregistrement en cours d'un autre fichier (dans
la ligne en cours d’une autre table).
Effectue une copie d’une table (d'un fichier) HyperFileSQL.
Crée à vide une table avec les index décrits.
Crée à vide une table (si la table n'existe pas) ou ouvre une
table (si la table existe déjà).
Crée le fichier de description d'un réplica abonné (fichier ReplicaAbonne.RPL).
Crée le fichier de description d'un réplica maître (fichier ReplicaMaitre.RPL).
Crée un fichier qui peut être utilisé pour répliquer les données
de la base de données en cours (pour envoi par email ou disquette par exemple).
Crée une vue HyperFileSQL.
Renvoie la date et l'heure de la dernière écriture d'une ligne
dans uns table HyperFileSQL .
Débloque une table (un fichier) précédemment bloquée avec la
fonction HBloqueFichier.
Débloque une ligne (un enregistrement).
Déclare une description de table (présente dans un autre
schéma, une autre analyse) dans le projet en cours.
Importe temporairement dans le schéma en cours, l'analyse en
cours la description d’une table à partir d'une table
HyperFileSQL existante.
HDéconnecteClient
HDécritConnexion
HDécritFichier
HDécritIndexFullText
HDécritLiaison
HDécritRubrique
HDécritTrigger
HDécritTriggerServeur
HDémarreServeur
HDernier
HDésactiveFiltre
HDésactiveFiltreAuto
HDésactiveTrigger
HDésactiveTriggerServeur
HDétruitTrigger
HDétruitTriggerServeur
HDétruitVue
HEcrit
HEnDehors
HEnregistrementVersXML
HEnvoieMessageVersClient
HErreur
HErreurBlocage
HErreurDoublon
HErreurEtatModification
HErreurInfo
HErreurIntégrité
HErreurModification
HErreurMotDePasse
HEtat
HEtatServeur
HExécuteProcédure
HExécuteRequête
HExécuteRequêteSQL
HExécuteVue
HExporteXML
HExtraitMémo
HFerme
HFermeAnalyse
HFermeConnexion
HFichierExiste
HFiltre
HFiltreCommencePar
HFiltreComprisEntre
HFiltreIdentique
HFinInterditAccèsBaseDeDonnées
HFinInterditModif
Affiche un message sur le(s) poste(s) Client, et déconnecte
l'application.
Décrit une connexion temporaire.
Décrit une table (un fichier de données) temporaire.
Décrit un index full-text dans une table créée par programmation.
Décrit une relation (une liaison) temporaire entre deux table.
Décrit une colonne (une rubrique) d'une table temporaire.
Ajoute ou modifie un trigger sur une table HyperFileSQL.
Ajoute ou modifie un trigger serveur.
Permet de démarrer un serveur (utilise MantaManager).
Positionne sur la dernière ligne d’une table.
Désactive temporairement un filtre sur une table (une vue ou
une requête).
Désactive un filtre automatique sur les fichiers reliés lors du
parcours d'un fichier XML. Ce filtre a été activé grâce à la fonction HActiveFiltreAuto.
Désactive un trigger.
Désactive un trigger Serveur HyperFileSQL Client/Serveur.
Détruit un trigger.
Détruit un trigger serveur. Ce trigger serveur ne sera plus utilisable.
Détruit une vue précédemment créée.
Écrit une ligne dans une table sans mettre à jour les index correspondants.
Permet de savoir si la ligne sur laquelle on veut se positionner
est en dehors de la table, du filtre, de la vue ou de la requête.
Récupère la structure et la valeur de la ligne (l'enregistrement)
en cours et les exporte dans une chaîne de caractères au format XML.
Affiche un message sur le(s) poste(s) Client.
Renvoie le numéro de la dernière erreur déclenchée par le moteur HyperFileSQL.
Permet de tester si une erreur de verrou (blocage) est survenue.
Permet de tester si une erreur de doublons est survenue.
Renvoie l'état d'une ligne lors d'un conflit de modification.
Renvoie une information détaillée sur la dernière erreur déclenchée par le moteur HyperFileSQL.
Permet de tester si une erreur d'intégrité est survenue.
Renvoie la valeur d'un champ lors d'un conflit de modification.
Permet de savoir si une erreur due à un mot de passe erroné a
été rencontrée sur la table.
Permet de connaître l'état d’une ligne.
Permet de connaître l'état d'un serveur.
Exécute une procédure ou fonction stockée.
Initialise une requête créée sous l’éditeur de requêtes et déclare cette requête au moteur HyperFileSQL.
Initialise une requête écrite en langage SQL et déclare cette requête au moteur HyperFileSQL.
Exécute une vue créée auparavant.
Exporte les lignes d'un fichier (HyperFileSQL ou OLE DB), d'une
vue ou d'une requête dans un fichier XML.
Extrait le contenu d'une rubrique de type blob (mémo binaire)
dans un fichier.
Ferme soit une table (un fichier), soit toutes les tables (tous les
fichiers) ouvertes.
Ferme l'analyse en cours.
Ferme une connexion à une base de données
Permet de savoir si une table (un fichier) existe.
Définit et active un filtre sur un fichier, une vue ou une requête.
Définit et active un filtre de type "Commence par" sur une
table, une vue ou une requête. Le filtre de type "Commence
par" permet de sélectionner toutes les lignes commençant par
une suite de caractères définie.
Définit et active un filtre de type "Compris entre" sur une
table, une vue ou une requête. Le filtre de type "Compris
Entre" permet de sélectionner toutes les lignes comprises
entre deux valeurs données.
Définit et active un filtre permettant de rechercher la valeur
exacte d'un champ de type chaîne. Ce filtre peut être utilisé sur
une table, une vue ou une requête.
Ré-autorise l'accès à une ou plusieurs bases de données accessibles par une connexion.
Débloque une table qui a été bloquée par le même programme
avec la fonction HInterditModif.
Force le système d'exploitation du poste sur lequel les tables
(les fichiers de données) sont présentes à écrire les données
directement sur le disque.
HFusionneVue
Crée une vue HyperFileSQL à partir de deux vues précédemment créées.
HGèreAccèsDistant
Débranche temporairement l'accès distant pour accéder à des
tables HyperFileSQL Classic présentes en local.
HGèreCache
Permet de paramétrer la gestion des caches dans le moteur
HyperFileSQL Client/Serveur.
HGèreDoublon
Active ou désactive la gestion des doublons sur une clé.
HGèreIntégrité
Active ou désactive la gestion d'une contrainte d'intégrité sur
une relation d’une table.
HGèreJournal
Active ou désactive la gestion du journal d'une table journalée.
HGèreMémo
Active ou désactive la gestion des colonnes de type blob
(mémo).
HGèreREP
Active ou désactive la gestion du fichier .REP.
HGèreRéplication
Active ou désactive temporairement la gestion de la réplication.
HGèreServeur
Permet de modifier certains paramètres du serveur.
HGèreTâche
Active ou désactive une tâche planifiée d'un serveur
HyperFileSQL Client/Serveur.
HGèreTransaction
Active ou désactive la gestion des transactions.
HGèreTrigger
Active ou désactive la gestion des triggers.
HImporteHF55
Importe table Hyper File 5.5 dans une table au format
HyperFileSQL Classic.
HImporteTexte
Importe un fichier Texte dans une table au format HyperFileSQL
Classic.
HImporteXML
Importe un fichier XML dans une table au format HyperFileSQL
Classic.
HInfoBlocage
Renvoie des informations sur le verrou (blocage) d'une table,
d'une ligne, ou de toutes les lignes d’une table.
HInfoDroitBaseDeDonnées
Permet de connaître les droits accordés sur une base de données définis pour un utilisateur ou un groupe.
HInfoDroitFichier
Permet de connaître les droits accordés sur une table (un fichier de données) pour un utilisateur ou un groupe.
HInfoDroitServeur
Permet de connaître les droits accordés sur un serveur à un utilisateur ou un groupe.
HInfoFichier
Renvoie les caractéristiques d'une table (un fichier) présent
sur un serveur HyperFileSQL.
HInfoGroupe
Renvoie des informations sur le groupe d'utilisateurs spécifié.
HInfoLog
Renvoie des informations sur les logs du serveur.
HInfoMémo
Renvoie les caractéristiques des blob (mémo binaires).
HInfoPropriétéBaseDeDonnées Permet de connaître les propriétés d'une base de données située sur un serveur HyperFileSQL.
HInfoPropriétéFichier
Permet de connaître les propriétés d'une table (un fichier de
données) située sur un serveur HyperFileSQL.
HInfoPropriétéServeur
Permet de connaître les propriétés d'un serveur HyperFileSQL.
HInfoRéplica
Renvoie des informations sur le réplica spécifié. En particulier,
cette fonction permet de savoir si la base de données contient
des données à répliquer.
HinfoSauvegarde
Renvoie des informations sur une ou plusieurs sauvegardes effectuées sur un serveur HyperFileSQL Client/Serveur.
HinfoServeur
Renvoie l'information spécifiée à propos du poste serveur.
HinfoTâche
Renvoie les caractéristiques d'une tâche planifiée dans une variable avancée de type hTâchePlanifiée.
HInfoUtilisateur
Met à jour les variables de gestion des utilisateurs avec les informations concernant l'utilisateur spécifié.
HInitAbonné
Initialise la plage d'identifiants automatiques d'un fichier de
description d'un réplica abonné (extension ".RPL").
HInterditAccèsBaseDeDonnées Interdit tous les accès à une base de données, ou bien aux
bases de données accessibles par une connexion.
HInterditModif
Interdit toute modification sur une table (pour tous les programmes, y compris le programme qui a demandé l'interdiction). Les lignes sont uniquement accessibles en lecture.
HJournalInfo
Insère des commentaires lors de la journalisation d'une opération.
HJournalRecrée
Permet de recréer un journal à vide. Cette fonction permet par
exemple une remise à 0 du journal après une sauvegarde ou
une réplication par exemple. Le contenu des fichiers existants
est perdu.
HJournalRedémarre
Redémarre la journalisation de la table. Cette journalisation a
été arrêtée grâce à la fonction HJournalStop.
HJournalStop
Arrête la journalisation de la table. Les manipulations effectuées dans le fichier journalé ne sont plus enregistrées.
HLibère
Transforme les lignes rayées d'une table en lignes supprimées.
HForceEcriture
H y p e r F i l e S Q L • w w w. p c s o f t . f r
19
HLibèrePosition
HListeAnalyse
HListeBaseDeDonnées
HListeClé
HListeConnexion
HListeElémentStocké
HListeFichier
HListeGroupe
HListeIndexFullText
HListeLiaison
HListeParamètre
HListeParamRequête
HListeProvider
HListeREP
HListeRubrique
HListeTâche
HListeTrigger
HListeTriggerServeur
HListeUtilisateur
HListeUtilisateurConnecté
HLit
HLitDernier
HLitPrécédent
HLitPremier
HLitRecherche
HLitRechercheDernier
HLitRecherchePremier
HLitSuivant
HMigreCléComposéeReliée
HMiseAJourCollection
HMiseAJourRequête
HMode
HModifie
HModifieDroitBaseDeDonnées
HModifieDroitFichier
HModifieDroitServeur
HModifieGroupe
HModifiePropriétéBaseDeDonnées
Supprime une position sauvegardée par la fonction HSauvePosition.
Renvoie la liste des schémas (analyses) WinDev disponibles
dans un répertoire donné.
Liste les bases de données Client/Serveur associées à une
connexion.
Renvoie la liste des clés et index d'une table reconnue par le
moteur HyperFileSQL.
Renvoie la liste des connexions définies dans l'application
(connexions définies dans le schéma et/ ou dynamiquement).
Renvoie la liste des éléments stockés sur un serveur
HyperFileSQL (collections de procédures, procédures stockées
ou requêtes).
Renvoie la liste des tables (des fichiers) de l'analyse en cours
ou d'une analyse spécifique reconnue par le moteur
HyperFileSQL.
Renvoie la liste des groupes d'utilisateurs définis pour une
connexion.
Renvoie la liste des index full-text d'un fichier (d'une requête
ou d'une vue) reconnu par le moteur HyperFileSQL
Renvoie la liste des liaisons (de type Merise) présentes dans
l'analyse en cours ou dans une analyse spécifique.
Renvoie la liste des paramètres sauvegardés à partir des procédures stockées sur le serveur.
Renvoie la liste des paramètres d'une requête créée avec l’éditeur de requêtes.
Renvoie la liste des providers OLE DB installés sur le poste.
Renvoie la liste des affectations des tables présentes dans une
analyse.
Renvoie la liste des colonnes (des rubriques) d’une table reconnue par le moteur HyperFileSQL.
Liste les tâches planifiées d'un serveur.
Renvoie la liste des triggers appliqués sur une ou plusieurs tables HyperFileSQL.
Liste les différents triggers disponibles sur une connexion ou
sur un des fichiers de la connexion.
Renvoie la liste des utilisateurs définis pour une connexion.
Renvoie la liste les utilisateurs actuellement connectés à un ou
plusieurs fichiers manipulés par une connexion Client/Serveur.
Lit une ligne dans une table en fonction d'un numéro de ligne
donné.
Positionne sur la dernière ligne d’une table, lit la ligne et met à
jour les variables HyperFileSQL.
Positionne sur la précédente ligne d’une table, lit la ligne et
met à jour les variables HyperFileSQL.
Positionne sur la première ligne d’une table, lit ligne et met à
jour les variables HyperFileSQL.
Positionne sur la première ligne d’une table dont la valeur
d'une colonne spécifique est supérieure ou égale à une valeur
recherchée.
Positionne sur la dernière ligne d’une table dont la valeur de
colonne spécifique est inférieure ou égale à une valeur recherchée.
Positionne sur la première ligne d’i-une table dont la valeur
d'une colonne spécifique est supérieure ou égale à une valeur
recherchée.
Positionne sur la ligne suivante d'une table, lit la ligne et met à
jour les variables HyperFileSQL.
Migre les valeurs des clés composées reliées provenant d'une
table au format Hyper File 5.5 migré vers HyperFileSQL Classic.
Crée ou met à jour une collection de procédures sur un serveur
HyperFileSQL
Crée ou met à jour une requête sur un serveur HyperFileSQL
Change le mode et la méthode de blocage des tables.
Modifie la ligne spécifiés ou la ligne présente en mémoire dans
la table.
Modifie les droits donnés à un utilisateur ou à un groupe pour
une base de données HyperFileSQL Client/Serveur.
Modifie les droits accordés sur une table (un fichier de données) HyperFileSQL Client/Serveur pour un utilisateur ou un
groupe.
Modifie les droits accordés sur un serveur HyperFileSQL pour
un utilisateur ou un groupe.
Modifie les informations du groupe en fonction des éléments
présents dans les variables de gestion de groupes correspondantes.
Modifie les propriétés d'une base de données située sur un
serveur HyperFileSQL.
HModifiePropriétéFichier
HModifiePropriétéServeur
HmodifieTâche
HModifieUtilisateur
HNbEnr
HNumEnr
HOptimise
HOptimiseRequête
HOuvre
HOuvreAnalyse
HOuvreConnexion
HPasse
HPositionCourante
HPositionne
HPoste
HPrécédent
HPremier
HPrépareRequêteSQL
HPriorité
HPrioritéClient
HPurgeRepTravail
HRaye
HRAZ
HRAZClient
HRAZGroupe
HRAZUtilisateur
HRecherche
HRechercheDernier
HRecherchePremier
HReconnecte
HRecule
HRécupèreEnregistrement
HRécupèreLog
HRécupèreRubrique
HRégénèreFichier
HRéindexationEnCours
HRéindexe
HRepTravailServeur
HRestaureSauvegarde
HRetourPosition
H y p e r F i l e S Q L • w w w. p c s o f t . f r
20
Modifie les propriétés d'un fichier HyperFileSQL situé sur un
serveur.
Modifie les propriétés d'un serveur HyperFileSQL.
Modifie une tâche planifiée sur le serveur définie par la
connexion.
Modifie les informations d'un utilisateur en fonction des éléments présents dans les variables de gestion des utilisateurs
correspondantes.
Renvoie le nombre de lignes (d'enregistrements) d'une table
ou d'une vue HyperFileSQL.
Renvoie le numéro de ligne (de l'enregistrement) en cours
dans la table ou dans la vue HyperFileSQL.
Optimise l'accès aux index des tables HyperFileSQL Classic :
les index sont chargés dans les caches du système. Accélère
les premiers parcours de tables et les premières exécutions de
requête.
Optimise les requêtes de sélection en utilisant les temps morts
lors de la manipulation d'une application (période sans traitements) Optimise l'accès aux index des tables HyperFileSQL.
Ouvre une table.
Ouvre une analyse au format HyperFileSQL Classic.
Ouvre une connexion à une base de données.
Fixe le mot de passe utilisé pour créer ou pour ouvrir une table.
Renvoie la position approximative de la ligne dans une table.
Positionne sur une ligne à partir de la position approximative
d'une de ses colonnes. La ligne est lue.
Mémorise un numéro unique de poste afin d'utiliser les transactions en réseau.
Positionne sur la ligne précédente de la table. La ligne n'est
pas lue.
Positionne sur la première ligne d’une table. La ligne n'est pas
lue.
Initialise une requête écrite en langage SQL et déclare cette requête au serveur de base de données pour optimiser les prochaines exécutions de cette requête. Cette requête n'est pas
exécutée. La requête pourra ensuite être exécutée grâce à la
fonction HExécuteRequêteSQL.
Permet de connaître ou de modifier la priorité de l'application
appelante.
Modifie la priorité d'une application cliente
Purge et détruit le répertoire temporaire précédemment créé
lors de l'exécution de la fonction HRepTravailServeur.
Raye une ligne d’une table.
Initialise une ou tous les champs d’une table avec leurs valeurs
par défaut.
Initialise la structure de gestion des postes Client (structure
HClient).
Initialise les variables de gestion des groupes avec les valeurs
par défaut.
Initialise les variables de gestion des utilisateurs avec les valeurs par défaut.
Positionne sur la première ligne d’une table dont la valeur
d'une colonne spécifique est supérieure ou égale à une valeur
recherchée.
Positionne sur la dernière ligne d’une table dont la valeur
d'une colonne spécifique est inférieure ou égale à une valeur
recherchée. L'enregistrement n'est pas lu.
Positionne sur la première ligne d’une table dont la valeur
d'une colonne spécifique est supérieure ou égale à une valeur
recherchée.
Effectue une reconnexion au serveur pour toutes les
connexions interrompues.
Recule de plusieurs lignes dans la table, à partir de la position
en cours, selon une colonne spécifiée.
Renvoie le contenu de la ligne (l'enregistrement) en cours.
Récupère dans une table les logs du serveur réalisés entre
deux dates données
Renvoie le contenu d'une colonne (rubrique) de la ligne en
cours.
Régénère une table (fichier) à partir de son journal.
Avertit si une réindexation est en cours sur une table et renvoie
le pourcentage de réindexation effectué.
Reconstruit l'index d'une table.
Renvoie le chemin d'un répertoire temporaire sur le serveur.
Permet de restaurer une sauvegarde effectuée grâce à la fonction HSauvegarde (ou via le Centre de Contrôle HyperFileSQL).
Restaure le contexte précédemment sauvegardé d'une table.
HRplDéclareLiaison
HRplProcédureFiltre
HSauvegarde
HSauveParamètre
HSauvePosition
HSécurité
HStatCalcule
HStatDate
HStatHeure
HStatNbDoublon
HStatNbEnr
HStatNbEnrIntervalle
HSubstRep
HSuivant
HSupprime
HSupprimeBaseDeDonnées
HSupprimeCollection
HSupprimeFichier
HSupprimeGroupe
HSupprimeLiaison
HSupprimeParamètre
HSupprimeRequête
HSupprimeSauvegarde
HSupprimeTâche
HSupprimeTout
HSupprimeUtilisateur
HSurAppelServeur
HSurErreur
HSynchroniseRéplica
HTransactionAnnule
HTransactionDébut
HTransactionFin
HTransactionInterrompue
HTransactionLibère
HTransactionListe
HTrieVue
HTrouve
HVérifieIndex
HVérifieStructure
HVersFichier
Déclare une Liaison de type (1,1) (0,n) entre deux tables. Seuls
les lignes de la table cible avec une ligne correspondante dans
la table source (en respectant le filtre de celui-ci) seront répliqués lors d'une réplication hétérogène.
Définit la procédure WLangage qui sera appelée à chaque opération de réplication pour une table donnée. Cette procédure
est exécutée par les fonctions HCréeRéplicaTransportable et
HSynchroniseRéplica.
Réalise la sauvegarde du contenu d'un serveur HyperFileSQL
Sauve une valeur persistante à partir d'une procédure stockée.
Mémorise le contexte en cours d'une table.
Active ou désactive le mécanisme de sécurité.
Réalise diverses statistiques sur les clés d'une table.
Renvoie la date de la dernière mise à jour des statistiques d'index. Ces statistiques ont été réalisées grâce aux fonctions
HStatCalcule ou HRéindexe.
Renvoie l'heure de la dernière mise à jour des statistiques d'index. Ces statistiques ont été réalisées grâce aux fonctions
HStatCalcule ou HRéindexe.
Renvoie le nombre de doublons pour une colonne donnée.
Renvoie le nombre d'entrées pour une colonne donnée.
Renvoie une estimation majorée du nombre d'entrées pour
une colonne donnée dans un intervalle de valeurs donné.
Remplace le nom logique du répertoire des données (spécifié
dans l'analyse) par un nom physique.
Positionne sur la ligne suivante de la table. La ligne n'est pas
lue.
Supprime une ligne d’une table.
Supprime une base de données présente sur un serveur
HyperFileSQL.
Supprime une collection de procédures stockées d'un serveur
HyperFileSQL.
Supprime les fichiers HyperFileSQL (fichier .fic, .ndx et .mmo
s'ils existent) sur le serveur.
Supprime un groupe d'utilisateurs associé à une connexion,
sur le serveur.
Supprime une règle d'intégrité entre deux tables sur le serveur.
Supprime un paramètre précédemment sauvé avec la fonction
HSauveParamètre.
Supprime une requête d'un serveur HyperFileSQL.
Supprime une sauvegarde précédemment effectuée avec la
fonction HSauvegarde.
Supprime une tâche planifiée d'un serveur HyperFileSQL
Client/Serveur.
Supprime tous les enregistrements d'un fichier de données ou
d'une requête.
Supprime un utilisateur associé à une connexion sur le serveur.
Personnalise la gestion de l'affichage d'un message sur le
poste client, et la gestion de la déconnexion d'un poste client.
Personnalise la gestion automatique des erreurs.
Synchronise un réplica maître et un réplica abonné.
Si une transaction est en cours, annule toutes les opérations
effectuées sur les tables en transactions depuis le début de la
transaction.
Démarre une transaction sur les tables HyperFileSQL, et crée la
table des transactions.
Valide la transaction en cours.
Permet de savoir si une transaction a été interrompue (la transaction n'a été ni validée, ni annulée). Les caractéristiques de la
transaction interrompue peuvent être connues grâce à des variables HyperFileSQL.
Transforme toutes les lignes «en transaction» en lignes «Normales» si ces lignes n'appartiennent pas à une transaction actuellement en cours. Si une ligne de la table spécifiée est
considérée comme étant en transaction, mais n'appartient à
aucune transaction en cours, elle est automatiquement libérée.
Liste les transactions en cours ou interrompues sur le serveur
de la connexion spécifiée.
Trie une vue, en créant un index sur une colonne de la vue.
Vérifie si la ligne en cours correspond au filtre ou à la recherche en cours.
Vérifie que les données contenues dans l'index (fichier .NDX)
référencent correctement les données contenues dans la table
(.FIC).
Fixe le mode de comparaison des fichiers.
Copie une source de données (vue, requête, …) vers une table-
HVersion
HVersRubrique
HVueVersFichier
physique HyperFileSQL de même description. Cette tablen'est
ni cryptée, ni protégée par mot de passe.
Permet de savoir si le contenu de la table a été modifié.
Affecte la valeur indiquée à un champ (une rubrique) de la
ligne en cours.
Enregistre les modifications réalisées dans une vue dans la
table (le fichier) correspondante.
VOCABULAIRE
Le vocabulaire varie selon les interlocuteurs.
Un même concept est souvent décrit par des mots différents.
Chacun a «sa» norme, ses habitudes !
Voici un petit dictionnaire des synonymes de termes utilisés dans
le domaine des bases de données.
Vocabulaire PC SOFT
Chez d’autres éditeurs
Analyse (MCD, MLD)
Schéma, modèle relationnel, modèle
entité/relation
Modèle du schéma
Table
Colonne, Champ (le champ est le croisement d’une colonne et d’une ligne)
Ligne,tuple, row
Relation
Verrou
Index
Clé primaire
Clé étrangère ou clé sans contrainte
d’unicité
Clé étrangère
Form
Contrôle
Rapport
Datagrid, Browse
Ordonnanceur
Lob ou clob
Lob ou blob
UDF (User Defined Function)
Graphe de l’analyse
Fichier
Rubrique
Enregistrement
Liaison
Blocage
Clé
Clé unique
Clé avec Doublon
Rubrique de liaison
Fenêtre
Champ
Etat
Table de visualisation
Tâche planifiée
Mémo texte
Mémo binaire
Procédure stockée
Une base de données est un ensemble de tables (fichiers) reliées
par des relations (liaisons).
Une table (fichier) est un ensemble de données structurées en colonnes (rubriques), composé de lignes (enregistrements). Le croisement d'une ligne et d'une colonne est un champ (valeur de
rubrique).
Un index est un moyen d'accélérer les recherches, les requêtes et
les accès à une table.
Un index peut être défini sur une colonne (rubrique clé) ou sur
plusieurs colonnes (clé composée).
Une clé primaire est une clé unique.
Une clé étrangère est une clé avec possibilité de doublon, utilisée
conjointement à une clé primaire pour réaliser une relation (liaison) entre 2 tables.
H y p e r F i l e S Q L • w w w. p c s o f t . f r
21
QUI UTILISE
HYPERFILESQL ?
LISTE
D’AVANTAGES
HYPERFILESQL
HyperFileSQL est diffusé à plusieurs millions d’exemplaires à travers le monde, dans plus de 100 pays.
HyperFileSQL est déployé sur des sites les plus contraignants
(Web, télécoms, entreprises, banques, médical, recherche, éditeurs de logiciels, administrations, ministères, etc....) et qui exigent une
haute disponibilité avec des performances extrêmes en temps réel et
une forte évolutivité.
Vous retrouvez de nombreux témoignages d’utilisation par des sociétés
prestigieuses dans ce numéro spécial
de «01 Informatique» (disponible sur
simple demande).
Témoignages
Voici quelques témoignages, extraits du numéro spécial «01 Informatique» consacré à WINDEV, WEBDEV et HyperFileSQL (numéro disponible gratuitement sur simple demande).
«En terme de performance, HyperFileSQL a du répondant.
C’est toujours immédiat»
«La base HyperFileSQL a épaté les utilisateurs de par
ses excellents temps de réponse aux requêtes lancées»
«Concrètement, chacune des radios distantes accède par
ADSL à une base HyperFileSQL en architecture Client/Serveur»
«La base de données HyperFileSQL nous fait profiter
de ses performances reconnues. Le résultat de toutes
les requêtes est toujours immédiat»
«C’est près de 10.000 enregistrements qui sont ainsi gérés
par HyperFileSQL Mobile et les accès sont immédiats»
«Tous les commerciaux et nos clients sont impressionnés par la rapidité d’accès à la base de données.»
«La base HyperFileSQL propose un mécanisme de réplication sophistiqué et facile à mettre en oeuvre»
«Evidemment, nous avons déployé la base
HyperFileSQL sur les bornes interactives. Sa fiabilité
et sa diffusion gratuite illimitée est un atout majeur
dans le cadre d’un parc de plus de 700 bornes. Le cap
des 1000 bornes sera atteint sous peu».
Vous trouverez également sur le site www.pcsoft.fr des vidéos
techniques et des vidéos de témoignage.
HyperFileSQL® est livré gratuitement avec les
AGL WINDEV, WEBDEV et WINDEV Mobile.
HyperFileSQL est optimisé pour fonctionner
avec ces AGL.
L’utilisation et la diffusion du moteur de base
de données HyperFileSQL est libre et gratuite
avec des applications et des sites créés à
l’aide de ces AGL, et ce quelle que soit la
quantité déployée et quel que soit le type
d’application (applications éducatives, applications personnelles et applications commerciales).
Il n’y a pas de redevances à verser, aucune
déclaration à effectuer.
Le déploiement est libre, illimité et gratuit.
Veuillez vous référer au texte de la licence
d’utilisation pour toute information supplémentaire.
Le pilote ODBC et le provider OLE DB sont
diffusables gratuitement avec les applications réalisées avec WINDEV, WEBDEV ou
WINDEV Mobile.
Les outils cités dans cette documentation
sont livrés en standard.
Voici un résumé de nombreux avantages liés à l’adoption de HyperFileSQL:
• Richesse fonctionnelle
• Gratuité (version complète, illimitée, avec tous les outils)
• Outil de description de schémas
• Aisément installable
• Aisément embarquable
• Administration aisée (auto-administrée, auto-optimisée)
• Outils d’administration livrés
• Très bonne intégration aux best sellers de PC SOFT: WINDEV,
WEBDEV, WINDEV Mobile
• Cryptage des données, des tables et des index
• Encryption au niveau colonne, backups, trafic réseau
• Simplicité
• Compatibilité: Windows (8, 7, Vista, XP, Mobile, CE...), Linux,
Mac, iOs (iPhone, iPad), Android
• Compatibilité binaire des différentes versions : locale, réseau,
embarquée, client/serveur
• Solution tout-en-un avec WINDEV et WEBDEV: orienté RAD, il
génère les tables, les traitements, les fenêtres et les états
• Procédures stockées simples à écrire
• Sauvegardes à chaud et différentielles
• Protection anti-injection
• Unicode
• Gestion efficace des langues et différents jeux de caractères
ainsi que des ordres de tri, granularité au niveau colonne
• Réplication facile
• Reconnexion automatique
• Monitoring aisé
• Cluster haute disponibilité
• Performances
• Pérennité
• Fonction d'audit, tuning
• Optimisation des requêtes
• Gestion de l'indexation Full Text
• Blob, Lob
• Contraintes d’intégrité
• Support technique gratuit*
• Tout en français (ou tout en anglais)
• Maintenance automatique du schéma (SDD), sur un nombre illimité de bases déployées
• Facilité de déploiement et de prise en main
• Robustesse avec de fortes volumétries
• Peu gourmand en ressources
• Sécurité d’accès
• Répartition automatique de la charge entre les différents clients
Toutes les marques sont déposées par leurs
propriétaires respectifs.
Certaines fonctions peuvent ne pas être disponibles immédiatement lors de la commercialisation de la version, mais livrées
ultérieurement sous forme de téléchargement. WINDEV, WEBDEV et WINDEV Mobile sont des logiciels professionnels.
Malgré le soin apporté à sa rédaction, ce document n’est pas contractuel. Les copies
d’écran et les listes sont indicatives.
N’hésitez jamais à nous contacter pour toute
information complémentaire ou pour obtenir une confirmation de fonctionnalité.
Politique environnementale: lorsque
PC SOFT imprime des documents «papier»,
PC SOFT, le fournisseur de papier ou l'imprimeur lorsqu’il est certifié FSC «Forest Stewardship Council» et PEFC «Programme for
the Endorsement of Forest Certification
schemes», replante autant d'arbres que ceux
qui ont été utilisés pour l'impression.
Le label FSC a été créé par l'ONG FSC, qui
rassemble entre autres Greenpeace, Les
H y p e r F i l e S Q L • w w w. p c s o f t . f r
22
Amis de la Terre et le WWF.
Par exemple imprimer 100.000 documentations de 68 pages sur papier brillant
consomme 10 arbres: PC SOFT fait immédiatement replanter 10 arbres.
Par ailleurs, nous privilégions la pâte à papier
principalement fabriquée à partir de déchets
de bois (par exemple en provenance de scieries pour l'ameublement) et de coupes
d'éclaircie dans les forêts.
®
HyperFileSQL est le meilleur
allié de vos données !
Vous aussi, comme des millions
d’utilisateurs à travers le monde,
profitez des performances et de
la sécurité de HyperFileSQL.
WINDEV • WEBDEV • WINDEV Mobile
• SGBDR SQL
• Windows, Linux, Mac
• Mobile, iOS (iPhone, iPad),
Android, Windows 8
• Local
• Embarqué
• Client/Serveur
• Cluster
• Grande capacité
• Tous les types de
données
• Unicode
• Index, in‡dex multicolonnes, clés
• Intégrité référentielle
• Full text
• Procédures stockées
• Triggers
• Intégrité référentielle
• Journalisation
• Transactions
• Compression des
données
• Compression des trames
• Verrou de ligne
automatique
• Reconnexion
automatique
• Ordonnanceur
• Réplication
• SDD
• Gestion des droits
• Injection SQL impossible
• Cryptage
• Provider OLE DB
• Pilote ODBC
• Centre de Contrôle
• Administration à chaud
• Sauvegardes
• Modélisation de base
• Requêteur
• Reporting
• Visualiseur de données
• Robot de surveillance
• Lien natif avec
WINDEV, WEBDEV et
WINDEV Mobile
• Déploiement gratuit*
SGBDR
Windows, Linux, Mac,
Android, iOS (iPhone, iPad)
Client/Serveur, Monoposte,
Mobile, Embarqué
®
PERFORMANCE, SÉCURITÉ, DISPONIBILITÉ
Depuis 1988
www.pcsoft.fr
Fournisseur Officiel de la Préparation Olympique
Siège Montpellier : 3 Rue de Puech Villa BP 444 08
34197 MONTPELLIER, France
Tél: 04.67.032.032 Fax: 04.67.03.07.87
Agence Paris : 142 Avenue des Champs Elysées
75008 PARIS, France Tél: 01.48.01.48.88
PC SOFT Informatique - SAS au capital de 1 728 992 Euros - RCS 330 318 270 SIRET 330 318 270 00064 - Code APE 5829B - Numéro de TVA Européen: FR09 330 318 270
®
Téléchargement