13
www.pcsoft.fr BASE DE DONNÉES UNIVERSELLE Windows, Linux, Mac, Android, iOS (iPhone, iPad) Client/Serveur, Cluster, Cloud, Monoposte, Mobile, Embarqué

UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

Embed Size (px)

Citation preview

Page 1: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

www.pcsoft.fr

BASE DE DONNÉESUNIVERSELLEWindows, Linux, Mac, Android, iOS (iPhone, iPad)Client/Serveur, Cluster, Cloud, Monoposte, Mobile, Embarqué

Page 2: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

BIENVENUE DANS UN MONDE DE SÉCURITÉ ET DE PERFORMANCES

Les 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, laflexibilité et l'évolutivité de permettent de répondreaux besoins les plus exigeants des applications à mission cri-tique en temps réel.Vous aussi, choisissez !

Version de documentation 2013-10. Version de référence : 19Documentation technico-commerciale HFSQL.La connaissance de WINDEV, ou WEBDEV ouWINDEV Mobile est utile. Si vous ne les connais-

sez pas, n’hésitez pas à demander les documentationscomplètes (gratuites, en français) sur ces logiciels.

HFSQL est diffusé depuis 1988.

Table des matièresPrésentation 3Local 4Mobile – Embarqué 4Client/Serveur 4Cluster - Cloud 5Types de données et index 5SQL 6Fonctionnalités 6Sécurité 10Ouverture 11Les outils 12Programmation 17

Liste des ordres SQL supportés 17

Liste des ordres WLangage 18

Vocabulaire 21Qui utilise HFSQL ? 22Avantages 22

PRÉSENTATIONDE HFSQLUNE BASE DE DONNÉESUNIVERSELLEHFSQL est un puissant SGBDR (Sys-tème de Gestion de Base de Don-nées Relationnelle).HFSQL est décliné en 4 versions : • version mobile (embarquée)• version locale (monoposte ou ré-seau)• version Client/Serveur • version cluster.HFSQL est adapté à tous les types d’applications: applica-tions métiers, applications critiques temps réel 24/24, 7/7,progiciels, serveurs d’applications, serveurs Web, PCstand-alone ou périphériques mobiles.

Notez que HFSQL est le nouveau nom de HyperFileSQL. HFSQL est totalement compatible avec HyperFileSQL et Hyper File.

PERFORMANCE, SÉCURITÉ, OUVER-TURE, FLEXIBILITÉHFSQL est le choix idéal comme moteur de base de données.Ouverture: basé sur les standards de l’industrie, HFSQL ne vous en-ferme pas dans une technologie propriétaire.Flexibilité: le support des volumes de données importants (plu-sieurs dizaines de milliards de lignes dans une table) est assuré.Indépendance vis-à-vis de la plateforme: les tables peuvent êtredéplacées d’un Client/Serveur vers un mobile, d'un serveur Win-dows vers un serveur Linux, etc…Extensibilité: vous passez sans contraintes de un utilisateur à plu-sieurs centaines d’utilisateurs, d’une architecture 2-tier à une ar-chitecture multi-tier...Econome en ressources: le moteur Client/Serveur occupe moinsde 40 Mo sur disque.HFSQL fonctionne en environnement hétérogène: Windows, Linux, Mac, iOS, Android, TSE, Citrix, ADSL, VPN, Wi-Fi,3G, 4G, dans le cloud…

La compatibilité ascendante et descen-dante des tables est assurée.Pérennité de l’éditeur: PC Soft est pré-

sent depuis plus de 25 ans, et est n°1en France dans le domaine des

AGL.Performance, scalabilité:grâce à une gestion optimisée des index et une ges-

tion affinée des caches, la vitesse est perma-nente.Sécurité d’accès: la protection contre l’injec-

tion SQL est assurée via la création automa-tique d‘IHM sécurisées.

COÛT D’USAGE (TCO)RÉDUIT

Une caractéristique de HFSQL est son dé-ploiement illimité libre et gratuit (voir la

licence).Il n’y a aucun coût facturé, ni en fonction dunombre de processeurs du serveur, ni en

fonction du nombre de postes client, ni an-nuellement, ni en fonction du type d’application (commerciale,...)etc...HFSQL est livré en une édition systématiquement complète, avectoutes les fonctionnalités.Les coûts de maintenance sont très réduits.

Le support technique est également gratuit (dans le cadre d’unelicence WINDEV, WEBDEV ou WINDEV Mobile). Il est assuré partéléphone et par email. Les DBA et développeurs disposent également de forums profes-sionnels très actifs.

La revue «LST» (éditée parl’éditeur PC SOFT) publierégulièrement des articlesde fond et des articles pra-tiques sur HFSQL.Des mises à jour («servicespacks ») sont régulièrementmises à disposition gratuite-ment.

HFSQL • www.pcsoft . fr

3

100% Windows

100% Linux100% Cloud100% Mac100% Android

100% iOS

Page 3: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

LES VERSIONSHFSQL est disponible en 5 versions. Ces versions sont compatibles entre elles.

VERSION LOCALE (VERSION «CLASSIC»)La version locale (monoposte et réseau) deHFSQL offre performances, simplicité dedéploiement, d'installation et de configu-ration. Cette version est également dé-nommée version «Classic», car il s’agit dela première version disponible, dès 1988.La compatibilité avec les autres versions esttotale (tables, index, relations, contraintes).Cette version est plus particulièrement des-tinée aux postes de travail indépendants,et aux petits réseaux.Un usage courant de la version Classic estson utilisation dans un progiciel. La base de données se créera et s’installeraautomatiquement sur la machine de l’utili-sateur du progiciel. La maintenance seraautomatique.Une base de données HFSQL peut égale-

ment être installéeet directement uti-lisée sur une cléUSB. C’est utile pourdes applicationsnomades, ou pourdes données trèsconfidentielles.

HFSQL Classics’installe sur lesmachines équipéesde Windows(2003, 2008,2012, Vista, 7, 8,10...), MacOS, iOS

(iPhone et iPad), Android et Linux.

HFSQL • www.pcsoft . fr

4

Imaginez, 128 Giga Octets sur une carte mé-moire est aujourd’hui courant. Grâce à HFSQLvous pouvez maintenant embarquer facilement età faible coût des bases de données sécurisées detaille importante (jusqu’à 130 millions de lignes)sur les mobiles, tablettes et smartphones.

iOS

VERSION MOBILE (EMBARQUÉE)HFSQL est totalement adapté aux périphé-riques mobiles de tous types. HFSQL ne demande que de faibles res-sources, et s’installe sur tous les mobiles(terminal, smartphone, tablette) s’exécu-tant sous Windows CE, Windows Mobile,Windows 8 RT, iOS (iPhone et iPad), An-droid.L’installation est simplissime, et la mainte-nance, quasi nulle, est automatisée.

Les performances sont étonnantes de ra-pidité.La compatibilité avec les versions localeset Client/Serveur est totale: tables, index,relations, contraintes.Selon vos besoins, l’accès aux données ex-ternes du SI depuis une application mobilepeut s’effectuer depuis de nombreusestechnologies: ActiveSync, Accès direct,Accès par RPC, Webservices, Sockets, Pro-cédures stockées directes...

VERSION CLIENT/ SERVEUR

La version Client/Serveur de HFSQL est laversion idéale pour gérer de nombreuxutilisateurs et des accès distants.Les accès locaux et les accès distants sontgérés.

L’installation est simplissime, et l’adminis-tration, bien que très puissante, s’effectuefacilement.HFSQL n’est pas limité en nombre de pro-cesseurs utilisés, ni en mémoire.Le load balancing est géré pour de meil-leurs temps de réponse.Le moteur est auto-restart.HFSQL fonctionne à la fois en 32 bits eten 64 bits. Serveurs et clients peuventêtre mixés. Parmi les serveurs Windows gérés:• Windows Server 2012, 2008, 2003,2000, XP, Vista, 7, 8...

dans toutes leurs éditions.

Parmi les distributions Linux supportées: • RedHat, Debian, OpenSuse, Ubuntu, Fe-

dora, Mandriva, CentOS...

Parmi les clients supportés:• Windows 32 bits et 64 bits• Linux• MacOS, iOS• Windows CE et Mobile • Android• ...

DONNÉES ETINDEXTYPE DE DONNÉESHFSQL gère tous les types de données:• Texte, caractère• Numérique (entier, réel, décimaux à 38chiffres significatifs), • Date, heure, durée• Booléen• Colonne de type tableau• Blob («mémo», format binaire: image,vidéo,...)Des fonctionnalités puissantes sont dispo-nibles:• Unicode est géré, avec gestion des trislinguistiques• L’ordre de tri de tous les jeux de carac-tères est pris en compte.• Valeur par défaut• Gestion du Null...

UNICODEHFSQL gère les colonnes «texte» et «blob»de type Unicode.

Les index peuvent être triés en fonction del’ordre linguistique de chaque langue:russe, de Russie ou d’Ukraine, chinois deSingapour, de Taïwan, Hong Kong,Macao,...

Des données en chinois

INDEX & CLÉSHFSQL gère clés et index sur tous les typesde colonne.Afin d’assurer des performances opti-males, le serveur dispose d’un mécanismed’optimisation, basé sur la distribution desdonnées, qui s’active automatiquement

pendant les périodes d’inactivité.Les index des types suivants peuvent êtrecréés :• Index simple• Index composé (multi-colonnes)• Index partiel• Index full text.HFSQL assure l’intégrité des données engérant :• Contrainte d’unicité• Contrainte de cardinalité• Identifiant Automatique• Clés primaires et étrangères.

INDEX FULL TEXTLa recherche «full text» permet la re-cherche de chaînes de caractères (mots ouexpressions) très rapide dans les données.Elle permet par exemple de retrouver unmot parmi 1 million de lignes en moins de2 ms (moyenne par occurrence trouvée).Il est donc possible d’indexer sans pro-grammation les textes présents dans unebase de données HFSQL. Les résultats sont proposés selon un ordrede pertinence («ranking»).Pour effectuer des recherches de motsstockés dans des documents RTF ou

HFSQL • www.pcsoft . fr

5

CLOUD

HFSQL Client/Serveur est disponible en ver-sion cloud, auprès de la société PCSCloud parexemple.Ouvrez un compte cloud, et votre serveur estdirectement opérationnel: pas d’installation,pas de gestion du matériel et de son sys-tème,...La facturation s’effectue selon la consomma-tion effective.L’installation d’une base HFSQL dans le cloudpermet de s’affranchir de tous les aspects degestion et maintenance matérielle.

VERSION CLUSTER (FERME DE SERVEURS)

Grâce à la fonctionnalité de cluster deHFSQL, un ensemble de serveurs phy-siques apparaît comme un serveur uniqueaux clients.La défaillance éventuelle d’un serveurphysique ne provoque pas de défaillancedes accès à la base de données (hautedisponibilité, tolérance aux pannes).Les serveurs se répliquent automatique-ment 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 lacharge en lecture).On peut ajouter et supprimer des serveursà chaud.En cas de crash d’un serveur, il se re-syn-chronisera automatiquement au démar-rage.Lorsqu’un utilisateur est connecté à unserveur qui défaille, l’application sera au-tomatiquement reconnectée à un serveurvalide (basculement automatique).

Page 4: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

HTML, la création de l’index gère ces for-mats en ignorant les balises lors de l’in-dexation.Les textes peuvent être contenus dans deschamps de type «texte» ou des champs«blob» («mémo»).Un index «full text» peut indexer une ouplusieurs colonnes différentes, donc uneunique recherche peut s’effectuer sur plu-sieurs colonnes différentes simultanément.Les mots creux sont gérés.

