Sei sulla pagina 1di 17

Introducción 

Oracle 12c es un potente sistema de gestión de bases de datos relacionales (RDBMS) que proporciona, además de un 
motor de base de datos, numerosas herramientas para el usuario, el desarrollador y el administrador. 

Estas herramientas emplean un lenguaje común: el SQL. 

Oracle permite gestionar los datos de una aplicación basándose en una lógica que se ha convertido en un estándar: 
el modelo relacional. Los fundamentos de este modelo se establecieron a principios de los años 70 por E.F. Codd y 
constituyen una referencia para la gestión de datos. 

La  lógica  de  extracción  de  los  datos  de  una  base  de  datos  estructurada  de  acuerdo  con  el  modelo  relacional 
constituye el álgebra relacional. Proporciona a los usuarios un método independiente del sistema físico para llegar a 
obtener un resultado. 

El SQL es un lenguaje de consulta descriptivo, que se ha adoptado como estándar en todas las bases de datos que 
siguen  el  modelo  relacional.  Este  lenguaje  permite  realizar  todo  tipo  de  operaciones  sobre  los  datos  en  cualquier 
situación en la que se emplee la base de datos. 

Con Oracle, se puede asociar al SQL un lenguaje procedimental, el PL/SQL, que añade numerosas posibilidades para 
la manipulación de los datos. 

Desde la versión 8i, el sistema de gestión de bases de datos de Oracle propone un nuevo método de gestión de la 
información en la empresa a través de la implementación del modelo objeto­relacional. El objetivo de este método es 
simplificar el modelado de los datos permitiendo el almacenamiento y la manipulación de nuevos tipos de datos. Estos 
objetos  reutilizables,  propios  de  cada  sector  de  actividad  o  de  cada  empresa,  deben  permitir  un  modelado  más 
eficiente. 

La implantación de este modelo a través de las extensiones del lenguaje SQL permite una migración flexible entre el 
modelo relacional puro de las versiones anteriores y este nuevo modelo objeto­relacional. Este libro está dedicado al 
método relacional clásico. 

En  primer  lugar,  este  libro  presenta  los  conceptos,  definiciones  y  reglas  del  modelo  relacional  (capítulo  Modelo 
relacional) y, a continuación, detalla su uso en el marco del lenguaje SQL (capítulo SQL). Después de presentar las 
herramientas ofrecidas  de  manera  estándar  con  Oracle  Database  12c,  SQL*Plus  y  Oracle SQL  Developer  (capítulo 
SQL*Plus y SQL Developer), el libro aborda el lenguaje PL/SQL (capítulos PL/SQL y PL/SQL en objetos de la base de 
datos), además del uso de Java y de XML en la base de datos (capítulos Java y El analizador de XML). Para terminar, 
este  libro  presenta  el  entorno  de  desarrollo  de  aplicación  Web  Oracle  Application  Express  (capítulo  Application 
Express). 

© Éditions ENI – Todos los derechos reservados - 1-


Gestión de datos
En  todas  las  aplicaciones  de  gestión  es  necesario  almacenar  datos  con  el  fin  de  reutilizarlos  de  diferentes  formas 
según  sea  preciso.  La  mayor  parte  de  los  sistemas  operativos  (MS/DOS,  UNIX,  VMS,  GCOS...)  proporcionan 
herramientas  que  permiten  llevar  a  cabo  este  almacenamiento.  Estas  aplicaciones  de  software  generan  archivos 
basándose en diferentes principios. 

1. Generalidades sobre los archivos

Un archivo informático es un conjunto de datos de la misma naturaleza (texto, código ejecutable, datos...), que se 
identifica mediante un nombre y se guarda en un soporte físico (disco duro, disquete, cinta, CD­ROM...). 

Un archivo puede tener diferentes funciones: 

l archivo de programa: contiene código que puede ser ejecutado por el sistema operativo.

l archivo de texto: contiene caracteres ASCII.

l biblioteca de funciones: contiene código ejecutable que puede ser utilizado por un programa.

l archivo de periférico: permite el direccionamiento de los periféricos (UNIX).

l archivo de datos: permite almacenar información generada por una aplicación, etc.

Los archivos de datos se distinguen según su utilidad en el seno de la aplicación, marcando el tipo de archivo. Este 
tipo permitirá seleccionar a la vez el soporte físico del archivo y su organización. 

Tipos de archivos de datos 

