Fuente. https://www.lavanguardia.com/historiayvida/mas-historias/20220801/8430462/calcular-maquinas-asi-nacio-calculadora-pmv.html |
Hay tablas que tienen campos cuyos valores pueden ser calculados con base en valores de otros campos. A estos campos se les conoce como campos / atributos derivados. Estos campos se calculan a través de fórmulas matemáticas. En este módulo se explicará la manera como se configura un campo derivado, para que automáticamente se calcule con base en el valor de otro(s) campo(s). |
Supongamos que tenemos una tabla con los datos de los empleados de una compañía. Uno de sus campos es el SUELDO ganado por el empleado. Dicho campo se calcula con base en los valores que tienen otros campos de la tabla: CANT_HORAS_TRABAJADAS, VALOR_HORA, VALOR_DEDUCCIONES.
La fórmula para calcular el campo SUELDO es la siguiente:
SUELDO = (CANT_HORAS_TRABAJADAS * VALOR_HORA) - VALOR_DEDUCCIONES
A continuación, se muestra la instrucción para configurar el campo SUELDO para que sea derivado:
CREATE TABLE EMPLEADO
(CEDULA BIGINT PRIMARY KEY,
NOMBRE VARCHAR(30) NOT NULL,
CANT_HORAS_TRABAJADAS INT,
HORAS_TRABAJADAS INT,
VALOR_DEDUCCIONES MONEY,
SUELDO AS
(CANT_HORAS_TRABAJADAS * HORAS_TRABAJADAS) - VALOR_DEDUCCIONES
)
Como se puede observar, al campo SUELDO no hay que decirle cuál es su tipo de datos. Simplemente hay que decir, a través de qué formula se calcula el valor de dicho campo.
Por otra parte, si se necesita configurar el campo por modo gráfico, se hace lo siguiente:
En la pantalla de diseño de la tabla, nos ubicamos en el campo derivado. Y buscamos, en la parte inferior de la pantalla, las propiedades del campo. Se busca la propiedad llamada "Computed Column Specification" y en "Formula" se digita la formula correspondiente.
De esta manera, cada vez que se graba un nuevo EMPLEADO, el campo SUELDO se calcula automáticamente con los valores que hay en los otros tres campos.
Es de aclarar que el campo derivado se convierte en un campo no editable, solo de consulta.
Ejercicio:
El típico campo derivado es la edad de una persona, la cual se calcula con base en su fecha de nacimiento. Configurar dicho campo para que se calcule automáticamente.
Video: