Herramientas de usuario

Herramientas del sitio


informatica:programacion:cursos:desarrollo_web_backend:diseno_base_datos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:cursos:desarrollo_web_backend:diseno_base_datos [2024/11/16 15:27] – [Modelado de base de datos utilizando draw.io] tempwininformatica:programacion:cursos:desarrollo_web_backend:diseno_base_datos [2024/11/19 12:11] (actual) – [Diseño de bases de datos] tempwin
Línea 1: Línea 1:
 ====== Diseño de bases de datos ====== ====== Diseño de bases de datos ======
  
-<WRAP center round info 60%>+<WRAP center round box 80%>
 Módulo perteneciente al curso [[informatica:programacion:cursos:desarrollo_web_backend|Desarrollo web back-end]] Módulo perteneciente al curso [[informatica:programacion:cursos:desarrollo_web_backend|Desarrollo web back-end]]
 </WRAP> </WRAP>
Línea 228: Línea 228:
  
 Por ejemplo, si se define ''ON DELETE CASCADE'', al eliminar una fila en la tabla padre, se eliminarán automáticamente todas las filas en las tablas hijas que estén referenciando la fila eliminada. Por ejemplo, si se define ''ON DELETE CASCADE'', al eliminar una fila en la tabla padre, se eliminarán automáticamente todas las filas en las tablas hijas que estén referenciando la fila eliminada.
 +
 +===== Teoría relacional: las cuatro formas normales del diseño de bases de datos =====
 +
 +La teoría relacional es un concepto fundamental en el diseño y construcción de bases de datos. Una base de datos bien diseñada debe seguir ciertas normas para garantizar su eficiencia, integridad y consistencia.
 +
 +Las cuatro formas normales del diseño de bases de datos son una serie de reglas que permiten estructurar una base de datos de manera óptima.
 +
 +==== La primera forma normal (1FN) ====
 +
 +La primera forma normal (1FN) establece que todas las tablas de la base de datos deben tener una clave primaria única y que cada columna debe ser atómica, es decir, no se permiten valores repetidos o combinados. 
 +
 +Por ejemplo, en una tabla de empleados, la información de teléfono y dirección debe estar en columnas separadas, no en una sola columna.
 +
 +==== La segunda forma normal (2FN) ====
 +
 +La segunda forma normal (2FN) se refiere a la eliminación de redundancias y establece que cada columna debe depender solo de la clave primaria de la tabla. 
 +
 +Por ejemplo, en una tabla de pedidos, la fecha del pedido debe estar en una tabla separada de los detalles del pedido, para evitar la redundancia de información.
 +
 +==== La tercera forma normal (3FN) ====
 +
 +La tercera forma normal (3FN) se enfoca en la eliminación de dependencias transitivas, es decir, cuando una columna depende de otra columna que no es la clave primaria. 
 +
 +Por ejemplo, en una tabla de empleados, si la dirección de un empleado depende de su departamento, la información de departamento debe estar en una tabla separada.
 +
 +==== La cuarta forma normal (4FN) ====
 +
 +Finalmente, la cuarta forma normal (4FN) se centra en la eliminación de dependencias multivaluadas. Una dependencia multivaluada ocurre cuando una tabla tiene más de una clave y las dependencias entre ellas no están claras. 
 +
 +Por ejemplo, en una tabla de ventas, si un producto puede estar en varias categorías, la información de categoría debe estar en una tabla separada.
  
  
Línea 238: Línea 268:
   * [[https://dev.mysql.com/doc/refman/8.0/en/partitioning-limitations-partitioning-keys-unique-keys.html|Documentación de PHP sobre el uso de claves en bases de datos]]   * [[https://dev.mysql.com/doc/refman/8.0/en/partitioning-limitations-partitioning-keys-unique-keys.html|Documentación de PHP sobre el uso de claves en bases de datos]]
   * [[https://www.php.net/manual/es/book.pdo.php|Objetos de datos PHP]]   * [[https://www.php.net/manual/es/book.pdo.php|Objetos de datos PHP]]
 +  * [[https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html|Crear tabla con FOREIGN KEY Constraints]]
 +  * [[https://www.php.net/manual/es/security.database.design.php|Diseño de bases de datos en PHP]]
informatica/programacion/cursos/desarrollo_web_backend/diseno_base_datos.1731767258.txt.gz · Última modificación: por tempwin