Los archivos permanentes contienen los datos básicos de la aplicación. Generalmente, sus registros están formados 
por  numerosos  campos  y  su  tamaño  es  grande.  El  tiempo  de  vida  de  estos  archivos  suele  ser  largo.  Algunos 
ejemplos  de  archivos  permanentes  son  los  archivos  de  clientes,  los  catálogos  de  productos  y  las  fichas  de 
empleados. 

Los  archivos  de  operación  contienen  datos  que  hacen  referencia  a  los  archivos  permanentes,  aportando 
información  complementaria,  en  general  de  carácter  puntual.  Los  registros  están  compuestos  principalmente  por 
códigos  que  identifican  los  registros  de  los  archivos  básicos.  El  número  de  registros  de  estos  archivos  suele  ser 
elevado, aunque su tiempo de vida es corto. Dentro de este tipo de archivo se puede citar, por ejemplo, el archivo 
de  pedidos  de  un  departamento  comercial,  que  almacena  los  pedidos  de  un  cliente,  o  las  fichas  horarias  de  una 
aplicación  de  gestión  de  personal,  que  almacenan  el  número  de  horas  trabajadas  por  un  empleado  en  un 
determinado puesto de trabajo. 

Los  archivos  de  trabajo  los  crean,  generalmente,  las  aplicaciones.  Contienen  toda  la  información  de  los  archivos 
permanentes y de los archivos de operación reagrupada en registros compuestos. Su tiempo de vida es el mismo 
que el dedicado a su tratamiento. Por regla general, estos archivos ocupan mucho espacio. En este tipo de archivo 
se incluyen, por ejemplo, los archivos de edición o los resultados de las consultas. 

Los  archivos históricos  contienen  los  datos  archivados  de  forma  definitiva.  Estos  archivos  proceden,  después  del 
cálculo  o  la  depuración,  de  los  archivos  permanentes  y  de  los  archivos  de  operación,  quedando  como  registros 
inactivos o para la realización de estadísticas. 

2. Organizaciones típicas de los archivos

© Éditions ENI – Todos los derechos reservados - 1-


El analista decidirá qué tipo de organización adoptará para los archivos en función del tipo de archivo, del soporte 
físico, de la aplicación y, por supuesto, de las restricciones impuestas por las especificaciones que se le entreguen.  

Las opciones principales para la organización de archivos son la organización secuencial, la organización secuencial 
indexada, las bases de datos navegables y, evidentemente, las bases de datos relacionales. 

Organización secuencial 

El  principio  de  este  tipo  de  organización  consiste  en  generar  los  registros  como  series  de  bytes  estructuradas 
(mediante caracteres delimitadores o tamaños fijos). 

La ventaja de este tipo de organización reside en la simplicidad de uso, la estandarización de  las estructuras y la 
optimización del espacio de almacenamiento. 

Sin embargo, los archivos no guardan entre sí ningún tipo de relación dentro de la aplicación y sólo se pueden leer 
secuencialmente (un byte a continuación del otro). 

Organización secuencial indexada 

Este tipo de organización es una mejora de la organización secuencial que añade un archivo de claves (o de índice) 
vinculado al archivo secuencial. 

Este archivo de índice contiene criterios de búsqueda seleccionados (índice) y la dirección del dato correspondiente 
dentro del archivo secuencial. 

Además  de  las  ventajas  del  sistema  secuencial  (simplicidad  y  estandarización),  permite  encontrar  rápidamente  un 
registro en función de la clave. 

El principal inconveniente sigue siendo que los archivos no están relacionados entre sí dentro de la aplicación, por lo 
que es necesaria una gran cantidad de programación para garantizar la integridad de los datos. Asimismo, hay que 
destacar el despilfarro de espacio debido a la redundancia de los datos (especialmente las claves). 

Bases de datos navegables 

Son colecciones de archivos relacionados de forma lógica entre sí. Estas bases se crean sobre sistemas propietarios 
con  el  fin  de  compensar  los  inconvenientes  de  los  tipos  de  organización  anteriores,  en  lo  que  se  refiere  a  la 
traducción del diccionario de datos resultante del análisis. 

Las ventajas de estas bases de datos son numerosas, destacando los mecanismos de seguridad para el acceso de 
los  usuarios  a  la  base  de  datos  mediante  contraseña,  la  garantía  estructural  de  la  integridad  de  los  datos  o  las 
nuevas  posibilidades  de  lectura  de  datos  gracias  a  los  vínculos  directos  entre  registros  de  archivos  diferentes 
(lecturas encadenadas). 

