Cómo utilizar las reglas de integridad referencial y el predicado partido sql

Reglas de integridad referencial requieren que los valores de una columna o columnas en una tabla de SQL se ajustan a los valores de una columna o columnas en otra tabla. Usted se refiere a las columnas de la primera tabla como el clave externa y las columnas de la segunda tabla como la clave primaria o clave única.

Por ejemplo, es posible declarar la columna EmpDeptNo en una tabla EMPLOYEE como una clave externa que hace referencia a la Deptno columna de una tabla DEPT. Este partido asegura que si graba un empleado en la tabla EMPLEADO como trabajar en el departamento 123, una fila aparece en la tabla DEPT donde Deptno es 123.

Si los miembros de la pareja de claves clave / primaria extranjera ambos consisten en una sola columna, la situación es bastante sencillo. Sin embargo, las dos claves pueden consistir en varias columnas. los Deptno valor, por ejemplo, puede ser único sólo dentro de una Localización- Por lo tanto, para identificar unívocamente una DEPARTAMENTO fila, se debe especificar un Localización y un Deptno.

Si tanto las oficinas de Boston y Tampa tienen un departamento de 123, es necesario identificar los departamentos ('Boston', '123') y ('Tampa', '123'). En este caso, la tabla empleado necesita dos columnas para identificar una DEPARTAMENTO. Llame a esas columnas EmpLoc y EmpDeptNo. Si un empleado trabaja en el departamento 123 en Boston, el EmpLoc y EmpDeptNo valores son 'Boston' y '123'. Y la declaración-clave externa de la tabla EMPLOYEE se ve así:

FOREIGN KEY (EmpLoc, EmpDeptNo) REFERENCIAS DEPT (Lugar, DEPTNO)

Sacar conclusiones válidas de los datos se vuelve inmensamente complicado si los datos contienen valores nulos. Eso es porque a veces usted quiere tratar dichos datos de una manera, y, a veces usted quiere tratar de otra manera. los UNIQUE, SENCILLO, PARCIAL, y COMPLETO palabras clave especifican diferentes formas de tratar los datos que contiene valores nulos.

Si sus datos hace contener valores nulos, abandonar el modo de lectura rápida ahora y lea la siguiente lista lentamente y con cuidado. Cada entrada en la lista dada aquí se presenta una situación diferente con respecto a los valores nulos - y le dice cómo el PARTIDO predicado maneja.

Estos son los escenarios que ilustran las reglas para tratar con valores nulos y la PARTIDO predicado:

  • Los valores son a la vez de una manera u otra. Si ninguno de los valores de EmpLoc y EmpDeptNo son nulos (o ambas son null), entonces las reglas de integridad referencial son las mismas que para las claves de una sola columna con valores que son nulos o no nulo.

  • Un valor es nulo y uno no lo es. Si, por ejemplo, EmpLoc es nulo y EmpDeptNo No es nulo - o EmpLoc no es nulo y EmpDeptNo es nulo - que necesita nuevas reglas. Cuando las normas de aplicación, si inserta o actualiza la tabla EMPLOYEE con EmpLoc y EmpDeptNo valores de (NULL, '123') o ('Boston', NULL), Tiene seis alternativas principales: SENCILLO, PARCIAL, y COMPLETO, cada uno con o sin la UNIQUE palabra clave.

  • los UNIQUE palabra clave está presente. Una fila coincidente en la tabla de resultados subconsulta debe ser único para que el predicado para evaluar a un valor True.

  • Ambos componentes de la expresión valor de fila R son nulos. los PARTIDO predicado devuelve un valor Verdadero, independientemente del contenido de la tabla de resultados subconsulta que se comparan.

  • Ni componente de la expresión de valor de fila R es nulo, SENCILLO se especifica, UNIQUE no se especifica, y al menos una fila de la tabla de resultados subconsulta coincide R. los PARTIDO predicado devuelve un valor True. De lo contrario, devuelve un valor Falso.

  • Ni componente del valor de expresión fila R es nulo, SENCILLO se especifica, UNIQUE se especifica, y al menos una fila de la tabla de resultados subconsulta es a la vez único y coincide con R. los PARTIDO predicado devuelve un valor True. De lo contrario, devuelve un valor Falso.

  • Cualquier componente de la expresión valor de fila R es nulo y SENCILLO se especifica. los PARTIDO predicado devuelve un valor True.

  • Cualquier componente del valor de la fila de expresión R no es nulo, PARCIAL se especifica, UNIQUE no se especifica, y la parte no nulo de por lo menos una fila en la tabla de resultados subconsulta coincide R. los PARTIDO predicado devuelve un valor True. De lo contrario, devuelve un valor Falso.

  • Cualquier componente del valor de expresión fila R es no nulo, PARCIAL se especifica, UNIQUE se especifica, y las partes no son nulos de R coinciden con las partes que no son nulos de al menos una fila única en la tabla de resultados subconsulta. los PARTIDO predicado devuelve un valor True. De lo contrario, devuelve un valor Falso.

  • Ni componente del valor de expresión fila R es nulo, COMPLETO se especifica, UNIQUE no se especifica, y al menos una fila de la tabla de resultados subconsulta coincide R. los PARTIDO predicado devuelve un valor True. De lo contrario, devuelve un valor Falso.

  • Ni componente del valor de expresión fila R es nulo, COMPLETO se especifica, UNIQUE se especifica, y al menos una fila de la tabla de resultados subconsulta es a la vez único y coincide con R. los PARTIDO predicado devuelve un valor True. De lo contrario, devuelve un valor Falso.

  • Cualquier componente de la expresión valor de fila R es nulo, y COMPLETO se especifica. los PARTIDO predicado devuelve un valor Falso.




» » » » Cómo utilizar las reglas de integridad referencial y el predicado partido sql