1 Physikalische Datenorganisation RecordDatensatz fester oder variabler Länge mit Feldern bestimmten Typs BlockSpeichereinheit im Hintergrundspeicher (2.

Slides:



Advertisements
Ähnliche Präsentationen
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Vorlesung Programmieren II
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Prof. Dr. T. Kudraß1 Hash-Verfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit.
Die Projektgruppe heißt Sie herzlichst willkommen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Telefonnummer.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Statistiken und Tabellen
EF: Standards + H2O red = H2O.
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Mh9S170Nr6 a. x1= –9; x2 = 1 b. x1= –4; x2 = 1 c. x1= 1; x2 = 2 d. leer e. x1= –15; x2 = 4,2 f. x1= –3,53; x2 = 1,28 g. leer h. x1= 0,2; x2 = 2 i. x1=
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
1 Kapitel 5: Mehrdimensionale Suchstrukturen. 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen
Kapitel 4: Physikalische Datenorganisation
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Logischen Grundverknüpfungen
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Zerlegung von Quadraten und ????
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Prof. Dr. Günter Gerhardinger Soziale Arbeit mit Einzelnen und Familien Übersicht über die Lehrveranstaltung Grundlegende Bestimmungsfaktoren der Praxis.
20:00.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Zusatzfolien zu B-Bäumen
Eine Einführung in die CD-ROM
Dokumentation der Umfrage
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Effiziente Algorithmen
Addieren und Subtrahieren von Dezimalzahlen
Messung der Ionisierungsenergie von Wasserstoff
Das entscheidende Kriterium ist Schönheit; für häßliche Mathematik ist auf dieser Welt kein beständiger Platz. Hardy.
Der Ablauf eines Clear Rex Klärzyklus
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Eine lllustration der Herausforderungen des Stromsystems der Zukunft
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
AGOF facts & figures: Branchenpotenziale im Internet Q1 2014: Reise & Touristik Basis: internet facts / mobile facts 2013III.
Retuschen.ppt Die folgende Schau zeigt die Möglichkeiten, mit PhotoDraw Digitalbilder zu retuschieren. Vergleichen Sie jeweils zwei Bildpaare durch fleissiges.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Parkplatz-Orga Diese Version ist vom finale Version!
Kamin- und Kachelöfen in Oberösterreich
Zusammengestellt von OE3DSB
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Forschungsprojekt Statistik 2013 „Jugend zählt“ – Folie 1 Statistik 2013 „Jugend zählt“: Daten zur Arbeit mit Kindern und Jugendlichen.
AGOF facts & figures: Branchenpotenziale im Internet Q2 2014: Parfum & Kosmetik Basis: internet facts / mobile facts 2014-I.
Bürgermeister Absolute Stimmen Gesamt. Bürgermeister Prozentuale Aufteilung Gesamt.
Folie Einzelauswertung der Gemeindedaten
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
 Präsentation transkript:

1 Physikalische Datenorganisation RecordDatensatz fester oder variabler Länge mit Feldern bestimmten Typs BlockSpeichereinheit im Hintergrundspeicher ( Bytes) FileMenge von Blöcken Pinned recordBlockadresse + Offset Unpinned recordBlockadresse + Recordschlüssel Blockadresse + Index (Tupelidentifikator)

2 Tupelidentifikator: Verschieben innerhalb der Seite Grundzüge Ethik... TID 123 Seite Logik Mathematische Logik...

3 Tupelidentifikator: Verdrängen auf andere Seite 4052 Mathematische Logik Grundzüge Ethik... TID 123 Seite Seite Mathematische Logik für Informatiker Mathematische Logik

4 Implementierung des E-R-Modells pro Entity ein Record mit den Attributen als Datenfelder pro Relationship ein Record mit den TIDs der beteiligten Entities

5 INSERT: Einfügen eines Records DELETE: Löschen eines Records MODIFY: Modifizieren eines Records LOOKUP: Suchen eines Records Speicher-Operationen

6 Heap-File INSERT: Record am Ende einfügen DELETE: Lösch-Bit setzen MODIFY: Record überschreiben LOOKUP: Gesamtes File durchsuchen

7 Hashing alle Records sind auf Buckets verteilt ein Bucket besteht aus einer verzeigerten Liste von Blöcken Bucketdirectory enthält Einstiegsadressen Hashfunktion (angewandt auf Schlüssel) liefert zuständige Liste Bei N Buckets bildet die Hashfunktion einen Schlüssel auf eine Zahl zwischen 0 und N-1 ab. Pro Datenrecord ein Frei/Belegt-Bit

Peter Thomas Melanie Ute Kurt Fritz Susanne Eberhard Karl Beate 10Eva Beispiel für Hashorganisation (|v| mod 5)

9 Beispiel für Hash-Funktion Sei N die Anzahl der Buckets. Fasse den Schlüssel v als k Gruppen von jeweils n Bits auf. Sei d i die i-te Gruppe als natürliche Zahl interpretiert: dkdk d k-1 d2d2 d1d1 h(v) = (d k + d k d 2 + d 1 ) mod N

10 Hash-Operationen für Schlüssel v LOOKUP: Berechne h(v) = i. Lies den für i zuständigen Directory-Block ein, und beginne bei der für i vermerkten Startadresse mit dem Durchsuchen aller Blöcke. MODIFY: Falls Schlüssel beteiligt: DELETE und INSERT durchführen. Andernfalls: LOOKUP durchführen und dann überschreiben. INSERT: Zunächst LOOKUP durchführen. Falls Satz mit v vorhanden: Fehler. Sonst: Freien Platz im Block überschreiben und ggf. neuen Block anfordern. DELETE: Zunächst LOOKUP durchführen. Bei Record Löschbit setzen.

Peter Thomas Melanie Ute Kurt Fritz Susanne Eberhard Karl Beate 10Eva Paul einfügen Hashorganisation: Ausgangslage h(s) = |s| mod 5

Peter Thomas Melanie Ute Kurt Fritz Susanne Eberhard Karl Beate 10Eva Paul Hashorganisation: nach Einfügen von Paul Kurt umbenennen nach Curdt

13 Peter Thomas Melanie Ute Fritz Susanne Eberhard Karl BeateCurdt 10Eva Paul Hashorganisation: nach Umbenennen von Kurt in Curdt

14 Probleme beim Hashing durch dynamisch sich ändernden Datenbestand: Blocklisten werden immer länger Reorganisation erforderlich

15 Erweiterbares Hashing Hashfunktion liefert Binärstring verwende geeigneten Prefix des Binärstring als Adresse

16 Beispiel für erweiterbares Hashing MatNrNameHashwert 2125Sokrates Russel Kopernikus Descartes Hashwert = umgekehrte Binärdarstellung von Matrikelnummer Ein Datenblock enthalte zwei Records

17 Beispiel für erweiterbares Hashing x d p h(x) 0 (2126, Russel, C4, 232) (2125, Sokrates, C4, 226) (2127, Kopernikus, C3, 310) 1 t = 1 t´= Sokrates Russel Kopernikus Descartes Sokrates, Russel, Kopernikus einfügen Descartes einfügenBucket 1 läuft überSetze globale Tiefe t:=2

18 Beispiel für erweiterbares Hashing x d p h(x) 00 (2126, Russel, C4, 232) (2125, Sokrates, C4, 226) (2127, Kopernikus, C3, 310) 01 t´= 2 t´= 1 t = (2129, Descartes, C3, 312) t´= Sokrates Russel Kopernikus Descartes

19 Defizite beim Hashing Keine Sortierung Keine Bereichsabfragen

20 ISAM (Index sequential access method) Index-Datei mit Verweisen in die Hauptdatei. Index-Datei enthält Tupel, sortiert nach Schlüsseln. Liegt in der Index-Datei, so sind alle Record-Schlüssel im Block, auf den a zeigt, größer oder gleich v.

21 ISAM-Operationen für Record mit Schlüssel v LOOKUP (für Schlüssel v): Suche in Index-Datei den letzten Block mit erstem Eintrag v 2 v. Suche in diesem Block das letzte Paar (v 3, a) mit v 3 v. Lies Block mit Adresse a und durchsuche ihn nach Schlüssel v. MODIFY: Zunächst LOOKUP. Falls Schlüssel an Änderung beteiligt: DELETE + INSERT. Sonst: Record ändern, Block zurückschreiben. INSERT: Zunächst LOOKUP. Falls Block noch Platz für Record hat: einfügen. Falls Block voll ist: Nachfolgerblock oder neuen Block wählen und Index anpassen. DELETE: Analog zu INSERT

22 Manfred einfügen Index-Organisation: Ausgangslage

23 Index-Organisation: nach Einfügen von Manfred

24 Sekundär-Index Sekundärindex besteht aus Index-File mit Einträgen der Form.

25 Sekundär-Index für Gewicht

26 Beispiel zur physikalischen Speicherung Gegeben seien Records mit folgenden Angaben: Die Blockgröße betrage 1024 Bytes. AttributBytes AttributBytes Pers-Nr.15 Vorname15 Nachname15 Straße25 PLZ 5 Ort25 Platzbedarf pro Record: 100 Bytes.

27 Fragen zur Zahl der Records Wieviel Daten-Records passen in einen zu 100% gefüllten Datenblock? 1024 / 100 = 10 Wieviel Daten-Records passen in einen zu 75% gefüllten Datenblock? 10 * 0,75 = 7-8 Wieviel Schlüssel / Adresspaare passen in einen zu 100% gefüllten Indexblock? / (15+4) = 53 Wieviel Schlüssel / Adresspaare passen in einen zu 75% gefüllten Indexblock? / (15+4)*0,75 40

28 Heapfile versus ISAM Welcher Platzbedarf entsteht beim Heapfile? / 10 = Blöcke Wieviel Blockzugriffe entstehen im Mittel beim Heapfile? / 2 = Welcher Platzbedarf entsteht im Mittel bei ISAM? / 7, zu 75% gefüllte Datenblöcke / zu 75% gefüllte Indexblöcke Wieviel Blockzugriffe entstehen im Mittel bei ISAM? log 2 (1.000) Blockzugriffe

29 B*-Baum Jeder Weg von der Wurzel zu einem Blatt hat dieselbe Länge. Jeder Knoten außer der Wurzel und den Blättern hat mindestens k Nachfolger. Jeder Knoten hat höchstens 2 k Nachfolger. Die Wurzel hat keinen oder mindestens 2 Nachfolger.

30 B*-Baum-Adressierung Ein Knoten wird auf einem Block gespeichert Ein Knoten mit j Nachfolgern (j 2k) speichert j Paare von Schlüsseln und Adressen (s 1, a 1 ),..., (s j, a j ). Es gilt s 1 s 2... s j. Eine Adresse in einem Blattknoten führt zum Datenblock mit den restlichen Informationen zum zugehörigen Schlüssel Eine Adresse in einem anderen Knoten führt zu einem Baumknoten

31 Einfügen in B*Baum eingefügt werden soll:

32 Einfügen in B*Baum eingefügt werden soll: 45 Block anfordern Überlaufblock verteilen

33 Einfügen in B*Baum eingefügt werden soll: 45 Vorgänger korrigieren

34 Einfügen in B*Baum eingefügt wurde:

Sequenz für B*-Baum mit k=2

36 27

Sequenz eingefügt

69 Löschen in B*Baum Entferne 53

70 Löschen in B*Baum Entferne 79

71 Löschen in B*Baum Entferne 47

72 Löschen in B*Baum Entferne 77

73 Löschen in B*Baum Entferne 22

74 Löschen in B*Baum

75 Fragen zum B*Baum Wie groß ist k ? Blockgröße / (Schlüssel / Adresspaar-Größe) = 1024 / (15+4) / 2 = 26 Wieviel Söhne hat eine zu 50 % gefüllte Wurzel ? 26 Wieviel Söhne hat ein zu 75 % gefüllter Knoten ? 39 Wieviel zu 75 % gefüllte Datenblöcke sind erforderlich ? / 7,

76 Platzbedarf B*Baum Wieviel Blöcke belegt der B*Baum ? HöheKnotenZeiger aus Knoten * 39 = *3926*39*39 = drei Ebenen reichen aus Platzbedarf = * Blöcke Wieviel Blockzugriffe sind erforderlich ? 4

77 Hashing versus B*Baum Welcher Platzbedarf entsteht beim Hashing, wenn dieselbe Zugriffszeit erreicht werden soll wie beim B*Baum? 4 Blockzugriffe = 1 Directory-Blockzugriff + 3 Datenblockzugriffe. Buckets bestehen im Mittel aus 5 Blöcken. von 5 Blöcken sind 4 voll und der letzte halb voll. 4,5 * 10 = 45 Records pro Bucket / 45 = 6666 Buckets erforderlich 6666 / (1024 / 4) = 26 Directory-Blöcke Platzbedarf = * =

78 B*Baum versus Hashing B*BaumHashing VorteileDynamischSchnell Sortierung möglichplatzsparend NachteileSpeicheroverheadkeine Sortierung kompliziertNeuorganisation

79 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen und 50000

80 Query-Rechteck y2y2 y1y1 y x x1x1 x2x2 E D C B G F HI K A J

81 k-d-Baum zur Verwaltung von mehrdimensionalen Datenpunkten Verallgemeinerung des binären Suchbaums mit k-dimensionalem Sortierschlüssel Homogene Variante: Baumknoten enthält Datenrecord + Zeiger Inhomogene Variante: Baumknoten enthält Schlüssel + Zeiger Blätter enthalten Zeiger auf Datenrecord Ebene i modulo k diskriminiert bzgl. Dimension i x y z

82 2-d-Baum Im 2-dimensionalen Fall gilt für Knoten mit Schlüssel [x/y]: im linken Sohnim rechten Sohn Auf ungerader Ebenealle Schlüssel xalle Schlüssel > x Auf gerader Ebenealle Schlüssel yalle Schlüssel > y

83 2-d-Baum A C B D E F G H

84 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Ebene 0

85 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Insertz.B. füge Record [3/9] I 3/9

86 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Exact Matchz.B. finde Record [15/5]

87 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Partial Matchz.B. finde alle Records [x/y] mit x=7

88 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Range-Queryz.B. finde alle Records [x/y] mit 8 x 13, 5 y 8

89 Beispiel für 2-d-Baum D 6/2H8/5 C 9/4 B14/3 B A 5/6 G1/8 F 12/7 E 7/9 bzgl. y kleiner bzgl.x kleiner bzgl. y kleiner bzgl. y grösser bzgl. y grösser bzgl.x grösser bzgl.x grösser Best Matchz.B. finde nächsten Nachbarn zu [7/3]

90 2-d-Baum A C B D E F G H

91 Inhomogene Variante

92 Partitionierungen

93 Gitterverfahren mit konstanter Gittergröße

94 Grid File Alternative zu fester Gittergröße 1981 vorgestellt von Hinrichs & Nievergelt 2-Platten-Zugriffsgarantie Bei k-dimensionalen Tupeln: k Skalen zum Einstieg ins Grid-Directory (im Hauptspeicher) Grid Directory zum Finden der Bucket-Nr. (Hintergrundspeicher) Bucket für Datensätze (Hintergrundspeicher)

95 Grid File im 2-dimensionalen Fall Alle Records der roten Gitterzelle sind im Bucket mit Adresse G[1,2] 0 y[i],i=0,.. max_y y x x x[i],i=0,.. max_x y Region:benachbarte Gitterzellen Gitterzelle: rechteckiger Teilbereich Bucket:speichert Records einer Region

96 Bucket Directory Suche Record [35 / 2400] Befrage Skalen asp07nk99jh aasdf0cß03j400d0v 9v8asßfimo98csi98a dxcvß98dspa0s9fxc0 wi00808ß3jsßsa9ßß Lade G[1,2] vom Bucketdirectory Lade Datenblock

Datenrecords 4 Datenrecords passen in ein Bucket X-Achse und Y-Achse habe 500 Unterteilungen Einträge im Bucketdirectory 4 Bytes pro Adresse Bytes pro Block 250 Zeiger pro Directory-Block Directory-Blöcke i 249: G[i,j] befindet sich auf Block 2*j als i-te Adresse i > 249: G[i,j] befindet sich auf Block 2*j+1 als (i-250)-te Adresse Beispiel für Bucket Directory G[280,2] auf Block 5 an Position

98 Bucket-Überlauf Eine Zelle in Region Mehrere Zellen in Region

99 Aufspalten der Regionen Insert A = [5 / 6]

100 Aufspalten der Regionen A A Insert B = [14 / 3]

101 Aufspalten der Regionen A B A B Insert C = [9 / 4]

102 Aufspalten der Regionen A C B B C A Insert D = [6 / 2]

103 Aufspalten der Regionen A C B B C A D D Insert E = [7 / 9]

104 Aufspalten der Regionen Insert F = [12 / 7]

105 Aufspalten der Regionen Insert G = [1 / 8]

106 Aufspalten der Regionen B C E A C B F F D G A E D G Insert A = [5 / 6]

107 Dynamik des Grid Directory Insert A=[12 / 280] 3 Datenrecords pro Bucket

108 Dynamik des Grid Directory A Insert B=[25 / 220]

109 Dynamik des Grid Directory A B Insert C=[45 / 270]

110 Dynamik des Grid Directory A B C Insert D=[22 / 275]

111 Dynamik des Grid Directory A B C D Insert E=[24 / 260]

112 Dynamik des Grid Directory C A B D E 250 Insert F=[26 / 280]

113 Dynamik des Grid Directory A B C D E F Directory Block vergröbern

114 Dynamik des Grid Directory A B C D E F

115 Vereinigung von Regionen bei zu geringer Bucketauslastung: Benachbarte Regionen vereinigen Vereinigung muß Rechteck ergeben Vereinigung wird ausgelöst wenn Bucket < 30 % Auslastung wenn vereinigtes Bucket < 70 % Auslastung

116 Nearest Neighbor Q P R

117 Verwaltung von geometrischen Objekten Grid File unterstützt Range-Query bisher:k Attribute Jetzt:k-dimensionale Punkte

118 Verwaltung von Intervallen E A B C D F A [Anfang / Ende] E A B C D F Besser: [Mittelpunkt / halbe Länge]

119 Query-Punkt gegen Intervall Punkt p liegt im Intervall mit Mitte m und halber Länge d m-d p m+d m-d m+d m

120 Query-Punkt gegen Intervall E A B C D F E A B C D F Punkt p liegt im Intervall mit Mitte m und halber Länge d m-d p m+d p=5 m-d 5 m+d

121 Query-Intervall gegen Intervall Intervall mit Mitte s und halber Länge t schneidet Intervall mit Mitte m und halber Länge d m-d s+t und s-t m+d m-dm+d s+ts-t

122 Query-Intervall gegen Intervall E A B C D F E A B C D F Intervall mit Mitte s und halber Länge t schneidet Intervall mit Mitte m und halber Länge d m-d s+t und s-t m+d s=10, t=1 m-d 11 und 9 m+d

123 Query-Rechteck gegen Rechteck Stelle Rechteck durch vierdimensionalen Punkt dar