CAPACITÉS (VOLUMES)HFSQL Client/Serveur offre des capacitésde stockages élevées, en phase avec lesmoyens de stockage actuels et avec ceuxdu futur, ainsi qu’avec les besoins crois-sants des entreprises.Lors d’un récent roadshow, devant près de10.000 professionnels du développement,PC SOFT a présenté l’utilisation d’une baseHFSQL contenant plus de 20 milliards delignes (20 mille millions de lignes): les re-cherches sur les données étaient immé-diates !

SQL : PRÉSEN-TATIONHFSQL gère la normeAnsi SQL 92. Le SQL géré par HFSQLsupporte également denombreuses syntaxessupplémentaires et spéci-fiques de SQL Server etOracle, entre autres.HFSQL gère les sous re-quêtes et les requêtes im-briquées.HFSQL gère les opéra-teurs ensemblistes:union, cartésien, jointure, jointure externe,les opérateurs d'agrégation: count, sum,avg, min, max, écart-type, variance, lesopérateurs de tri et de regroupement:group by, having, order by...La vitesse du moteur SQL est optimiséeentre autres par l’utilisation des statistiquesdes index et les contraintes pour choisir lesindex d’accès les plus discriminants lorsdes requêtes.La gestion avancée des caches mémoireaméliore également les performances.Le moteur effectue automatiquement lagestion/ répartition de la charge: si unclient exécute de très nombreuses requêtesconsommatrices de ressources (CPU,...), leserveur équilibre automatiquement lacharge pour ne pas pénaliser les autresclients.

Simultanément avec le code SQL, il estpossible de bénéficier de la richesse fonc-tionnelle du L5G «WLangage».L’utilisation directe de fonctions WLangageet l’appel de procédures stockées (elles-mêmes développées en WLangage) sontpossibles dans les applications.

Vous trouverez en fin de ce document laliste des fonctions SQL supportées parHFSQL, ainsi que les autres aspects de pro-grammation (programmation des cur-seurs).

FONCTIONNA-LITÉSLes fonctionnalités offertes par HFSQL sonttrès nombreuses.Vous trouverez ci-après la description desprincipales fonctionnalités.L’aide en ligne intégrale de HFSQL est acces-sible (en français et en anglais) depuis Inter-net sur le site doc.pcsoft.fr

PROCÉDURES STOCKÉES(UDF)Les procédures stockées (quelquefois ap-pelées UDF) permettent de faciliter l'évolu-tion et la maintenance de vos applicationsen factorisant le code.En effet, lorsque la façon de calculer un ré-sultat ou une règle métier contenue dansune procédure stockée évolue, il vous suf-fira de modifier seulement la procédurestockée sur le serveur, sans effectuer lamoindre modification dans les applicationsdéployées.Une procédure stockée permet égalementde limiter le nombre d’allers et retoursentre le poste client et le serveur, et doncaméliore également la vitesse des traite-ments.

CAPACITÉS MAXIMALES HFSQL

Colonnes par table 65 535

Index par table 65 535

Lignes par table 329 millions de milliards

Taille d’une table 4 millions de téras

Taille d’une ligne 2 Go

Taille d’une colonne 65 535 octets

Taille d’une colonneblob (mémo texte,image, vidéo, bi-naire...)

4 Go

SELECT Produit.Libellé AS Libellé,SUM(LigneCde.Quantité) AS la_somme_Quantité,Client.CodePostal AS CodePostal

FROM ProduitLEFT OUTER JOIN(

(ClientINNER JOINCommandeON Client.IDClient = Commande.IDClient

)INNER JOINLigneCdeON Commande.IDCommande = LigneCde.IDCommande

)ON Produit.Référence = LigneCde.Référence

WHERE Client.CodePostal LIKE ‘34%’

GROUP BY Produit.Libellé,Client.CodePostal

Un exemple derequête SQL

329.000.000.000.000.000329 millions de milliards... C’est le nombre de lignes (d’enregistrements) que peut contenir une table HFSQL: vous êtes tranquille !

Une même procédure stockée peut êtrepartagée entre plusieurs applications.Les procédures stockées se programmenten WLangage, et bénéficient donc de la ri-chesse fonctionnelle et de la facilité duL5G. Les procédures stockées prennent desparamètres et/ou retournent des entiers,chaines, dates, etc…La création d’une procédure stockée de-puis l’environnement de WINDEV ouWEBDEV est vraiment très facile.

LES VUES SQLUne vue SQL est une «source de donnéesvirtuelle», définie par une requête SQL.Toutes les vues SQL créées sont conser-vées sur le serveur HFSQL, et elles peu-vent être ré-utilisées depuis lesapplications qui accèdent à la base.L’application peut réaliser des requêtessur ces vues SQL.Une application peut utiliser des vues SQLpour ne pas être tributaire de l’organisa-tion physique des données dans la base.Les «vues matérialisées» sont égalementdisponibles. La différence fondamentaleavec une vue SQL simple est que le résul-tat d’une «vue matérialisée» est stocképhysiquement sur le disque du serveur.A la différence d’une «vue SQL» qui réextrait les données à chaque appel, une«vue matérialisée» stocke les donnéessur disque.

TRIGGERSUn trigger permet de déclencher une pro-cédure stockée avant ou après un événe-ment sur une table de la base de données:

par exemple avant une suppression deligne, ou après la modification d’une ligne. Un trigger apporte une grande sécurité. Le trigger sera déclenché quelle que soitl’application ou le composant qui accède àla base de données et qui effectue l’opéra-tion définie, sans que le développeur del’application n’ait quoi que ce soit à pro-grammer.Les triggers «serveur», comme leur noml’indique, s’exécutent directement sur leserveur.Le «droit» de créer un trigger est défini viales droits de la base de données.L’environnement de WINDEV indique audéveloppeur la présence de ces triggers.Les triggers sont visualisés dans l’analyse(la description des données).

INTÉGRITÉ :CONTRAINTE, SUPPRESSION, MISE ÀJOUR EN CASCADEIl est facile de définir des contraintes d’in-té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 :• Intégrité référentielle:L'intégrité référentielle interdira l'efface-ment d'un auteur, tant que dans la basede données il existera au moins un livre seréférant à cet auteur.Il n’est pas possible de supprimer une lignedans une table si cette ligne est reliée àd’autres lignes d’une table. Par exemple:

on ne peut pas supprimer un client si descommandes sont reliées à ce client.L’intégrité référentielle peut être définiepar liaison, depuis l’éditeur d’analyses.• Suppression en cascade:Si une ligne est supprimée dans une table,les lignes correspondantes dans les tablesreliées sont également supprimées (cettecontrainte peut être activée ou désactivée,par relation).

JOURNALISATIONLe «journal» est une table particulière danslaquelle sont mémorisées automatique-ment toutes les opérations réalisées surune ou plusieurs tables depuis un instantdonné. Le journal contient l'historique de l'utilisa-tion des tables journalées: auteur, date etheure, valeur avant/après, nom de l’appli-cation, IP...

Il est possible de réaliser les opérations sui-vantes à partir d'un journal : • restaurer le contenu d’une table journa-

lée en cas de perte ou de destruction desdonnées

• restaurer le contenu d’une table jusqu'àune certaine date

• retrouver l'auteur, la date et l'heured'une opération réalisée sur une lignespécifique

• conserver un historique de l'utilisationd’une table (par exemple pour réaliserdes statistiques)

Ces opérations peuvent se lancer en lignede commande, depuis l’utilitaire WDJour-nal ou par programmation.

HFSQL • www.pcsoft . fr

7

Page 5: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

TRANSACTIONS: HFSQL ACIDUne transaction est un ensemble d'opéra-tions indissociables: soit toutes les opéra-tions de la transaction sont réalisées, soitaucune opération n'est réalisée. La gestion des transactions est le meilleurmoyen d'assurer la cohérence d'un ensem-ble d'écritures indissociables sur différentestables HFSQL. Une transaction permet de s'assurer quedes mises à jour effectuées sur une ou plu-sieurs tables de données se sont dérouléescorrectement. HFSQL supporte tous les types de transac-tions, et de ce fait est «ACID» (ACID estl’acronyme de atomicité, cohérence, iso-lation et durabilité).HFSQL Client/Serveur propose 4 modesd’isolation des transactions :• Données non validées (READ UNCOM-MITTED)• Données validées (READ COMMITTED)• Transaction photographie instantanée(REPEATABLE READ)• Transaction sérialisable (SERIALIZABLE).

COMPRESSION DESDONNÉES «BLOB»Les données de type «blob» (mémo texteou binaire) peuvent être compressées pouroptimiser l’espace occupé sur le disque.L’espace occupé peut ainsi être très sensi-blement réduit.

COMPRESSION DESTRAMES

Une «trame» est un paquet de donnéesqui transite sur le réseau.HFSQL, comme tous les SGBD, utilise destrames pour communiquer entre le posteclient et le serveur.La vitesse de transfert des données d’unserveur dépend à la fois de la vitesse de cir-culation des trames sur le réseau, et de lataille de ces trames.La compression des trames permet de ré-duire la taille des paquets circulant sur leréseau.Dans un contexte de communication à dis-

tance, l’intérêt de compresser les tramesest grand. La vitesse en connexion à distance estaméliorée.

VERROU DE LIGNE AUTOMATIQUEHFSQL gère les verrous au niveau table etau niveau ligne.La gestion des verrous au niveau ligne per-met d’assurer une meilleure sécurité desaccès.

PLUSIEURS DATABASESSUR UN MÊME SERVEURHFSQL gère nativement la présence de plu-sieurs bases de données sur un même ser-veur.Les bases de données sont isolées.Des droits spécifiques peuvent être définissur chacune des bases.Cela évite de multiplier les serveurs.

RECONNEXION AUTOMATIQUECette fonctionnalité traite automatique-ment l’aspect de la «déconnexion» encours d’utilisation entre client et serveur.Typiquement, ce pro-blème se pose avecdes matérielsdont la connexionavec le serveurn’est pas assuréeen permanence:les appareils mobilesen particulier (Wi-Fi,3G, 4G…). En connexionWi-Fi parexemple, laliaison entreun appareildistant et leserveur peuts’interrompreun court ins-tant.Ce type decoupure peut interve-nir également sur des ré-seaux filaires classiques.Lorsque l’application est denouveau connectée, il estutile de «reprendre» l’appli-cation là où la communication a

été interrompue, et que les buffers soientcorrectement renseignés.Grâce à la gestion automatique de la re-prise, l’ensemble des «buffers» et des posi-tions est mémorisé et réaffecté. L’application peut ainsi continuer à s’exé-cuter sans erreur, comme si la connexionne s’était pas interrompue.Il est également possible de gérer les inter-ruptions de connexion par programma-tion, ou d’exécuter des traitementssupplémentaires si on le souhaite.

SAUVEGARDE

Paramétrage d’une sauvegarde

La sauvegarde est une fonctionna-lité importante d’une base de

données.Il est possible de

sauver l’intégra-lité du serveur,uniquement une

base de données,ou uniquement une

sélection de tables, avecou sans les index.

HFSQL gère la sauvegarde àchaud, ainsi que la sauvegarde dif-férentielle.Une sauvegarde est transportable,par exemple d’un serveur Win-dows à un serveur Linux, d’uneversion Client/Serveur à une ver-sion Classic.Une sauvegarde peut être dé-clenchée depuis le «Centre deContrôle» (sauvegarde immé-diate, sauvegarde planifiée), oupar programmation, directe-

ment depuis l’application.La périodicité de la sauve-

HFSQL • www.pcsoft . fr

8

