Asunto: ¿El sistema de gestión de base de datos MySQL cumple las 12 reglas de Codd?
Nombre: Ariel fernando
Origen: Rep. Dominicana
Fecha: 06-06-2023 00:00
Pregunta o consulta del visitante:Quiero saber si la base de datos mysql aplica a las 12 reglas de codd ?
Respuesta de ALEGSA.com.ar:
Las 12 reglas de Codd son un
sistema de reglas propuestas por Edgar F. Codd, del
modelo relacional para las bases de datos, diseñado para definir qué requiere un sistema de administración de base de datos.
MySQL, como los otros grandes sistemas de gestión de base de datos, soportan la mayoría de las reglas de Codd.
¿Cuánto cumple o no
MySQL las reglas de Codd?
- Atomicidad (Axioma 1): MySQL implenta un tipo de columna, SET, para el
almacenamiento de múltiples valores celdas de valores individuales, esto viola la atomicidad.
- Unicidad de fila (Axioma 2): Como la mayoría de los gestores de base de datos relacionales, MySQL proporciona claves primarias, de todas maneras permite tablas que no cuenten con estas. Por lo tanto no cumple esto tampoco.
- No backdoors (Axioma 3, Regla 4 y 12): Desde la
versión 5.03, MySQL implementa la mayor parte del estándar
SQL INFORMATION SCHEMA actual para metadatos de base de datos. De todas maneras quedan las backdoors (puertas traseras) previas de esta funcionalidad, en forma de comandos personalizados (como el
comando SHOW) y utilidades, pero sólo están disponibles por cuestiones de compatibilidad hacia atrás.
- Regla de
información (Regla 1 y 2): Todos los datos de la base de datos MySQL están disponibles a nivel lógico como valores en tablas, y esto es siempre posible, aunque como se señaló anteriormente, no es necesario para hacer cumplir la unicidad de las filas en cualquier
tabla.
- NULLs (Regla 3): NULL en mySQL significa que un
dato no se encuentra y, a diferencia de
Microsoft SQL y
Oracle, MySQL no ofrece ningún
escape de puerta trasera del tratamiento de valores NULL.
- Lenguaje de datos (Regla 5): La variante MySQL de SQL es amplia aunque no implementa completamente la especificación SQL actual.
- Vistas actualizables (Reglas 6, 7): Esto recién está disponible desde la versión 5.01.
- Independencia física de datos (Regla 8): La versión actual de MySQL provee algún motor de almacenamiento de datos que cumple este requerimiento, y algunos no los cumplen.
- Independencia lógica de datos (Regla 9): En MySQL, diferentes motores de almacenamiento aceptan diferentes comandos. Puede ser imposible para cualquier sistema obedecer estrictamente la regla 9.
- Independencia de
integridad (Regla 10): Las claves primarias y las claves foráneas de MySQL cumplen con los criterios de Codd, pero es aún posible crear tablas que eviten ambos requisitos, y la
implementación de Triggers (disparadores) en MySQL 5 sigue siendo incompleta.
- Independencia de distribución (Regla 11): la versión 5.03 introduce motores de almacenamiento que violan este requerimiento.
En conclusión, MySQL cumple parcialmente con las reglas propuestas por Codd, ya que si bien soporta gran parte de ellas, existen algunas que no cumple o cumple parcialmente.
Por ejemplo, no cumple con la atomicidad y la unicidad de fila. Además, aunque ofrece claves primarias, permite tablas sin estas.
En cuanto a la independencia física y lógica de datos, MySQL provee motores de almacenamiento que cumplen con estos
requerimientos, pero algunos no los cumplen. También queda pendiente la implementación completa de los Triggers en MySQL 5.
Por otro lado, sí cumple con la regla de información y tiene un lenguaje de datos amplio, aunque no completamente compatible con la especificación SQL actual. Finalmente, la versión 5.03 introduce motores de almacenamiento que violan la regla de independencia de distribución.
1. ¿Qué son las 12 reglas de Codd?
Las 12 reglas de Codd son un conjunto de requisitos que una base de datos debe cumplir para ser considerada verdaderamente relacional.
2. ¿Quién estableció las 12 reglas de Codd?
Las 12 reglas de Codd fueron establecidas por Edgar F. Codd, quien es considerado como el padre de las bases de datos relacionales.
3. ¿Es importante que una base de datos cumpla con las 12 reglas de Codd?
Sí, es importante que una base de datos cumpla con las 12 reglas de Codd ya que esto garantiza que la base de datos es verdaderamente relacional y por tanto, más eficiente y segura.
4. ¿MySQL cumple con las 12 reglas de Codd?
MySQL cumple con la mayoría de las 12 reglas de Codd, pero no todas. Por ejemplo, no cumple con la regla de los valores nulos, la cual establece que una base de datos debe tratar los valores nulos de manera consistente y lógica.