Wie Verwenden von SQL in einer Anwendung

Um SQL in einer Anwendung verwenden, müssen Sie es mit einem Mähdrescher Verfahrens

Sprache wie Visual Basic, C, C ++, C #, Java, COBOL oder Python. Aufgrund der Art, es strukturiert ist, hat SQL einige Stärken und Schwächen. Verfahrenssprachen sind unterschiedlich von SQL strukturiert, und folglich haben anders Stärken und Schwächen.

Glücklicherweise neigen die Stärken von SQL für die Schwächen der Verfahrenssprachen zu machen, und die Stärken der Verfahrenssprachen sind in jenen Bereichen, in denen SQL schwach ist. Durch die Kombination der beiden, können Sie leistungsstarke Anwendungen mit einem breiten Spektrum von Fähigkeiten aufzubauen.

Vor kurzem, objektorientierte schnelle Entwicklung Anwendung (RAD) Tools, wie Microsoft Visual Studio und der Open-Source-Eclipse-Umgebung, erschienen, die in durch Manipulation am Bildschirm Objekte entwickelten Anwendungen SQL-Code integrieren, anstatt prozeduralen Code zu schreiben.

Halten Sie ein Auge für das Sternchen

Der Stern (*) Dient als Abkürzung für Ersatz # 147-alle Spalten in der Tabelle. # 148- Wenn die Tabelle zahlreiche Spalten hat, kann das Sternchen eine Menge Tipparbeit sparen. Allerdings mit dem Stern auf diese Weise ist problematisch, wenn Sie SQL in einem Anwendungsprogramm verwendet werden. Nachdem Sie Ihre Anwendung geschrieben wird, kann Sie oder jemand anderes neue Spalten zu einer Tabelle hinzufügen oder alte löschen.

Dadurch ändert sich so die Bedeutung von # 147-alle Spalten. # 148- Wenn Ihre Anwendung legt fest, # 147-alle Spalten # 148- mit einem Stern, kann es Spalten mit Ausnahme derjenigen, abrufen es denkt, es wird.

Eine solche Änderung zu einer Tabelle hat keine Auswirkungen auf bestehende Programme, bis sie neu kompiliert werden müssen einen Fehler zu beheben oder eine Änderung vornehmen, vielleicht Monate, nachdem die Änderung vorgenommen wurde. Dann wird die Wirkung der * Wildcard erweitert die alle zu umfassen jetzt Stromkolonnen. Diese Änderung kann die Anwendung verursachen, in einer Weise, die nicht mit der Bug-Fix (oder andere Änderungen) zum Scheitern verurteilt, Ihren eigenen persönlichen Debuggen Alptraum zu schaffen.

Um sicher zu sein, geben Sie bitte alle Spaltennamen explizit in einer Anwendung stattdessen den Sternchen-Platzhalter zu verwenden.

SQL Stärken und Schwächen

Wenn wichtige Informationen irgendwo in einem Single-Table begraben liegt oder Multitable-Datenbank, gibt SQL Ihnen die Werkzeuge benötigen Sie, um es abzurufen. Sie brauchen nicht die Reihenfolge der Tabellenzeilen oder -spalten zu wissen, weil SQL mit Zeilen oder Spalten behandelt nicht einzeln. Die SQL-Transaktionsverarbeitungsanlagen sicherzustellen, dass Ihre Datenbank-Operationen durch andere Benutzer nicht beeinflusst werden, die gleichzeitig sein kann, die gleichen Tabellen zugreifen, die Sie sind.

Eine große Schwäche von SQL ist seine rudimentäre Benutzeroberfläche. Es hat keine Vorkehrungen für Bildschirme oder Berichte zu formatieren. Er akzeptiert Befehlszeilen von der Tastatur und sendet abgerufene Werte an den Bildschirm, eine Zeile zu einem Zeitpunkt.

Manchmal ist eine Stärke in einem Kontext ist eine Schwäche in einem anderen. Eine Stärke von SQL ist, dass es auf eine gesamte Tabelle auf einmal arbeiten kann. Ob der Tabelle hat eine Zeile, hundert Zeilen oder hunderttausend Zeilen, eine einzige WÄHLEN Anweisung kann die gewünschten Daten zu extrahieren.

SQL kann nicht einfach in einer Zeit auf einer Reihe arbeiten, aber - und manchmal möchten Sie individuell mit jeder Zeile zu beschäftigen. In solchen Fällen können Sie SQL-Cursor Einrichtung verwenden, oder Sie können eine prozedurale Host-Sprache verwenden.

Verfahrenssprachen "Stärken und Schwächen

Verfahrenssprachen sind für einzeilige-at-a-time-Operationen entwickelt, die die Anwendungsentwickler eine genaue Kontrolle über die Art und Weise geben eine Tabelle bearbeitet wird. Diese detaillierte Kontrolle ist eine große Stärke von Verfahrenssprachen. Aber eine entsprechende Schwäche ist, dass der Anwendungsentwickler detaillierte Kenntnis haben müssen, wie die Daten in den Datenbanktabellen gespeichert ist. Die Reihenfolge der Datenbank des Spalten und Zeilen ist signifikant und müssen berücksichtigt werden.

Wegen der Schritt-für-Schritt-Charakter der Verfahrenssprachen, sie haben die Flexibilität, benutzerfreundliche Bildschirme für die Dateneingabe und Anzeige zu erzeugen. Sie können auch anspruchsvolle gedruckte Berichte mit jedem gewünschten Layout produzieren.

Probleme bei der Kombination von SQL mit einer prozeduralen Sprache

Es macht Sinn, zu versuchen, SQL und Verfahrenssprachen in einer solchen Art und Weise zu kombinieren, die Sie von ihrer gegenseitigen Stärken profitieren können und nicht durch ihre kombinierten Schwächen bestraft werden. So wertvoll eine solche Kombination sein können, müssen Sie einige Herausforderungen zu meistern, bevor Sie diese perfekte Ehe in einer praktischen Art und Weise erreichen können.

Kontras Betriebsmodi

Ein großes Problem SQL mit einer prozeduralen Sprache in Kombination ist, dass SQL auf Tabellen einen Satz zu einem Zeitpunkt arbeitet, während Verfahrenssprachen zu einer Zeit auf ihnen eine Reihe arbeiten. Manchmal ist dieses Thema keine große Sache. Sie können Set-Operationen von Zeilenoperationen zu trennen, die jeweils mit dem entsprechenden Werkzeug zu tun.

Aber wenn Sie einen Tisch für Aufzeichnungen der Erfüllung bestimmter Bedingungen suchen möchten und verschiedene Operationen auf den Aufzeichnungen führen, je nachdem, ob sie die Voraussetzungen erfüllen, können Sie ein Problem haben. Ein solches Verfahren erfordert sowohl die Abrufleistung von SQL und die Verzweigungsfähigkeit einer prozeduralen Sprache.

Embedded SQL gibt Ihnen diese Kombination von Fähigkeiten. Sie können einfach einbetten SQL-Anweisungen, die an strategischen Stellen innerhalb eines Programms, das Sie in einem herkömmlichen prozeduralen Sprache geschrieben sind.

Datentyp Inkompatibilitäten

Eine weitere Hürde für die reibungslose Integration von SQL mit einer beliebigen Verfahrenssprache ist, dass SQL die Datentypen aus den Datentypen von allen wichtigen Verfahrenssprachen unterscheiden. Dieser Umstand sollte nicht überraschen, weil die Datentypen für jede Verfahrenssprache definiert unterscheiden sich von den Typen für die anderen Verfahrenssprachen.

Sie können hoch und niedrig aussehen, aber Sie werden keine Standardisierung von Datentypen über Sprachen finden. In SQL Versionen vor SQL-92, Datentyp-Inkompatibilität war ein wichtiges Anliegen. In SQL-92 (und auch in nachfolgenden Versionen des SQL-Standards), die BESETZUNG Erklärung befasst sich mit dem Problem.

Menü