Modo de empleo partido en sentencias sql

La integridad referencial implica mantener la consistencia en una base de datos SQL de varias tablas. Se puede perder la integridad mediante la adición de una fila a una tabla secundaria que no tiene una fila correspondiente en la tabla padre del niño. Puede causar problemas similares mediante la supresión de una fila de una tabla principal si existen filas correspondientes a la fila de una tabla secundaria.

Supongamos que su empresa tiene una tabla de clientes que mantiene un registro de todos sus clientes y una tabla de ventas que registra todas las transacciones de ventas. Usted no desea agregar una fila a VENTAS hasta después de entrar en el cliente que hace la compra en la tabla CLIENTE. Es posible que no desea eliminar un cliente de la tabla cliente si ese cliente realiza las compras que existen en la tabla de ventas.

Antes de realizar una inserción o una deleción, es posible que desee comprobar la fila candidata para asegurarse de que la inserción o eliminación de esa fila no causa problemas de integridad. los PARTIDO predicado puede realizar una comprobación de este tipo.

Digamos que tiene una tabla de clientes y una tabla de ventas. Identificación del cliente es la clave primaria de la tabla cliente y actúa como una clave externa de la tabla de ventas. Cada fila de la tabla CLIENTE deberá tener un único Identificación del cliente que no es nulo.

Identificación del cliente no es único en la tabla de ventas, ya que los clientes de la repetición comprar más de una vez. Esta situación se Fine- no ponga en peligro la integridad porque Identificación del cliente es una clave externa en lugar de una clave primaria de esa tabla.

Aparentemente, Identificación del cliente puede ser nulo en la tabla de ventas, porque alguien puede caminar por la calle, comprar algo, y salir antes de tener la oportunidad de introducir su nombre y dirección en la tabla CLIENTE. Esta situación puede crear problemas - una fila de la tabla secundaria sin fila correspondiente en la tabla padre.

Para superar este problema, puede crear un cliente genérico en la tabla CLIENTE y asignar todas las ventas anónimas a ese cliente. Decir que un cliente se acerca a la caja registradora y afirma que ella compró un F-35 Strike Fighter, el 18 de diciembre de 2012. A pesar de que ha perdido a su recibo, que ahora quiere devolver el avión, ya que se presenta como un portaaviones en las pantallas de radar de los oponentes.

Puede verificar si se compró un F-35 mediante la búsqueda en su base de datos de ventas para un partido. En primer lugar, debe recuperar su Identificación del cliente en la variable vcustid- entonces se puede utilizar la siguiente sintaxis:

... DONDE (: vcustid, `F-35`, `18/12/2012`) coinciden (SELECT CustomerID, ProductID, SaleDateFROM VENTAS)

Si el PARTIDO predicado devuelve un valor verdadero, la base de datos contiene una venta de los F-35 el 18 de diciembre de 2012, a este cliente de Identificación del cliente. Retirar el producto defectuoso y devolver el dinero del cliente. (Nota: Si algún valor en el primer argumento de la PARTIDO predicado son nulos, un valor verdadero siempre vuelve.)

los desarrolladores de SQL añaden el PARTIDO y el predicado ÚNICO predicado por la misma razón - que proporcionan una forma de realizar explícitamente los ensayos definidos para la integridad de referencia implícita (RI) y ÚNICO restricciones.

La forma general de la PARTIDO predicado es como sigue:

Row_valuePARTIDO [ÚNICA] [SIMPLE | PARCIAL | COMPLETO ] subconsulta

los ÚNICO, SENCILLO, PARCIAL, y COMPLETO Opciones refieren a normas que entran en juego si la expresión valor de fila R tiene una o más columnas que son nulas. Las reglas para la PARTIDO predicado son una copia de las correspondientes reglas de integridad referencial.

Artículos Relacionados