Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

diferencias en bases de datos

Estas en el tema de diferencias en bases de datos en el foro de Mysql en Foros del Web. quiiero saber cual es la diferencia entre eliminar registros de una base de datos de manera logica y de manera fisica...
  #1 (permalink)  
Antiguo 11/10/2008, 17:39
Avatar de petoko  
Fecha de Ingreso: noviembre-2007
Ubicación: talcahuano chile
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
diferencias en bases de datos

quiiero saber cual es la diferencia entre eliminar registros de una base de datos de manera logica y de manera fisica
  #2 (permalink)  
Antiguo 11/10/2008, 18:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: diferencias en bases de datos

es simple cuando nos refirimos a eliminar un registro en forma fisica nos referimos a eliminarlo por completo mediante la sentencia "delete" y cuando lo hacemos de manera logica lo deshabilitamos mediante un "UPDATE"... para que me entiendas mejor te pongo un ejemplo: imaginemos que tenemos las siguientes tablas

Alumnos
--------------
codalumno
nombres
apellido1
apellido2

Grado
-----------
codsalon
nombre
capacidad

AlumnosxGrados
-----------------------
codGrado
codalumno

en la primera almacenamos los datos de todos los alumnos q tiene un colegio, la segunda los Grados con sus diferentes carateristicas (en este caso le puse capacidad x practicidad) y en la tercera que alumnos pertenecen a un salon... ahora imaginemos esto:

Tenemos al alumno juanito perez garcia con codigo '071' y pertenece al Grado 5to 'A' con codigo '20085A' entonces el registro de la tabla AlumnosxGrados para juan perez quedaria de la siguiente manera:

codGrado|codalumno
-20085A|-----071

ahora imaginate si borras de la tabla a juan perez... entonces como sabriamos quien es el alumno con codigo 071 en el salon del 5to A???... es por este motivo q lo q se estila hacer es agregarle una columna de "estado" a las tablas para asi poder manipular de manera "LOGICA" el habilitacion de un registro donde x ejemplo 1 seria activo y te permitiria realizar operaciones con este registro y 0 seria inactivo y quedaria logicamente inhabilitado... se q no soy bueno explicando pero espero haberte ayudado en algo...

Salu2,
-----------------
K-SuMa
Prefiero sacrificar un poco de sueño a sacrificar mis sueños
  #3 (permalink)  
Antiguo 11/10/2008, 18:14
Avatar de petoko  
Fecha de Ingreso: noviembre-2007
Ubicación: talcahuano chile
Mensajes: 173
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: diferencias en bases de datos

creo k no entendi mucho

pero gracias por la aclaracion ahora por lo menos tengo una idea
  #4 (permalink)  
Antiguo 13/10/2008, 09:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: diferencias en bases de datos

El propio significado de las palabras "físico" y "lógico" te está dando la respuesta.
Un borrado físico implica: Por un lado la eliminación del registro de la tabla y la actualización de los índices y por otro la liberación del espacio físico usado por el registro.
Un borrado lógico es la eliminación del contenido del registro o la indicación de su inaccesibilidad a los usos de las consultas, sin la eliminación física del mismo ni la liberación del espacio.
Resumiendo un poco lo que ya te dijo K-Suma, el problema central es que en ocasiones es posible destruir el registro, simplemente porque ya no se usará de ninguna forma, y en otras, se debe determinar que ya no está vigente, pero no se lo puede eliminar, por cuestiones de integridad referencial o bien de memoria histórica.
El primer caso se da, por ejemplo, en una base de datos de ventas. El código ID de un producto no se puede eliminar, por más que ya el producto no exista ni en el mercado, porque sigue apareciendo en el detalle de las facturas emitidas. Debe mantenerse como vigente de listado, pero no para venderlo.
El segundo caso, es, por ejemplo, el de reservas de productos para venta futura. Una vez pasada la fecha, si la operación no se produjo, debería poderse eliminar sin afectar ninguna otra tabla. Eso es así simplemente porque se trata de información transitoria o innecesaria para estadísticas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.