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

Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bdd??

Estas en el tema de Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bdd?? en el foro de Programación General en Foros del Web. segun algunos foros la bdd de un sistema OO no son las clases que hemos disñado. segun otros algunas clases si llegan a ser tablas ...
  #1 (permalink)  
Antiguo 03/12/2008, 13:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Pregunta Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bdd??

segun algunos foros la bdd de un sistema OO no son las clases que hemos disñado. segun otros algunas clases si llegan a ser tablas en la bdd . cual es la verdad.

si hemos diseñado las clases con sus relaciones e incluso cardinalidad acaso esto no se plasa en una base de datos????

o tengo tengo que diseñar por separado la bbd si es asi como las relaciono con mis clases e instancias de las mismas???
  #2 (permalink)  
Antiguo 04/12/2008, 19:35
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bd

En principio puede que un modelo sencillo de objetos te quede como un DER. Y los veas como tablas. Pero cuando tu diseño de complica, normalmente empiezan a jugar cosas como:

- objetos sin datos (que solo hacen cosas)
- herencia y lo que ella incluye

Además, ten en cuenta que son paradigmas distintos de pensamiento. El de objetos vs el relacional. Ambos te obligan a pensar la solución de distinta manera, y si no sabes bien que es lo que quieres hacer puede que termines empobreciendo tus objetos dejándolos como meras estructuras de datos.
__________________
Saludoss
Guille
  #3 (permalink)  
Antiguo 04/12/2008, 21:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bd

gracias por la respuesta. creo que es importante que todos losprogramadores y desarrolladores podamos salir de esta duda. ya que es algo a lo que todos nos enfrentaremos.

para ser mas concreto y aportar al mismo tiempo con este tema planteo la siguiente pregunta al foro

1.- si tengo una clase cliente con todas sus propiedades y metodos
cual es la manera correcta de relacionarla con la bdd

leyendo algunos foros la clase cliente no puede por ejemplo tener un metodo agregar o eliminar pq? dicen que el comportamiento de la clase cliente no seria el correcto ya que un cliente no puede auto agregarse o auto eliminarse. la solucion segun algunos es tener otra clase que podria ser el mismo sistema es decir la clase tienda por ejemplo es la que podria agregar un cliente o eliminardo o la clase operador que es en realidad el que realiza estas tareas

gracias por sus opiniones, respuestas y aportes al respecto de antemano
  #4 (permalink)  
Antiguo 09/12/2008, 12:39
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bd

Y la respuesta es simple pero complicada :P :).

El objeto cliente no es el cliente de verdad! un objeto cliente puede saber insertarse o borrarse de una base de datos si es lo que queres/necesitas. Así como un cliente sabe decirte su deuda (no es que porque sea un cliente siempre te dirá que su deuda es 0 :P).

Como hacer la comunicación... Hay varios enfoques, unos mas simples, otros mas complejos. Lo más simple es hacer lo que dices, que el usuario se inserte. Cuando tienes un esquema simple de clases/tablas puede que sea bastante sencillo y no te moleste. Pero cuando el numero de clases que manejas crece demasiado puede que notes que estas repitiendo código de inserción, borrado...

Ahi es cuando puedes sacar esa responsabilidad a otro objeto. Y ese objeto puede hablar con otros y colaborar con ellos, de manera que no sea UN SOLO OBJETO que se encargue de todo. Ahi puedes usar cosas como polimorfismo, herencia, composición.

Como alternativa mas compleja estan los O/R mappers que mapean tus objetos a una base de datos relacional, normalmente a partir de meta data y otros elementos declarativos como annotations/atributos, xmls, etc...
Si estas usando java o .net te recomiendo mires Hibernate o NHibernate.
__________________
Saludoss
Guille
  #5 (permalink)  
Antiguo 10/12/2008, 20:50
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Diseño de sistemas (aplicaciones) Orientado a Objetos . Como modelar la bd

de verdad gracias por el tiempo y la respuesta me pondre a buscar y ver lo que me recomendaste. encuanto lo analice volvere a postear ok?? Gracias
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 14:20.