garde complète et de la sauvegarde diffé-rentielle éventuelle peut être spécifiée. Parexemple: 1 sauvegarde complète par moiset 1 sauvegarde différentielle par semaine.L’exécution de procédures stockées avantet/ou après la sauvegarde permet de réali-ser des traitements automatiques: envoid’email, copie de la sauvegarde sur un em-placement réseau, etc...Le nombre de sauvegardes à conserverpeut être spécifié.

Une sauvegarde peut s’exécuter «àchaud», sans déconnecter les utilisateurs,de manière transparente, sans perturber lefonctionnement des applications.

ORDONNANCEUR INTÉGRÉ (TÂCHES PLANIFIÉES)HFSQL dispose d’un ordonnanceur intégréqui permet de définir et paramétrer destâches planifiées.Une tâche ne consiste pas seulement àpermettre d’exécuter une procédurestockée (UDF), mais permet également dedéclencher une sauvegarde, ou de forcerune demande d’optimisation des perfor-mances.La définition s’effectue par le «Centre deContrôle» ou par programmation: il estpossible de créer, ajouter, modifier, activer,désactiver des tâches programmées parprogrammation, ou depuis l’outil d’admi-nistration, sous réserve de posséder lesdroits adéquats.

Interface graphique et convivialede l’ordonnanceur (tâches planifiées)

L’ordonnanceur permet aux DBA de pro-grammer l’exécution automatique detâches sur le serveur; il permet par égale-ment de réaliser des traitements par lots.Les tâches peuvent être exécutées à une

date fixée, avec un ou plusieurs intervallesréguliers.

RÉPLICATION

HFSQL propose 4 types de réplications:• réplication de serveurs HFSQL• réplication de bases hétérogènes, par

exemple une base HFSQL avec une baseOracle

• réplication avec des mobiles (iOS, An-droid, ...)

• réplication en mode déconnecté, sansliaison permanente

Une réplication se définit facilement àl’aide de l’assistant de réplication, ou parprogrammation.

MODIFICATION AUTOMATIQUE DESDONNÉES SUR CHAQUESITE (SSD)Quel informaticien, quel DSI n’a pas pestécontre le temps perdu à écrire ces fa-meuses «moulinettes» (scripts) de tablespour ajouter ou agrandir une colonne ouun index à une table existante, pour chan-ger un type de données dans une co-lonne?L'écriture de moulinettes (scripts) est tou-jours délicate, car elle modifie des don-nées.Avec HFSQL tout cela appartient au passé!HFSQL gère de manière transparente l’évo-lution des structures (schémas) de donnéesgrâce à la technologie SDD (Synchronisa-tion du Schéma des Données). Finies les «moulinettes» ! Finis les scripts !Finis les «Alter table» hasardeux et insuffi-sants !

SDD: Mise à jour automatique duschéma de données

(également appelée Modif. Auto.)

Le SDD effectue automatiquement :• La comparaison et synchronisation auto-

matique de la base et des données parrapport au schéma à obtenir

• L’ajout, suppression, renommage de co-lonnes

• Le changement de type et de taille • L’ajout/suppression de clé/index,

l’ajout/suppression de contraintes• L’ajout/suppression de triggers et de pro-

cédures stockées.Le SDD peut également être lancé parligne de commande ou par programme.

Cette fonctionnalité de SDD peut s’exécu-ter à chaud, sans déconnecter les utilisa-teurs, de manière transparente, sansperturber le fonctionnement des applica-tions.

ADMINISTRATION «À CHAUD»De nombreuses tâches de maintenancepeuvent s’effectuer «à chaud», sans avoirà déconnecter les utilisateurs, et sans queceux-ci ne soient gênés dans l’utilisationde leurs applications, qui continuent à lireet écrire les données pendant ces phases:• SDD «Modif Auto» à chaud • Réindexation à chaud • Optimisation automatique des perfor-mances à chaud• Changement de mot de passe à chaud • Sauvegarde.

LIEN AVEC LES AUTRESBASES DE DONNÉESIl est bien entendu possible d’utiliserHFSQL en parallèle avec d’autres bases dedonnées. D’ailleurs, la plupart des S.I. utili-sent plusieurs SGBD hétérogènes.

HFSQL • www.pcsoft . fr

9

Page 6: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

HFSQL • www.pcsoft . fr

10

Une même application peut utiliser à lafois et simultanément une base HFSQL etd’autres bases de données.HFSQL permet également l’import et l’ex-port de données avec d’autres bases dedonnées.

SÉCURITÉL’intégration, la gestion automatique desverrous, le Centre de Contrôle,... assurentpar leur seule existence une grande sécu-rité d’utilisation.Des fonctionnalités spécifiques à la sécu-rité sont également disponibles.

DROITS D’ACCÈS : AUTHENTIFICATIONPOUR ÉTABLIR LACONNEXIONLe serveur dispose d’un système d’authen-tification des utilisateurs.Il vérifie qu’un utilisateur est autorisé à seconnecter, et ensuite qu’il a les droits suffi-sants pour exécuter ses requêtes: parexemple droit de supprimer des lignespour exécuter une requête de suppression.Il est possible de restreindre l’accès d’unutilisateur en fonction de son adresse IP oud’un nom DNS.Le réglage des droits est très fin: au niveaudu serveur, de la base de données ou de latable.Il s’effectue au choix par programmationou par une interface conviviale.Il est possible de définir une période d’ex-

piration des mots de passe.Il est possible de définir des groupes d’utili-sateurs.

Au niveau du serveur :• Droit de supprimer ou ajouter des utilisa-

teurs 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 utilisa-

teurs• Droit de réaliser des sauvegardes• Droit de paramétrer les tâches planifiées• Droit de consulter les statistiques d'acti-

vité et les logs du serveur• Droit de définir une réplication de ser-

veurs.

Au niveau d’une base de données :• Droit d'ajouter de nouvelles lignes dans

une table (fichier 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 ouconnexion cryptée uniquement)

• Droit de créer une table par programma-tion

• Droit de brancher et de débrancher lagestion des doublons

• Droit de lire les lignes d’une table• Droit de lancer une ré-indexation ou un

calcul de statistiques• Droit de lancer une modification auto-

matique 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 pro-

grammation • 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 dansles requêtes

• Droit de paramétrer les procéduresstockées

• Droit de déboguer les procéduresstockées

• Droit de modifier les triggers• Droit de réaliser des sauvegardes.

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• Droit de lancer une modification auto-

matique des tables (SDD) • Droit de modifier les lignes d’une table• Droit de supprimer les lignes d’une table• Droit de supprimer une table par pro-

grammation.

INJECTION SQL IMPOSSIBLEL’utilisation du générateur de fenêtres deWINDEV et du générateur de pages deWEBDEV, par la définition des champs desaisie qu’il génère automatiquement enfonction du schéma des données, rendquasiment impossible les attaques par «in-jection de code SQL», et ce de manière au-tomatique. L’utilisation de requêtes SQL créées avecl’éditeur de requêtes apporte la même sé-Centre de Contrôle HFSQL: définition des droits

curité.Les données que l’utilisateur final saisitsont vérifiées automatiquement, en tempsréel dès la saisie, et ne sont pas transmisesà l’application si elles sont inattendues, er-ronées ou incohérentes.

CONNEXIONS CRYPTÉESLa connexion entre le client et le serveurpeut être cryptée.Pour définir un haut niveau de sécurité, ilest possible d’interdire les connexions noncryptées au serveur.

CRYPTAGE DES DONNÉESL’accès aux données peut être sécurisé, etles données elles-mêmes peuvent être sé-curisées.On peut spécifier que l’ouverture de latable nécessite un mot de passe.Les données elles-mêmes peuvent êtrecrypté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.Si une personne malveillante se procure unfichier de données crypté (vol, copie, récu-pération sur une machine recyclée, sur unemachine perdue,...), elle ne pourra pasl’exploiter.

DÉTECTION D’INCIDENTSLorsque le serveur HFSQL détecte un inci-dent (par exemple un serveur répliquéinaccessible, ou une tâche planifiée qui dé-clenche une erreur), le serveur envoie unenotification de cet incident à une listed’adresses email spécifiée.

OUVERTUREHFSQL est ouvert à toutes les technologies,et s’insère facilement dans tout S.I. exis-tant.

PILOTE ODBC 32 & 64 BITSLa fourniture du pilote ODBC (32 bits et64 bits) permet à des applications tiercesd’accéder aux données stockées sur un

serveur HFSQL, comme par exemple PHP,Python, Ruby, Access…

PROVIDER OLE DB 32 & 64 BITSLa fourniture du pilote OLE DB (32 bits et64 bits), permet à des applications tiercesd’accéder aux données stockées sur unserveur HFSQL, comme par exemple C#,ASP.Net, Crystal Reports, Business Object,PHP, Excel, ...

IMPORTATION DE BASESL’outil WDCONVER (livré en standard) per-met d’importer des bases de donnéestierces : Oracle, SQL Server, MySQL, ...L’import du schéma des données est auto-matique.L’import de données depuis les formatstexte (séparateurs personnalisables: tab,espace…), CSV, XML, est également prisen charge.

L’OUTILD’ADMINIS-TRATIONADMINISTRATION : CENTRE DE CONTRÔLEHFSQLLe Centre de Contrôle HFSQL est un outild’administration indispensable disposantd’une interface graphique intuitive et ergo-nomique.

Le Centre de Contrôle HFSQL permet d’ef-fectuer de nombreuses tâches, depuis unposte du réseau ou depuis Internet, tellesque :• Gestion des bases de données • Gestion de la taille des données • Arrêt/démarrage des différentes ins-

tances de serveurs• Visualisation des informations spéci-

fiques au serveur, à la base, aux tables • Désinstallation de serveur HFSQL • 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, activa-tion et emplacement des logs, des statis-tiques d’activités,

• Définition du port de connexion au ser-veur,

• Définition du port pour le débogage àdistance,

• Edition des comptes• Gestion des transactions en cours, roll-

back de transaction • Gestion des tâches planifiées • Réalisation de sauvegardes • Gestion des sauvegardes • Tuning à chaud : taille du cache, activa-

tion 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’uti-

HFSQL • www.pcsoft . fr

11

Le Centre de Contrôle HFSQL

Page 7: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

lisateurs, ainsi que de leurs droits • Gestion des utilisateurs connectés • Déconnexion d’utilisateurs• Edition des statistiques précises d’utilisa-

tion du serveur: postes, requêtes, jour-naux, logs, paramètres...

• Visualisation des blocages de lignes• ...

Le requêteur SQLdu Centre de Contrôle HFSQL

LES OUTILSWDMAP: VISUALISEURDE DONNÉESL’outil WDMAP permet de visualiser, éditeret modifier les données d’une table.WDMAP est très utile en phase de test etde débogage.WDMAP permet de filtrer, de trier les don-nées, d’effectuer des exports immédiats(vers Word, Excel, OpenOffice, XML,...).

WDHFDIFF: OUTIL DECOMPARAISON DE DON-NÉES 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 miseau point.

ROBOT DE SURVEILLANCELe robot de surveillance (librement diffusa-ble avec vos applications) permet de sécu-riser 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 email paramétrable

aux adresses indiquées (jusqu’à 20adresses)

• message envoyé à une application spéci-fique (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’unmessage paramétrable par SMS aux nu-méros indiqués).

Parmi les paramètres de surveillance quel’on peut spécifier, vous trouverez :• la fréquence: intervalle du test, de 2 mi-

nutes à 1 jour• la répétition: en cas de non réponse de

l’élément surveillé, ré essayer le test com-bien de fois et après quel délai avant dedéclencher l’alerte

• le texte du message à envoyer• le média du message (SMS, email, …).

