2009-09-03 32 views
5

Recientemente estuve leyendo acerca de Codd's 12 Rules, y entendí todo excepto el número 12, la regla de 'no subversión'. Si alguien puede explicarme la regla (usando un ejemplo, preferiblemente), sería muy útil.¿Qué significa la "regla de no subversión" de Codd?

Gracias.

+0

maldición! Por un momento, me confundí con lo que Codd tuvo que hacer con Subversion. La versión superior de "Subversión" en la pregunta es la culpable :) ¿Alguien puede editarla por favor? (para evitar confusiones a las personas como yo) –

+0

@Vijay: Sí, yo también estaba confundido. Editado –

Respuesta

10

Regla 12: La regla nonsubversion:

Si el sistema proporciona un bajo nivel de interfaz (récord en-un-tiempo), entonces que la interfaz no puede ser utilizado para subvertir el sistema, por ejemplo, omitiendo una seguridad relacional o restricción de integridad.

Digamos que define una restricción no nula en una columna. ¿Puede eludir el RDBMS (por ejemplo, utilizando una API de utilidad de bajo nivel proporcionada por Oracle) para insertar un nulo en esa columna? Si es así, has violado esa regla.

5

Lo que dijo Michael, y también se aplica a los cargadores a granel.

Digamos que SQL * Loader le permitió cargar filas a granel en una tabla, sin verificar para ver si las filas duplican filas que ya están en la tabla, en violación de una restricción única. Esto equivaldría a la subversión de las reglas expresadas en el esquema.

Otros productos DBMS tienen cargadores a granel, y algunos de ellos permiten la subversión, con el fin de acelerar la carga masiva.

La regla 12 prohíbe esto.

Cuestiones relacionadas