Tupel (Informatik)

Der Begriff Tupel (Abkürzung für n-Tupel, auch als Vektor bezeichnet) ist in der Informatik mehrfach besetzt und dient der Bezeichnung verschiedenartiger Konzepte.

Im Kontext relationaler Datenbanken bezeichnet „Tupel“ eine Zeile in einer Datenbanktabelle (Relation), was einer geordneten Gruppe von Attributen (Datenfelder) entspricht,[1][2][3] wobei die Anzahl Tupel in einer Tabelle als „Kardinalität“ bezeichnet wird.[1] In Abweichung zur Theorie der relationalen Algebra spielt die Reihenfolge eines Tupel resp. der Datenfelder eine untergeordnete Rolle, insofern in DBMS die Adressierung zumeist über den Namen eines Attributes und nicht dessen Nummer erfolgt.[1]

In diversen Programmiersprachen bezeichnet „Tupel“ gemeinhin einen Listen-Datentyp, welcher über eine feste Länge verfügt und nach Definition nicht mehr verändert werden kann. Programmiersprachen wie bspw. Python,[4] TypeScript,[5] Swift,[6] Haskell[7] oder C#[8] Verfügen über einen Tupel-Datentyp.

Zur Umsetzung des semantischen Webs werden RDF Graphen konstruiert, welche aus 3-Tupel genannt Triple bestehen.[9]

Das Tupelraum-Konzept (engl.: Tuple Space), welches ursprünglich für die Programmiersprache Linda entwickelt wurde,[10] findet zur Verwirklichung verteilter Systeme Anwendung.[11] Dabei entspricht ein Tupel einer geordneten Menge typisierter Datenwerte.[12]

  1. a b c Hartmut Ernst, Jochen Schmidt, Gerd Beneken: Datenbanken. In: Grundkurs Informatik. Springer Fachmedien Wiesbaden, Wiesbaden 2020, ISBN 978-3-658-30330-3, S. 729–758, doi:10.1007/978-3-658-30331-0_16 (springer.com [abgerufen am 18. November 2023]).
  2. Stephan Braun: Relationale Datenbanken mit multiplen Werten. In: Informatik und Mathematik. Springer Berlin Heidelberg, Berlin, Heidelberg 1991, ISBN 978-3-642-76678-7, S. 115–124, doi:10.1007/978-3-642-76677-0_7 (springer.com [abgerufen am 18. November 2023]).
  3. Peter Fischer, Peter Hofer: T. In: Lexikon der Informatik. Springer Berlin Heidelberg, Berlin, Heidelberg 2011, ISBN 978-3-642-15125-5, S. 887–930, doi:10.1007/978-3-642-15126-2_21 (springer.com [abgerufen am 18. November 2023]).
  4. 5. Data Structures. In: Python 3.12.0 documentation. Python Software Foundation, abgerufen am 18. November 2023 (englisch).
  5. Object Types. In: TypeScript Documentation. Microsoft, abgerufen am 18. November 2023 (englisch).
  6. Types. In: Documentation. Apple Inc., 14. November 2023, abgerufen am 18. November 2023 (englisch).
  7. Haskell/Lists and tuples. In: Wikibooks. Wikimedia Foundation Inc., abgerufen am 18. November 2023 (englisch).
  8. Bill Wagner: Einführung in C#: Typen und ihre Member. In: Microsoft Learn. Microsoft, 1. Juni 2023, abgerufen am 18. November 2023 (deutsch).
  9. RDF 1.2 Concepts and Abstract Syntax. In: W3C. W3C Working Group, 13. Oktober 2023, abgerufen am 19. November 2023 (englisch).
  10. Davide Rossi, Giacomo Cabri, Enrico Denti: Tuple-based Technologies for Coordination. In: Coordination of Internet Agents. Springer Berlin Heidelberg, Berlin, Heidelberg 2001, ISBN 978-3-642-07488-2, S. 83–109, doi:10.1007/978-3-662-04401-8_4 (springer.com [abgerufen am 19. November 2023]).
  11. David Gelernter: Generative communication in Linda. In: ACM Transactions on Programming Languages and Systems. Band 7, Nr. 1, 2. Januar 1985, ISSN 0164-0925, S. 80–112, doi:10.1145/2363.2433 (acm.org [abgerufen am 20. November 2023]).
  12. Friedemann Mattern: Vorlesung "Verteilte Systeme" ETH Zürich, Teil 5, 2008. In: The Distributed Systems Group. ETH Zurich, 17. Oktober 2008, abgerufen am 19. November 2023.

Developed by StudentB