Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Como no me llegan al correo los avisos de nuevos mensajes no he vuelto por aqui... y al volver me doy con esto.
Creo que me veo obligado a intervenir.

De entrada te digo que por favor no te enojes:

gabrielflowers, yo no soy ningún experto en el tema... ha decir verdad llevo 4 años manejando los conceptos que implica base de datos. Y por si deseas saber: no soy ingeniero (aun). Me falta tan solo una materia (mejor dicho tesis) por si deseas saber.
Si conozco y domino estos conceptos se deberá a que me paso diariamente entre 5 a 8 horas buscando e interpretando elementos del dominio y armando redes de entidades como ejercicio de rutina (si aunque no lo creas, a veces... lo hago al mismo tiempo junto a otras actividades).

Y a pesar de ello... creo que hay gente que domina mejor el arte de las base de datos. Si dichas personas no intervinieron antes se debe a que:
1. El tema es simple y tus palabras no daban a entender cual es tu verdadera problemática. Lo cual fue el verdadero problema aquí.
2. No tienen tiempo libre.

Si recuerdas, te había comentado que el tema es simple. No tiene demasiada ciencia... de ingeniero a ingeniero te digo que no te centres en un solo comentario. Como ingeniero de seguro que te enseñaron a que primero se debe buscar alternativas y no quedarse con la primera.

Y, lamento mucho que te lo diga.. pero ¿Como ingeniero que eres... no haz sido capaz de dar una mejor explicación de tu problema, o dudas? No es que esté enojado contigo... pero ha decir verdad (mil disculpas que lo diga) no se que esperar de que un ingeniero en sistemas no sepa entender lo que implica tabla Maestra, subMaestra, Histórica.
No me creo el sabelotodo... pero es que todos de manera directa e indirecta te estabamos haciendo saber que por empezar el tema es muy simple.
No se como habrá sido tu formación profesional. Pero si no sabes esos conceptos en pocas líneas, o si no lo habías visto durante el cursado de tu carrera... Hemos empezado mal.

Me alegro que te haya servido de algo lo que dije. Pero como bien lo ha señalado Neftali: hablar del tema nos puede llevar tiempo. Tiempo que no todos, estamos dispuesto a disponer.
Si ofrecí exponer aquel texto al que tu tomaste y aceptaste como válido es porque estaba cansado de ver el mismo comentario por tu parte... y decidí tomarme el tiempo y buscar las palabras más simple para que se entendiera.

Y disculpa que lo diga: Neftali, egostar y Casimiro tienen la razón.
Te hemos dicho que tus palabras no eran las adecuadas para el propósito de tu pregunta. Si hubieras buscado otros términos y palabras, las respuestas podrían ser otras.

No quiero iniciar problemas... te doy una buena bienvenida al foro. Como recomendación, lee la guia de estilo. Toma esto como un hecho de risa... y recordaremos a este mal entendido en la taberna con humor.
No digo que hiciste mal en poner tu pregunta... simplemente empezaste mal... y todavia estas a tiempo.
No queremos problemas... pero es que aqui exigimos un poco más de colaboración por parte de quien pregunta para poder dar las mejores respuestas.

A todo esto.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 13-08-2007
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 20
gabrielflowers Va por buen camino
hola delphius

bueno, lei tu intervencion, y antes que nada yo ya he hecho algunas BD para uno que otro sistema de informacion en la universidad, mira pero el concepto de tabla maestra, submaestra e historica recien la escuche trabajando en el desarrollo de un ERP, y mira que no es culpa mia, ni la de mi univ de no exponer los conceptos de ese tipo de tabla, pues cada universidad tiene diferente tipo de enfoque, algunas son mas empresariales, otras mas tecnicas, etc etc
y sobre ,mi pedido veras que era sencillo, solo queria ejemplos de aplicacion de tablas maestras, submaestras, historicas, claro previamente ya tenia una idea sobre todo ello, pero buscaba alguien mas docto en ese aspecto, alguien con mas experiencia que yo, que me explicase en que caso usa cada una, nada mas, no hay misterio en eso
y ademas te digo que no he empezado mal, pues esta no era mi primera intervencion en este foro, ya antes plantee preguntas en este foro, y obtuve repuestas satisfactorias
quizas al principio fui muy breve, pero ya luego, trate de ser mas explicito

pdta:no quiero hablar mas, me fatiga hablar ya, si para mi el tema concluyo hace rato, con tu (breve) aportacion
gracias, saludos a todos
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"
Responder Con Cita
  #3  
Antiguo 14-08-2007
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.676
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Perdón, por si acaso me he 'pasado'.
Bienvenido.
Responder Con Cita
  #4  
Antiguo 25-10-2007
cacho22 cacho22 is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
cacho22 Va por buen camino
tablas maestras, submaestras, etc...