Estos sistemas también presentan importantes inconvenientes, entre los que se pueden destacar la complejidad de 
mantenimiento y de uso, los requisitos elevados de espacio en disco, memoria y tiempo de procesador y, por último, 
la dependencia de estas bases de datos con respecto al sistema operativo. 

- 2- © Éditions ENI – Todos los derechos reservados


El modelo relacional
Una  base  de  datos  relacional  es  una  colección  de  datos  relacionados  mediante  tablas  lógicas,  siendo  una  tabla  un 
conjunto de filas y columnas. 

Los sistemas de gestión de bases de datos relacionales (RDBMS, Relational Database Management System) administran 
de forma independiente el nivel lógico (objetos o entidades) y el nivel físico (archivos). 

El  éxito  de  los  sistemas  RDBMS  procede  fundamentalmente  de  esta  característica.  Con  estos  sistemas,  el  usuario 
solamente  gestiona  el  nivel  lógico,  lo  que  proporciona  una  gran  simplicidad  a  la  gestión  de  los  datos,  incluso  en  el 
caso de usuarios con pocos conocimientos informáticos. 

1. Conceptos y definiciones

El modelo relacional se basa en conceptos básicos sencillos (dominio, relación, atributo) a los que se aplican reglas 
precisas. 

La  implementación  de  la  base  de  datos  se  facilita  mediante  un  lenguaje  declarativo  (no  procedimental)  sencillo, 
basado en la lógica de conjuntos. 

a. Dominio

Es un conjunto de valores caracterizado por un nombre.

Cardinalidad

Es el número de elementos de un dominio.

Ejemplo

El  diccionario  de  datos  del  análisis  de  una  aplicación  de  gestión  comercial  puede  incluir,  entre  otras  cosas,  especificaciones
sobre la gestión de los estados de los pedidos o los números de orden que se deseen visualizar. El modelo relacional traducirá
estas especificaciones del siguiente modo:

Estados de los pedidos =


{"EC", "SU", "FA", "SE"};cardinalidad 4
Números de orden =
{n | 1<=n<=9999};cardinalidad 9999

b. Producto cartesiano

El  producto  cartesiano  P  entre  varios  dominios  D1,  D2,  ...,  Dn  se  expresa  como  P = D1  X  D2  X  ...  X  Dn  y  es  el
conjunto de las n tuplas (d1, d2, ..., dn) donde cada "di" es un elemento del dominio Di.

Ejemplo

Si se desean generar dos dominios (códigos e impuestos), se pueden obtener parejas formadas por un código y un impuesto.

Codigos = {1,2,3,4}
IVA = {0,4,16}
Codigos X IVA ={(1,0),(1,4),(1,16),
(2,0),(2,4),(2,16),(3,0),(3,4),(3,16),

© Éditions ENI – Todos los derechos reservados - 1-


(4,0),(4,4),(4,16)}

c. Relación

Una  relación  definida  sobre  los  dominios  D1,  D2,  ...,  Dn  es  un  subconjunto  del  producto  cartesiano  de  estos
dominios, caracterizado por un nombre.

Atributo

Es una columna de una relación, caracterizada por un nombre.

Grado

Es el número de atributos de una relación.

Ejemplo

Para asociar un único tipo de impuesto a cada código, sólo deben considerarse tres parejas.

Relación IVA = {(1,0),(2,4),(3,16)}

Representación  

Se realiza en forma de tabla, enumerando los elementos: 

O de forma declarativa: 

IVA (CODIGO:códigos, VALOR:IVA)

IVA (CODIGO, VALOR)

2. Principales reglas

Por tanto, el objeto principal gestionado por el modelo relacional es la relación, que está asociada a los conceptos 
de dominio y de atributo. 

A esta relación se le aplican reglas con el fin de satisfacer las restricciones identificadas en el análisis. 

Algunas de estas reglas son: 

Coherencia 

- 2- © Éditions ENI – Todos los derechos reservados


Todo valor tomado por un atributo debe pertenecer al dominio sobre el que está definido. 

Unicidad 

Todos los elementos de una relación deben ser diferentes. 

Identificador 

Atributo o conjunto de atributos que permiten caracterizar de forma unívoca cada elemento de la relación. 

Clave primaria 

Identificador mínimo de una relación. 

Claves secundarias 

Otros identificadores de la relación. 

