<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-x-formal">
	<id>https://glossar.hs-augsburg.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Grueni</id>
	<title>GlossarWiki - Benutzerbeiträge [de-formal]</title>
	<link rel="self" type="application/atom+xml" href="https://glossar.hs-augsburg.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Grueni"/>
	<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/Spezial:Beitr%C3%A4ge/Grueni"/>
	<updated>2026-07-17T14:17:13Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Kategorie:SQL&amp;diff=13152</id>
		<title>Kategorie:SQL</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Kategorie:SQL&amp;diff=13152"/>
		<updated>2009-07-17T07:40:43Z</updated>

		<summary type="html">&lt;p&gt;Grueni: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
SQL (Structured Query Language) ist die beliebteste Sprache um Daten von einem realtionellen &amp;lt;br/&amp;gt;Datenbank Management System anzulegen, zu updaten, löschen und empfangen.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Geschichte=&lt;br /&gt;
&lt;br /&gt;
SQL wurde in den frühen 70er Jahren bei IBM von Programmieren Andrew Richardson, Donald C. Messerly und Raymond F. Boyce entwickelt. Anfangs noch SEQUEL genannt, wurde sie entwickelt um Daten in IBM&#039;s Datenbankanwendung namens System R zu manipulieren und zu suchen. 1985 wurde dann es dann als SQL von IBM patentiert.&lt;br /&gt;
&lt;br /&gt;
Während den 70er Jahren entwickelte eine Gruppe von Spezialist am IMB San Jose Research Laboratory das System R relational database management system. Anschließend haben Donald D. Chamberlin und Raymond F. Boyce die Structired English Query Language (SEQUEL oder SEQL) erschaffen um Daten in das neue Datenbankprogramm System R abspeichern zu können. Später musste &amp;quot;SEQUEL&amp;quot; in SQL umbenannt werden, weil es Markenverletzungen mit der britischen &amp;quot;Hawker Siddeley aicraft company&amp;quot; gab.&lt;br /&gt;
&lt;br /&gt;
Die ersten relationalen Datenbankmanagementsysteme waren RDMS, welches am MIT in den frühen 70er entwickelt wurde und Ingres, entwickelt 1974 am U.C. Berkeley. Ingres war das erste DBMS welches QUEL impelentert hatte, eine Abfragesprache, welche später in SQL impelentiert wurde.&lt;br /&gt;
&lt;br /&gt;
In den späten 70ern hatte Oracle (früher als Relational Software, Inc. bekannt) das Potential von SQL entdeckt und fingen damit an ihre eigene SQL-basierte Datenbank zu schreiben. Ihre Hoffnung war es dieses Datenbanksystem an die US Regierung verkaufen zu können. Im Sommer 1979 hat dann Oracle schließlich die erste kommerzell erhählte Impelentierung von SQL, namens Oracle V2 (Version2) für VAX Computer veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
=Allgemeines=&lt;br /&gt;
SQL wird von fast allen Datenbanksystemen unterstützt, da es von ANSI und ISO standardisiert ist. &amp;lt;br/&amp;gt; Der SQL Sprachstandard wird heute in den meist verbreitesten Datenbanksystemen zumindest &amp;lt;br/&amp;gt; zum Teil implementiert. Dadurch wird es möglich Datenbanksystem unabhängige Programme zu &amp;lt;br/&amp;gt; schreiben. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Trotz dieser SQL Standards verwendet jedes System noch erweiterte Sprachelemente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Datenbankmanagementsysteme=&lt;br /&gt;
-Oracle &amp;lt;br/&amp;gt;&lt;br /&gt;
-Sybase &amp;lt;br/&amp;gt;&lt;br /&gt;
-MySQL &amp;lt;br/&amp;gt;&lt;br /&gt;
-PostgreSQL &amp;lt;br/&amp;gt;&lt;br /&gt;
-Microsoft SQL Server &amp;lt;br/&amp;gt;&lt;br /&gt;
-Informix &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
*[[Davis, M. et al. (2007): Learning PHP &amp;amp; MySQL]]&lt;br /&gt;
*[[http://http://www.postgresql.org]]&lt;br /&gt;
*[[http://en.wikipedia.org/wiki/SQL]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossar]]&lt;br /&gt;
[[Kategorie:Informatik]]&lt;/div&gt;</summary>
		<author><name>Grueni</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Unterabfrage&amp;diff=13122</id>
		<title>Unterabfrage</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Unterabfrage&amp;diff=13122"/>
		<updated>2009-07-17T06:53:23Z</updated>

		<summary type="html">&lt;p&gt;Grueni: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
&lt;br /&gt;
Um in SQL eine verschachtelte SQL-Select-Abfrage zu machen, werden die sog. Sub-Querys dafür verwendet. Sie tragen dazu bei, das eine Anfrage komplexer wird. Ein anderes Wort für Subqueries wäre die Unterabfrage. Subqueries tragen dazu bei, dass man einen genauren Blick in die Datenstruktur einer Datenbank bekommt. Ein Subquerie kann mit den Befehlen SELECT, JOIN, WHERE und GROUP BY getätigt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiele=&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Beispielen soll klar gemacht werden, in welchen Situationen man einen Subquerie benützt. &lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit IN bzw. NOT IN ==&lt;br /&gt;
&lt;br /&gt;
Es wird nach Artikeln gesucht, die keine Aufträge haben&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT artikel_nr, bezeichnung&lt;br /&gt;
FROM artikel&lt;br /&gt;
WHERE artikel_nr not in&lt;br /&gt;
   (&lt;br /&gt;
   SELECT artikel_nr &lt;br /&gt;
   FROM auftrag_pos&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann hier sehr gut sehen, dass der Sub-Query die SELECT Abfrage in den Klammern nach dem NOT IN ist. In diesem Beispiel wird eine neue Zwischenmenge erzeugt für jede Zeile in &amp;quot;ARTIKEL&amp;quot; , die alle Artikelnummern (artikel_nr) aus der Tabelle &amp;quot;AUFTRAG_POS&amp;quot; enthält. Dann wird für jede Zeile geprüft, ob die Artikelnummer, in der Zwischenmenge enthalten ist. Man hätte diesen Sub-Querie auch noch mit einem WHERE erweitern können.&lt;br /&gt;
&lt;br /&gt;
Problematisch ist die NOT IN Abfrage deshalb, weil die erzeugte Zwischenmenge unnötig groß wird und deshalb aus performance-technischen Gründen nicht ausgeführt werden sollte.&lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit EXISTS bzw. NOT EXISTS ==&lt;br /&gt;
&lt;br /&gt;
Das selbe Beispiel noch einmal, nur dieses mal mit NOT EXSITS:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT artikel_nr, bezeichnung&lt;br /&gt;
FROM artikel a&lt;br /&gt;
WHERE not exists&lt;br /&gt;
   (&lt;br /&gt;
   SELECT artikel_nr &lt;br /&gt;
   FROM auftrag_pos ap&lt;br /&gt;
   WHERE ap.artikel_nr = a.artikel_nr&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Abfrage ist deutlich kleiner, da keine so große Zwischenmenge erzeugt wird. In diesem Beispeil werden die Artikelnummer (arikel_nr) der beiden Tabellen miteiander verglichen, um somit zu schauen ob es einen Auftrag zu finden, der mit keiner Artikelnummer verbunden ist.&lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit  &amp;quot;=&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Es wird nach Aufträge gesucht, welchen den höchsten Umsatz erzeugt haben:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT auftrag_nr&lt;br /&gt;
FROM auftrag_pos&lt;br /&gt;
WHERE anzahl * preis =&lt;br /&gt;
   (&lt;br /&gt;
   SELECT MAX(SUM(anzahl*preis))&lt;br /&gt;
   FROM auftrag_pos&lt;br /&gt;
   GROUP BY auftrag_nr&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der &amp;quot;=&amp;quot; Operator kann auch für Unterabfragen verwendet werden. Im oberen Beispiel wird geschaut, welcher Auftrag den höchten Umsatz erzielt hat in dem durch MAX(SUM(anzahl*preis) die maximale höchste Summe eines Auftrags ermittelt wird.&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
*[http://www.datenbank-sql.de/oracle-subquery.htm  weitere Beispiele für Subqueries mit einer Zeile und einer Spalte ] Stand 17.07.2008&lt;br /&gt;
*[http://www.sql-und-xml.de/sql-tutorial/subqueries-unterabfragen.html  erweiterte Definition eines Sub-Querys mit weiteren Beispielen] Stand 17.07.2008&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Daten-Management]]&lt;br /&gt;
[[Kategorie:Informatik]]&lt;br /&gt;
[[Kategorie:SQL]]&lt;/div&gt;</summary>
		<author><name>Grueni</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Unterabfrage&amp;diff=13111</id>
		<title>Unterabfrage</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Unterabfrage&amp;diff=13111"/>
		<updated>2009-07-17T06:06:00Z</updated>

		<summary type="html">&lt;p&gt;Grueni: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
&lt;br /&gt;
Um in SQL eine verschachtelte SQL-Select-Abfrage zu machen, werden die sog. Sub-Querys dafür verwendet. Sie tragen dazu bei, das eine Anfrage komplexer wird. Ein anderes Wort für Subqueries wäre die Unterabfrage. Subqueries tragen dazu bei, dass man einen genauren Blick in die Datenstruktur einer Datenbank bekommt. Ein Subquerie kann mit den Befehlen SELECT, JOIN, WHERE und GROUP BY getätigt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiele=&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Beispielen soll klar gemacht werden, in welchen Situationen man einen Subquerie benützt. &lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit IN bzw. NOT IN ==&lt;br /&gt;
&lt;br /&gt;
Es wird nach Artikeln gesucht, die keine Aufträge haben&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT artikel_nr, bezeichnung&lt;br /&gt;
FROM artikel&lt;br /&gt;
WHERE artikel_nr not in&lt;br /&gt;
   (&lt;br /&gt;
   SELECT artikel_nr &lt;br /&gt;
   FROM auftrag_pos&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann hier sehr gut sehen, dass der Sub-Query die SELECT Abfrage in den Klammern nach dem NOT IN ist. In diesem Beispiel wird eine neue Zwischenmenge erzeugt für jede Zeile in &amp;quot;ARTIKEL&amp;quot; , die alle Artikelnummern (artikel_nr) aus der Tabelle &amp;quot;AUFTRAG_POS&amp;quot; enthält. Dann wird für jede Zeile geprüft, ob die Artikelnummer, in der Zwischenmenge enthalten ist. Man hätte diesen Sub-Querie auch noch mit einem WHERE erweitern können.&lt;br /&gt;
&lt;br /&gt;
Problematisch ist die NOT IN Abfrage deshalb, weil die erzeugte Zwischenmenge unnötig groß wird und deshalb aus performance-technischen Gründen nicht ausgeführt werden sollte.&lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit EXISTS bzw. NOT EXISTS ==&lt;br /&gt;
&lt;br /&gt;
Das selbe Beispiel noch einmal, nur dieses mal mit NOT EXSITS:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT artikel_nr, bezeichnung&lt;br /&gt;
FROM artikel a&lt;br /&gt;
WHERE not exists&lt;br /&gt;
   (&lt;br /&gt;
   SELECT artikel_nr &lt;br /&gt;
   FROM auftrag_pos ap&lt;br /&gt;
   WHERE ap.artikel_nr = a.artikel_nr&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Abfrage ist deutlich kleiner, da keine so große Zwischenmenge erzeugt wird. In diesem Beispeil werden die Artikelnummer (arikel_nr) der beiden Tabellen miteiander verglichen, um somit zu schauen ob es einen Auftrag zu finden, der mit keiner Artikelnummer verbunden ist.&lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit  &amp;quot;=&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Es wird nach Aufträge gesucht, welchen den höchsten Umsatz erzeugt haben:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT auftrag_nr&lt;br /&gt;
FROM auftrag_pos&lt;br /&gt;
WHERE anzahl * preis =&lt;br /&gt;
   (&lt;br /&gt;
   SELECT MAX(SUM(anzahl*preis))&lt;br /&gt;
   FROM auftrag_pos&lt;br /&gt;
   GROUP BY auftrag_nr&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der &amp;quot;=&amp;quot; Operator kann auch für Unterabfragen verwendet werden. Im oberen Beispiel wird geschaut, welcher Auftrag den höchten Umsatz erzielt hat in dem durch MAX(SUM(anzahl*preis) die maximale höchste Summe eines Auftrags ermittelt wird.&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
*[http://www.sql-und-xml.de/sql-tutorial/subqueries-unterabfragen.html  erweiterte Definition eines Sub-Querys mit weiteren Beispielen] Stand 17.07.2008&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Daten-Management]]&lt;br /&gt;
[[Kategorie:Informatik]]&lt;br /&gt;
[[Kategorie:SQL]]&lt;/div&gt;</summary>
		<author><name>Grueni</name></author>
	</entry>
	<entry>
		<id>https://glossar.hs-augsburg.de/w/index.php?title=Unterabfrage&amp;diff=13110</id>
		<title>Unterabfrage</title>
		<link rel="alternate" type="text/html" href="https://glossar.hs-augsburg.de/w/index.php?title=Unterabfrage&amp;diff=13110"/>
		<updated>2009-07-17T06:04:49Z</updated>

		<summary type="html">&lt;p&gt;Grueni: Die Seite wurde neu angelegt: =Definition=  Um in SQL eine verschachtelte SQL-Select-Abfrage zu machen, werden die sog. Sub-Querys dafür verwendet. Sie tragen dazu bei, das eine Anfrage komplexer w...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Definition=&lt;br /&gt;
&lt;br /&gt;
Um in SQL eine verschachtelte SQL-Select-Abfrage zu machen, werden die sog. Sub-Querys dafür verwendet. Sie tragen dazu bei, das eine Anfrage komplexer wird. Ein anderes Wort für Subqueries wäre die Unterabfrage. Subqueries tragen dazu bei, dass man einen genauren Blick in die Datenstruktur einer Datenbank bekommt. Ein Subquerie kann mit den Befehlen SELECT, JOIN, WHERE und GROUP BY getätigt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiele=&lt;br /&gt;
&lt;br /&gt;
Mit den folgenden Beispielen soll klar gemacht werden, in welchen Situationen man einen Subquerie benützt. &lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit IN bzw. NOT IN ==&lt;br /&gt;
&lt;br /&gt;
Es wird nach Artikeln gesucht, die keine Aufträge haben&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT artikel_nr, bezeichnung&lt;br /&gt;
FROM artikel&lt;br /&gt;
WHERE artikel_nr not in&lt;br /&gt;
   (&lt;br /&gt;
   SELECT artikel_nr &lt;br /&gt;
   FROM auftrag_pos&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann hier sehr gut sehen, dass der Sub-Query die SELECT Abfrage in den Klammern nach dem NOT IN ist. In diesem Beispiel wird eine neue Zwischenmenge erzeugt für jede Zeile in &amp;quot;ARTIKEL&amp;quot; , die alle Artikelnummern (artikel_nr) aus der Tabelle &amp;quot;AUFTRAG_POS&amp;quot; enthält. Dann wird für jede Zeile geprüft, ob die Artikelnummer, in der Zwischenmenge enthalten ist. Man hätte diesen Sub-Querie auch noch mit einem WHERE erweitern können.&lt;br /&gt;
&lt;br /&gt;
Problematisch ist die NOT IN Abfrage deshalb, weil die erzeugte Zwischenmenge unnötig groß wird und deshalb aus performance-technischen Gründen nicht ausgeführt werden sollte.&lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit EXISTS bzw. NOT EXISTS ==&lt;br /&gt;
&lt;br /&gt;
Das selbe Beispiel noch einmal, nur dieses mal mit NOT EXSITS:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT artikel_nr, bezeichnung&lt;br /&gt;
FROM artikel a&lt;br /&gt;
WHERE not exists&lt;br /&gt;
   (&lt;br /&gt;
   SELECT artikel_nr &lt;br /&gt;
   FROM auftrag_pos ap&lt;br /&gt;
   WHERE ap.artikel_nr = a.artikel_nr&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Abfrage ist deutlich kleiner, da keine so große Zwischenmenge erzeugt wird. In diesem Beispeil werden die Artikelnummer (arikel_nr) der beiden Tabellen miteiander verglichen, um somit zu schauen ob es einen Auftrag zu finden, der mit keiner Artikelnummer verbunden ist.&lt;br /&gt;
&lt;br /&gt;
==Unterabfrage mit  &amp;quot;=&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Alle Auftragsnummern mit dem höchsten Umsatz anzeigen:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT auftrag_nr&lt;br /&gt;
FROM auftrag_pos&lt;br /&gt;
WHERE anzahl * preis =&lt;br /&gt;
   (&lt;br /&gt;
   SELECT MAX(SUM(anzahl*preis))&lt;br /&gt;
   FROM auftrag_pos&lt;br /&gt;
   GROUP BY auftrag_nr&lt;br /&gt;
   );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der &amp;quot;=&amp;quot; Operator kann auch für Unterabfragen verwendet werden. Im oberen Beispiel wird geschaut, welcher Auftrag den höchten Umsatz erzielt hat in dem durch MAX(SUM(anzahl*preis) die maximale höchste Summe eines Auftrags ermittelt wird.&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
*[http://www.sql-und-xml.de/sql-tutorial/subqueries-unterabfragen.html  erweiterte Definition eines Sub-Querys mit weiteren Beispielen] Stand 17.07.2008&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Daten-Management]]&lt;br /&gt;
[[Kategorie:Informatik]]&lt;br /&gt;
[[Kategorie:SQL]]&lt;/div&gt;</summary>
		<author><name>Grueni</name></author>
	</entry>
</feed>