Montag, 14. März 2016

Die Ergebnisse der Landtagswahlen im März 2016

Die vorläufigen Ergebnisse der Landtagswahlen im März 2016 in Baden-Württemberg, Rheinland-Pfalz und Sachsen-Anhalt in Absoluten Zahlen, Relativen Zahlen und Zahlen der Regierungsverteilung.

Absolute Zahlen: Im Verhältnis zu allen Wahlberechtigten.

Relative Zahlen: nach Abzug der Nichtwähler und Ungültigen Stimmen.

Regierungs-Verteilung: nach Abzug der Nichtwähler, Ungültigen Stimmen und der unter die 5-Prozent-Sperrklausel fallenden Parteien.


Vorläufiges Endergebnis der Landtagswahl 2016 in
Baden-Württemberg

Ergebnis Landtagswahl 2016 Baden-Württemberg
Ergebnis Landtagswahl 2016 Baden-Württemberg








Wahlberechtigte 100,00%

7685778

Wahlbeteiligung 70,42%

5412301

Gültige Stimmen 69,74%

5360351


absolut relativ Regierung


Nichtwähler 29,58%

2273477

GRÜNE 21,11% 30,27% 32,42% 1622631

CDU 18,83% 27,00% 28,92% 1447249

AfD 10,53% 15,10% 16,17% 809311

SPD 8,85% 12,68% 13,59% 679872

FDP 5,80% 8,31% 8,90% 445430

Sonstige 2,60% 3,72%
199647

DIE LINKE 2,03% 2,91%
156211

Ungültige 0,68%

51950








Mögliche Koalitionen in Baden-Württemberg

Landtagswahl 2016 Baden-Württemberg - Mögliche Koalitionen
Landtagswahl 2016 Baden-Württemberg - Mögliche Koalitionen

Weiterlesen »

Samstag, 12. März 2016

Thunderbird Enigmail PGP/MIME Standard zu Inline-PGP umstellen

Die GnuPG Verschlüsselung in Thunderbird via Enigmail und OpenPGP hat als Standard-Einstellung PGP/MIME eingestellt. Nicht alle Email-Clienten der Email-Empfänger können damit umgehen. Aber PGP/MIME wird beim Verschlüsseln von Emails empfohlen. 

Es gibt aktuell zwei Verschlüsselungsmethoden von Emails: PGP/INLINE und PGP/MIME.

Aktuell gibt es Probleme mit Enigmail verschlüsselten Emails, weil sich deren Entwickler dazu entschieden haben, PGP/MIME als Standard einzustellen.

PGP/MIME
Bei PGP/MIME wird der Email-Text in eine Datei verschlüsselt und per Anhang versendet. PGP/MIME ist empfehlenswert für das Verschlüsseln und Unterschreiben von HTML-Emails und Attachments (Datei-Anhänge). Bei PGP/MIME wird der Inhalt der Email mit den Anhängen in eine Datei verschlüsselt und versendet.

PGP/INLINE
PGP/INLINE, in Thunderbird Inline-PGP genannt, verschlüsselt den Inhalt der Email und die Anhänge sepparat. Das versenden des Email-Textes und der Anhänge geschieht wie herkömmlich, nur dass diese vor dem Versenden verschlüsselt werden. Der verschlüsselte Email-Text ist in Thunderbird zu sehen. Er kann auch beim Versagen der Thunderbird-internen Entschlüsselung in externen Entschlüsselungsprogrammen mit dem Privat-Schüssel entschlüsselt werden. Einziger Nachteil dieser Verschlüsselungsmethode ist, dass die Dateinamen der Anhänge nicht verschlüsselt versendet werden. Es empfiehlt sich daher, bei PGP/INLINE unverfängliche Dateinamen zu verwenden.

KRITIK
Die Standard-Einstellung von Thunderbird auf PGP/MIME kann als Fehler im Sinne einer Bevormundung angesehen werden. Wie schon erwähnt, können nicht alle Empfänger-seitigen Email-Clienten damit umgehen, bzw. solche verschlüsselten Emails entschlüsseln. Nichts ist ärgerlicher als eine Email, die nicht gelesen werden kann. Ein adäquates Vorgehen wäre, wenn explizit darauf hingewiesen werden würde, dass vor dem Versenden einer PGP/MIME-verschlüsselten Email unbedingt überprüft werden muss, ob der Empfänger diese auch entschlüsseln kann. Eine Standard-Einstellung auf PGP/MIME ist von daher absolut User-unfreundlich, da es Ärger produziert, wenn auch nicht bei jedem, aber eben doch auch.