Integridad referencial 

Esta  regla  impone  que  un  atributo  o  conjunto  de  atributos  de  una  relación  aparezca  como  clave  primaria  en  otra 
relación. 

Clave externa 

Atributo o conjunto de atributos que verifica la regla de integridad referencial. 

Ejemplo 

El  análisis  de  una  aplicación  de  gestión  comercial  requiere  gestionar  una  serie  de  clientes  que  tienen  unas  determinadas 
características (nombre y dirección) y los pedidos que realicen dichos clientes. 

Puede emplearse el siguiente modelo: 

CLIENTES (NUMEROCLI,NOMBRECLI,DIRECCLI)

© Éditions ENI – Todos los derechos reservados - 3-


NUMEROCLI identificador clave primaria de CLIENTES
(NOMBRECLI,DIRECCLI) identificador clave secundaria de CLIENTES

PEDIDOS (NUMEROPED,FECHAPED,NUMEROCLI,ESTADOPED)

NUMEROPED identificador clave primaria de PEDIDOS


NUMEROCLI clave externa de PEDIDOS, que hace referencia a
NUMEROCLI de CLIENTES

Valor nulo 

En el modelo relacional, el concepto de valor nulo es perfectamente admisible. Se trata de un valor que representa 
un dato desconocido o inaplicable en una columna.  

Se denota mediante _ , ˆ o NULL. 

Restricción de entidad 

Cualquier valor que forme parte de una clave primaria debe ser diferente a NULL. 

Ejemplo 

En la relación de artículos se admite que el precio o el código de IVA sean desconocidos, pero la referencia del artículo (clave 
primaria) debe especificarse. 

- 4- © Éditions ENI – Todos los derechos reservados


Álgebra relacional

Se trata de un método de extracción de datos que permite manipular tablas y columnas. Su principio se basa en la 
creación de tablas nuevas (tablas de resultados) a partir de las tablas existentes; estas tablas nuevas serán objetos 
que podrán emplearse de forma inmediata. 

Los operadores del álgebra relacional que permiten crear tablas de resultados se basan en la teoría de conjuntos. 

1. Operadores

a. Unión

La unión entre dos relaciones con la misma estructura (grado y dominios) proporciona una tabla resultante con la
misma estructura y cuyos elementos son el conjunto de los elementos diferentes de las dos relaciones iniciales.

Notación : Rx = R1   R2

Ejemplos

Sean las tablas CLIOESTE y CLICENTRO:

Clientes de las dos regiones: 

CLIENTES=CLIOESTE   CLICENTRO

b. Intersección

La intersección entre dos relaciones de la misma estructura (grado y dominios) proporciona una tabla resultante
de la misma estructura y cuyos elementos son el conjunto de los elementos comunes a ambas relaciones iniciales.

Notación: Rx = R1   R2

Ejemplo

© Éditions ENI – Todos los derechos reservados - 1-


Los clientes comunes a las dos regiones son: 

CLICOMUN=CLIOESTE CLICENTRO

c. Diferencia

La diferencia entre dos relaciones con la misma estructura (grado y dominios) proporciona una tabla resultante con
la  misma  estructura  y  cuyos  elementos  son  el  conjunto  de  los  elementos  de  la  primera  relación  que  no  se
encuentran en la segunda relación.

Notación: Rx = R1 ­ R2

Ejemplo

Los clientes que solo pertenecen a la región OESTE son:

CLIOESTESOLO=CLIOESTE - CLICENTRO

d. Restricción

La restricción de acuerdo con una condición produce, a partir de una relación, otra relación con el mismo esquema
y que solo contiene los elementos de la relación inicial que cumplen la condición.

Notación: Rx = σ (condición) R1

La condición se expresa como sigue:

[NOT] [(]atributo operador valor [)] [{AND/OR}condición]

operador  un operador de comparación: =, <>, >, <, >=, <= 

valor  una constante u otro atributo. 

Ejemplos 

Clientes de ORENSE: 

CLIORENSE=σ(DIRECCION="ORENSE")CLIOESTE 

- 2- © Éditions ENI – Todos los derechos reservados


Artículos de la serie AB: 

ART1=σ(REFART>="AB" AND REFART<"AC")ARTICULOS 

Alfombras "baratas": 

ART2=σ(PRECIO<=1000)ART1 

e. Proyección

