Comment utiliser SQL dans une application

Pour utiliser SQL dans une application, vous devez combiner avec un de procédure

Sommaire

langage tel que Visual Basic, C, C ++, C #, Java, COBOL, ou Python. En raison de la façon dont il est structuré, SQL a des forces et des faiblesses. Les langages procéduraux sont structurés différemment à partir de SQL, et par conséquent avoir différent forces et faiblesses.

Heureusement, les forces de SQL ont tendance à compenser les faiblesses des langages procéduraux, et les points forts des langages procéduraux sont dans les zones où SQL est faible. En combinant les deux, vous pouvez créer des applications puissantes avec un large éventail de capacités.

Récemment, orienté objet développement rapide d'applications (RAD) des outils, tels que Visual Studio de Microsoft et l'open-source Eclipse, l'environnement sont apparues, qui intègrent du code SQL dans les applications développées par la manipulation d'objets à l'écran au lieu d'écrire du code procédural.

Gardez un œil sur l'astérisque

L'astérisque (*) Sert de substitut pour la sténographie “. Toutes les colonnes de la table ” Si la table a de nombreuses colonnes, l'astérisque peut sauver beaucoup de dactylographie. Cependant, en utilisant l'astérisque de cette façon est problématique lorsque vous utilisez SQL dans un programme d'application. Après votre application est écrite, vous ou quelqu'un d'autre pouvez ajouter de nouvelles colonnes à une table ou supprimer les anciens.

Cela change le sens de “ toutes les colonnes ”.; Lorsque votre application spécifie “ toutes les colonnes ” d'un astérisque, il peut récupérer les colonnes autres que ceux qu'il pense qu'il se fait.

Un tel changement à une table ne pas affecter les programmes existants jusqu'à ce qu'ils doivent être recompilés pour corriger un bug ou faire un changement, peut-être mois après la modification a été apportée. Ensuite, l'effet de la * générique se développe pour inclure toutes les colonnes maintenant en vigueur. Ce changement peut entraîner l'application à l'échec d'une manière sans rapport avec le correctif de bug (ou d'autres changements), créer votre propre cauchemar de débogage personnelle.




Pour être sûr, préciser tous les noms de colonnes explicitement dans une application au lieu d'utiliser le caractère générique astérisque.

Forces et faiblesses SQL

Si l'information importante est enterré quelque part dans une seule table ou base de données multitable, SQL vous donne les outils dont vous avez besoin pour le récupérer. Vous ne devez pas connaître l'ordre des lignes ou des colonnes de la table parce que SQL ne traite pas avec des lignes ou des colonnes individuellement. Les installations SQL de traitement des transactions en sorte que vos opérations de base de données ne sont pas affectés par d'autres utilisateurs qui peuvent être simultanément un accès aux mêmes tables que vous êtes.

Une faiblesse majeure de SQL est son interface utilisateur rudimentaire. Il ne contient aucune disposition pour des écrans ou des rapports de formatage. Il accepte des lignes de commande à partir du clavier et envoie valeurs récupérées à l'écran, une ligne à la fois.

Parfois, une résistance dans un contexte est une faiblesse dans un autre. Une force de SQL est qu'il peut fonctionner sur une table entière à la fois. Si la table comporte une ligne, une centaine de lignes, ou une centaine de milliers de lignes, une seule SELECT déclaration peut extraire les données que vous souhaitez.

SQL ne peut pas fonctionner facilement sur une ligne à la fois, cependant - et parfois vous ne voulez traiter avec chaque ligne individuellement. Dans de tels cas, vous pouvez utiliser le curseur installations de SQL ou vous pouvez utiliser un langage hôte procédurale.

Les forces et les faiblesses de langages procéduraux

Les langages procéduraux sont conçus pour une rangée-à-un-temps, les opérations qui donnent le développeur de l'application un contrôle précis sur la façon dont une table est traitée. Ce contrôle détaillée est une grande force de langages procéduraux. Mais une faiblesse correspondante est que le développeur de l'application doit avoir une connaissance détaillée sur la façon dont les données sont stockées dans les tables de base de données. L'ordre des colonnes et des lignes de la base de données est importante et doit être prise en compte.

En raison de la nature étape-par-étape de langages procéduraux, ils ont la possibilité de produire des écrans conviviaux pour la saisie de données et la visualisation. Vous pouvez également produire des rapports imprimés sophistiqués avec toute disposition souhaitée.

Problèmes en combinant SQL avec un langage procédural

Il est logique d'essayer de combiner SQL et les langues de procédure dans une telle manière que vous pouvez tirer profit de leurs forces mutuelles et ne pas être pénalisés par leurs faiblesses combinés. Aussi précieux qu'une telle combinaison peut être, vous devez surmonter certains défis avant de pouvoir atteindre ce mariage parfait d'une manière pratique.

Contrastant modes de fonctionnement

Un gros problème en combinant SQL avec un langage procédural est que SQL fonctionne sur les tables d'un ensemble à un moment, alors que les langages procéduraux travaillent sur eux une rangée à la fois. Parfois, cette question est pas une grosse affaire. Vous pouvez séparer les opérations Set des opérations de rangée, faisant chacun avec l'outil approprié.

Mais si vous voulez chercher une table pour les enregistrements répondant à certaines conditions et effectuer différentes opérations sur les dossiers selon qu'ils remplissent les conditions, vous pouvez avoir un problème. Un tel processus nécessite à la fois la puissance de recherche de SQL et de la capacité de branchement d'un langage procédural.

Embedded SQL vous donne cette combinaison de capacités. Vous pouvez tout simplement Intégrer Instructions SQL à des endroits stratégiques au sein d'un programme que vous avez écrit dans un langage procédural classique.

Incompatibilités de type de données

Un autre obstacle à la bonne intégration de SQL avec un langage procédural est que les types de données de SQL diffèrent des types de toutes les principales langues de procédure de données. Cette circonstance ne devrait pas être surprenant, car les types de données définis pour tout langage procédural sont différents des types pour les autres langues de procédure.

Vous pouvez regarder haut et bas, mais vous ne trouverez pas de normalisation des types de données à travers les langues. Dans SQL libère avant que SQL-92, de type de données incompatibilité était une préoccupation majeure. Dans SQL-92 (et aussi dans les versions ultérieures du standard SQL), le CAST déclaration aborde le problème.


» » » » Comment utiliser SQL dans une application