SILO: SUPERVISEUR D’IN-FRASTRUCTURE LOGICIELLELe SILO permet de recenser les accès detoutes les applications WINDEV et de tousles sites WEBDEV à toutes les ressourcesréseau, dont les bases de données HFSQL.Le SILO permet d’analyser les accès auxbases de données au cours du temps, desavoir quelles applications et quels postesaccèdent à une base de données, ...Des statistiques précises sont disponibles àtout moment.

LIEN AVECWINDEV,WEBDEV ETWINDEV MOBILE

ACCÈS NATIF WINDEV,WEBDEV ET WINDEV MO-BILE

WINDEV, WEBDEV et WINDEV Mobile sontdes Ateliers de Génie Logiciel. WINDEV estl’AGL N°1 en France.L’accès à HFSQL est «natif» dans WINDEV,WINDEV Mobile et WEBDEV, ce qui signifieque les performances d’accès (lecture, écri-ture) sont optimisées.Les schémas de données HFSQL sont éga-lement directement et immédiatement re-connus par les environnements deWINDEV, WEBDEV et WINDEV Mobile, etbénéficient donc des automatismes et as-sistants de ces environnements: créationautomatique d’IHM, de champs, complé-tion sous l’éditeur de code...Le databinding est supporté, en visuel sousl’environnement et par programmation.

MODÉLISER UNE BASEDE DONNÉES La définition d’un schéma de base de don-nées s’effectue facilement à l’aide du puis-sant éditeur visuel livré. De nombreux assistants vous guident.L’édition visuelle du modèle du schéma(création, suppression, modification des ta-bles, des colonnes, des relations, descontraintes, des index, des triggers…) per-met de définir un schéma de base de don-nées sans avoir à écrire de code SQL.L’éditeur visualise de manière graphiquel'organisation des données et des traite-ments.

HFSQL • www.pcsoft . fr

12

Une partie de schéma de données (une analyse)

Un import automatique de schémas exis-tants peut être effectué.L’éditeur sait importer des schémas depuisdes bases HFSQL, SQL Server, Oracle, OLEDB, …

Pour créer une description de données, oncommence par indiquer le type des co-lonnes, le type de clé (index)...Toute nouvelle colonne créée vient alimen-ter le dictionnaire des données.Il suffit ensuite de définir les relations entreles tables. Pour relier des tables, il suffit de tracer unlien avec la souris! L’assistant vous pose des questions en lan-gage naturel pour déterminer la nature desrelations. Par exemple «Un client peutavoir plusieurs commandes: OUI ou NON»,«Chaque commande peut avoir plusieurs

produits: OUI ou NON», etc...L’assistant demande également si la vérifi-cation de l'intégrité référentielle doit êtreautomatique ou pas.L’assistant demande alors s'il doit générerles éventuelles tables de relation néces-saires, ou s'il doit utiliser des tables exis-tantes.L’assistant demande enfin l’intitulé des re-lations: le schéma est défini.Un dossier du schéma de base de donnéespeut être édité à la demande (format pa-pier, HTML, PDF, Word, OpenOffice).

Pages extraites d’un dossier

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 sousforme d’image vectorielle.

CURSEUR EN WINDEV ETWEBDEV La programmation native sous WINDEV etWEBDEV est grandement facilitée par unensemble d’automatismes et d’assistantstrès évolués.Les relations entre les tables sont détectéesautomatiquement.L’accès à un champ de la base de donnéesse définit facilement avec une syntaxeclaire et intuitive: nom de table, nom decolonne (Par exemple : client.nom).Sous l’environnement, les assistances à lasaisie de code sont permanentes et facili-tent une saisie sans faute de frappe, sansavoir à rechercher un nom.

AIDE À LA PERFOR-MANCE, TUNING, AUDITLe «Profiler» et «l’Audit dynamique» per-mettent d’analyser les performances d’uneapplication, et par là même de vérifier queles accès aux données sont programmésde manière optimale.Le «tuning» permet d'optimiser les re-quêtes, de vérifier les index, la mise enplace des statistiques, la surveillance duserveur, le contrôle de la mémoire, de l'uti-lisation du CPU, de l'espace disque, desconnexions, etc... La fonction SQL Explain permet d’anayserdans quel ordre une requête s’est exécu-tée.

HFSQL • www.pcsoft . fr

13

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.

ASSISTANCE AUTOMA-TIQUE À L’UTILISATEURFINALDans une application WINDEV, l’assis-tance à l’utilisateur final est automati-quement assurée sur les aspects HFSQLdans 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’appli-cation affiche automatiquement une fe-nêtre d’assistance adaptée.

Page 8: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

MULTICONTEXTEIl est possible de manipuler à un instantdonné plusieurs contextes et plusieursconnexions différents sur une même base.

UML

Le diagramme de classes UML

WINDEV et WEBDEV gèrent en standardles 9 modèles UML.En particulier, le diagramme de classespeut être généré automatiquement à par-tir du schéma de la base de données.La programmation en mode 3-tier est ainsiénormément facilitée par un mappingobjet-relationnel automatique: les classessont automatiquement générées pour im-plémenter la logique métier propre à l’ap-plication, ainsi que la mise à jour desdonnées des objets vers les tables, et réci-proquement.

GÉNÉRATEUR AUTOMATIQUE DE FENÊTRES ET D’IHM À PARTIR DES SCHÉMASDE TABLE (RAD)Les IHM, fenêtres, pages, champs,... (ainsique le code) peuvent être générées auto-matiquement.Les IHM générées tiennent compte des dé-finitions de la table. Par exemple si une colonne est de type nu-mérique, avec une longueur maximum de8, seules les données de ce type seront au-torisées à la saisie dans le champ corres-pondant. Il sera impossible à l’utilisateur final de sai-sir du texte, ou un nombre de taille supé-rieure: un message d’erreur apparaitraautomatiquement, et la valeur erronnéesaisie ne sera pas transmise à l’application

ou au site.Les contrôles sophistiqués nécessaires sontgénérés par le RAD et sont bien entendudisponibles pour la création d’IHM «à lamain». Ils sont disponibles par simple glis-ser/déplacer. Voici la liste des contrôles:• champ de saisie formaté• champ d'affichage (libellé)• onglets• liste déroulante • combo box • combo auto-alimentée• image • image animée • ascenseur • bouton graphique

(icone) • bouton graphique animé • boutons texte • bouton poussoir• bouton temporisé• interrupteur • sélecteurs mono et

multi-colonnes • tableau • liste graphique • liste arborescente (tree-

view)• table hiérarchique• tiroir• champ OLE• champ ActiveX • zone de clicage • boutons «spin» • champ avec ombre floue • potentiomètres • champ HTML • barre d’icones • formes géométriques • splitter (séparateur)

• barre d’état• Web caméra• RTF• zone répétée• jauge• boite à outils• graphe• codes-barres• carrousel• calendrier• champ tableur • Gantt• etc...

HFSQL • www.pcsoft . fr

14

Exemple de fenêtre créée avec WINDEV depuis le schéma des données

Exemples d’IHM générées par WINDEV

Quelques clics suffisent àcréer une requête SQL, à lavérifier en langage naturel,et à la visualiser sous formegraphique.

EDITEUR DE REQUÊTES La création des requêtes s’effectue en langage SQL ou en L5GWLangage. Les requêtes peuvent être directement codées, ou générées parl’éditeur de requêtes (Etats & Requêtes).Cet éditeur est fourni en standard avec WINDEV et WEBDEV, et li-brement diffusable auprès des utilisateurs finaux des applicationsque vous avez créées.L’éditeur de requêtes permet d’optimiser la description (leschéma) des bases de données, en détectant et définissantles index nécessaires aux performances d’exécution des re-quêtes créées.L’éditeur de requêtes génère les requêtes à la fois en SQL eten langage naturel, afin de vérifier qu’elles correspon-dent bien à l’opération souhaitée ! Il n’y a ainsi pasde risque d’erreur.La requête est également générée sousforme schématique (graphique animé).

Le mode opératoire pour créer une requête est simple: à l’aide del’assistant choisissez les colonnes à intégrer, les conditions de sé-lection, et la requête est générée en code SQL optimisé.L’éditeur peut également effectuer la rétro-analayse de requêtesexistantes. Une requête peut utiliser comme source le résultat envoyé par uneautre requête.

Afficher tous les NumCommande, NumCommandeClient, Date-

Commande, NumClient, ModeRèglement et DateFacturation

tels que DateFacturation est égal à ‘DateFacturation’ ET COMMANDE.TotalTTC est supérieur ou égal à MontantTTC ET HISTORIQUE.Réceptionniste est égal à ‘Receptionniste’ OU PRODUIT.QteMini est égal à QuantiteMini ET ModeRèglement contient ‘ModeReglement’

ET COMMANDE.Observations contient ‘Observation’ .

Page 9: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

CUBE ROLAP: TABLEAUCROISÉ DYNAMIQUELes décideurs l’adorent ! Le champ «Ta-bleau Croisé Dynamique» affiche dynami-quement en n dimensions des données quiproviennent du recoupement de diffé-rentes tables d’une base de données.Par exemple: le volume des ventes enfonction des familles de produits, des pro-duits, des régions, au cours du temps, avecou sans détail. L’utilisateur final peut dé-rouler des informations, les cacher,...Le tableau croisé dynamique effectue lui-même les calculs: tout est automatique, iln’y a rien à programmer pour le remplir.

OUTIL DE REPORTING(LOGICIEL «ETATS &REQUÊTES»)Le logiciel «Etats & Requêtes» est un édi-teur de rapports fourni avec WINDEV etWEBDEV. Il est librement diffusable à vos utilisateursfinaux, pour toute application réalisée enWINDEV ou en WEBDEV.Cet éditeur de rapports est interfacé nati-vement avec HFSQL, et permet la créationtrès facile d’états (de rapports) sophisti-qués utilisant des données stockées (entreautres) dans des bases HFSQL.PDF est géré en standard, tout comme lesfonds de page, les codes-barres, les éti-quettes, les exports vers Word et Excel... ettout ce qui est nécessaire !

HFSQL • www.pcsoft . fr

16

Exemple de cube sur des données HFSQL

Un état créé avec Etats & Requêtes

PROGRAMMATION:SQL ET L5GWLANGAGE

LA PROGRAMMATION SIMPLE ET PUIS-SANTELa programmation de la base de données HFSQL est à la fois fa-cile et puissante.Cette programmation s’effectue en SQL et/ou en L5G WLangage.La programmation par le langage SQL est une programmationuniversellement connue.La programmation avec le langage de 5ème génération WLangagepermet la programmation évoluée et puissante de curseurs.Les automatismes avec les applications et sites développés enWINDEV et WEBDEV sont alors très forts.

RAD: POUR GÉNÉRER LE CODELe code peut être généré à la demande par WINDEV et WEBDEVen utilisant la fonctionnalité de RAD, ou par les nombreux assis-tants disponibles dans ces environnements.Le code généré peut ensuite être modifié.Le RAD supporte le concept de «pattern», qui permet de définirsoi-même le code qui sera généré.

LISTE DES ORDRES SQL SUPPORTÉSVoici la liste des fonctions SQL supportées (cette liste n’est pasexhaustive). Le détail de chaque fonction SQL n’est ici pas indiqué.ABS ACOS ADD_MONTHS ALLALTER TABLE AND ANY ASASC ASCII ASIN ATANATAN2 AUTO_INCREMENT AVG BETWEENBIGINT BIN BINARY BLOBBOTH BOTTOM BTRIM CASECAST CBRT CEIL CEILINGCHAR_LENGTH CHARACTER_LENGTH CI CLOBCOALESCE COLLATE COLUMN COMMENTCONCAT CONSTRAINT COS COUNTCREATE TABLE CREATE VIEW CROSS CURRENT_DATECURRENTDATA DATE DATETIME DECIMAL