La  proyección  de  una  relación  sobre  un  grupo  de  atributos  da  lugar  a  una  relación  resultante  que  tiene  como
esquema  solamente  dichos  atributos  y  como  elementos  las  distintas  n­tuplas  compuestas  por  los  valores
asociados a dichos atributos.

Notación: Rx = π R (A1, A2, ..., An).

Ejemplos

Pedidos y estado de los pedidos:

PED= π PEDIDOS(NUMEROPED,NUMEROCLI,ESTADOPED)

Clientes que han realizado pedidos: 

CLIPED1= π PEDIDOS(NUMEROCLI) 

Clientes y estado de los pedidos: 

© Éditions ENI – Todos los derechos reservados - 3-


CLIPED2= π PEDIDOS(NUMEROCLI,ESTADOPED) 

f. Producto cartesiano

El  producto  cartesiano  de  dos  relaciones  da  como  resultado  una  relación  que  tiene  como  esquema  todos  los
atributos de las dos relaciones existentes y como elementos la asociación de cada línea de la primera tabla con
cada línea de la segunda tabla.

Notación: Rx = S1 X S2

Ejemplo

Sean las tablas:

INVENTARIO = DEPOSITO X ART2 

g. Combinaciones

La combinación entre dos relaciones de acuerdo a una condición se obtiene aplicando una restricción al producto
cartesiano.

Notación: Rx = S1 JOIN (condición) S2

Ejemplo

Sean las tablas:

- 4- © Éditions ENI – Todos los derechos reservados


LINEASPEDEC = PEDEC JOIN (PEDEC.NUMEROPED = 
LINEASPED.NUMPED) LINEASPED 

Combinación­theta 

La condición es una comparación entre dos atributos. 

Equi­combinación 

La condición es una igualdad entre dos atributos. 

Combinación natural 

Es una combinación de igualdad entre atributos con el mismo nombre. 

h. Campos calculados elementales

Proyección  sobre  una  relación  asociada  a  un  cálculo  que  se  realiza  sobre  cada  línea  para  crear  uno  o  varios
atributos nuevos.

Notación: Rx = π S (A1, ..., N1 = expresión calculada...)

La expresión calculada puede ser:

l una operación aritmética,

l una función matemática,

l una función de cadena.

Ejemplo 

© Éditions ENI – Todos los derechos reservados - 5-


Se desea obtener el importe de una línea de pedido (Precio * Cantidad). 

LINEAPEDIMP = π LINEAPED(NUMPED,NUMLIN,REFART,
IMPLINEA=CANTPED*PRECSINIVA) 

i. Cálculos de valores agregados

Proyección sobre una relación asociada con uno o varios valores agregados que se calculan sobre un atributo para
todos los elementos de la relación o de la agrupación vinculada a la proyección, con el fin de crear uno o varios
atributos nuevos.

Notación: Rx = π S (A1, ..., N1= función estadística (Ax), ...)

Las funciones estadísticas son:

COUNT (*)   número de líneas. 

COUNT (atributo)  número de valores no nulos (NULL). 

SUM (atributo)   suma de valores no nulos. 

AVG (atributo)  media de valores no nulos. 

MAX (atributo)  valor máximo (no nulo). 

MIN (atributo)  valor mínimo (no nulo). 

Ejemplos 

Número total de clientes que hay en la tabla. 

NUMCLIENTES=π CLIENTES(N=COUNT(*)) 

Total de los importes de línea por pedido: 

PEDVALOR=π LINEAPEDIMP(NUMPED,TOTPED=SUM(IMPLINEA)) 

- 6- © Éditions ENI – Todos los derechos reservados


Precios más altos, más bajos y el precio medio por cada categoría de artículo: 

STATART=π ARTICULOS(CATEGORIA,MASCARO=MAX(PRECIO), MASBARATO=MIN(PRECIO),MEDIO=AVG(PRECIO)) 

2. Etapas para la resolución de problemas

En  una  base  de  datos  conocida  (esquemas,  dominios,  relaciones,  elementos),  la  resolución  de  un  problema  se 
realiza en tres etapas. 

a. Análisis de las necesidades

l Expresar las necesidades expuestas por el cliente en forma de relación.

l Determinar los atributos y las relaciones que se van a utilizar.

l Especificar los campos calculados elementales y agregados para crear los atributos no existentes.

b. Definición de la vista

La vista es una relación intermedia que contiene todos los atributos que permiten realizar la extracción de datos,
con sus relaciones de origen, sus clases de atributos y las operaciones que hay que aplicar.

