Schlüssel/Wert-Paar: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Zeile 57: Zeile 57:
==Formale, verallgemeinerte Definition (Kowarschick<ref>{{Quelle|Kowarschick (MMDB)}}</ref>)==
==Formale, verallgemeinerte Definition (Kowarschick<ref>{{Quelle|Kowarschick (MMDB)}}</ref>)==
'''Vorbemerkung'''<br/>
'''Vorbemerkung'''<br/>
Nachfolgend wird der Begriff '''Attribut''' formal definiert, da dies die übliche Bezeichnung innerhalb der Mathematik ist.
Ein Attribut kann prinzipiell auch mehr als einen Attributbezeichner haben. Daher wird für Attribute eine etwas allgemeinere Definition angegeben,  
Ein Attribut kann prinzipiell auch mehr als einen Attributbezeichner haben. Daher wird eine etwas allgemeinere Definition angegeben, bei der neben Schlüssel/Wert-Paaren
bei der neben Schlüssel/Wert-Paaren auch Schlüssel/Schlüssel/Wert-Tripel, Schlüssel/Schlüssel/Schlüssel/Wert-Quadrupel etc. möglich sind.
auch Schlüssel/Schlüssel/Wert-Tripel, Schlüssel/Schlüssel/Schlüssel/Wert-Quadrupel etc. möglich sind.
Mit Ausnahme von [[SQL]]-Attributen allerdings handelt es sich bei Attributen, Parametern, Variablen etc. so gut wie immer um  Schlüssel/Wert-Paare.
Mit Ausnahme von [[SQL]]-Attributen handelt es sich bei Attributen, Parametern, Variablen etc. eigentich immer um  Schlüssel/Wert-Paare.
 
Die nachfolgende Definition kann eins zu eins für jedes andere Schlüsselᵐ-Wert-Tupel übernommen werden.


'''Definition'''<br/>
'''Definition'''<br/>
Es seien <math>a^1, \ldots, a^m</math> paarweise verschiedene Werte (<math>m \ge 1</math>),  
Es seien <math>a^1, \ldots, a^m</math> paarweise verschiedene Werte (<math>m \ge 1</math>), die als Bezeichner fungieren,  
<math>D</math> eine {{Domäne}}, {{dh}} eine nicht-leere {{Menge}} (oder {{Klasse}}), und  
<math>D</math> eine {{Domäne}}, {{dh}} eine nicht-leere {{Menge}} (oder {{Klasse}}), und  
<math>v \in D</math> ein Element von <math>D</math>.
<math>v \in D</math> ein Element von <math>D</math>.

Version vom 5. August 2019, 14:59 Uhr

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 2
(teilweise überprüft)
Umfang: 2
(wichtige Fakten fehlen)
Quellenangaben: 1
(fehlen großteils)
Quellenarten: 3
(gut)
Konformität: 5
(ausgezeichnet)

Definition (Kowarschick[1])

Zur Benennung von Werten verwendet man geordnete Schlüssel-/Wert-Paare $ (\rm{key}, \rm{value}) $ oder auch key: value. Der Schlüssel (englisch: key) dient dabei als Name des zugehörigen Wertes (englisch: value). Dem Schlüssel kann ein Datentyp zugeordnet werden, der die möglichen Werte, die unter diesem Namen „gespeichert“ werden können, beschränkt.

Varianten

Schlüssel/wert-Paare kommen in der Mathematik und der Informatik unter ganz verschiedenen Bezeichungen vor:

Name Schlüssel Wert Datentyp EcmaScript-Beispiel
Attribut Attributname
Attributbezeichner
Attributwert Domäne Objekt: {a: 5}
Attributname: a
Attributwert: 5
property property name property value property type object: {a: 5}
property name: a
property value: 5
Variable Variablenname Variablenwert Typ Variable: let a = 5
Variablenname: a
Variablenwert: 5
Parameter Parameter Argument Typ Funktion: let f = (a) => {a*a}
Funktionsaufruf: f(5)
Parameter: a
Argument: 5
hash entry hash key hash value hash type Map: let m = new Map()
m.set('a', 5)
hash key: 'a'
hash value: 5