Hola foro, soy nuevo aqui, asi q disculpen si hago algo mal...

Me parecio muy interesante la explicacion q dio delphius acerca de los tipos de tablas...Yo soy desarrollador de programas orientados al manejo de Base de Datos, y en base a la experiencia se me han presentado ciertos problemas en el manejo de tablas historicas.

Aca les doy un ejemplo muy claro, en una base de datos de inventarios (que es la mas comun, para estos casos). en el año 2005 (solo un ejemplo) se añadió el cliente "CAINCO SRL" con codigo 35, posteriormente se hicieron 'ventas' a este cliente todo el 2005 y 2006, es decir se registro en la tabla ventas registros con este cliente (id 35) y se emitieron reportes para saber el historico de ventas a este cliente de 2005 y 2006, todo ok!. Aca viene el problema... el 1ero de enero de 2007 se modifica el nombre del cliente (en la tabla clientes) 'CAINCO SRL.' a 'DAHER S.A' y se siguen haciendo las ventas todo el 2007; Aca viene el problema (repito de nuevo) en el reporte historico que hago desde el 2005 al 2007... me salen ventas que hice al usr. DAHER S.A. siendo q este no existia en el 2005 y donde quedaron las ventas al usr. CAINCO SRL.?

Se q este es un mal manejo de la información, lo correcto deberia ser crear un nuevo cliente. (DAHER SRL) y dejar al cliente. anterior sin cambio (CAINCO), para q todo esto funcione correctamente.

Hay alguna otra alternativa de solucionar estos problemas? Que tipo de anomalia seria esta? En que casos se tendria que preveer esta situacion? Como se podria mantener una información correcta en la base de datos atravez del tiempo y Que manera optima se recomedaria para estos casos?

Gracias foro.
Responder Con Cita
  #5  
Antiguo 25-10-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Hola cacho22,
Bievenido a clubdelphi.

No se si seré el más adecuado para responderte, pues como he dicho antes... es seguro que hay gente que domina mejor esto.

Yo defiendo la idea de que todo depende del negocio. Sobre todo lo refierido a la base de datos, que es donde queda asentada toda la información (mejor dicho los datos).

Viendo lo que expones, yo apresuradamente diría que se trata de un error del concepto del dominio. Pero como sabemos, un error de dominio no es un error sino una interpretación del dominio a un nivel de abstracción determinado. Es decir que el diseño de la tabla y/o de la base de datos responde a una solución de menor nivel de complejidad ("complejidad" en cuanto a medida de implementar la solución en base a la abstracción) que la necesaria actualmente.
Por tanto la anomalia no es de sistema sino más bién que se debe a un cambio a nivel del dominio (lo cual es muy frecuente).

Una solución que yo consideraría es implementar un histórico de movimientos de los clientes. Es decir que ante cualquier operación ABM se quede acentado de dicho cambio. Vulgarmente decimos: "Un cliente puede tener muchos movimientos a su nombre y/o razón social" Por lo tanto una solución sería implementar una Tabla MovCli que lleve constancia (como mínimo) de:
1. el ID del cliente (obvio)
2. Fecha de la operación (movimiento)
3. Tipo de operación (alta, baja, modificación)
4. Campos necesarios para llevar la información anterior

De modo que para llevar el dichoso histórico debe "cruzarse" dicha info con los movimientos y no solo con la tabla Clientes.

Lo que dije es un modelo simple, es una idea... y como toda idea debe ajustarse y refinarse.
Espero que se me entienda...

Al menos asi lo veo yo.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 25-10-2007
cacho22 cacho22 is offline
Registrado
 
Registrado: oct 2007
Posts: 6
Poder: 0
cacho22 Va por buen camino
Saludos estimado Delphius:

Exactamente, lo mas aconsejable seria tener un historico de las ABM (altas,bajas,modificaciones) que ha hecho el USR a la tabla clientes, esto se puede hacer automaticamente en manejadores de base de datos ultimos (mediante triggers) quedando la ultima version del reg. en la tabla (en este caso clientes).

Si entendi bien, si quiero sacar un reporte de ventas de un lapso de tiempo largo, por ej. del 2005 al 2007 tendria q cruzar las tablas ventas con h_cliente (historico de cliente) para sacar una información mas correcta, en vez de ventas con cliente?.

Si es esto, desarrollar el reporte me resultaria mas complejo, sin embargo sacaria una información coherente.

No crees que una mejor alternativa seria 'bloquear de por vida' el nombre o razon social para los clientes una vez que estos ya han realizado un movimiento en la tabla ventas?, es decir, nunca mas dejar modificar el nombre o razon_social para este cliente una vez este haya realizado una compra?

Gracias por tu respuesta tan rapida....

