Edición de «Final del 14/08/19 (Bases de Datos)»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 36: Línea 36:


==== Pregunta 3 ====
==== Pregunta 3 ====
La normalización es una herramienta que se apoya en las DFs para evaluar y comparar distintas formas de agrupar atributos en un esquema. Al diseñar una base de datos normalizada siguiendo las formas normales, se busca que el resultado sea conceptualmente bueno (e.g entendible) y también físicamente bueno (e.g minimizar duplicación).
Para esto se siguen cuatro pautas fundamentales, que si bien no siempre pueden alcanzarse al mismo tiempo, dan una medida informal de la calidad del diseño:
# semántica clara
# reducir información redundante
# reducir la cantidad de valores NULL
# no permite generar tuplas espúreas
Una base de datos desnormalizada puede presentar distintos problemas, como por ejemplo:
* Anomalías de modificación: el nombre del departamento 33 es inconsistente (Compras/Adquisiciones):
{|
! idEmpleado
! idDepartamento
! nombreDepartamento
|-
|1
|33
|Compras
|-
|2
|34
|Ventas
|-
|3
|33
|Adquisiciones
|}
* Anomalías de deleción: al borrar el empleado 2 desaparece el departamento Ventas
{|
! idEmpleado
! idDepartamento
! nombreDepartamento
|-
|1
|33
|Compras
|-
|3
|33
|Adquisiciones
|}
* Anomalías de inserción: este esquema no permite agregar información de departamentos que aún no tienen empleados. Lo siguiente es inválido:
{|
! idEmpleado
! idDepartamento
! nombreDepartamento
|-
|NULL
|35
|Ingeniería
|-
|NULL
|36
|Calidad
|}


==== Pregunta 4 ====
==== Pregunta 4 ====
Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica de procesamiento. Una transacción puede incluir uno o más accesos a la BD a través del uso de diversas operaciones (inserción, eliminación, modificación, etc.).
Diversos sistemas como los bancarios, los de reservas de vuelos o del mercado de valores, usan transacciones para garantizar la consistencia de los datos. Por ejemplo, un sistema bancario que usa una transacción para actualizar dos saldos a causa una transferencia evita la pérdida o creación de dinero en caso de fallas. En este caso, la atomicidad de la transacción garantiza que se ejecuta completo o se deshace por completo.
Este tipo de sistemas requieren rápida respuesta y alta disponibilidad para muchos usuarios que acceden de manera concurrente. En este escenario, un motor de base de datos hace uso de la multiprogramación, intercalando operaciones de distintas transacciones que se ejecutan concurrentemente. El control de concurrencia resulta importante pues queremos evitar que una transacción interfiera con otra: para el usuario, las transacciones se comportan como si se hubieran ejecutado una a continuación de la otra. De no manejar la concurrencia, pueden aparecer distintos problemas como:
* Lost update
* Dirty read
* Incorrect summary
* Unrepeatable read


==== Pregunta 5 ====
==== Pregunta 5 ====
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)