Formale, verallgemeinerte Definition (Kowarschick[2])

Vorbemerkung
Ein Attribut kann prinzipiell auch mehr als einen Attributbezeichner haben. Daher wird für Attribute eine etwas allgemeinere Definition angegeben, bei der neben Schlüssel/Wert-Paaren auch Schlüssel/Schlüssel/Wert-Tripel, Schlüssel/Schlüssel/Schlüssel/Wert-Quadrupel etc. möglich sind. Mit Ausnahme von SQL-Attributen allerdings handelt es sich bei Attributen, Parametern, Variablen etc. so gut wie immer um Schlüssel/Wert-Paare.

Die nachfolgende Definition kann eins zu eins für jedes andere Schlüsselᵐ-Wert-Tupel übernommen werden.

Definition
Es seien $ a^1, \ldots, a^m $ paarweise verschiedene Werte ($ m \ge 1 $), die als Bezeichner fungieren, $ D $ eine Domäne, d. h. eine nicht-leere Menge (oder Klasse), und $ v \in D $ ein Element von $ D $.

Dann heißt das $ m+1 $-Tupel $ (a^1, \ldots, a^m, D) $ Attributdefinition mit Attributnamen $ a^1, \ldots, a^m $ und Domäne $ D $. Das Tupel $ (a^1, \ldots, a^m, v) $ heißt Attribut (zur Domäne $ D $) mit Attributnamen $ a^1, \ldots, a^m $ und Attributwert $ v $.

Anmerkung
Zur Definition von allgemeinen Attributen wurde der Begriff Tupel als bekannt vorausgesetzt. Andererseits benötigt man zur Definition von allgemeinenTupel den zuvor definierten allgemeinen Attributbegriff. Es liegt hier jedoch kein Circulus vitiosus (Zirkelschluss) vor, da man Attribute auch allein mit Hilfe von geordneten Paaren definieren kann:

$ \begin{array}[t]{lcl} (a^1, \ldots, a^m, D) & := & (a^1, (a^2, \ldots (a^m, D)\ldots)) \\ (a^1, \ldots, a^m, v) & := & (a^1, (a^2, \ldots (a^m, v)\ldots)) \end{array} $

(Formal müsste diese Definition rekursiv über die Anzahl der Attributnamen erfolgen.)

Spezialfälle

Es seien $ i \in \mathbb N_0 $ eine natürliche Zahl und $ a $ eine Zeichenkette, die mit einem Buchstaben beginnt sowie evtl. endlich viele weitere Zeichen enthält (Buchstaben, Ziffern und einige ausgewählte Sonderzeichen wie +, -, _, @, $ etc.).

Dann heißen

  • $ (i, v) $ Positionsattribut
  • $ (a, v) $ benanntes Attribut
  • $ (a, i, v) $ benanntes Positionsattribut

Folgende alternative Schreibweisen können verwendet werden:

  • Positionsattribut: $ i: v $ (Formel) bzw. i: v (Pseudocode)
  • benanntes Attribut: $ a: v $ (Formel) bzw. a: v (Pseudocode)
  • benanntes Positionsattribut: $ a/i: v $ (Formel) bzw. a/i: v (Pseudocode)

Beispiele (Pseudocode)

Attributart Beispiel Domäne
Benanntes Attribut name: 'Anton' name: String
Positionsattribut 1: 'Anton' 1: String
Benanntes Positionsattribut 1/name: 'Anton' 1/name: String

Quellen

  1. Kowarschick (MMDB): Wolfgang Kowarschick; Vorlesung „Multimedia-Datenbanksysteme“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2016; Quellengüte: 3 (Vorlesung)
  2. Kowarschick (MMDB): Wolfgang Kowarschick; Vorlesung „Multimedia-Datenbanksysteme“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2016; Quellengüte: 3 (Vorlesung)