Clases de atributos

Clase a: atributo que interviene en la relación resultante.

Clase b: atributo que interviene en un cálculo.

Clase c: atributo que interviene en una restricción.

Clase d: atributo que interviene en una combinación.

c. Orden y especificación de las operaciones

En general, y salvo excepciones, el orden de las operaciones puede ser el siguiente:

1  Relaciones implicadas. 

2  Restricciones (para eliminar las filas que no son útiles). 

3  Combinaciones, Productos cartesianos, Uniones, Intersecciones, Diferencias (para asociar las filas restantes). 

4  Campos calculados elementales (para crear nuevas columnas). 

5  Campos agregados (para las columnas de totalización). 

6  Combinación  entre  la  tabla  obtenida  en  el  punto  5  y  la  tabla  inicial  del  punto  4  (para  añadir  las  columnas 
agregadas a las restantes). 

© Éditions ENI – Todos los derechos reservados - 7-


7  Repetir el paso 5 para las restantes agrupaciones. 

8  Restricciones relacionadas con los atributos calculados. 

9  Proyecciones para eliminar valores duplicados. 

10  Proyección final para eliminar los atributos inútiles en la tabla resultante. 

Ejemplo 

Sea la base de datos compuesta por las tablas siguientes: 

CLIENTES (NUMCLI,NOMCLI,DIRECCION)  
ARTICULOS (REFART,DESCRIPCION,PRECSINIVA)  
PEDIDOS (NUMPED,NUMCLI,FECHAPED,ESTADOPED)
LINEASPED (NUMPED,NUMLIN,REFART,CANTPED) 

Se desea obtener el formulario de confirmación del pedido N°1301. 

Plantilla del documento: 

A partir del análisis de la plantilla y de las tablas iniciales, se deduce que: 

fecha actual: información que puede especificarse durante la 
generación del formulario.  
N° de pedido = NUMPED de PEDIDOS   
Fecha del pedido = FECHAPED   
Nombre del cliente = NOMCLI de CLIENTES   
Dirección del cliente = DIRECCION de CLIENTES   
Referencia = REFART de LINEASPED   
Descripción = DESCRIPCION de ARTICULOS   
Cantidad pedida = CANTPED de LINEASPED   
Precio sin IVA = PRECSINIVA de ARTICULOS   
Importe sin IVA= campo que hay que calcular   
Total sin IVA = campo que hay que calcular 

Para definir el documento, será necesaria por tanto la siguiente tabla: 

- 8- © Éditions ENI – Todos los derechos reservados


CONFPED (NUMPED,FECHAPED,NOMCLI,DIRECCION,REFART,   
DESCRIPCION,PRECSINIVA,CANTPED,IMPSINIVA,TOTSINIVA) 

siendo  IMPSINIVA  =   PRECSINIVA*CANTPED  en  cada  línea  del  pedido  y  TOTSINIVA  =   SUM(IMPSINIVA)  el  precio  total  del 
pedido. 

Vista  

Operaciones 

Restricción sobre el número de pedido: 

T1=σ(NUMPED=1301) PEDIDOS 

T2=σ(NUMPED=1301) LINEASPED 

Combinación natural de PEDIDOS y LINEASPED: 

T3=T1 JOIN (T1.NUMPED=T2.NUMPED) T2 

Combinación natural de PEDIDOS y CLIENTES: 

© Éditions ENI – Todos los derechos reservados - 9-


T4=T3 JOIN (T3.NUMCLI=CLIENTES.NUMCLI) CLIENTES 

Combinación natural de LINEASPED y ARTICULOS: 

T5=T4 JOIN (T4.REFART=ARTICULOS.REFART) ARTICULOS 

Proyección del campo calculado elemental IMPSINIVA y eliminación de las columnas no útiles: 

T6=π T5(NUMPED,FECHAPED,NOMCLI,DIRECCION,REFART,   
DESCRIPCION,PRECSINIVA,CANTPED,IMPSINIVA=PRECSINIVA*CANTPED) 

Proyección del valor agregado para TOTSINIVA: 

T7=πT6(NUMPED,TOTSINIVA=SUM(IMPSINIVA)) 

Combinación para disponer de todas las columnas en la tabla resultante: 

CONFCDE=T6 JOIN (T7.NUMPED=T6.NUMPED) T7 

- 10 - © Éditions ENI – Todos los derechos reservados

Potrebbero piacerti anche