![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Exactamente, en el ejemplo que estamos tratando, yo pienso q se tendria q restringir el nombre_del_cliente para que no se modifique, y si en algun caso se tiene q modificar, eso lo haga el DBA, claro q tendria q ser un pequeño detalle como por ejemplo arreglar una letra mal escrita o aumentarle un pqueño detalle, pero es importante saber bien que es lo que se esta haciendo, porque si se va cambiar completamente el nombre_del_cliente esto llevaria a una inconsistencia real.
Talvez si conoces alguna direccion q hable de estos temas o parecidos te estaria muy agradecido. Muchas gracias por tu colaboración. |
|
#2
|
||||
|
||||
|
Bueno, considerando el ritmo que viene tratandose en este hilo tal vez sea conveniente tratarlo fuera pues creo que esto ya toma un curso diferente al que se vino tratando originalmente.
Teniendo en cuenta el hecho de que ya fue hecho el diseño y que está en operación el sistema. Lo más económico y menos riesgoso sería continuar trabajando como tu venías haciendolo. Pero claro... igualmente creería que habrá que hacer unos ajustes menores. Por más que deba agregarse un nuevo cliente, tengo entendido que debe tenerse referencia de que el cliente anterior se ha "transformado" en uno nuevo. Yo al menos lo veo así, si yo fuera parte de la gerencia (o el encargado de saber dicho movimiento) me gustaría tener constancia de que porqué pepito ya no opera con dicho nombre sino que lo hace bajo el nombre luisito. Si es que esta información le es útil a alguien (y por tanto la necesita) no basta con sólo agregar un nuevo cliente con los nuevos datos. Claro... la solución barata es que si dispone del campo Observaciones, una leyenda que diga "El cliente ha cambiado la razón social y ahora opera bajo el nombre Fulano" Igualmente como dices, es una situación que poco sucede. Al mediano plazo lo bueno sería ir agregando clientes como te aconsejan.... Pero... si vez que esto se escapa de las manos la opción es alterar la estructura y hacer los ajustes necesarios. (1) (1) Esta tendría que haber sido la opción que debería haberse llevado en mi ex trabajo (ya no trabajo). Te comento lo que ha sucedido en mi caso: el dueño del negocio había cerrado por 3 años. Abrió de nuevo y la mayoría de los proveedores que tenía habian cambiado de razón social, o desaparecieron... como al momento de cerrar había quedado mercadería a vender.. siguió con eso... ¿que pasó? La lista de los proveedores y la de los materiales que entregaron, sumado al hecho de que no se tenía cargado registros de las ventas y compras del ejercicio anterior (y por consiguiente algunos de los nuevos) hizo un gran lio. La solución: agregar los nuevos clientes y asociarlos con las nuevas mercaderías e investigar a mano (si a mano) cada caso en particular con aquellos viejos proveedores y sus mercaderias (mediante factura en mano) Bueno hize mi tarea, quedó bonito. Me tomó un mes conseguir armonizarla. Cumplida mi tarea bueno... el resto es historia . El que diseñó el sistema reconoce que actualmente la base de datos no estaba preparada para esa situación. Es por ello, en base a mi experiencia en aquella oportunidad, que me digo a mi mismo preparate a las consecuencias. Y por ello defiendo mi idea de que tengas esa tabla de movimientos (aunque estoy abierto a escuchar otras) Con respecto a tu duda de como hacer el reporte es así: deberías cruzar los datos con la tablas h_cliente, y puede que también con la cliente. No conozco algún sitio que trate estos asuntos. Si lo hay, avisen que esto ya me intriga. Bueno... se que dije poco en esta oportunidad. No quiero que esto se convierta en un monólogo... a ver... quisiera que otros comentasen al respecto. Saludos, |
|
#3
|
||||
|
||||
|
¿Porqué no existe la relación muchos a muchos en base de datos?
Buen día, buenas tardes, y/o buenas noches a todos.
Hace poco he dado una respuesta en YR y considero, a mi entender, que posiblemente lo dicho en aquella oportunidad sería un buen complemento a lo expuesto en este extenso hilo. Me pareció justo exponerlo aqui pues puede que a alguien le sirva. No creí conveniente iniciar un nuevo hilo debido a que algo del tema puede estar relacionado con esto... Bueno... se que no soy de las mejores palabras. No me creo dueño de la verdad, pero en fin... si no suena tan tonto lo que digo, algo de sentido debe tener. Aqui vá: ¿Porqué no existe la relación muchos a muchos en base de datos? Cita:
Ojo. No es por hacerme publicidad, me pareció que puede ser útil. Si no es conveniente exponer el contenido borro el mensaje. Saludos, Última edición por Delphius fecha: 06-11-2007 a las 19:10:00. |
|
#4
|
|||
|
|||
|
relacion m:m
Estimado Delphius:
En la literatura q he leido, Se da una regla: Si existe una relacion m:n esta se puede convertir es sus equivalentes relaciones: m:1 y 1:n, es decir introducir una nueva tabla intermedia q tenga una relacion m:1 con la 1era tabla y una relacion 1:n con la segunda tabla. Pero como explicabas, el porq existe una relacion de este tipo... A mi parecer es que no se ha hecho un analisis correcto o como dices se ha tomado un lapso de tiempo prolongado(historico) en el analisis. Si no limitamos nuestro espacio de tiempo todas nuestras relaciones tenderian a ser mucho a muchos. Un ejemplo claro de esto puede ser una relacion 'esta casado' entre dos entidades 'hombre' y 'mujer'; si no tomamos en cuenta el espacio de tiempo o como se entienda 'tomamos un gran espacio de tiempo' (puede ser 20 años) seria una relacion es m:n ya que un hombre x puede haberse casado mas de 2 veces en ese transcurso de tiempo o viceversa, pero si tomamos un momento especifico del tiempo (puede ser el presente) se vuelve una relacion 1:1 ya que un hombre en momento especifico del tiempo no puede estar casado con 2 mujeres o viceversa. Esto, como decias, responde a un estudio o analisis del problema de la realidad, y considerar cual de los casos (m:n o 1:1) es el q le interesa al USR final. Me llama mucho la atencion la jerga que utilizas, como ser dominio, designacion de responsabilidades, asignacion de tareas,.. etc.. me podrias decir donde puedo encontrar una bibliografia sencilla acerca de todo esto?. Mi formación en lo relacionado a Base de datos se limita al modelo relacional, si bien conozco la POO no he profundizado en el diseño POO de Base de datos, su forma de encarar la realidad, abstraccion de la realidad, etc. ya que me intereza bastante. Gracias de antemano.... |
|
#5
|
|||
|
|||
|
relacion m:m
Estimado Delphius:
En la literatura q he leido, Se da una regla: Si existe una relacion m:n esta se puede convertir es sus equivalentes relaciones: m:1 y 1:n, es decir introducir una nueva tabla intermedia q tenga una relacion m:1 con la 1era tabla y una relacion 1:n con la segunda tabla. Pero como explicabas, el porq existe una relacion de este tipo... A mi parecer es que no se ha hecho un analisis correcto o como dices se ha tomado un lapso de tiempo prolongado(historico) en el analisis. Si no limitamos nuestro espacio de tiempo todas nuestras relaciones tenderian a ser mucho a muchos. Un ejemplo claro de esto puede ser una relacion 'esta casado' entre dos entidades 'hombre' y 'mujer'; si no tomamos en cuenta el espacio de tiempo o como se entienda 'tomamos un gran espacio de tiempo' (puede ser 20 años) seria una relacion es m:n ya que un hombre x puede haberse casado mas de 2 veces en ese transcurso de tiempo o viceversa, pero si tomamos un momento especifico del tiempo (puede ser el presente) se vuelve una relacion 1:1 ya que un hombre en momento especifico del tiempo no puede estar casado con 2 mujeres o viceversa. Esto, como decias, responde a un estudio o analisis del problema de la realidad, y considerar cual de los casos (m:n o 1:1) es el q le interesa al USR final. Me llama mucho la atencion la jerga que utilizas, como ser dominio, designacion de responsabilidades, asignacion de tareas,.. etc.. me podrias decir donde puedo encontrar una bibliografia sencilla acerca de todo esto?. Mi formación en lo relacionado a Base de datos se limita al modelo relacional, si bien conozco la POO no he profundizado en el diseño POO de Base de datos, su forma de encarar la realidad, abstraccion de la realidad, etc. ya que me intereza bastante. Gracias de antemano.... |
|
#6
|
||||
|
||||
|
Hola cacho22.
Admito que es posible que no me haya explicado bien cuando escribí dicho texto. Lo hice a medida que se me salían las palabras y no le presté demasiada atención. Me gusta mejor el término que tu dices: espacio de tiempo. Considero que tu lo haz sabido expresar mejor. En fin, lo que trata una relación m:n es una relación temporal a gran escala y ésta, a las finalidades de su implmentación debe ser "reducida" a una escala menor (m:1, 1:n) Es natural que esto es aplicable dependiendo del contexto, del problema. O como se debe decir del dominio. En algunos aspectos de problema será necesario reducir la abstracción, en otros no... El análisis lo dirá. Con respecto a la POO en BD, debo decirte que no me refiero a Base de Datos orientada a objetos sino que los mismos principios que se aplican para constituir un diseño POO se pueden llevar a cabo para asistir en el diseño de la base de datos. En POO lo que se busca es que cada objeto trabaje con lo que sabe y si necesita alguna información externa, se la solicita a otro. Es así como cada objeto aprende a formar relaciones entre otros y responde a su trabajo. Hay muchos patrones que ayudan a determinar que responsabilidades tiene un objeto. Los más comunes son los GRAPS. En fin un objeto tiene un objetivo y en función de éste solicitará y aportará los datos necesarios. Asi mismo, en el diseño de una base de datos contamos con tabla. Cada Tabla es un reflejo de una realidad, es una entidad. Cada entidad (tabla) lleva un registro ordenado de los datos (las tuplas y campos) con los cuales trabaja. Se trata en fin de un mismo principio que puede ser enfocado tanto para POO como para un DER. De hecho, si uno mira el diagrama de clase se le asemeja a un DER. Pero claro, no hay que caer en la idea de que todo el modelo y diagrama de clase corresponde a un diseño DER. El mayor peligro es asumir que un diagrama de clase es un DER (y viceversa). La asignación de responsabilidades a una tabla es diferente que la asignación a los objetos. Solo parcialmente puede ser empleado. Sobre que bibliografía puedes consultar... Veamos yo uso: UML Gota a Gota. De Martin Flower (no recuerdo si asi es el apellido) y Kendall Scott UML y Patrones y una introducción al anpalisis y diseño orientado a objetos y al proceso unificado. De Craig Larman Ingeniería de Software. Un enfoque práctico. De Roger S. Presman No recuerdo bien el libro que usé para base de datos. Creería que el autor es Yourdon. De cualquier manera te digo que esto no es más que una filosofía de como ver las cosas. Empecé a unir conceptos, ideas, y con lo que tengo de experiencia he hecho de POO una "traslación" hacia la BD. Sobre todo debido a que considero que para conseguir una base de datos se necesita del estudio del dominio, y UML tiene un buen diagrama que puede ser de utilidad para encarar este estudio. Por el momento no se que más decirte. Puede que si logro reordenar ideas consiga ampliarte estos dichos, aunque es probable de que debas esperar ya que tengo un dia bastante apurado. Saludos, |
|
#7
|
||||
|
||||
|
Amigos de Club Dephi soy un integrante muy viejito de este foro, he posteado muy pocas veces, no he sacado tantas dudas como mucho pero algo he ayudado XD.
Lo que el amigo Gabrielflower o como se llame no entiende es que esta gente que esta acá sacando las dudas de muchisima gente que entra a diario, y lo hace gratis... Acá en Argentina los cursos salen mucho dinero y no tengo para ello, por lo tanto me las he ingeniado aprendiendo en Internet (Club Delphi) lo cual lo agradezco tanto. Si no se esta conforme con las respuesta, páguense un tutor o un curso, ahí seguro encontraran la respuesta. Pero no exijan de esa manera a esta gente que se molesta posteando y solucionando los problemas de otros de manera gratuita a tanta gente!!! Propongo que cuando aparezca gente así, indeseable, sea baneada enseguida para mantener la seriedad de este sitio al que tanto estimo... Atte. Marco. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Combinar información de dos tablas | ContraVeneno | SQL | 2 | 04-08-2005 18:20:14 |
| Mas informacion sobre ECO II... | Epachsoft | Noticias | 1 | 01-07-2005 19:15:10 |
| informacion sobre estructura de tablas paradox e indice px | chuley | Tablas planas | 2 | 06-04-2005 03:42:37 |
| Recuperacion de informacion Tablas paradox | andresenlared | Tablas planas | 1 | 14-08-2004 13:08:10 |
| Información sobre Rx | bbjb | OOP | 2 | 13-01-2004 19:13:49 |
|