Aller au contenu principal
Notification
ITPro
  • Ressources IT
  • Newsletter
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
Se connecter
S’inscrire
  • Facebook
  • X
  • Linkedin
  • Instagram

Inscrivez-vous

Newsletter iTPro

  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  1. Accueil
  2. Tech
  3. Ajouter les données dans la base ou les supprimer

Sommaire

Tech stories

  • Tech Stories

    Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

  • Tech Stories

    Les compétences cloud à développer dans une équipe IT

Bases de données modernes Tech

Ajouter les données dans la base ou les supprimer

Par

it-pro
17 décembre 2013
4 minutes

Quand vous en avez fini avec tous les getters et setters, le moment est venu de mettre (ajouter ou mettre à jour) les données dans la base de données ou de les en enlever.

Sommaire

Les sous-procédures put et delete appellent une sous-procédure interne—putInstance() in FILE00A—qui se charge du traitement des exceptions/erreurs (par exemple, violations des contraintes, écritures en double). Donc, tout le traitement des exceptions/erreurs pour toute la base de données a été encapsulé dans un seul endroit.

putInstance() a effectué un rétro-appel vers la sous-procédure putRow(), qui exécute vraiment write/update/delete. putRow() est inclus dans le membre copy pFileStd.
La figure 10 montre la définition des sous-procédures put_Product(), delete_Product() et putRow(). Dans la sous-procédure put-Product(), notez l’appel vers validData() (figure 6) avant de tenter de le mettre dans la base de données.

Générateur

Après avoir écrit deux ou trois de ces modules de fichiers, il est clair que, à part les getters et les setters, le gros du travail consiste à trouver et remplacer : ce qui conduit logiquement au concept d’un générateur de code.

À propos des générateurs de code, je me suis toujours posé la question, « Jusqu’où aller ? » La solution que je présente ici génère tout ce qui a été décrit précédemment. Mais il vous reste encore à coder le contenu des sous-procédures validData() et setDefaults() et il vous faudra peut-être modifier les sous-procédures SQL list éventuellement générées (selon la complexité qu’exige l’instruction SQL).

Au moment où j’écris ces lignes, l’interface pour le générateur a été codée en utilisant CGIDEV2, mais, dans un futur pas trop éloigné, j’espère écrire une interface PHP correspondante.

Pour commencer, il vous faut un ou plusieurs modèles. Un modèle contient la structure de base d’un module d’externalisation contenant les mots-clés imbriqués spéciaux qui seront scannés et remplacés par le générateur (par exemple, le générateur remplacera toutes les occurrences de la valeur #&#&KEYTOSTORE&#&# par le code servant à copier la valeur des champs clés de la structure de données key dans l’image stockée).

La figure 11 montre la phase de sélection initiale pour le générateur. Les points principaux sont les suivants :

•    Générer les routines pour la base de données. Identifier la base de données à utiliser dans le module d’externalisation. Le nom de l’auteur est là pour la documentation.

•    Générer les membres source. Identifier le module d’externalisation et son membre prototype correspondant. Autre possibilité : avoir une directive include, pour le membre prototype généré, ajoutée à un membre include pour le programme de service.

•    Espaces utilisateur. Le nom fourni pour l’espace utilisateur entraînera la création de deux espaces utilisateur : un pour les handles (HD ajoutés) et un pour les données (DT ajoutées).

•    Options. Spécifier le modèle à utiliser. Indiquer si des quick getters doivent être générés. Indiquer si des external getters doivent être générés. Les external getters s’appliquent aux column getters et renvoient la valeur demandée comme un paramètre au lieu d’une valeur de renvoi. Cela afin que les procédures puissent être appelées à partir de Java et PHP.
Les figures 12A, 12B, 12C et 12D montrent les autres options de sélection après qu’un fichier ou index ait été sélectionné. Des onglets séparés permettent la sélection de :

•    Base Data. Identifier le nom utilisé pour les sous-procédures, pour instancier, placer, supprimer et libérer un élément.

•    Getter/Setter. Sélectionner les colonnes pour la génération des getters et setters. Vous pouvez changer le nom des sous-procédures (le nom affiché issu de la description de colonne).

•    DS Getter/Setter. Spécifier les formats à utiliser pour les getters et/ou setters et identifier les colonnes à inclure dans le format. Il est également possible de passer toutes les données comme des données caractères, une option intéressante dans un environnement web. Les routines générées vérifieront automatiquement les éventuelles erreurs de casting lors de la recopie des données dans leur format d’origine.

•    SQL Select List. Spécifier les formats à utiliser dans l’extraction d’une liste de données au moyen d’une instruction SQL imbriquée.
L’onglet Finish vous permet de générer les membres source. Bien que vous ayez à présent un membre qui doit être compilé, n’oubliez pas qu’il vous faudra peut-être encore : apporter des changements aux sous-procédures validData() et setDefaults(), apporter des changements à SQL imbriqué, ou ajouter des colonnes non-base de données à certains des formats (en même temps que les changements correspondants aux éventuels getters et/ou setters).

Maintenance et contrôle de la base de données facilités

Et voilà. Dès lors que les applications multiniveaux se banalisent sur notre plate-forme, et que les choix d’interfaces se multiplient, cette approche me semble efficace pour contrôler l’accès à une base de données et pour la maintenir. J’espère que vous constaterez la même chose. Bonne et heureuse génération !

Les figures et illustrations de cet article sont accessibles via le Club Abonnés.

Tech Stories

Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

Le renouvellement d’un parc IT peut rapidement faire grimper les dépenses. Inventaire incomplet, postes surdimensionnés, manque de standardisation, perte de valeur du matériel et achats réactifs : découvrez les cinq…

Lire l'article : Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

Ressource IT

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…

Découvrir la ressource : SIEM & PME : Comment construire la boîte noire de votre SI ?

Inscrivez-vous

Newsletter iTPro

it-pro

Rédigé par it-pro

Tous ses articles →

Bases de données modernes

À lire également...

  • BYOD - Les atouts cachés du Bring Your Own Model pour les entreprises - iTPro.fr
    Bases de données modernes

    Les atouts cachés du Bring Your Own Model pour les entreprises

    Par

    Sabine Terrey
    25 octobre 2024
    4 minutes
  • Change Data Capture pour les entreprises qui réussisent
    Bases de données modernes

    Le Change Data Capture est l’avenir des entreprises qui réussissent

    Par

    Sabine Terrey
    22 mars 2024
    4 minutes
  • comment_Migrer_vos_bases_de_donnees_dans_le_cloud
    Bases de données modernes Cloud & Infrastructure

    Migration des bases de données dans le cloud : mode d’emploi

    Par

    Sabine Terrey
    9 janvier 2023
    4 minutes
  • Bases de données modernes Cloud & Infrastructure

    Pourquoi migrer ses bases de données dans le Cloud 

    Par

    Sabine Terrey
    12 décembre 2022
    6 minutes
ITPro
  • X
  • Linkedin
  • Facebook
  • Instagram
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Ressources IT
  • Espace responsable sécurité
  • Espace DSI
  • Espace Architecte IT
  • Espace IT Manager
  • Espace Responsable Data / IA

Inscrivez-vous

Newsletter iTPro

© iTPro.fr

  • Comité éditorial
  • Régie médias
  • Mentions-légales
  • Gestion et protection des données personnelles
  • Gestion des cookies
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}