Declaración de Campos Enteros en SQL: La Guía Definitiva para Dominar Tipos Numéricospost-template-default single single-post postid-46 single-format-standard et_pb_button_helper_class et_fixed_nav et_show_nav et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter et_pb_gutters3 et_right_sidebar et_divi_theme et-db
771 715 4434

Trabajar con bases de datos de cualquier tipo significa trabajar con datos. Estos datos pueden tener un par de formatos predefinidos. A medida que avance en su aprendizaje con LearnSQL.es, empezará a entender los diferentes tipos de datos de SQL. En este artículo, cubriremos las diferentes variaciones del tipo de datos numérico de SQL, con un enfoque particular en cómo declarar y trabajar con campos enteros.

Declaración de Columnas y Tipos de Datos

La creación de tablas es el primer paso en todo proyecto de código SQL. Para ello, se utilizan instrucciones DDL (lenguaje de definición de datos) como CREATE y DROP, que se explican en nuestro curso Cómo crear tablas en SQL. Cuando haya creado su tabla, empiece a declarar los nombres de las columnas y los tipos de datos en SQL. Digamos que tenemos la tabla "usuarios". La información de cada usuario está en las columnas para el nombre y para el número de teléfono. Los nombres se almacenarían en una columna para caracteres, y los números de teléfono en una columna numérica.

Comprendiendo la Naturaleza de los Datos Numéricos

Entonces, las columnas numéricas almacenan números y todos los números son iguales, ¿verdad? No. Hay diferentes tipos de números, y hay diferentes tipos de columnas numéricas. Cualquiera que tenga conocimientos de estadística sabe que hay cuatro escalas diferentes que se aplican a los números: nominal, ordinal, de intervalo y ratio. A diferencia de los otros tipos de datos, los tipos numéricos pueden representar todas estas escalas, por eso, en lugar de hablar de tipo de datos numéricos en SQL, hablamos de tipos.

Los valores nominales solo se diferencian por su "nombre". Los valores nominales no se tratan como números; no se pueden sumar ni restar, y no tienen un orden inherente. Por ejemplo, los números de ID de los estudiantes y los números de teléfono son valores nominales. Se utilizan más como una etiqueta que como un número. Podemos decir que nuestros números de teléfono son iguales (misma importancia, misma longitud), pero no podemos compararlos ni decir que uno de ellos es el primero. No podemos sumarlos para obtener un número de teléfono significativo.

Los valores ordinales proporcionan un orden o rango. En los valores ordinales, lo importante es el orden que existe entre ellos. Supongamos que tenemos una escala de 1 a 3 que califica el estado de ánimo de una persona. "1" significaría sentirse infeliz, "2" estar contento y "3" estar feliz. Se sabe que "feliz" tiene un valor más alto que "contento" o "infeliz", pero eso es todo. No se puede sumar "contento" e "infeliz" para obtener un "feliz".

Lea también: IVA 21% Excel

Los valores de intervalo muestran las diferencias exactas. En una escala de intervalos, lo importante son las diferencias entre los valores. Si se resta 90 grados centígrados de 100 grados centígrados, se obtiene una diferencia de 10 grados. Los años, las fechas y la mayoría de las medidas de las personas son medidas de intervalo. Los valores de intervalo son numéricos y se representan como tales en la base de datos.

Los valores ratio son intervalos con un valor cero definido. Al igual que en las escalas de intervalo, en las escalas ratio las diferencias entre los valores son calculables. Sin embargo, en estas escalas, el valor cero significa que no hay nada que medir. Por ejemplo, si pensamos en términos de masa, longitud y duración, si cualquiera de ellas tiene un valor cero, no hay nada. Las escalas ratio son muy importantes para la ciencia. Todos los tipos de datos numéricos de SQL se utilizan para representar todos los valores anteriores, especialmente los intervalos y los ratios. Se pueden comparar los valores de los caracteres en SQL, por lo que es posible argumentar que los valores de los caracteres también podrían representar datos de intervalo.

Tipos de Datos Numéricos en SQL

SQL ofrece una variedad de tipos de datos numéricos que se dividen principalmente en dos categorías: exactos y aproximados. Cada uno está diseñado para manejar diferentes necesidades de almacenamiento y precisión.

Tipos Numéricos Exactos

