web-dev-qa-db-fra.com

Qu'est-ce que cela signifie lorsque les données sont scalaires?

Je ne sais pas exactement ce que scalaire signifie, mais j'essaie de voir si j'y pense correctement. Le scalaire est-il lié à l'arbitraire où le type de données peut être de n'importe quel type, ou un système n'est pas en mesure de savoir à l'avance quelles sont les données.

87
Ryan M

Le terme "scalaire" vient de algèbre linéaire , où il est utilisé pour différencier un nombre unique d'un vecteur ou d'une matrice. La signification en informatique est similaire. Il distingue une valeur unique comme un entier ou flottant d'une structure de données comme un tableau. Cette distinction est très importante en Perl, où le $ sigil (qui ressemble à un 's') est utilisé pour désigner une variable scalaire et un @ sigil (qui ressemble à un 'a') désigne un tableau. Cela n'a rien à voir avec le type de l'élément lui-même. Il peut s'agir d'un nombre, d'un caractère, d'une chaîne ou d'un objet. Ce qui importe d'être appelé un scalaire, c'est qu'il y en a un .

123
Karl Bielefeldt

Un scalaire est simplement ne variable qui contient une valeur individuelle . Aux fins de cette discussion, supposons qu'un scalaire est un nombre unique, plutôt qu'une collection de nombres.

Par exemple, le résultat d'une requête SQL qui renvoie un nombre au lieu d'un tuple, comme le fait la méthode ExecuteScalar () in classe SQLCommand , qui renvoie la valeur de la première colonne de la première ligne du jeu de résultats renvoyé par la requête. Il est généralement utilisé pour récupérer une valeur agrégée telle qu'un COUNT ou une MOYENNE, l'ID d'un nouvel enregistrement ou le nombre d'enregistrements traités par une requête.

29
Robert Harvey

Un mnémonique supplémentaire, à la grande réponse de Karl Bielefeldt:

Une façon simple de penser à ce sujet, est "cela peut-il être sur une échelle?"

Un entier peut être sur une échelle.

Un entier de taille fixe peut être sur une échelle, par ex. de -2147483648 à 2147483647.

Un nombre réel peut être sur une échelle.

Un caractère, booléen ou décimal à précision fixe peut tous être sur une échelle. Même une chaîne peut être sur une échelle (nous l'utilisons dans le tri).

D'où "scalaire".

Une ligne de base de données ne peut pas être sur une échelle. Un nombre complexe ne peut pas être sur une échelle. Un objet représentant un e-mail ne peut pas être à l'échelle. Un tableau, un vecteur ou une matrice ne peut pas être sur une échelle.

23
Jon Hanna

Comme c'est le cas avec de nombreux termes en informatique; l'Origine de la Parole concerne plus de propriétés physiques. Le terme Scalar est relativement ancien en informatique. Sa définition est moins stricte de nos jours. Lorsque vous stockez des données dans la mémoire de l'ordinateur, ces données peuvent tenir dans une seule adresse (1 octet *) ou non. Quand il l'a fait, il a été appelé scalaire, alors qu'il ne l'a pas appelé un composite. Principalement parce que les processeurs ne pouvaient gérer qu'une seule adresse/élément de données (= 1 octet) à la fois. Comme indiqué par @Karl Bielefeldt; le terme est en effet emprunté à l'algèbre.

Nous appelons une chaîne une chaîne car il s'agit d'une chaîne de caractères. Un caractère est/était un scalaire, tandis qu'une chaîne est/était un composite. Le stockage d'une donnée (une donnée) dans plusieurs adresses a quelque peu brouillé la ligne. Pensez-y comme ceci: lorsqu'un processeur pouvait traiter une donnée dans une instruction, c'était scalaire.

De nos jours, un scalaire est une valeur singulière, et ce qu'est une valeur singulière peut être défini différemment selon les différentes langues. les entiers, les flottants, les caractères, les chaînes, les booléens et les énumérations sont, pour la plupart, des scalaires considérés de nos jours. Les tableaux, listes, arbres, objets, etc. ne le sont pas.

(* Je dis 1 octet pour que les choses soient claires, mais techniquement je parle des jours où les 6 bits étaient plus couramment utilisés sur les cartes perforées par exemple et plus tard sur les bandes magnétiques)

Avertissement: Je ne trouve aucune référence à ce sujet sur Internet, j'ai obtenu les informations à l'école et dans de vieux livres, parmi lesquels (je pense): Tableaux mathématiques et autres aides au calcul de 1944. Cela étant dit, ma mémoire est pas ce qu'elle était, donc si quelqu'un peut modifier/confirmer ou refuser ma réponse, ce serait bien.

12
Evert

Un scalaire est une simple valeur numérique simple (comme dans 1, 2/3, 3,14, etc.), généralement un entier, un point fixe ou un flottant (simple ou double), par opposition à un tableau, une structure, un objet, un vecteur complexe ( réel plus imaginaire ou magnitude plus composantes d'angle), type de données vecteur ou matrice de dimension supérieure (etc.) qui contient plus d'une valeur numérique unique.

Cependant, notez qu'un grand type de données très complexe du type qui peut également être aplati et représenté dans des octets de 8 bits de mémoire d'ordinateur peut également être représenté comme un seul nombre scalaire binaire très long/grand. Turing a utilisé cette technique pour représenter des programmes informatiques entiers comme un seul nombre scalaire.

9
hotpaw2

Le mot scalaire dérive du mot latin scalaris, une forme adjectivale de scala (latin pour "ladder"). Le mot anglais "scale" vient aussi de scala. Source =

Un scalaire est une variable qui contient une valeur individuelle.

Par exemple:

Variable scalaire : Supposons que vous essayez de représenter les noms de divers élèves sous la forme d'un ensemble de variables. Chacune des variables individuelles est une variable scalaire comme suit

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

Fonctions scalaires : les fonctions scalaires SQL renvoient une valeur unique, basée sur la valeur d'entrée.

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