DECODE DEFAULT DEGREES DELETEDESC DISTINCT DIV DOUBLEDROP TABLE DROP VIEW ELSE ELTEND ESCAPE EXISTS EXPEXPLAIN EXTRACTVALUE FIELD FIND_IN_SETFLOAT FLOOR FOR FROMFULL OUTER JOIN GRANT GREATESTGROUP BY HAVING HEX IFIFNULL IN INDEX INITCAPINNER JOIN INSERT INSTR INTOISNULL LAST_DAY LAST_INSERT_ID LCASELEADING LEAST LEFT LEFT OUTER JOINLEN LENGTH LIKE LIMITLN LOG LOG10 LOWERLPAD LTRIM MATCH AGAINST MAXMD5 MID MIN MODMONEY MONTHS_BETWEEN NATURAL NCLOBNEW_TIME NEXT_DAY NOT NTEXTNULL NUMBER NUMERIC NVARCHARNVL OCT OCTET_LENGTH OFFSETON OR ORDER BY OVERLAYPATINDEX PERCENT PI PLACINGPOSITION POWER PRECISION RADIANSRANDOM REAL REFRESH VIEW REGEXP/REGLIKERENAME REPEAT REPLACE REVERSEREVOKE RIGHT RIGHT OUTER JOINROUND RPAD RTRIM SELECTSET SHA SHA1 SIGNSIN SMALLINT SOME SOUNDSOUND2 SOUNDEX SOUNDEX2 SPACESPLIT_PART SQRT STDDEV STDDEV_POPSTDDEV_SAMP STRING_AGG SUBSTR SUBSTRINGSUM SYSDATE TAN TEXTTHEN TIME TINYINT TO_CHARTO_DATE TOP TRAILING TRANSLATETRIM TRUNC UCASE UNHEXUNICODE UNION UNIQUE UNSIGNEDUPDATE UPPER USING UUIDVALUES VAR_POP VAR_SAMP VARBINARYVARCHAR VARIANCE VARYING WHENWHERE WITH XOR

Les requêtes SQL de type «Select» acceptent de nombreusesfonctions WLangage en paramètres, ce qui permet d’affiner faci-lement une sélection.Les fonctions WLangage acceptées sont: Abs Age AnnéeEnCours AnsiVersOemAnsiVersUnicode ArcCosinus ArcSinus ArcTangArcTang2 Arrondi ArrondiInférieur ArrondiSupérieurAsc BufferVersEntier BufferVersHexa BufferVersRéelCaract CaractOccurrenceType CaractType CaractUnicodeChaîneCommencePar ChaîneCompare ChaîneConstruit ChaîneFinitParChaîneFormate ChaîneIncrémente ChaîneInsère ChaîneInverseChaîneOccurrence ChaîneSupprime ChaîneVersDate ChaîneVersDuréeChaîneVersUTF8 Complète ComplèteRep CompresseConstruitEntier Contient Conversion CosinusCoTang CouleurLuminosité CouleurSaturation CouleurTeinteCrypte DateDifférence DateDuJour DateHeureDifférenceDateHeureLocaleVersUTC DateHeureSys DateHeureUTCVersLocale DateHeureValideDateSys DateValide DateVersChaîne DateVersEntierDateVersJour DateVersJourEnLettre DateVersMoisEnLettre DateVersNuméroDeSemaineDécimalVersSexagésimal DécomplèteRep Décompresse DécrypteDernierJourDeLaSemaine DernierJourDuMois DonneGUID DroiteDuréeVersChaîne EmailVérifieAdresse EntierVersDate EntierVersHeureEntierVersHexa EntierVersJour EntierVersJourEnLettre EntierVersMoisEnLettreEntierVersNuméroDeSemaine EstImpair EstNumérique EstPairETBinaire ExeInfo Exp ExtraitChaîneExtraitLigne Factorielle fAttributLectureSeule fChargeBufferfChargeTexte fCheminCourt fCheminLong fCompactefCompare fConstruitChemin fCopieFichier fCréeLienfCrypte fDate fDateHeure fDécompactefDécrypte fDéplaceFichier fDisqueInfo fExtraitCheminfFichierExiste fHeure fNomCourt fNomLongfRepAttribut fRepCopie fRepCrée fRepDroitfRépertoireExiste fRépertoireTemp fRepParent fRepSupprimefRepTaille fSauveBuffer fSauveTexte fSepfSéparateur fSupprime fTaille fTailleDécompactéGauche GénèreMotdePasse Hasard HeureDifférenceHeureSys HeureValide HeureVersChaîne HeureVersEntierHexaVersBuffer HexaVersEntier HTMLVersRVB HTMLVersTexteINIEcrit INILit InitHasard InverseLanceAppli LigneVersPosition Ln LogMaintenant Majuscule Max MilieuMin Minuscule MoisEnCours MotOccurrenceNetAdresseMAC NetIPVersMAC NetMACVersIP NombreEnLettresNONBinaire NumériqueVersChaîne NuméroDeJourVersLettre NuméroDeMoisVersLettreNuméroDeSemaine OemVersAnsi OUBinaire OUExclusifBinaire

HFSQL • www.pcsoft . fr

17

Page 10: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

Pâques PartieDécimale PartieEntière PhonétiquePoidsFaible PoidsFort Position PositionOccurrencePositionVersLigne PremierJourDeLaSemaine PremierJourDuMois PuissanceRacine RegistreCherche RegistreCléSuivanteRegistreCréeCléRegistreEcrit RegistreExiste RegistreListeValeur RegistreLitRegistrePremièreSousClé RegistreSupprimeClé RegistreSupprimeValeur RegistreTypeValeurRemplace Répète RéseauConnecte RéseauDéconnecteRéseauNomDomaine RéseauNomRep RéseauUtilisateur RVBRVBBleu RVBRouge RVBVersHTML RVBVertSansAccent SansCaractère SansCaractèreDroite SansCaractèreGaucheSansEspace sCalculeCrc16 sCalculeCrc32 SemaineVersDateSexagésimalVersDécimal Sinus SysCouleur SysCouleurResSysEnvironnement SysEspace SysInstance SysNomExeSysRep SysVersionWindows SysXRes SysYResTaille TailleCommune TailleVersChaîne TangTexteVersRTF Tronque TSL UnicodeVersAnsiURLDécode URLEncode URLExtraitChemin UTF8VersAnsiUTF8VersChaîne UTF8VersUnicode UUDécode UUEncodeVal VérifieExpressionRégulière VersionWindows

LISTE DES ORDRES WLANGAGELes ordres WLangage permettent de programmer des curseurs,ou de programmer tous les traitements si vous le désirez.La programmation en L5G WLangage est très puissante et très in-tuitive.Par exemple, la recherche d’une ligne (d’un enregistrement), ettous les traitements attachés (ouverture de table, affection de va-riables,...) s’effectuent en une seule de ligne de code, très simple,très puissante:hLitRecherche(CLIENT,NOM,"DUPONT")

Les programmes source sont limpides, faciles à écrire et surtoutfaciles à maintenir; cela limite les erreurs, et rend les applicationsdé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 de-vient hReadSeek.

Autre exemple, la création d’une table s’effectue en 1 ligne decode, sans script: hCréation.

Liste non exhaustive des fonctions du WLangage (L5G utilisépar WINDEV, WEBDEV et WINDEV Mobile), avec résumé deleur action.Ici liste en français; chaque fonction existe également en anglais.EcranVersFichier Initialise automatiquement :

- la valeur mémoire des rubriques d'un fichier de données avecla valeur des champs de la fenêtre ou de la page.- la valeur des variables WLangage avec la valeur des champsde la fenêtre ou de la page.

EcranVersSource Initialise automatiquement : - la valeur mémoire des rubriques d'un fichier de données avecla valeur des champs de la fenêtre ou de la page.- la valeur des variables WLangage avec la valeur des champsde la fenêtre ou de la page.

FichierVersEcran Initialise automatiquement les champs d'une fenêtre ou d'unepage avec :- les valeurs des rubriques associées dans l'enregistrement encours (chargé en mémoire) du fichier de données.* les valeurs des variables WLangage associés.

SourceVersEcran Initialise automatiquement les champs d'une fenêtre ou d'unepage avec :- les valeurs des rubriques associées dans l'enregistrement encours (chargé en mémoire) du fichier de données.* les valeurs des variables WLangage associés.

EspaceSignificatif Ajoute ou supprime les espaces situés à droite d'une rubriquetexte lors de sa lecture.

HAccélèreVitesse Réorganise la structure interne des index pour optimiser la vi-tesse d'accès aux données.

HActiveFiltre Active le filtre précédemment créé pour le fichier de données

(la vue ou la requête) spécifié.HActiveFiltreAuto Active un filtre automatique sur les fichiers reliés lors du par-

cours d'un fichier XML.HActiveTrigger Ré-active un trigger précédemment désactivé avec la fonction

HDésactiveTrigger.HActiveTriggerServeur Ré-active un trigger serveur précédemment désactivé par la

fonction HDésactiveTriggerServeur.HAjoute Ajoute l'enregistrement présent en mémoire dans le fichier de

données (la requête ou la vue).HAjouteGroupe Ajoute un groupe d'utilisateurs.HAjouteLiaison Ajoute une règle d'intégrité entre deux fichiers sur le serveur.HAjouteOptimisationPlanifiée Ajoute une tâche d'optimisation des fichiers de données

HFSQL Client/Serveur.HAjouteSauvegardePlanifiée Ajoute une planification de sauvegarde complète (avec ou sans

sauvegarde différentielle) sur le serveur défini par laconnexion.

HAjouteTâche Ajoute une tâche planifiée sur le serveur défini par laconnexion.

HAjouteUtilisateur Ajoute un utilisateur à une base de données.HAlias Crée un alias logique d'un fichier de données (ou d'une re-

quête) ou annule tous les alias existants.HAnnuleAlias Annule un alias précédemment déclaré avec la fonction HAlias.HAnnuleDéclaration Permet de supprimer une déclaration précédemment faite avec

HDéclare, HDéclareExterne, HDécritFichier.HAnnuleRecherche Annule le critère de recherche en cours.HAnnuleSauvegarde Annule une sauvegarde en cours.HArrêteServeur Arrête un serveur HFSQL.HAttacheMémo Permet d'associer un fichier à une rubrique de type mémo bi-

naire ou d'annuler l'attachement existant entre un fichier etune rubrique binaire.

HAvance Avance de plusieurs enregistrements dans le fichier de données,à partir de la position en cours, selon une rubrique spécifiée.

HBloqueFichier Bloque un fichier de données et restreint l'accès à ce fichier dedonnées pour tous les autres sites ou applications.

HBloqueNumEnr Bloque un enregistrement et restreint l'accès à cet enregistre-ment pour toutes les autres applications.

HChangeClé Change la rubrique de parcours.HChangeConnexion Change dynamiquement la connexion associée à un fichier de

données.HChangeLocalisation Modifie le mode de recherche des fichiers de données.HChangeMotDePasse Change le mot de passe d'un fichier de données HFSQL

Client/Serveur.HChangeNom Modifie le nom physique d'un fichier de données.HChangeRep Modifie le chemin d'accès à un fichier de données (c'est à dire

le répertoire dans lequel le fichier sera manipulé).HChangeRepJnl Modifie l'emplacement des fichiers du journal correspondant à

un fichier de données HFSQL.HChargeParamètre Lit un paramètre précédemment sauvegardé à partir d'une pro-

cédure stockée grâce à la fonction HSauveParamètre.HClusterAjouteNoeud Active un noeud dans un cluster HFSQL.HClusterArrête Suspend le fonctionnement d'un cluster HFSQL. HClusterDémarre Démarre un cluster HFSQL. HClusterEtat Renvoie l'état d'un cluster HFSQL en interrogeant son coordinateurHClusterIgnoreSynchro Désigne un noeud du cluster HFSQL comme source de données

