ALEGSA · Actualidad

¿El sistema de gestión de base de datos MySQL cumple las 12 reglas de Codd?

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...

¿El sistema de gestión de base de datos MySQL cumple las 12 reglas de Codd?

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 <a href="https://www.alegsa.com.ar/Dic/sistema.php">sistema</a> de reglas propuestas por Edgar F. Codd, del <a href="https://www.alegsa.com.ar/Dic/modelo.php">modelo</a> 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 <a href="https://www.alegsa.com.ar/Dic/mysql.php">MySQL</a> las reglas de Codd?

- Atomicidad (Axioma 1): MySQL implenta un tipo de columna, SET, para el <a href="https://www.alegsa.com.ar/Dic/almacenamiento.php">almacenamiento</a> 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 <a href="https://www.alegsa.com.ar/Dic/version.php">versión</a> 5.03, MySQL implementa la mayor parte del estándar <a href="https://www.alegsa.com.ar/Dic/sql.php">SQL</a> 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 <a href="https://www.alegsa.com.ar/Dic/comando.php">comando</a> SHOW) y utilidades, pero sólo están disponibles por cuestiones de compatibilidad hacia atrás.

- Regla de <a href="https://www.alegsa.com.ar/Dic/informacion.php">información</a> (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 <a href="https://www.alegsa.com.ar/Dic/tabla.php">tabla</a>.

- NULLs (Regla 3): NULL en mySQL significa que un <a href="https://www.alegsa.com.ar/Dic/dato.php">dato</a> no se encuentra y, a diferencia de <a href="https://www.alegsa.com.ar/Dic/microsoft.php">Microsoft</a> SQL y <a href="https://www.alegsa.com.ar/Dic/oracle.php">Oracle</a>, MySQL no ofrece ningún <a href="https://www.alegsa.com.ar/Dic/escape.php">escape</a> 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 <a href="https://www.alegsa.com.ar/Dic/integridad.php">integridad</a> (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 <a href="https://www.alegsa.com.ar/Dic/implementacion.php">implementación</a> 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 <a href="https://www.alegsa.com.ar/Dic/requerimientos.php">requerimientos</a>, 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.

<h2>1. ¿Qué son las 12 reglas de Codd?</h2>

Las 12 reglas de Codd son un conjunto de requisitos que una base de datos debe cumplir para ser considerada verdaderamente relacional.

<h2>2. ¿Quién estableció las 12 reglas de Codd?</h2>

Las 12 reglas de Codd fueron establecidas por Edgar F. Codd, quien es considerado como el padre de las bases de datos relacionales.

<h2>3. ¿Es importante que una base de datos cumpla con las 12 reglas de Codd?</h2>

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.

<h2>4. ¿MySQL cumple con las 12 reglas de Codd?</h2>

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.


Compartir nota

Consultá dudas con nuestro Asistente IA

ALEGSA IA · Tecnología

Consultá al asistente IA

Escribí tu consulta sobre informática, internet, tecnología, programación, hardware, software o seguridad. El asistente responde en segundos y podés elegir si querés una respuesta completa o breve.

Cuanto más clara sea tu pregunta, mejor responderá la IA. 0/400
Tipo de respuesta
Ayuda para escribir una mejor consulta

Dále contexto a la IA: explicá qué querés resolver, qué equipo o sistema usás y qué tipo de respuesta necesitás. Si lo deseás, dejá tu e-mail para que podamos contactarte si detectamos un error o si nuestro staff quiere ampliar la respuesta. Cada consulta se procesa como una nueva pregunta.

* Aclaración: sugerimos dejar tu e-mail si querés que podamos contactarte para corregir una respuesta o ampliar la ayuda.

Nuestras redes

Podés seguirnos y contactarnos desde nuestras redes sociales.