Die Zuordnungstabelle (auch assoziatives Array, Dictionary, Hash, Map, Objekt oder Liste von Schlüssel-Wert-Paaren[1][2][3][4]) ist eine Datenstruktur, bei der anders als bei einem gewöhnlichen Array auch nichtnumerische (oder nicht fortlaufende) Schlüssel, zumeist Zeichenketten, verwendet werden können, um die enthaltenen Elemente zu adressieren; diese sind in keiner festgelegten Reihenfolge abgespeichert. Idealerweise werden die Schlüssel so gewählt, dass eine für die Programmierer nachvollziehbare Verbindung zwischen Schlüssel und Datenwert besteht. Die meisten Programmiersprachen unterstützen assoziative Arrays. Datenbanken, welche assoziative Daten halten, werden Schlüssel-Werte-Datenbanken genannt.

Mathematisch betrachtet wird durch die Wertezuordnungen in der Zuordnungstabelle eine Abbildung mit endlicher Definitionsmenge und endlicher Bildmenge beschrieben. Eine Implementierung ist mit Bäumen möglich, die bei weitem häufigste Umsetzung ist jedoch die Hashtabelle.

Programmierung

Bearbeiten

Die Ausgabe aller Beispiele ist „Mustermann“. Es handelt sich jeweils um das gleiche eindimensionale assoziative Array, implementiert in verschiedenen Sprachen. Mitunter gibt es in den Sprachen weitere Möglichkeiten, Zuordnungstabellen anzulegen.

JavaScript

Bearbeiten
let person = {
    vorname: 'Hans',
    name: 'Mustermann'
}

console.log(person.name)

Python

Bearbeiten
person = {
    'vorname': 'Hans',
    'name': 'Mustermann'
}

# Alternative Schreibweise
person = dict(
    vorname='Hans',
    name='Mustermann'
)

print (person['name'])

Perl

Bearbeiten
%person = (
    vorname => 'Hans',
    name => 'Mustermann'
);

# Alternative Schreibweise
%person = (
    'vorname', 'Hans',
    'name', 'Mustermann'
);

print $person{'name'};

Tcl

Bearbeiten
array set person {
    vorname    Hans
    name       Mustermann
}

puts $person(name)

Haskell

Bearbeiten
import qualified Data.Map as M
-- ...
someAction :: IO ()
someAction = putStrLn $ person M.! "Name"
    where person = M.fromList [
        ("vorname", "Hans"),
        ("name", "Mustermann"),
    ]

Common Lisp

Bearbeiten
(defparameter *person* (make-hash-table))

(setf (gethash 'vorname    *person*) "Hans")
(setf (gethash 'name       *person*) "Mustermann")

(loop for key being the hash-keys in *person*
      using (hash-value val)
      do (format t "~10a => ~a~%" key val))

Objective-C

Bearbeiten
NSMutableDictionary *person = [[NSMutableDictionary alloc] init];
[person setValue:@"Hans" forKey:@"vorname"];
[person setValue:@"Mustermann" forKey:@"name"];

NSLog(@"%@", [person valueForKey:@"name"]);

PL/SQL

Bearbeiten
DECLARE
    TYPE ty_person IS TABLE OF VARCHAR2(50) INDEX BY VARCHAR2(50);
    person  ty_person;
BEGIN
    person('vorname')    := 'Hans';
    person('name')       := 'Mustermann';
    DBMS_OUTPUT.PUT_LINE(person('name'));
END;

Literatur

Bearbeiten
  • Peter A. Henning, Holger Vogelsang (Hrsg.): Taschenbuch Programmiersprachen. 2. Auflage. Hanser, München 2007, ISBN 978-3-446-40744-2.
  • Klein, Bernd: Einführung in Python 3 für Ein- und Umsteiger. 2., überarb. und erw. Auflage. München 2014, ISBN 978-3-446-44133-0, S. 40.
Bearbeiten

Einzelnachweise

Bearbeiten
  1. „Hash“ in der Ruby Dokumentation. Abgerufen am 30. August 2025.
  2. „(Assoziatives) Array“ im PHP Handbuch. Abgerufen am 30. August 2025.
  3. „Dictionary“ in der Python Dokumentation. Abgerufen am 30. August 2025 (englisch).
  4. „Map“ und „Objekt“ in einer Frage zu JavaScript bei Stack Overflow. Abgerufen am 30. August 2025 (englisch).

📚 Artikel Terkait di Wikipedia

Informix

Informix ist der Produktname für ein Datenbankmanagementsystem (DBMS). Die gleichlautende herausgebende Datenbankfirma aus Menlo Park, Kalifornien, USA

Datenbankdesign

das Datenbankmanagementsystem (DBMS) wesentlich höher als die Kosten für die Hardware. Auch wenn man sich für freie DBMS-Software entscheidet, ist bei

DBA

database administrator), für die Verwaltung eines Datenbankmanagementsystems (DBMS) verantwortlich Database abstraction layer, eine Software, die bei einer

Advanced Information Management Prototype

Management Prototype (AIM-P) war ein experimentelles Datenbankmanagementsystem (DBMS), das am Wissenschaftlichen Zentrum Heidelberg (WZH) der IBM von 1982 bis

Daten

genannt): Die Daten werden nicht unter dem Managementsystem einer Datenbank (DBMS) verwaltet, sondern in einer Standard-Dateiform des Betriebssystems gespeichert

Liste der Abkürzungen in der Informationstechnik

Authentication of Named Entities DAP: Directory Access Protocol DB: Datenbank DBMS: Datenbank-Management-System DBS: Datenbank-System DC: Domain Controller

Liste der Datenbankmanagementsysteme

J2SE Umgebung von DataMirror Rasdaman – „raster data manager“, das erste Array-Datenbanksystem Redabas – dBase Clone Redis – In-Memory-Schlüssel-Werte-Datenbank

Shared Storage

kann. Der Festspeicher besteht typischerweise aus einem sogenannten Disk Array. Klassische Anwendungen von Shared Storage sind Aktiv/Passiv-Cluster oder