pour réaliser la synchronisation du cluster.HClusterInfoNoeud Renvoie l'état de chaque noeud du cluster en interrogeant le

coordinateur.HClusterParamètre Lit et modifie les paramètres d'un cluster HFSQL.HClusterSupprimeNoeud Désactive un noeud dans un cluster HFSQL.HConnecte Redéfinit un ou plusieurs paramètres d'une connexion sur une

table spécifique ou sur un ensemble de tables.HConnecteAccèsDistant Ouvre une analyse au format HFSQL Classic via un accès distantHConstruitValClé Construit la valeur d'une clé composée pour réaliser un filtre

ou effectuer une recherche. HConstruitValCléANSI Sous une plate-forme Unicode, permet de construire la valeur

d’une clé composée. HConvert Convertit une valeur numérique en une chaîne binaire pour ef-

fectuer une recherche sur une clé numérique. HCopieEnreg Copie le contenu de l'enregistrement en cours (chargé en mé-

moire) dans l'enregistrement en cours d'un fichier de données.HCopieFichier Effectue une copie d'un fichier HFSQL.HCréation Crée à vide un fichier de données avec le fichier d'index et le fi-

chier mémo si nécessaires.HCréationSiInexistant Crée à vide un fichier de données (si le fichier n’existe pas) ou

ouvre un fichier de données (si le fichier existe). HCréeTriggerServeur Ajoute ou modifie un trigger serveur sur le serveur HFSQL.HCréeVue Crée une vue HFSQL.HDateEnreg Renvoie la date et l'heure de la dernière écriture d'un enregis-

trement dans un fichier HFSQL.HDBCréation Termine la description de la structure du fichier de données

xBase par programmation.HDBDécritFichier Décrit par programmation un fichier au format dBase 3.

HFSQL • www.pcsoft . fr

18

HDBDécritIndex Décrit par programmation les différents fichiers d'index qui se-ront créés.

HDBDécritRubrique Décrit par programmation chaque rubrique de la structure d'unfichier xBase.

HDBIndex Ouvre un fichier d'index xBase.HDBOuvre Ouvre le fichier de données xBase et le fichier

"mémo" s'il existe.HDBOuvreSansBloquer En mode mono-utilisateur, ouvre un fichier de données xBase

sans le bloquer.HDBTypeTri Renvoie ou modifie la relation d'ordre des rubriques textes des

fichiers xBase.HDébloqueFichier Débloque les enregistrements d'un fichier de données.HDébloqueNumEnr Débloque un enregistrement. HDéclare Déclare une description de fichier de données (présente dans

une analyse) dans le projet en cours.HDéclareExterne Importe temporairement dans l'analyse en cours, la descrip-

tion d'un fichier à partir d'un fichier HFSQL existant.HDéconnecteClient Affiche un message sur le(s) poste(s) Client, et déconnecte

l'application.HDécritConnexion Décrit une nouvelle connexion à une base de données externe.HDécritFichier Décrit un fichier de données par programmation.HDécritIndexFullText Décrit un index full-text d'un fichier de données créé par pro-

grammation.HDécritLiaison Décrit par programmation une liaison entre deux fichiers HDécritRubrique Décrit par programmation une rubrique d'un fichier de données.HDécritTrigger Ajoute ou modifie un trigger sur un fichier de données HFSQL.HDécritTriggerServeur Ajoute ou modifie un trigger serveur.HDémarreServeur Permet de démarrer un serveur HFSQL (utilise MantaManager).HDernier Positionne sur le dernier enregistrement d'un fichier de don-

nées selon une rubrique de parcours.HDésactiveFiltre Désactive temporairement un filtre sur un fichier de données

(une vue ou une requête).HDésactiveFiltreAuto Désactive un filtre automatique sur les fichiers reliés lors du

parcours d'un fichier XML.HDésactiveTrigger Désactive un trigger.HDésactiveTriggerServeur Désactive un trigger Serveur HFSQL Client/Serveur sur un serveur.HDétruitTrigger Détruit un trigger.HDétruitTriggerServeur Détruit un trigger serveur.HDétruitVue Détruit une vue précédemment créée.HDupliqueEnregistrement Duplique l'enregistrement lu dans un fichier de données : l'en-

registrement présent en mémoire est ajouté dans le fichier dedonnées (la requête ou la vue).

HEcrit Écrit un enregistrement dans le fichier de données sans mettreà jour les index correspondants.

HEnDehors Permet de savoir si l'enregistrement sur lequel on veut se posi-tionner est en dehors du fichier de données, du filtre, de la vueou de la requête.

HEnregistrementVersXML Récupère la structure et la valeur de l'enregistrement en courset les exporte dans une chaîne de caractères au format XML.

HEnvoieMessageVersClient Affiche un message sur le(s) poste(s) Client.HErreur Renvoie le numéro de la dernière erreur déclenchée par le mo-

teur HFSQL.HErreurBlocage Permet de tester si une erreur de blocage est survenue.HErreurDoublon Permet de tester si une erreur de doublons est survenue.HErreurEtatModification Renvoie l'état d'un enregistrement lors d'un conflit de modificationHErreurInfo Renvoie une information détaillée sur la dernière erreur dé-

clenchée par le moteur HFSQL.HErreurIntégrité Permet de tester si une erreur d'intégrité est survenue.HErreurModification Lors d'un conflit de modification, renvoie la valeur d'une ru-

brique d'un enregistrement.HErreurMotDePasse Permet de savoir si une erreur due à un mot de passe erroné a

été rencontrée sur ce fichier de données.HEtat Permet de connaître l'état d'un enregistrement.HEtatServeur Permet de connaître l'état d'un serveur HFSQL.HExécuteProcédure Exécute une procédure stockée.HExécuteRequête Déclare une requête créée sous l'éditeur de requêtes au mo-

teur HFSQL et exécute cette requête.HExécuteRequêteSQL Initialise une requête écrite en langage SQL et déclare cette re-

quête au moteur HFSQL.HExécuteSauvegardePlanifiée Force le déclenchement d'une sauvegarde planifiée.HExécuteVue Exécute une vue créée auparavant.HExporteXML Exporte les enregistrements d'un fichier (HFSQL ou OLE DB),

d'une vue ou d'une requête dans un fichier XML.HExtraitMémo Extrait le contenu d'une rubrique de type blob (mémo binaire)

dans un fichier physique. HFerme Ferme soit un fichier de données, soit tous les fichiers de don-

nées ouverts. HFermeAnalyse Ferme l'analyse en cours.HFermeConnexion Ferme une connexion à une base de données.HFichierExiste Permet de savoir si un fichier existe, ou si une vue ou une re-

quête a été définie.HFiltre Définit et active un filtre sur un fichier de données, une vue ou

une requête.HFiltreCommencePar Définit et active un filtre de type "Commence par" sur un fi-

chier, une vue ou une requête.HFiltreComprisEntre Définit et active un filtre de type "Compris entre" sur un fichier,

une vue ou une requête.HFiltreContient Définit et active un filtre de type "Contient" sur un fichier de

données, une vue ou une requête. HFiltreIdentique Définit et active un filtre permettant de rechercher la valeur

exacte d'une rubrique de type chaîne.HFinInterditAccèsBaseDeDonnées Ré-autorise l'accès à une ou plusieurs bases de données ac-

cessibles par une connexion.HFinInterditModif Débloque un fichier qui a été bloqué par le même programme

avec la fonction HInterditModif.HForceEcriture Force le système d'exploitation du poste sur lequel les fichiers

de données sont présents à écrire les données directement surle disque.

HFusionneVue Crée une vue HFSQL à partir de deux vues précédemment crééesHGèreAccèsDistant Débranche temporairement l'accès distant pour accéder à des

fichiers de données HFSQL Classic présents en local.HGèreCache Permet de paramétrer la gestion des caches dans le moteur

HFSQL Client/Serveur.HGèreDoublon Active ou désactive la gestion des doublons sur une clé uniqueHGèreIntégrité Active ou désactive la gestion d'une contrainte d'intégrité sur

une liaison d'un fichier.HGèreJournal Active ou désactive la gestion du journal d'un fichier journalé.HGèreMémo Permet de modifier la gestion des rubriques de type mémo.HGèreREP Active ou désactive la gestion du fichier .REP.HGèreServeur Permet de connaître et de modifier certains paramétrages du

serveur HFSQL Client/Serveur.HGèreTâche Active ou désactive une tâche planifiée d'un serveur HFSQL

Client/Serveur.HGèreTransaction Active ou désactive la gestion des transactions sur un ou plu-

sieurs fichiers.HGèreTrigger Active ou désactive la gestion des triggers.HHistoriqueModification Renvoie les modifications apportées à une ou plusieurs ru-

briques d'un enregistrement donné.HImporteHF55 Importe un fichier Hyper File 5.5 dans un fichier au format

HFSQL Classic.HImporteTexte Importe un fichier Texte dans un fichier de données au format

HFSQL Classic. HImporteXML Importe un fichier XML dans un fichier au format HFSQL ClassicHInfoAnalyse Renvoie des informations sur une analyse (fichier WDD).HInfoBlocage Renvoie des informations sur le blocage d'un fichier de don-

nées, d'un enregistrement ou de tous les enregistrements d'unfichier de données.

HInfoDroitBaseDeDonnées Permet de connaître les droits sur une base de données définispour un utilisateur ou un groupe.

HInfoDroitFichier Permet de connaître les droits accordés sur un fichier de don-nées HFSQL Client/Serveur pour un utilisateur ou un groupe.

HInfoDroitServeur Permet de connaître les droits accordés sur un serveur à un uti-lisateur ou un groupe.

HInfoFichier Renvoie les caractéristiques d'un fichier présent sur un ser-veur HFSQL.

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 mémo binaire et texte.HInfoPropriétéBaseDeDonnées Permet de connaître les propriétés d'une base de données si-

tuée sur un serveur HFSQL.HInfoPropriétéFichier Permet de connaître les propriétés d'un fichier de données

situé sur un serveur HFSQL.HInfoPropriétéServeur Permet de connaître les propriétés d'un serveur HFSQL.HInfoSauvegarde Renvoie des informations sur une ou plusieurs sauvegardes ef-

fectuées sur un serveur HFSQL 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. HInfoUtilisateur Met à jour les variables de gestion des utilisateurs avec les in-

formations concernant l'utilisateur spécifié.HInterditAccèsBaseDeDonnées Interdit tous les accès à une base de données, ou bien à toutes

les bases de données.HInterditModif Interdit toute modification sur un fichier (pour tous les pro-

grammes, y compris le programme qui a demandé l'interdiction)HJournalInfo Ajoute des commentaires dans le journal lors de l'enregistre-

ment de l'opération journalée.HJournalRecrée Permet de re-créer un journal à vide.HJournalRedémarre Redémarre la journalisation du fichier.HJournalStop Arrête la journalisation du fichier.HLibère Transforme les enregistrements rayés d'un fichier de données

en enregistrements supprimés.HLibèrePosition Supprime une position sauvegardée par HSauvePositionHLibèreRequête Libère les ressources d'une requête.HListeAnalyse Liste les analyses au format HFSQL Classic disponibles dans un

répertoire donné.HListeBaseDeDonnées Liste les bases de données Client/Serveur associées à une

HFSQL • www.pcsoft . fr

19

Page 11: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

connexion.HListeClé Liste les clés d'un fichier (d'une requête ou d'une vue) reconnu

par le moteur HFSQL.HListeConnexion Liste les connexions actuellement décrites dans l'application.HListeElémentStocké Liste des éléments stockés sur un serveur HFSQL (collections

de procédures, procédures stockées ou requêtes).HListeFichier Liste les fichiers de l'analyse en cours ou d'une analyse spéci-

