Almacenar objetos en tabla SQL Server

19/06/2004 - 20:26 por Diego F. | Informe spam
Hola, estoy haciendo una aplicación en .NET y necesito que los objetos que
uso se puedan almacenar en una base de datos (SQL Server 2000). ¿Cuál es la
forma más sencilla de hacerlo? ¿Tendré que hacer métodos para ir guardando
campo a campo en ambos sentidos?


Saludos,

Diego F.

Preguntas similare

Leer las respuestas

#6 Diego F.
21/06/2004 - 17:42 | Informe spam
No entiendo muy bien el planteamiento. La tabla 2 es lo que no entiendo.
Para que sea más sencillo explicarse, voy a ejemplificar lo que quiero
hacer.

Supongamos que estoy haciendo una aplicación de agenda, para almacenar
contactos y sus teléfonos. La tabla 1 sería la tabla "Teléfonos", que
simplemente tendría números de teléfono. La tabla 3 sería la tabla "Agenda",
donde cada entrada tendría el nombre del contacto y varios números de
teléfono. Esa es la dificultad. Según tu código, la tabla "Teléfonos" sería
la tabla 2. ¿Es eso lo que se conseguiría con las tablas que has puesto?


Saludos,

Diego F.

"Gustavo Larriera [MVP SQL]" escribió en el
mensaje news:%
Mostrar la cita
relacional
Mostrar la cita
los
Mostrar la cita
objetos
Mostrar la cita
según
Mostrar la cita
ningun
Mostrar la cita
en
Mostrar la cita
que
Mostrar la cita
ser
Mostrar la cita
#7 Gustavo Larriera [MVP SQL]
21/06/2004 - 21:36 | Informe spam
Hubieses empezado con el ejemplo :-) Hay varios enfoques posibles:

1. Si deseas manejar una cantidad variable/desconocida/no acotada de
telefonos.

Contactos( idContacto, datosContacto)
Telefonos( idContacto, telefono)

Si el Contacto tiene 10 telefonos, entonces en la tabla Telefonos hay 10
filas para mismo idContacto. La clave primaria de Telefonos es {idContacto,
telefono}

2. Si deseas manejar una cantidad fija/maxima de telefonos.

Puedes hacer un diseño menos normalizado y colocar columnas para los
telefonos en la tabla de Contactos. Supongamos que admites que cada contacto
tendrá un máximo posible de 5 telefonos, entonces podrias hacer:

Contactos (idContacto, datosContacto, telefono1, telefono2, telefono3,
telefono4, telefono5)


Por supuesto que hay que considerar si el objeto Telefono es una entidad
fuerte (por tqanto existe por sí misma) o es una entidad débil (solamente
existe si hay un contacto asociado). También debes considerar el tipo de
acceso quye necesitas.

a) Si necesitas accesar a traves del telefono, la opción 1 es mejor.
b) Si necesitas accesar por contacto únicamente, la opción 2 es muy cómoda.

saludos
gux


Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Diego F." wrote in message
news:
Mostrar la cita
"Agenda",
Mostrar la cita
sería
Mostrar la cita
confers
Mostrar la cita
colección).
Mostrar la cita
o
Mostrar la cita
XML!!!
Mostrar la cita
2000).
Mostrar la cita
ir
Mostrar la cita
#8 Diego F.
22/06/2004 - 11:39 | Informe spam
Muchas gracias. Si no te importa, voy a ponerte otro ejemplo que es el que
estoy manejando realmente. Supongamos un restaurante, y queremos manejar
información de pedidos de cada mesa (comandas). Tendría también 3 tablas:

La aplicación maneja 3 objetos: un objeto Plato, con información de los
platos del restaurante, un objeto ColecciónPlatos, que son los platos que
pide una determinada mesa, y finalmente el objeto comanda, con los datos de
la mesa (número, fecha,...) y una ColecciónPlatos.

¿Serían así las tablas?

- Tabla plato: id_plato, desc_plato, precio
- Tabla comanda: id_comanda, mesa
- Tabla PlatosComanda: id_plato, id_comanda

La duda que tengo es si así sería suficiente o hay que añadir algún campo a
la tabla Comanda que sea una clave externa de la tabla PlatosComanda.

Y ya para acabar, ¿considerarías el precio total de una comanda en el diseño
o lo tomarías como un cálculo a partir de los datos de la tabla? Si es el
último caso, ¿cómo sería esa consulta SLQ?

Gracias por todo.


Saludos,

Diego F.

"Gustavo Larriera [MVP SQL]" escribió en el
mensaje news:
Mostrar la cita
{idContacto,
Mostrar la cita
contacto
Mostrar la cita
cómoda.
Mostrar la cita
ningun
Mostrar la cita
el
Mostrar la cita
persistir
Mostrar la cita
almacenen
Mostrar la cita
necesito
Mostrar la cita
el
Mostrar la cita
objetos
Mostrar la cita
podrias
Mostrar la cita
los
Mostrar la cita
para
Mostrar la cita
#9 Gustavo Larriera [MVP SQL]
22/06/2004 - 16:45 | Informe spam
"Diego F." wrote in message
news:
Mostrar la cita
de
Mostrar la cita
a
Mostrar la cita
Puedes poner una clave externa en PlatosComanda (id_comanda) que referencia
a Comanda y otra clave externa PlatosComanda (id_plato) que referencia a
Platos.

Mostrar la cita
diseño
Mostrar la cita
El precio total lo calcularía. La consulta debes hacerla usando SELECT
SUM(precio) ... estudia los detalles en cualquier material de SQL, es
bastante sencillo de entender.

Mostrar la cita
saludos
gux
Ads by Google
Search Busqueda sugerida