MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access - Code Archiv
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 04.01.2015, 00:26   #1
ebs17
MOF Guru
MOF Guru
Standard Grundlagen - SQL ist leicht (0) - Vorspiel

SQL (Structured Query Language) ist leicht. Versprochen. Schauen wir uns das mal am Beispiel ganz entspannt an.
Es sollen Umsatzdatensätze der letzten 30 Tage mit einem Mindestumsatz ausgegeben werden, und das in einer bestimmten Sortierung:
Code:

SELECT Artikel, Umsatz, Umsatztag
FROM tbl_Umsatz 
WHERE Umsatz > 10.5 AND Umsatztag BETWEEN Date() - 30 AND Date()
ORDER BY Artikel, Umsatz DESC, Umsatztag
- Die wenigen Schlüsselworte von SQL sind schnell verstanden und leicht gemerkt.
- Wenn man probehalber versucht, das Ergebnis dieser Abfrage ersatzweise mit einer eigenen Prozedur (bspw. in VBA) gleichlautend zu erzeugen, wird man feststellen, bereits das ist alles andere als simpel.
- Mit SQL (Sprache der 4. Generation) sagt man, was man will - nicht, wie man es genau ausführt, so wie das prozedurale Sprachen wie VB(A), C++, Java uva. (Sprachen der 3. Generation) tun. Im Hintergrund werden selbstredend gleichartige Prozeduren ausgeführt, allerdings in einer dafür hocheffektiven Sprache in hoher Optimierung.
Mit dem Wissen dessen wirkt es dann regelmäßig komisch, wenn jemand klüger und trickreicher sein will und SQL-Anweisungen per VBA ersetzen möchte und da eine Verbesserung erwartet.
- Prinzipiell wichtig für das Verständnis: SQL-Anweisungen (im Bereich Datenverarbeitung, sprich Data Manipulation Language) führen Massendatenoperationen aus, und das in richtiger Umgebung und in richtiger Umsetzung sehr schnell, denn dafür (Verarbeitung von sehr vielen strukturierten Daten) sind sie konzipiert.

Um mit einem Bild zu arbeiten: Aschenputtel pickt nicht Erbse für Erbse aus der Asche (und benötigt da die Hilfe der Tauben, um die Aufgabe in einer überschaubaren Zeit zu lösen), sondern der Inhalt des ganzen Topfes wird mit einem Male über ein Sieb ausgeschüttet. Je nach dem, wie gut das Sieb gewählt wurde, fällt nicht zu viel und nicht zu wenig und nicht das Falsche durch das Sieb, sondern alles, was nicht Erbse ist. Man muss hier also immer in Mengen denken - dann wird es verständlich.

Neben der Schnelligkeit in der Verarbeitung von Daten kann man sich auch etwas mehr Funktionalität in die SQL-Anweisung holen, denn mit SQL kann man etwas mehr anfangen als etwas Sortieren, etwas Filtern oder die Daten, die durch (die notwendige) Normalisierung in verschiedene Tabellen getrennt wurden, wieder per Verknüpfungen zusammenzuführen. Es lohnt sich, einige einfache Ideen auch in einer SQL-Anweisung zu höheren Qualitäten zu kombinieren. In Jet-SQL dürfen Anweisungen bis etwa 64.000 Zeichen lang sein - da ist etwas Luft für Kreativität.

Stichwort Kreativität: Mit dem grafischen Abfrageeditor (Entwurfsansicht) gibt es einen Assistenten, mit dem man SQL-Anweisungen erstellen kann. Über diesen können viele kleine Routinearbeiten erledigt werden, und Fachfremden verhilft er dazu, überhaupt erst einmal zu funktionierenden Anweisungen zu kommen. Dabei hat er eine beachtenswerte Leistungsfähigkeit. Aber natürlich kann ein Assistent nur ein einfaches unteres Spektrum abdecken.

Dieses Spektrum kann und sollte man erweitern, indem man sich der SQL-Ansicht und der eigentlichen SQL-Anweisung hinzu wendet:
- Die Datenbankmaschine führt die SQL-Anweisung aus, nicht ein Geflecht aus Zeilen und Spalten mit Einträgen, wie man es im Abfrageeditor wahrnimmt. Man sollte doch wissen, was man eigentlich tut.
- Die Kenntnis, wie eine funktionierende SQL-Anweisung aussieht, ist auch dann sehr hilfreich, wenn man später für eine höhere Dynamik SQL-Anweisungen per VBA zusammensetzt.
- Elemente der korrekten SQL-Syntax benötigt man an verschiedensten Stellen wie bei einem Kriterium bei DomWert/DLookup & Co. , bei einem Formularfilter oder einem Recordset-FindFirst.
- Gestaltungen mit UNION oder OUTER JOIN sowie dann auch geschachtelte Abfragen werden hier erst möglich.

Also: Keine Angst. SQL ist leicht, und sehr schnell kann man seine Mächtigkeit für richtig große Datenmengen benötigen,
- wenn man auf eine entsprechende Datenbasis wie dem Export aus einem Warenwirtschaftssystem zurückgreift,
- weil erfolgreiche Datenbanken recht oft an Anforderungen und Umfang wachsen,
- weil man selber auch bei eigenen kleinen Tabellen schnell zu Masse kommen kann. Ein kartesisches Produkt (was manchmal ganz erwünscht sein kann) aus drei Tabellen mit je 200 Datensätzen ergibt 200*200*200= 8.000.000 Datensätze.

Quelle: SQL-Tutorial von Jürgen Auer

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.