fique reconnue par le moteur HFSQL. HListeGroupe Liste les groupes d'utilisateurs définis pour une connexion.HListeIndexFullText Liste les index full-text d'un fichier (d'une requête ou d'une

vue) reconnus par le moteur HFSQL.HListeLiaison Liste les liaisons (de type Merise) présentes dans l'analyse en

cours ou dans une analyse spécifique.HListeOptimisationPlanifiée Liste les tâches d'optimisation planifiées des fichiers de don-

nées HFSQL Client/Serveur pour une connexion.HListeParamètre Liste les paramètres sauvegardés à partir des procédures

stockées sur le serveur.HListeParamRequête Liste les paramètres d'une requête créée avec l'éditeur de requêtesHListePersoDossier Liste les perso-dossiers définis dans l'analyse. HListeProvider Liste les providers OLE DB et/ou des Accès Natifs installés sur

le poste en cours.HListeREP Liste les affectations des fichiers de données manipulés par

l'application en cours.HListeRubrique Liste les rubriques d'un fichier (d'une requête ou d'une vue)

reconnu par le moteur HFSQL.HListeSauvegardePlanifiée Liste les sauvegardes complètes et différentielles qui ont été

planifiées sur un serveur HFSQL Client/Serveur.HListeServeur Liste les serveurs HFSQL installés sur une machine.HListeTâche Liste les tâches planifiées d'un serveur HFSQL Client/Serveur

pour une connexion donnée.HListeTrigger Liste les triggers appliqués sur un ou plusieurs fichiers de don-

nées HFSQL.HListeTriggerServeur Liste les différents triggers disponibles sur une connexion ou

sur un des fichiers de la connexion.HListeUtilisateur Liste les utilisateurs définis pour une connexion.HListeUtilisateurConnecté Liste les utilisateurs actuellement connectés à un ou plusieurs

fichiers manipulés par une connexion Client/Serveur.HLit Lit un enregistrement dans un fichier en fonction d'un numéro

d'enregistrement donné.HLitDernier Positionne sur le dernier enregistrement d'un fichier selon une

rubrique de parcours.HLitPrécédent Positionne sur l'enregistrement précédent d'un fichier en fonc-

tion d'une rubrique de parcours.HLitPremier Positionne sur le premier enregistrement d'un fichier en fonc-

tion d'une rubrique de parcours.HLitRecherche Positionne sur le premier enregistrement du fichier dont la va-

leur d'une rubrique spécifique est supérieure ou égale à unevaleur recherchée (recherche générique).

HLitRechercheDernier Positionne sur le dernier enregistrement du fichier dont la va-leur d'une rubrique spécifique est inférieure ou égale à une va-leur recherchée (recherche à l'identique).

HLitRecherchePremier Positionne sur le premier enregistrement du fichier dont la va-leur d'une rubrique spécifique est strictement égale à une va-leur recherchée (recherche à l'identique).

HLitSuivant Positionne sur l'enregistrement suivant d'un fichier de don-nées en fonction d'une rubrique de parcours.

HMigreCléComposéeReliée Migre les valeurs des clés composées reliées provenant d'un fi-chier au format Hyper File 5.5 vers le format HFSQL Classic.

HMiseAJourCollection Crée ou met à jour une collection de procédures sur un serveur HMiseAJourRequête Crée ou met à jour une requête sur un serveur HFSQL.HMode Change le mode de blocage des fichiers de données.HModifie Modifie l'enregistrement spécifié ou l'enregistrement présent

en mémoire dans le fichier de données (la requête ou la vue).HModifieDroitBaseDeDonnées Modifie les droits donnés à un utilisateur ou à un groupe pour

une base de données HFSQL Client/Serveur.HModifieDroitFichier Modifie les droits accordés sur un fichier de données HFSQL

Client/Serveur pour un utilisateur ou un groupe.HModifieDroitServeur Modifie les droits accordés sur un serveur HFSQL pour un utili-

sateur ou un groupe. HModifieGroupe Modifie les informations du groupe en fonction des éléments pré-

sents dans les variables de gestion de groupe correspondantes.HModifieOptimisationPlanifiée Modifie une tâche d'optimisation planifiée sur le serveur

HFSQL défini par la connexion.HModifiePropriétéBaseDeDonnées Modifie les propriétés d'une base de données située sur un

serveur HFSQL.HModifiePropriétéFichier Modifie les propriétés d'un fichier HFSQL situé sur un serveur.HModifiePropriétéServeur Modifie les propriétés d'un serveur HFSQL.HModifieSauvegardePlanifiée Modifie une planification de sauvegarde.HModifieStructure Met à jour la structure d’un fichier de données HFSQL en effec-

tuant une synchronisation des données.HModifieTâche Modifie une tâche planifiée sur le serveur HFSQL défini par la

connexion.HModifieUtilisateur Modifie les informations d'un utilisateur en fonction des élé-

ments présents dans les variables de gestion des utilisateurscorrespondantes.

HNbEnr Renvoie le nombre d'enregistrements d'un fichier, d'une re-quête ou d'une vue HFSQL : enregistrements actifs, rayés, sup-primés, etc.

HNotifAjouteDestinataireCC Ajoute des destinataires pour les notifications envoyées via lesCentres de Contrôle.

HNotifAjouteDestinataireEmail Ajoute des destinataires pour les notifications envoyées paremail.

HNotifConfigure Spécifie et configure le serveur utilisé pour l'envoi des notifica-tions par le serveur HFSQL.

HNotifListeDestinataireCC Renvoie la liste des destinataires d'une notification envoyéevia les Centres de Contrôle.

HNotifListeDestinataireEmail Renvoie la liste des destinataires d'une notification par email.HNotifSupprimeDestinataireCC Supprime les destinataires d'une notification envoyée via les

Centres de Contrôle.HNotifSupprimeDestinataireEmail Supprime les destinataires d'une notification par email.HNumEnr Renvoie le numéro de l'enregistrement en cours dans le fichier

de données HFSQL ou dans la vue HFSQL.HOptimise Utilise des temps morts (période sans traitements) pour opti-

miser les requêtes et les parcours qui vont être exécutés plustard.

HOptimiseRequête Optimise les requêtes de sélection en utilisant les temps morts(période sans traitements)

HOuvre Ouvre un fichier de données.HOuvreAnalyse Ouvre une analyse au format HFSQL Classic.HOuvreConnexion Ouvre une connexion à une base de données spécifique.HPasse Fixe le mot de passe utilisé pour créer ou pour ouvrir un fichier

de données.HPositionCourante Renvoie la position approximative de l'enregistrement en cours

dans le fichier de données.HPositionne Positionne sur un enregistrement à partir de la position ap-

proximative d'une de ses rubriques.HPoste Mémorise un numéro ou un identifiant unique de poste afin

d'utiliser le journal et les transactions en réseau.HPrécédent Positionne sur l'enregistrement précédent du fichier en fonc-

tion d'une rubrique de parcours.HPremier Positionne sur le premier enregistrement d'un fichier de don-

nées en fonction de la rubrique de parcours spécifiée.HPrépareRequête Initialise une requête et déclare cette requête au serveur de

base de données pour optimiser les prochaines exécutions decette requête.

HPrépareRequêteSQL Initialise une requête écrite en SQL et déclare cette requête auserveur de base de données pour optimiser les prochainesexécutions de cette requête.

HPriorité Permet de connaître ou de modifier la priorité de l'applicationappelante.

HPrioritéClient Modifie la priorité d'une application cliente.HPurgeRepTravail Purge et détruit le répertoire temporaire précédemment créé

lors de l'exécution de la fonction |HRepTravailServeur.HQualitéConnexion Renvoie l'indice de qualité de la connexion : plus l'indice est

élevé et plus la connexion est rapide.  HRaye Raye un enregistrement d'un fichier de données.HRAZ Initialise une ou toutes les variables des rubriques d'un fichier

de données avec leurs valeurs par défaut. HRAZClient Initialise la structure de gestion des postes Client (structure HClient)HRAZGroupe Initialise la structure de gestion des groupes avec les valeurs

par défaut.HRAZUtilisateur Initialise la structure de gestion des utilisateurs avec les va-

leurs par défaut.HRecherche Positionne sur le premier enregistrement du fichier dont la va-

leur d'une rubrique spécifique est supérieure ou égale à unevaleur recherchée (recherche générique par défaut).

HRechercheDernier Positionne sur le dernier enregistrement du fichier dont la va-leur d'une rubrique spécifique est inférieure ou égale à une va-leur recherchée.

HRecherchePremier Positionne sur le premier enregistrement du fichier dont la va-leur d'une rubrique spécifique est supérieure ou égale à unevaleur recherchée.

HReconnecte Effectue une reconnexion au serveur pour toutes lesconnexions interrompues.

HRecule Recule de plusieurs enregistrements dans le fichier de données, àpartir de la position en cours, selon une rubrique spécifiée.

HRécupèreEnregistrement Renvoie le contenu de l'enregistrement en cours (dans un fi-chier, une vue, une requête, ...).

HRécupèreLog Crée un fichier texte contenant les logs du serveur entre deuxdates données.

HRécupèreRubrique Renvoie le contenu d'une rubrique de l'enregistrement encours (dans le fichier de données, la vue, la requête, ...).

HRégénèreFichier Régénère un fichier de données à partir de son journal.HRéindexationEnCours Avertit si une ré-indexation est en cours sur un fichier de don-

nées et renvoie le pourcentage de ré-indexation effectué.HRéindexe Reconstruit l'index d'un fichier de données. HRepTravailServeur Renvoie le chemin d'un  répertoire temporaire sur le serveur.

HFSQL • www.pcsoft . fr

20

HRestaureSauvegarde Permet de restaurer une sauvegarde effectuée grâce à la fonc-tion |HSauvegarde ou via le Centre de Contrôle HFSQL

HRetourPosition Restaure le contexte précédemment sauvegardé d'un fichier dedonnées.

HRSAjouteConfig Ajoute une réplication entre deux serveurs HFSQL sur le posteserveur maître.

HRSDéclenche Exécute immédiatement une réplication périodique entre serveursHFSQL: la réplication se déclenche avant la planification prévue

HRSInfo Permet de lire la configuration de la réplication pour un serveurHFSQL participant à une ou plusieurs réplication(s).

HRSInit Configure un serveur HFSQL pour que ce serveur soit un ser-veur maître ou un serveur abonné d'une réplication entre ser-veurs HFSQL.

HRSListeConfig Liste les réplications disponibles sur un serveur HFSQL maître.HRSModifieConfig Modifie certains paramètres d'une réplication existante entre

deux serveurs HFSQL.HRSSupprimeConfig Supprime une réplication entre deux serveurs HFSQL.HSauvegarde Réalise la sauvegarde du contenu d'un serveur HFSQL.HSauveParamètre Sauve une valeur persistante à partir d'une procédure stockée.HSauvePosition Mémorise le contexte en cours d'un fichier de données.HSécurité Active ou désactive le mécanisme de sécurité..HSimuleRéseau Simule le fonctionnement de HFSQL Client/Serveur sur un ré-

seau ADSL ou 3G.HStatCalcule Réalise diverses statistiques sur les clés d'un fichier.HStatDate Renvoie la date de la dernière mise à jour des statistiques d'indexHStatHeure Renvoie l'heure de la dernière mise à jour des statistiques d'indexHStatNbDoublon Renvoie le nombre de doublons pour une rubrique clé donnée.HStatNbEnr Renvoie le nombre d'entrées pour une rubrique clé donnée.HStatNbEnrIntervalle Renvoie une estimation majorée du nombre d'entrées pour