Typische Fragen der Email-Empfänger sind dann:
  • Die verschlüsselte Email hat einen Anhang, der sich nicht entschlüsseln lässt.
  • Ich kann die Email nicht entschlüsseln.
  • Der Anhang lässt sich nicht entschlüsseln.

Ein aktuell bekanntes Problem besteht bei Android mit PGP E-Mail Verschlüsselung mit K9 und APG.


TUTORIAL
Nun ein Tutorial, wie sie die Thunderbird OpenPGP Standard-Einstellung von PGP/MIME deaktivieren.
Es gibt mehrere Möglichkeiten das Problem zu lösen, bzw. den Standard umzustellen.

Das erste Problem ist, dass PGP/MIME als Standard voreingestellt ist. Deshalb greift PGP/MIME auch, wenn bei den Enigmail-Empfängeregeln bei PGP/MIME "Ja, wenn beim Verfassen ausgewählt" angewählt ist.

Info: Hier werden nun im folgenden zwei Methoden erklärt.

1.) Enigmail-Empfängeregeln
Die Standard-Eistellung in den Empfängerregeln ist folgendermaßen zu erreichen:

1.1.) Menü → Enigmail → Empfängerregeln...
Es öffnet sich der "Editor für Enigmail-Empfänger-Regeln"
Editor für Enigmail-Empfänger-Regeln
Editor für Enigmail-Empfänger-Regeln
1.2.) Dort die entsprechende Email-Adresse auswählen, bei der der Standard PGP/MIME deaktiviert werden soll. Anschließend auf "Bearbeiten" klicken.

Es öffnet sich das Fenster "Enigmail Empfängerregel bearbeiten"
Dort im Drop-Down Menüe bei PGP/MIME "Nie" anwählen und auf OK klicken.
Anschließend im "Editor für Enigmail-Empfänger-Regeln" auch auf OK klicken.
Das ganze anschließend überprüfen, in dem die Fenster noch einmal geöffnet werden, um einen Fehler ausschließen zu können.
Enigmail Empfängerregel bearbeiten
Enigmail Empfängerregel bearbeiten
1.3.) Diese Einstellung kann beim Verfassen einer Email überprüft werden, bzw. dort auch wieder zu PGP/MIME geändert werden.
Dazu muss im Verfassen-Fenster auf "Enigmail:" geklickt werden. Es öffnet sich das Pop-Up Fenster "Enigmail-Sendeoptionen".
Enigmail-Sendeoptionen
Enigmail-Sendeoptionen
2.) Konfigurations-Editor
Die Standard-Einstellung PGP/MIME kann aber auch direkt in Thunderbird OpenPGP als Standard deaktiviert werden. Dies wird zwar nicht empfohlen, aber es ist möglich. Es ist für reine Text-Emails, die sowieso viel empfehlenswerter als HTML-Emails sind, vollkommen ausreichend. Es ist bei PGP/INLINE nur der Umstand der nicht verschlüsselten Dateinamen zu beachten.

Die Standard-Einstellung PGP/MIME kann im Konfigurations-Editor (about:config) von Thunderbird deaktiviert werden. Dieser Konfigurations-Editor, auch "config editor" genannt, ist mit äußerster Vorsicht und nur auf eigene Verantwortung zu bedienen.