Los tipos de datos numéricos exactos son SMALLINT, INTEGER, BIGINT, NUMERIC(p,s) y DECIMAL(p,s). Son números que se almacenan con la precisión exacta especificada. Dentro de esta categoría, los tipos de datos enteros son fundamentales.

Tipos de Datos Enteros

Los tipos de datos enteros (integer) contienen números enteros o sin punto decimal. En latín, integer significa entero. El estándar ANSI SQL define SMALLINT, INTEGER y BIGINT como tipos de datos enteros. Para estos tipos, el tamaño predeterminado de la columna es importante, ya que determina el rango de valores que pueden almacenar.

Lea también: Guía IVA reducido

Las columnas INTEGER redondean los decimales. Esto significa que, al insertar un valor con componentes decimales en una columna entera, estos se descartarán. Por ejemplo, si se inserta el valor 123314.3147 en una columna de tipo INTEGER, el valor almacenado sería 123314.

Si usted utiliza tipos de datos enteros en las fórmulas, debe saber que el redondeo puede causar inconsistencias. Considere un escenario donde una operación matemática debería producir un resultado decimal como 123314.3147; si este resultado se almacena o se utiliza en un contexto de tipo de dato entero, se convertirá a 123314, lo cual representa una clara incoherencia en los cálculos que requieren precisión decimal.

NUMERIC(p,s) y DECIMAL(p,s)

Los tipos de datos numéricos exactos de SQL como NUMERIC(p,s) y DECIMAL(p,s) se definen por su precisión (p) y escala (s). La precisión (p) es un número entero que representa el número total de dígitos permitidos en esta columna. Estos dígitos están en una base de tipos numéricos (radix) específica, es decir, binaria (base 2) o decimal (base 10), y suelen conllevar un punto decimal. La escala (s) representa el número de dígitos después del punto decimal.

Existe una pequeña diferencia entre los tipos de datos numéricos NUMERIC(p,s) y DECIMAL(p,s) de SQL. NUMERIC determina la precisión y la escala exactas. DECIMAL especifica solo la escala exacta; su precisión es igual o mayor que la especificada por el programador. Además, sea consciente de que muchos de los principales sistemas de gestión de bases de datos tienen representaciones específicas del proveedor para los tipos de datos numéricos (por ejemplo, el tipo de datos NUMBER de Oracle).

Cuando inserte datos en una columna NUMERIC, recuerde sus límites de precisión. Si intenta insertar un número demasiado grande o con una escala que excede la definida, es posible que obtenga un error o que el valor se redondee. Por ejemplo, si una columna está definida como NUMERIC(4,2) y se intenta insertar 12.1123, el RDBMS redondeará el número insertado, descartando cualquier dígito "extra" que esté a la derecha del punto decimal. En este caso, se mantendría "12.11", pero se descartaría el "23" siguiente.

Lea también: ¿Cómo localizar tus XML del SAT?

Tipos Numéricos Aproximados: FLOAT y REAL

Los tipos de datos numéricos FLOAT y relacionados con FLOAT de SQL contienen valores numéricos aproximados. Constan de una cifra significativa (un valor numérico con signo) y un exponente (un valor entero con signo que especifica el orden de magnitud de la cifra significativa). Si quiere entender realmente el tipo de datos numéricos de punto flotante de SQL, tendrá que estudiar un poco de ciencia de la computación.

La diferencia entre FLOAT(p) y REAL es que FLOAT tiene una precisión binaria (no decimal) igual o mayor que el valor definido. La precisión predefinida de REAL se basa en la base de datos usada. En los cálculos, los tipos aproximados pueden dar resultados extraños como 204.000000056, cuando el resultado exacto debería ser 204. Esto se debe a la forma en que los sistemas informáticos representan los números de punto flotante.

Si se está creando una base de datos para una aplicación de ingeniería o científica, los tipos de datos flotantes valdrían. También, hay una diferencia de velocidad; si se está haciendo un número excepcionalmente alto de cálculos complicados (por ejemplo, funciones trigonométricas, etc.), estos serían mucho más rápidos con tipos flotantes que con el resto de tipos de datos numéricos.

El catálogo de tipos de datos numéricos de SQL no se limita solo a enteros y decimales. Estos solo son un reflejo de la necesidad de almacenar los datos de forma segura, predecible y utilizable, eligiendo el tipo más adecuado para cada situación.

tags: #como #declarar #campos #int #sql #server