une rubrique clé donnée dans un intervalle de valeurs donné.HSubstRep Associe le répertoire des données spécifié dans l'analyse à un

répertoire présent sur le disque.HSuivant Positionne sur l'enregistrement suivant du fichier de données

en fonction d'une rubrique de parcours.HSupprime Supprime un enregistrement d'un fichier de données (d'une

requête ou d'une vue).HSupprimeBaseDeDonnées Supprime une base de données présente sur un serveur

HFSQL.HSupprimeCollection Supprime une collection de procédures stockées d'un serveur

HFSQL.HSupprimeFichier Supprime les fichiers de données HFSQL (fichiers .fic, .ndx, .ftx

et .mmo s'ils existent) sur le serveur.HSupprimeGroupe Supprime un groupe d'utilisateurs associé à une connexion,

sur le serveur.HSupprimeLiaison Supprime une règle d'intégrité entre deux fichiers de données

sur le serveur.HSupprimeOptimisationPlanifiée Supprime une tâche d'optimisation planifiée de fichiers de

données HFSQL Client/Serveur.HSupprimeParamètre Supprime un paramètre précédemment sauvé avec la fonction

HSauveParamètre.HSupprimeRépertoire Supprime un répertoire présent dans une base de données

HFSQL Client/Serveur.HSupprimeRequête Supprime une requête (utilisée par des procédures stockées)

d'un serveur HFSQL.HSupprimeSauvegarde Supprime une sauvegarde précédemment effectuée avec la

fonction HSauvegarde.HSupprimeSauvegardePlanifiée Supprime une planification de sauvegarde sur un serveur

HFSQL Client/Serveur.HSupprimeTâche Supprime une tâche planifiée d'un serveur HFSQL Client/Ser-

veur.HSupprimeTout Supprime tous les enregistrements d'un fichier de données,

d'une vue HFSQL ou d'une requête.HSupprimeUtilisateur Supprime un utilisateur associé à une connexion sur le serveurHSurAppelServeur Personnalise la gestion de l'affichage d'un message sur le

poste Client, et la gestion de la déconnexion d'un poste Client.HSurErreur Personnalise la gestion des erreurs HFSQL.HTransactionAnnule Si une transaction est en cours, annule toutes les opérations

effectuées sur les fichiers de données en transactions depuisle début de la transaction.

HTransactionDébut Démarre une transaction sur les fichiers HFSQL, et crée le fi-chier des transactions.

HTransactionFin Valide la transaction en cours. HTransactionInterrompue Permet de savoir si une transaction a été interrompue (la trans-

action n'a été ni validée, ni annulée).HTransactionIsolation Configure le niveau d'isolation des transactions pour une

connexion vers un serveur HFSQL donné.HTransactionLibère Transforme tous les enregistrements "en transaction" en enre-

gistrements "Normaux" si ces enregistrements n'appartien-nent pas à une transaction actuellement en cours.

HTransactionListe Liste les transactions en cours ou interrompues sur le serveurde la connexion spécifiée.

HTrieVue Trie une vue, en créant un index sur une rubrique de la vue.HTrouve Vérifie si l'enregistrement en cours correspond au filtre ou à la

recherche en cours.HVérifieIndex Vérifie que les données contenues dans le fichier d'index (fi-

chier .NDX) référencent correctement les données contenuesdans le fichier de données (fichier .FIC).

HVérifieStructure Fixe le mode de comparaison des fichiers de données.HVersFichier Copie une source de données (fichier, requête, vue, ...) vers un

fichier physique HFSQL de même description. Ce fichier n'estni crypté, ni protégé par mot de passe.  

HVersion Permet de savoir si le contenu d'un fichier a été modifié.HVersRubrique Affecte la valeur indiquée à une rubrique de l'enregistrement

en cours.HVueVersFichier Enregistre les modifications réalisées dans une vue dans le fi-

chier correspondant.

VOCABULAIRELe 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 dansle domaine des bases de données.

Vocabulaire PC SOFT Chez d’autres éditeurs

Analyse (MCD, MLD) Schéma, modèle relationnel, modèleentité/relation

Graphe de l’analyse Modèle du schémaFichier TableRubrique Colonne, Champ (le champ est le croise-

ment d’une colonne et d’une ligne)Enregistrement Ligne, tuple, rowLiaison RelationBlocage VerrouClé IndexClé unique Clé primaireClé avec Doublon Clé étrangère ou clé sans contrainte

d’unicitéRubrique de liaison Clé étrangèreFenêtre FormChamp ContrôleEtat RapportTable de visualisation Datagrid, BrowseTâche planifiée OrdonnanceurMémo texte Lob ou clobMémo binaire Lob ou blobProcédure stockée UDF (User Defined Function)

Une base de données est un ensemble de tables (fichiers) reliéespar des relations (liaisons).Une table (fichier de données) est un ensemble de donnéesstructurées en colonnes (rubriques), composé de lignes (enregis-trements). Le croisement d'une ligne et d'une colonne est unchamp (valeur de rubrique).Un index est un moyen d'accélérer les recherches, les requêtes etles accès à une table. Un index peut être défini sur une colonne (rubrique clé) ou surplusieurs colonnes (clé composée).Une clé primaire est une clé unique non nullable. Une clé étrangère est une clé avec possibilité de doublons, utili-sée conjointement à une clé primaire pour réaliser une relation(liaison) entre 2 tables.

HFSQL • www.pcsoft . fr

21

Page 12: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

QUELLES SOCIÉTÉSUTILISENT HFSQL ?

HFSQL est diffusé à plusieurs millions d’exemplaires à travers lemonde, dans plus de 100 pays.HFSQL est déployé sur des sites les plus contraignants (Web, télé-coms, entreprises, banques, hopi-taux, recherche, éditeurs delogiciels, administrations, minis-tères, etc....) et qui exigent unehaute disponibilité (24/24, 7/7)avec des performances extrêmesen temps réel.

Vous retrouvez de nombreux té-moignages d’utilisation par des so-ciétés prestigieuses dans cenuméro spécial de «01Net» (dispo-nible sur simple demande).

TÉMOIGNAGESVoici quelques témoignages, extraits du numéro spécial «01Net»consacré à WINDEV, WEBDEV et HFSQL (magazine disponible gra-tuitement sur simple demande).

«HFSQL: la vitesse de la lumière!»

«HFSQL donne entière satisfaction en termes de ro-bustesse et de flexibilité»

«HFSQL nous permet une économie de plusieurs centainesde milliers d’euros grâce à l’absence de licence sur la basede données»

«Cela représente près d’un milliard d’opérations hos-tées et gérées par HFSQL pour un montant des débitsdes opérations de l’ordre de 24 milliards d’euros»

«L’ensemble des applications s’appuie sur la base HFSQLpour garantir une totale sécurité des données»

«Les données sont stockées sur notre serveur dédiéavec une base HFSQL qui gère d’ailleurs l’ensemblede notre SI »

«En terme de performances, HFSQL a du répondant. C’esttoujours immédiat»

«Nous gérons plus d’un To de données (avec HFSQL)et nous nous félicitons des performances de la basede données».

Vous trouverez également sur le site www.pcsoft.fr des dizainesd’autres témoignages sur HFSQL, ainsi que des vidéos techniqueset des vidéos de témoignage.

LISTE DES AVANTAGES HFSQL

Voici un résumé de nombreux avantages liés àl’adoption de HFSQL:• Richesse fonctionnelle• Gratuité (version complète, illimitée, avec tous les outils)• Outil de description de schémas des données • Aisément installable • Aisément embarquable• Administration aisée (auto-administrée, auto-optimisée)• Outils d’administration puissants• Très bonne intégration aux best sellers de PC SOFT: WINDEV,

WEBDEV, WINDEV Mobile• Solution tout-en-un avec WINDEV et WEBDEV: orienté RAD, il

génère les tables, les traitements, les fenêtres et les rapports• Cryptage des données, des tables et des index• Encryption au niveau colonne, backups, trafic réseau• Compatibilité: Windows (10, 8, 7, Vista, XP, Mobile, CE...),

Linux, Mac, iOS (iPhone, iPad), Android...• Compatibilité binaire des bases de données et des index : lo-

cale, réseau, mobile, embarquée, client/serveur, cluster• Procédures stockées • Sauvegardes à chaud et différentielles• Protection anti-injection de code SQL• 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é• Maintenance automatique du schéma (SDD), sur un nombre

illimité de bases déployées• 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• Facilité de déploiement et de prise en main• Support technique gratuit*

• Tout en français (ou tout en anglais)

HFSQL • www.pcsoft . fr

22

HFSQL® est livré gratuitement avec les AGLWINDEV, WEBDEV et WINDEV Mobile.HFSQL est optimisé pour fonctionner avecces AGL. HFSQL est le nouveau nom de HyperFileSQL.L’utilisation et la diffusion du moteur de basede données HFSQL est libre et gratuite avecdes applications et des sites créés à l’aide deces AGL, et ce quelle que soit la quantité dé-ployée et quel que soit le type d’application(applications éducatives, applications per-

sonnelles et applications commerciales).Il n’y a pas de redevances à verser, aucunedéclaration à effectuer.Le déploiement est libre, illimité et gratuit.Veuillez vous référer au texte de la licenced’utilisation pour toute information supplé-mentaire.Le pilote ODBC et le provider OLE DB sontdiffusables gratuitement avec les applica-tions réalisées avec WINDEV, WEBDEV ouWINDEV Mobile.

Les outils cités dans cette documentationsont livrés en standard.Toutes les marques sont déposées par leurspropriétaires respectifs. WINDEV, WEBDEV et WINDEV Mobile sontdes logiciels professionnels. Malgré le soin apporté à sa rédaction, ce do-cument n’est pas contractuel. Les copiesd’écran et les listes sont indicatives. N’hésitez jamais à nous contacter pour touteinformation complémentaire ou pour obte-

nir une confirmation de fonctionnalité. Politique environnementale: lorsquePC SOFT imprime des documents «papier»,PC SOFT, le fournisseur de papier ou l'impri-meur lorsqu’il est certifié FSC «Forest Ste-wardship Council» et PEFC «Programme forthe Endorsement of Forest Certificationschemes», replante autant d'arbres que ceuxqui ont été utilisés pour l'impression. Le label FSC a été créé par l'ONG FSC, quirassemble entre autres Greenpeace, Les

Amis de la Terre et le WWF.Par exemple imprimer 100.000 documenta-tions de 68 pages sur papier brillantconsomme 10 arbres: PC SOFT fait immé-diatement replanter 10 arbres. Par ailleurs, nous privilégions la pâte à papierprincipalement fabriquée à partir de déchetsde bois (par exemple en provenance de scie-ries pour l'ameublement) et de coupesd'éclaircie dans les forêts.

HFSQL est le meilleur allié devos données !

Vous aussi, comme des millionsd’utilisateurs à travers le monde,profitez des performances et de

la sécurité de HFSQL.

Page 13: UNIVERSELLE BASE DE DONNÉES - dproducts.be · Le Système de Gestion de Base de Données Relationnelle ... La connaissance de WINDEV, ou WEBDEV ou WINDEVMobile est utile.Si vous

Depuis 1988

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 2 297 548 Euros

SIRET 330 318 270 00064 - Code APE 5829B - Numéro de TVA Européen: FR09 330 318 270

www.pcsoft.fr

PERFORMANCE, SÉCURITÉ, DISPONIBILITÉ

WINDEV • WEBDEV • WINDEV Mobile

SGBDRWindows, Linux, Mac, Android, iOS (iPhone, iPad)Client/Serveur, Cluster, Cloud, Monoposte, Mobile, Embarqué