2..1.) Der Konfigurations-Editor ist in Thunderbird nicht wie bei Firefox über die Eingabe about:config in der Adresszeile des Browsers zu erreichen, da Thunderbird keine Adresszeile hat.
Der Konfigurations-Editor ist folgend zu erreichen:
Menü ≡ → Einstellungen → Einstellungen → [Punkt] Erweitert → [Reiter] Allgemein → [Button] "Konfiguration bearbeiten..."
Thunderbird Konfiguration bearbeiten...
Thunderbird Konfiguration bearbeiten...
Es öffnet sich ein Warnhinweis.
Thunderbird Gewährleistung Warnhinweis
Thunderbird Gewährleistung Warnhinweis
Dieser Warnhinweis gilt auch für dieses Tutorial!
Nach klicken auf "Ich werde vorsichtig sein, versprochen!" öffnet sich das Fenster "about:config", der sogenannte Konfigurations-Editor.
Thunderbird Konfigurations-Editor
Thunderbird Konfigurations-Editor
In das Suchfeld bei "Suchen:" wird nun "mail.identity.default.pgpMimeMode" eingegeben. Es erscheint die entsprechende Einstellung dafür.
Thunderbird Konfigurations-Editor
Thunderbird Konfigurations-Editor
Nun wird auf die angezeigte Einstellung ein Doppelklick gemacht und der "Wert" ändert sich von "true" auf "false".
Der "Wert" kann auch über Rechtsklick mit der Maus über das Kontextmenü mittels "Umschalten" geändert werden.

Das Manual für diese Einstellung/Preference lautet wie folgt:
mail.identity.default.pgpMimeMode       true
Whether to use Inline PGP or PGP/MIME as cryptographic method:
false: Inline PGP
true: PGP/MIME (default)
Use PGP/MIME by default
Quelle: https://enigmail.wiki/Advanced_Operations

Falls die Spalte "Wert" nicht angezeigt wird, so kann diese über das Spaltenmenü aktiviert werden.
Thunderbird Konfigurations-Editor
Thunderbird Konfigurations-Editor
Abschließend das Fenster "about:config" über das rote     x     oben rechts im Fenster schließen und das "Einstellungen"-Fenster mit dem "OK"-Button schließen.

HINWEIS:
Bei beiden Methoden muss noch überprüft werden, ob in den Konto-Einstellungen für jedes in Thunderbird angelegtes Email-Konto der PGP/MIME Standard abgewählt wurde.

Die Konten-Einstellungen für die Email-Konten sind folgend zu erreichen:
Menü  → Einstellungen → Konten-Einstellungen → [Menü] OpenPGP-Sicherheit
Dort das Häckchen bei "PGP/MIME standardmäßig verwenden abwählen, bzw. nicht setzen.
Thunderbird Konten-Einstellungen
Thunderbird Konten-Einstellungen
Achtung: Diese Einstellung muss für jedes Email-Konto separat durchgeführt werden.

Nun werden alle Emails standardmäßig mit PGP/INLINE verschlüsselt, außer es ist eine anders lautende Enigmail Empfängerregel gesetzt.

Es kann sein, dass die Einstellung erst nach Neustart von Thunderbird, oder gar erst nach Neustart des Computers, wirksam ist.

Ausschluss-Klausel: Keine Garantie. Keine Gewährleistung. Kein Support. Anfragen zwecklos.
Weiterlesen »

Montag, 7. März 2016

PHP - SELECT GREATEST & LEAST value in only one row

Größter und kleinster Wert einer einzigen Zeile in der Datenbank-Tabelle auslesen.
Max and min value in only one row for a database-table.

Die PHP MySQL Befehle sehen das Auslesen des größten und kleinsten Wertes einer einzigen Datenbank-Tabellen-Zeile nicht vor. Das ist sehr schade.

In den Rohdaten einer Datenbank-Tabelle (SQL) sind die Daten einer Datenbank-Tabellen-Zeile zwar in eine Text-Zeile geschrieben, können aber nicht als solche so einfach ausgelesen werden, sondern die Werte sind den Spaltennamen zugeordnet. Das ganze hat Ähnlichkeit mit einem ARRAY, mit dem Werte gegen andere Werte ausgetauscht und Werte zugeordnet werden können.

