it-swarm.com.de

Was bedeutet es, wenn Daten skalar sind?

Ich weiß nicht genau, was Skalar bedeutet, aber ich versuche zu sehen, ob ich richtig darüber nachdenke. Bezieht sich Skalar auf Beliebigkeit, bei der der Datentyp ein beliebiger Typ sein kann, oder kann ein System nicht im Voraus wissen, um welche Daten es sich handelt?.

87
Ryan M

Der Begriff "Skalar" kommt von lineare Algebra , wo er verwendet wird, um eine einzelne Zahl von einem Vektor oder einer Matrix zu unterscheiden. Die Bedeutung beim Rechnen ist ähnlich. Es unterscheidet einen einzelnen Wert wie eine Ganzzahl oder ein Float von einer Datenstruktur wie ein Array. Diese Unterscheidung ist in Perl sehr prominent, wo die $ sigil (das einem 's' ähnelt) wird verwendet, um eine skalare Variable und ein @ sigil (das einem 'a' ähnelt) bezeichnet ein Array. Es hat nichts mit dem Typ des Elements selbst zu tun. Es kann sich um eine Zahl, ein Zeichen, eine Zeichenfolge oder ein Objekt handeln. Was als Skalar bezeichnet werden muss, ist, dass es einen von ihnen gibt.

123
Karl Bielefeldt

Ein Skalar ist einfach eine Variable, die einen einzelnen Wert enthält . Für die Zwecke dieser Diskussion nehmen wir an, dass ein Skalar eine einzelne Zahl und keine Sammlung von Zahlen ist.

Zum Beispiel das Ergebnis einer SQL-Abfrage, die eine Zahl anstelle eines Tupels zurückgibt , ebenso wie die ExecuteScalar () -Methode in die SQLCommand-Klasse , die den Wert der ersten Spalte der ersten Zeile in der von der Abfrage zurückgegebenen Ergebnismenge zurückgibt. Es wird normalerweise verwendet, um einen Gesamtwert wie COUNT oder AVERAGE, die ID eines neuen Datensatzes oder die Anzahl der von einer Abfrage verarbeiteten Datensätze abzurufen.

29
Robert Harvey

Eine ergänzende Mnemonik zu Karl Bielefeldts großartiger Antwort:

Eine einfache Art, darüber nachzudenken, lautet: "Kann das auf einer Skala sein?"

Eine Ganzzahl kann auf einer Skala liegen.

Eine Ganzzahl fester Größe kann auf einer Skala liegen, z. von -2147483648 bis 2147483647.

Eine reelle Zahl kann auf einer Skala liegen.

Ein Zeichen, eine Boolesche Zahl oder eine Dezimalstelle mit fester Genauigkeit kann sich alle auf einer Skala befinden. Sogar eine Zeichenfolge kann sich auf einer Skala befinden (wir verwenden diese beim Sortieren).

Daher "Skalar".

Eine Datenbankzeile kann nicht skaliert sein. Eine komplexe Zahl kann nicht auf einer Skala liegen. Ein Objekt, das eine E-Mail-Nachricht darstellt, kann nicht maßstabsgetreu sein. Ein Array, ein Vektor oder eine Matrix kann nicht maßstabsgetreu sein.

23
Jon Hanna

Wie es bei vielen Begriffen in der Datenverarbeitung der Fall ist; Der Ursprung des Wortes bezieht sich auf mehr physikalische Eigenschaften. Der Begriff Skalar ist im Computer relativ alt. Seine Definition ist heutzutage weniger streng. Wenn Sie Daten im Computerspeicher speichern, können diese Daten entweder in eine Adresse (1 Byte *) passen oder nicht. Wenn dies der Fall war, wurde es Skalar genannt, wenn dies nicht der Fall war, wurde es als Komposit bezeichnet. Hauptsächlich, weil CPUs jeweils nur eine Adresse/ein Datenelement (= 1 Byte) verarbeiten konnten. Wie von @Karl Bielefeldt angegeben; Der Begriff wurde in der Tat aus der Algebra übernommen.

Wir nennen eine Zeichenfolge eine Zeichenfolge, weil es sich um eine Zeichenfolge handelt. Ein Zeichen ist/war ein Skalar, während ein String ein Komposit ist/war. Das Speichern von 1 Datenelement (einem Datum) in mehreren Adressen verwischte die Zeile etwas. Stellen Sie sich das so vor: Wenn eine CPU ein Datum in einer Anweisung verarbeiten konnte, war es skalar.

Heutzutage ist ein Skalar ein beliebiger Singularwert, und was ein Singularwert ist, kann in verschiedenen Sprachen unterschiedlich definiert werden. Ganzzahlen, Gleitkommazahlen, Zeichen, Zeichenfolgen, Boolesche Werte und Aufzählungen werden heutzutage größtenteils als Skalare betrachtet. Arrays, Listen, Bäume, Objekte usw. sind es nicht.

(* Ich sage 1 Byte, um die Dinge klar zu halten, aber technisch gesehen spreche ich von den Tagen, als 6 Bits zum Beispiel häufiger auf Lochkarten und später auf Magnetstreifen verwendet wurden.)

Haftungsausschluss: Ich kann im Internet keine Referenzen dazu finden. Ich habe die Informationen in der Schule und aus alten Büchern erhalten, darunter (glaube ich): Mathematische Tabellen und andere Hilfsmittel zur Berechnung von 1944. Davon abgesehen ist mein Gedächtnis nicht mehr das, was es früher war. Wenn also jemand meine Antwort ändern/bestätigen oder ablehnen kann, wäre es schön.

12
Evert

Ein Skalar ist ein einfacher numerischer Einzelwert (wie in 1, 2/3, 3.14 usw.), normalerweise eine Ganzzahl, ein Festpunkt oder ein Gleitkommawert (einfach oder doppelt), im Gegensatz zu einem Array, einer Struktur, einem Objekt oder einem komplexen Vektor ( Real plus Imaginär oder Größe plus Winkelkomponenten), höherdimensionaler Vektor oder Matrixdatentyp (usw.), der mehr als einen einzelnen numerischen Wert enthält.

Beachten Sie jedoch, dass ein großer, sehr komplexer Datentyp der Art, der auch abgeflacht und in 8-Bit-Bytes Computerspeicher dargestellt werden kann, auch als eine einzelne sehr lange/große binäre Skalarzahl dargestellt werden kann. Turing verwendete diese Technik, um ganze Computerprogramme als nur eine skalare Zahl darzustellen.

9
hotpaw2

Der Wortskalar leitet sich vom lateinischen Wort scalaris ab, einer Adjektivform von scala (lateinisch für "Leiter"). Das englische Wort "scale" stammt ebenfalls von scala. Quelle =

Ein Skalar ist eine Variable, die einen einzelnen Wert enthält.

Zum Beispiel:

Skalare Variable : Angenommen, Sie versuchen, die Namen verschiedener Schüler als eine Reihe von Variablen darzustellen. Jede der einzelnen Variablen ist wie folgt eine skalare Variable

NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"

Skalarfunktionen : SQL-Skalarfunktionen geben basierend auf dem Eingabewert einen einzelnen Wert zurück.

UCASE() - Converts a field to upper case
LCASE() - Converts a field to lower case
1
Premraj