<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Halloween-Problem</id>
	<title>Halloween-Problem - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Halloween-Problem"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Halloween-Problem&amp;action=history"/>
	<updated>2026-06-02T22:48:35Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Halloween-Problem&amp;diff=605951&amp;oldid=prev</id>
		<title>imported&gt;TaxonBot: Bot: Überarbeitung veralteter Syntax / HTML-Validierung</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Halloween-Problem&amp;diff=605951&amp;oldid=prev"/>
		<updated>2021-04-10T11:59:28Z</updated>

		<summary type="html">&lt;p&gt;Bot: Überarbeitung veralteter Syntax / &lt;a href=&quot;/index.php?title=H:LINT&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;H:LINT (Seite nicht vorhanden)&quot;&gt;HTML-Validierung&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Halloween-Problem&amp;#039;&amp;#039;&amp;#039; bezeichnet ein [[Phänomen]], das bei einem [[Datenbank]]zugriff auftreten kann, bei dem eine [[Update (Datenbank)|Aktualisierung]] durch eine angeknüpfte Bedingung von dem, was es ändert, abhängt. Entdeckt wurde es von Datenbankentwicklern bei [[IBM]] in den [[1970er]]-Jahren. Der Name leitet sich vom Tag der Entdeckung her, dem [[31. Oktober]], an dem das Fest [[Halloween]] gefeiert wird.&lt;br /&gt;
&lt;br /&gt;
== Beispiele für das Halloween-Problem ==&lt;br /&gt;
Ein Halloween-Problem tritt beispielsweise bei den folgenden Anwendungen auf:&lt;br /&gt;
; In jeder Zeile, in der der Wert der Spalte A einem Kriterium K gerecht wird, soll der Wert der Spalte A geändert werden.&lt;br /&gt;
: Die ursprüngliche Form des Halloween-Problems. Im konkreten Fall sollte allen Mitarbeitern eines Betriebes eine Gehaltserhöhung gegeben werden, wenn diese nicht bereits mehr als $25.000 verdienten. Ein Statement mit der Intention „Gib jedem Mitarbeiter, der weniger als $25.000 verdient, eine Gehaltserhöhung von 10 %“ führte dazu, dass die glücklichen Mitarbeiter alle mindestens $25.000 verdienten, da das System das Gehalt so lange erhöhte, bis die Bedingung des &amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;Update&amp;lt;/span&amp;gt;-[[Anweisung (Programmierung)|Statements]] nicht mehr griff.&lt;br /&gt;
; Für jede Zeile in einer [[Datenbanktabelle|Tabelle]] soll eine weitere Zeile hinzugefügt werden.&lt;br /&gt;
: Ein konkretes Beispiel für diese [[Inkarnation]] des Halloween-Problems ist eine Tabelle, in der jeder [[Datensatz]] dupliziert werden soll. Wenn das Halloween-Problem hierbei auftritt, äußert es sich so, dass die Ergebnisse der Verdopplung ihrerseits ebenfalls verdoppelt werden.&lt;br /&gt;
&lt;br /&gt;
== Vermeidung ==&lt;br /&gt;
Der [[SQL]]-Standard sieht vor, dass vor der Anwendung von [[Datenbanktrigger|Triggern]] alle Datensätze in eine temporäre Tabelle kopiert werden müssen. Änderungen wirken sich dann nicht mehr auf Trigger aus. Um ein Halloween-Problem bei anderen Aufgabenstellungen zu vermeiden, können solche temporäre Tabellen manuell für die Laufzeit einer Datenbankabfrage angelegt werden. Das bedeutet, dass beispielsweise eine Gehaltserhöhung für alle Mitarbeiter mit einer Bezahlung unterhalb eines Mindestgehalts so durchgeführt werden kann, dass in einem ersten Arbeitsschritt alle Mitarbeiter mit entsprechend geringem Gehalt ermittelt und in einer temporären Tabelle abgelegt werden. Anschließend wird allen Mitarbeitern, die in der temporären Tabelle enthalten sind, einmalig das Gehalt erhöht.&lt;br /&gt;
&lt;br /&gt;
== Technische Details zur Entstehung ==&lt;br /&gt;
Ein möglicher Grund für das Auftreten eines Halloween-Problems ist, dass der Speicherort einer Zeile durch eine Aktualisierung geändert wird. So kann beispielsweise eine Aktualisierung eine Verlegung der Daten einer Zeile ans Ende oder an eine andere freie Stelle einer Datenbank erfordern. Geht das Datenbanksystem bei der Abarbeitung des Update-Statements dann einfach alle Datensätze der Reihe nach durch, kann es geschehen, dass diese verschobenen Datensätze ein weiteres Mal bearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.mcjones.org/System_R/SQL_Reunion_95/sqlr95-System.html The 1995 SQL Reunion (Protokoll)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datenbanktheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;TaxonBot</name></author>
	</entry>
</feed>