So sehen die Rohdaten einer SQL-Datei aus (table-one):
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `database-table-name`;
CREATE TABLE `database-table-name` (
  `id` tinyint(8) unsigned NOT NULL,
  `name` tinytext COLLATE utf8_unicode_ci NOT NULL,
  `1980` bigint(20) unsigned NOT NULL,
  `1981` bigint(20) unsigned NOT NULL,
  `1982` bigint(20) unsigned NOT NULL,
  `1983` bigint(20) unsigned NOT NULL,
  `1984` bigint(20) unsigned NOT NULL,
  `1985` bigint(20) unsigned NOT NULL,
  `1986` bigint(20) unsigned NOT NULL,
  `1987` bigint(20) unsigned NOT NULL,
  `1988` bigint(20) unsigned NOT NULL,
  `1989` bigint(20) unsigned NOT NULL,
  `1990` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `database-table-name` (`id`, `name`, `1980`, `1981`, `1982`, `1983`, `1984`, `1985`, `1986`, `1987`, `1988`, `1989`, `1990`) VALUES
(1, 'laus', 258, 325, 554, 147, 115, 648, 541, 221, 554, 998, 905),
(2, 'simi', 254, 144, 141, 582, 774, 325, 369, 366, 144, 547, 507),
(3, 'jenni', 145, 143, 369, 465, 368, 485, 999, 244, 358, 111, 503),
(4, 'trixi', 325, 698, 789, 217, 994, 256, 121, 895, 985, 254, 705),
(5, 'meli', 895, 427, 846, 348, 355, 668, 125, 475, 654, 105, 606),
(6, 'cat', 951, 943, 671, 147, 442, 554, 358, 226, 456, 501, 202);

Es wird empfohlen, Datenbank-Tabellen nach dem Auslesen von Spalten zu gestalten.

Typische Datenbank-Tabellen-Struktur (table-two):








ID name ort date wert

1 laus laushausen 11.03.2015 12345

2 simi simidorf 12.03.2015 56789

3 jenni jennikaff 13.03.2015 54321

4 trixi trixistadt 14.03.2015 69874

5 meli melicity 15.03.2015 25846

6 cat catland 16.03.2015 30102







Mit dieser Datenbank-Tabelle kann mit einer PHP-Schleife sehr einfach eine HTML-Tabelle erstellt werden, in dem jede Datenbank-Tabellen-Spalte (column) in eine verschachtelte while-for-Schleife gepackt wird und bei jedem Durchlauf die nächste Datenbank-Tabellen-Zeile (row) als neue HTML Tabellen-Zeile geschrieben wird.

Mit dieser Datenbank-Tabellen-Struktur ist es einfach, den größten und kleinsten Wert einer Spalte zu ermitteln. Für das Ermitteln des größten und kleinsten Wertes einer Datenbank-Tabellen-Spalte sind die PHP MySQL Befehle MAX und MIN geeignet.
SELECT MAX(column-name) AS max FROM database-table-name

SELECT MIN(column-name) AS min FROM database-table-name

Datenbank-Tabellen sind in MySql auf 1.000 Spalten begrenzt, aber die Zeilenanzahl ist unendlich. Deswegen wird geraten, eine Datenbank-Tabellen-Struktur nach Zeilen auszurichten, so dass die Spaltennamen keine Werte, wie Jahreszahlen, enthalten.
Die verwendete Datenbank-Tabelle in diesem Tutorial sollte eigentlich besser so aussehen (table-one-better):







ID name year wert

1 laus 1980 258

2 laus 1981 325

3 laus 1982 554

4 laus 1983 147

5 laus 1984 115

6 laus 1985 648

7 laus 1986 541

8 laus 1987 221

9 laus 1988 554

10 laus 1989 998

11 laus 1990 905

12 simi 1980 254

13 simi 1981 144

14 simi 1982 141

15 simi 1983 582

16 simi 1984 774

17 simi 1985 325

18 simi 1986 369

19 simi 1987 366

20 simi 1988 144








Mit solch einer Datenbank-Tabellen-Struktur wird jedem Namen (name) nur ein Wert (wert) mit einem Zuordnungs-Wert (year) zugewiesen. Zur besseren Übersichtlichkeit, können die Daten für die einzelnen Namen in extra Tabellen geschrieben werden. Dabei kann dann die Spalte "name" entfallen.

Nun gibt es aber Situationen, in denen die Daten in der Datenbank-Tabellen-Struktur wie in einer herkömmlichen CSV-Datei gespeichert sind. Ein Beispiel dafür in der folgenden Datenbank-Tabelle (table-one).
















ID name 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990

1 laus 258 325 554 147 115 648 541 221 554 998 905

2 simi 254 144 141 582 774 325 369 366 144 547 507

3 jenni 145 143 369 465 368 485 999 244 358 111 503

4 trixi 325 698 789 217 994 256 121 895 985 254 705

5 meli 895 427 846 348 355 668 125 475 654 105 606

6 cat 951 943 671 147 442 554 358 226 456 501 202















Mit dieser Datenbank-Tabelle ist es nicht möglich mittels SELECT MIN MAX den größten und kleinsten Wert für einen Namen zu ermitteln, bzw. auszulesen.

Auch mit SELECT GREATEST und SELECT LEAST ist dies nicht ohne weiteres möglich, aber doch möglich.

Mit folgendem PHP-Script kann der kleinste Wert (SELECT LEAST) einer einzigen Datenbank-Tabellen-Zeile (table-row) ermittelt werden. Dabei ist aber einiges zu beachten, dass nach dem PHP-Script erläutert wird.
<?php

$dbconnect = new mysqli("localhost", "username", "password", "database-table-name");

/* check database-connection */
if (mysqli_connect_errno())
{
printf ("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$dbquery = "SELECT LEAST(`1980`, `1981`, `1982`, `1983`, `1984`, `1985`, `1986`, `1987`, `1988`, `1989`, `1990` ) AS least FROM database-table-name WHERE name = 'meli'";

$dbresult = mysqli_query($dbconnect, $dbquery);

while($row = mysqli_fetch_assoc($dbresult))
{
$min = $row[least];
}

echo $min;

?>

Ergebnis: 105
Der gleiche PHP-Script funktioniert auch mit SELECT GREATEST.
<?php

$dbconnect = new mysqli("localhost", "username", "password", "database-table-name");

/* check database-connection */
if (mysqli_connect_errno())
{
printf ("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$dbquery = "SELECT GREATEST(`1980`, `1981`, `1982`, `1983`, `1984`, `1985`, `1986`, `1987`, `1988`, `1989`, `1990` ) AS greatest FROM database-table-name WHERE name = 'meli'";

$dbresult = mysqli_query($dbconnect, $dbquery);

while($row = mysqli_fetch_assoc($dbresult))
{
$max = $row[greatest];
}

echo $max;

?>

Ergebnis: 895

Was unbedingt zu beachten ist (absolutely attention):

Die folgenden Bedingungen müssen unbedingt beachtet werden. Sie sind Bedingungen, also unbedingte Voraussetzungen für die Funktion der beiden PHP-Scripte.


1.) Backticks verwenden

Es müssen in den PHP-Scripten die Spaltennamen nicht in einfache ( ' ) oder doppelte ( " ) Anführungszeichen gesetzt werden, sondern in sogenannte Backticks ( ` ).

Die Backticks, oder ein Backtick, wird in der Typografie "accent grave" oder "Gravis" genannt.

Die Gravis sind von französischen Buchstaben bekannt: à è ì ò ù.

Backticks sind mit der Tastatur durch drücken der Shift-Taste  ⇧  und der Taste rechts neben dem Fragezeichen ( ? ) mit dem Scharfes-S/Eszett ( ß ) und dem Backslash ( \ ) und dem anschließenden drücken der Leertaste/Space zu erreichen.
Shift ⇧ + ` + Space = `
Es kann aber auch einfach copy & paste verwendet werden.

In PHP werden diese Zeichen auch "Operatoren" genannt.
PHP Manual zur Operatoren: http://php.net/manual/de/language.operators.execution.php

Wikipedia-Artikel zu "Gravis": https://de.wikipedia.org/wiki/Gravis_%28Typografie%29


2.) Keine nicht vorhandenen Spaltennamen verwenden

Es dürfen im SELECT GREATEST und SELECT LEAST Befehl keine Spaltennamen angegeben sein, die nicht in der Datenbank-Tabelle vorhanden sind. Wenn dies der Fall ist, funktioniert der Befehl nicht.

3.) Nach letztem Spaltennamen kein Komma

Nach dem letzten Spaltennamen darf kein Komma gesetzt werden.
`1989`, `1990` )

Wird all das bedacht, müsste das PHP-Script funktionieren.

AUTOMATISIERUNG
Leider wird der SELECT GREATEST und SELECT LEAST Befehl bei Datenbank-Tabellen mit sehr vielen Spaltennamen sehr lang. Dies lässt sich vermeiden, indem die Werte (Jahreszahlen) für den SELECT Befehl generiert werden. Dabei wird eine Funktion benutzt, die einzelne Spaltennamen (columnnames) auslesen kann und eine Funktion, die die Anzahl der Spalten auslesen kann.
<?php
$dbconnect = new mysqli("localhost", "username", "password", "database");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$dbquery = "select * from database-table";
$dbresult = mysqli_query($dbconnect, $dbquery);

// Den ersten Jahres-Spaltennamen auslesen
$firstcolname = mysqli_fetch_field_direct($dbresult, 2); // Zahl 2 ist 3. columnname von links.
$firstyear = $firstcolname->name;

// Anzahl der Spalten in der Datenbank-Tabelle auslesen
$colcount = mysqli_field_count($dbconnect);

// Den Spaltennamen der letzten Spalte berechnen
$lastyear = (($firstyear + $colcount) - 3);

// Anzahl der Spalten mit Jahreszahlen berechnen minus letzte Spalte
$numcolumns = (($lastyear - $firstyear) +2 );

// Generieren der Werte (Jahreszahlen) für die SELECT Funktion
$colnames = ''; // Variable mit den gesammelten Jahreszahlen, außer der letzten
for ( $i = 2; $i < $numcolumns; $i++ )
{
$columnnames = mysqli_fetch_field_direct($dbresult, $i);
$colnames .= '`' . $columnnames->name . '`, '; // Zeichen anfügen, mit Komma
}

// Zeichen an letzte Jahreszahl anfügen (ohne Komma!)
$lastcolname = "`$lastyear`";

// SELECT GREATEST value in only one row
$dbquery = "SELECT GREATEST($colnames $lastcolname ) AS greatest FROM database-table  WHERE name = 'meli'";
$dbresult = mysqli_query($dbconnect, $dbquery);

while($row = mysqli_fetch_assoc($dbresult))
{
$max = $row[greatest];
}

echo $max; // GREATEST Ergebnis

// SELECT LEAST value in only one row
$dbquery = "SELECT LEAST($colnames $lastcolname ) AS least FROM dabase-table  WHERE name = 'meli'";
$dbresult = mysqli_query($dbconnect, $dbquery);

while($row = mysqli_fetch_assoc($dbresult))
{
$min = $row[least];
}

echo $min; // LEAST Ergebnis

mysqli_close($dbconnect);
?>
Dieser PHP-Code funktioniert nur bei aufwärts fortlaufenden Zahlen als Spaltennamen (1, 2, 3, 4, 5, 6, 7, 8, 9, ... ). Sind die Spaltennamen-Zahlen abwärts sortiert, so muss das PHP-Script umgeschrieben werden. Fehlen fortlaufende Zahlen als Spaltennamen, so funktioniert das PHP-Script nicht.
Zu beachten ist, dass die Spaltennamen-Nummerierung bei 0 beginnt. Die 1. Spalte wird also mit 0 angesprochen, die 2. Spalte mit 1, die 3. Spalte mit 2, u.s.w. , und von links aus gezählt.

Infos zum Auslesen der Spaltenanzahl (mysqli_field_count): http://php.net/manual/de/mysqli.field-count.php

Infos zum Auslesen eines bestimmten Spaltennamens (mysqli_fetch_field_direct): http://php.net/manual/de/mysqli-result.fetch-field-direct.php

Nicht getestet wurde das PHP-Script mit einer Datenbank-Tabelle mit Zellen die leer sind, oder mit "NULL" gefüllt sind.


Ausschluss-Klausel: Keine Garantie. Keine Gewähr. Kein Support. Anfragen zwecklos.
Weiterlesen »

Freitag, 4. März 2016

Korrektur der Geschlechterverteilung anhand des Altersunterschieds von Paaren

Die aktuelle Geschlechterverteilung in der Bevölkerungsstatistik in Deutschland und Österreich ist im Vergleich der gleichen Geburtsjahrgänge einigermaßen harmonisch. So gibt es durchschnittlich immer etwas weniger Frauen als Männer. Dies wird sichtbar, wenn die herkömmliche statistische Bevölkerungspyramide um 90° gekippt und ein Geschlecht gespiegelt wird. Diese Statistik zeigt aber nicht die paar-bezogene Geschlechterverteilung. Zur paar-bezogene Geschlechterverteilung muss der durchschnittliche Altersunterschied korrigierend eingearbeitet werden.

Bevölkerungsstatistik nach Geschlecht und Geburtsjahr im Jahr 2014 in Deutschland
Bevölkerungsstatistik nach Geschlecht und Geburtsjahr im Jahr 2014 in Deutschland

Zahlen zum Altersunterschied für Deutschland:
Im Jahr 2012 betrug der durchschnittliche Altersunterschied bei Ehepaaren 3,9 Jahre und bei nichtehelichen Lebensgemeinschaften 4,5 Jahre. Bei 73 % war der Mann und bei 17 % war die Frau älter. Bei den restlichen 10 % der Paare waren beide Partner gleich alt. Für Deutschland liegen keine getrennten Zahlen für Ehepaare und Lebensgemeinschaften vor.
Quelle: Statistisches Bundesamt, Wiesbaden, Destatis; Mikrozensus 2012.

Geschlechterverteilung mit Altersunterschied nach Geburtsjahr (m) im Jahr 2014 in Deutschland
Geschlechterverteilung mit Altersunterschied nach Geburtsjahr (m) im Jahr 2014 in Deutschland

In dem Diagramm wurde die Geschlechterverteilung um 4 Jahre Altersunterschied (Frauen jünger) korrigiert. Mit dieser Verschiebung werden deutliche Abstände im Geschlechterverhältnis sichtbar. So ist der Frauenmangel für Männer mit Geburtsjahr 1963 bis 1972 und 1987 bis 2002 im durchschnittlichen Altersunterschied von 4 Jahren enorm. Hingegen haben die männlichen Jahrgänge von 1974 bis 1978 im durchschnittlichen Altersunterschied von 4 Jahren einen Frauen-Überschuss.

In den Diagrammen werden auch Ereignisse sichtbar, die sich auf die Geburtenrate auswirkten. So gibt es in den Jahren des Zweiten Weltkriegs einen Geburteneinbruch, einen weiteren in der Mitte der 1960er Jahre durch die Einführung der Pille – der sogenannte Pillenknick – und einen zum innerdeutschen Mauerfall 1990.

Zu den Geburteneinbrüchen, die auf die Geburtenrate zurückzuführen sind, kommt noch die Sterberate. So sterben Männer im Durchschnitt eher als Frauen. Dies ist im ersten Diagramm ohne Korrektur des Altersunterschiedes ab dem Geburtsjahr 1958 sichtbar. Ab diesem Geburtsjahr wandelt sich im Jahr 2014 der Frauen-Mangel hin zu einem Frauen-Überschuss.

Für die Wissenschaft und für die Wirtschaft ist hingegen das zweite Diagramm mit dem durchschnittlichen Altersunterschied in vielerlei Hinsicht interessanter. So sind für die Porno- und Prostitutionsbranche, sowie für die Partnervermittlungsbranche, die Jahrgänge mit massivem Frauen-Mangel sehr interessant. Diese Jahrgänge bieten diesen Branchen viele potentielle männliche Kunden. Allerdings birgt die Geschlechterverteilung mit Altersunterschied auch Ursachen für soziale Probleme und psychische Krankheiten.

Der durchschnittliche Altersunterschied von Paaren lässt sich anhand des zweiten Diagramms nicht logisch erklären. Er muss also andere Ursachen haben. Es kommen sowohl sozial-erzieherische als auch moralische in Betracht, aber auch Gewohnheiten. So sind Kinder nicht selten an den Altersunterschied ihrer Eltern gewöhnt und suchen sich Partner mit gleichem Altersabstand.

Der Altersunterschied von Paaren zeigt im zweiten Diagramm sogar, dass hier eine psychische Unlogik vorliegt. Die rein mathematische Logik würde einen ganz anderen Altersunterschied erzeugen, bei dem die Frauen durchschnittlich eher älter wären. Es bleibt herauszufinden was die Ursachen der negativen Auswirkung auf die Geschlechterverteilung sind, um diese aufbrechen zu können.

Einige Ursachen sind ganz sicher in Tabus zu finden. Eines dieser Tabus ist dass der älteren Frau. Dass die Frau jünger sein soll als der Mann, ist weit verbreitet. Wie die statistischen Zahlen zum Altersunterschied von Paaren zeigen, sind nicht alle von diesem Tabu betroffen. Es gibt sozusagen Ausnahmen.

In Österreich verhält es sich ähnlich. Dort sind im durchschnittlichen Altersunterschied allerdings die Frauen nur rund 3 Jahre jünger.

Bevölkerungsstatistik nach Geschlecht und Geburtsjahr im Jahr 2014 in Österreich
Bevölkerungsstatistik nach Geschlecht und Geburtsjahr im Jahr 2014 in Österreich

Zahlen zum Altersunterschied für Österreich:
Im durchschnittlichen Altersabstand bei Eheleuten ist die Frau 2,9 Jahre jünger als der Mann. Bei 17% der Eheleute ist die Frau älter als der Mann. 9% der Eheleute sind gleichaltrig. Bei 11% ist die Frau 1 Jahr jünger, bei 32% 2 bis 4 Jahre jünger, bei 23% 5 bis 9 Jahre jünger und 10 und mehr Jahre jünger bei 8%. Der durchschnittliche Altersabstand bei Neu-Ehen in den letzten 10 Jahren (2004 bis 2014) liegt bei 3,3 Jahren.

Im durchschnittlichen Altersabstand bei Lebensgemeinschaften in Österreich ist die Frau 2,4 Jahre jünger als der Mann. Bei 24% der Lebensgemeinschaften ist die Frau älter als der Mann. 9% der Lebensgemeinschaften sind gleichaltrig. Bei 10% ist die Frau 1 Jahr jünger, bei 26% 2 bis 4 Jahre jünger, bei 22% 5 bis 9 Jahre jünger und 10 und mehr Jahre jünger bei 9%.

Quellen: STATISTIK AUSTRIA [Familien- und Haushaltsstatistik 2012; Tabelle 29: Paare nach Alter des Mannes, Altersabstand der Frau und Familientyp - Jahresdurchschnitt 2012]; [Demographische Indikatoren 2014; Tabelle 11: Eheschließungen, legitimierte Kinder]; eigene Berechnung.

Geschlechterverteilung mit Altersunterschied nach Geburtsjahr (m) im Jahr 2014 in Österreich
Geschlechterverteilung mit Altersunterschied nach Geburtsjahr (m) im Jahr 2014 in Österreich


INFO: Bei den Diagrammen ist zu beachten, dass keiner sein Geburtsjahr wechseln kann, um eine bessere Konstellation in der Geschlechterverteilung zu erreichen. Nur der Altersunterschied der Partnerin / des Partners hat darauf einen Einfluss.

EMPFEHLUNG: http://www.jackhodensack.de/sexratio/
Auf dieser gesonderten Webseite dieses Blogs gibt es sehr detaillierte Statistiken zur Geschlechterverteilung mit Altersunterschieden für Deutschland und Österreich insgesamt, sowie deren einzelnen Bundesländern extra mit ±10 Jahren.


Quellen für Diagramme Deutschland:
Rohdaten-Quelle: Statistisches Bundesamt, Wiesbaden, Genesis-Online;
Berechnungsgrundlage: [12411-0012 Fortschreibung des Bevölkerungsstandes 2014];
Veröffentlichungsdatum: Juli/August 2015.
Darstellung: eigene Berechnung/eigene Darstellung.
Datenlizenz: dl-de/by-2-0

Quellen für Diagramme Österreich:
Rohdaten-Quelle: STATISTIK AUSTRIA
Berechnungsgrundlage: Bevölkerung am 1.1.2015 nach Alter und Bundesland - Männer; Bevölkerung am 1.1.2015 nach Alter und Bundesland - Frauen; [Statistik des Bevölkerungsstandes].
Veröffentlichungsdatum: 11.06.2015.
Darstellung: eigene Berechnung/eigene Darstellung. 


Alle Angaben ohne Gewähr.
Weiterlesen »