Saludos
Responder Con Cita
  #7  
Antiguo 25-10-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por cacho22 Ver Mensaje
Saludos estimado Delphius:

Exactamente, lo mas aconsejable seria tener un historico de las ABM (altas,bajas,modificaciones) que ha hecho el USR a la tabla clientes, esto se puede hacer automaticamente en manejadores de base de datos ultimos (mediante triggers) quedando la ultima version del reg. en la tabla (en este caso clientes).

Si entendi bien, si quiero sacar un reporte de ventas de un lapso de tiempo largo, por ej. del 2005 al 2007 tendria q cruzar las tablas ventas con h_cliente (historico de cliente) para sacar una información mas correcta, en vez de ventas con cliente?.

Si es esto, desarrollar el reporte me resultaria mas complejo, sin embargo sacaria una información coherente.
Saludos
Hola de nuevo cacho22.
Tu lo haz dicho, obtener el histórico ahora es más complicado... es el precio que se paga cuando se elevan los "requisitos".

Cita:
Empezado por cacho22 Ver Mensaje
No crees que una mejor alternativa seria 'bloquear de por vida' el nombre o razon social para los clientes una vez que estos ya han realizado un movimiento en la tabla ventas?, es decir, nunca mas dejar modificar el nombre o razon_social para este cliente una vez este haya realizado una compra?
Saludos
Yo al comienzo he dicho que no se si soy el más indicado. Por lo que no soy dueño de la verdad absoluta. Y lo que he planteado no deja de ser una simple idea (mejor dicho alternativa).
Lo que dices es correcto. Correcto en cuanto al dominio que tu estás estudiando y entendiendo.
Pero... claro... como todo análisis, no es único. Tu desarrollo es una representación de tu entendimiento y si consideras que la razón social y/o el nombre de un cliente no puede ser alterado. Todo tu sistema lo reflejará y seguirá funcionando en cuanto la realidad se apegue a tu concepto del problema.

En fin... será cuestión de "gustos". La idea de hacer fijo los datos del cliente funciona, pero no es la única. Y hay otros factores que entran en juego: la progragación de requisitos y funcionalidades.

Imponer una restricción (que el cliente no pueda cambiar su razón social ha dejado de ser un requisito, ahora en tu concepto es una restricción) podría provocar cambios en el modo de operar tu sistema. Una restricción nunca debería cambiar a lo largo del ciclo de vida, por tanto condiciona al sistema (entendido a este como el todo: el software, la base de datos, etc) muy fuertemente y lo sujeta a un modelo rígido de la realidad.

Considero que si uno se plantea interrogantes es porque hay un elemento o punto del análisis y/o del dominio que no ha sido totalmente comprendido (o más común que sea opuesto o ambiguo a una parte de si mismo) Y hasta que en tu concepto no esté totalmente forjada la idea y comprensión seguirá siendo un elemento débil.

Por ejemplo: puede darse el caso que dependiendo de la razón social de tu cliente se computen ciertos descuentos, impuestos o algunas reglas de negocio. Si los datos de tu cliente necesitan ser fijos y como dices... que ante el cambio de razón social debe agregarse un nuevo cliente... esta imposición puede que lleve consigo una inconsistencia en algún otro punto del sistema si no se tienen las precuaciones y el debido análisis de las situaciones.

Ojo... no digo que tu planteo está mal. Como he dicho: podría traer consecuencias, no quiere decir que vas a tener problemas. No aseguro ni niego nada. Tu planteo debe ajustarse al mejor concepto de la realidad que tu comprendas.

Puedo aceptar tu propuesta y la aceptaré siempre y cuando considere que el modelo del diseño me lo permita. Y haya considerado (en lo que mi poca experiencia me lo diga) que implementarlo de dicha manera no traiga consigo malestares.

Esto te lo digo por lo que he visto en mi último trabajo. Uno cree que lo diseñado funciona y funciona hasta que viene el señor cambio y te lo da vuelta. Me ha tocado ser "DBA" y he encontrado un diseño que ha venido funcionando... pero claro... cuanto más me empapé del negocio puede ver y ser testigo de las complicaciones y artilugios que se tuvieron que implementar en el sistema para conseguir manteniendo la consistencia. He llegado a percatarme de que con unos pocos cambios en las tablas se hubieran solucionado algunos males.

Bueno en fin... no deja de ser un planteo. Y es así como se vive en el desarrollo del software: vivimos en un mundo en que se desea controlar pequeños y grandes caos y somos nosotros quienes deben darle cierto orden. Simulando la realidad e irnos preparandonos hacia los posibles nuevos cambios.

Sería muy interesante escuchar otros puntos de vista.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 25-10-2007 a las 19:42:49. Razón: aclaraciones
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 11:28:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi