Relación entre tablas con varios campos

26 views
Skip to first unread message

flopezlosada

unread,
Jan 5, 2010, 2:28:04 AM1/5/10
to symfony-es
Hola
tengo una base de datos que tiene, por ejemplo, una tabla para
noticias y otra para películas, y ambas tienen un campo category_id
que se relaciona con una tabla de categorías.
Quisiera sólo tener una tabla de categorías para las dos (noticias y
películas) y diferenciar a quien pertenecen a través de un campo en la
tabla categorias, por ejemplo, type
La duda me surge a la hora del schema para doctrine.
¿Cómo se hace la relación entre estas tablas, noticias <-> categorias
y películas <->categorías?
Porque la relación no puede ser únicamente entre el campo category_id
(noticias) y el id (categorías), sino que hay que añadir el campo
type, porque no todas las categorías son de noticias sino que algunas
son de películas.
Entonces al crear el schema con lo siguiente no sirve, falta incluir
el campo type en la relación, cómo?:
relations:
Category:
local: category_id
foreign: id
type: one

gracias

Elivi

unread,
Jan 5, 2010, 4:47:27 AM1/5/10
to symfony-es
Hola, si no entiendo mal , son dos relaciones distintas con una misma
tabla en comun. Por lo que creo que deben ser tratadas por separados
sin hacer utilizar el campo type.

Por ejemplo, una categoria guerra podria estar relacionada con
pelicula o articulo, ¿ no ?.

Cayetano

unread,
Jan 5, 2010, 5:33:43 AM1/5/10
to symfony-es
Yo para solventar ese problema (ya que yo tb utilizo una tabla
categoría que se usa en muchas otras tablas) lo que hago es crear
vistas y enlazo a la vista no a la tabla directamente.

En la tabla "categorias" mantienes el campo "type". Por ejemplo para
las categorias de noticias, la vista sería algo como crear una vista
con nombre "vista_categoria_noticias" y al crear la vista haces un
"... WHERE type = 'noticias'".

Yo lo hago a nivel visual con el MySQL Workbench ya que yo hago el
schema de forma inversa (de SQL a YML)

Espero haberte ayudado :)

flopezlosada

unread,
Jan 5, 2010, 12:57:55 PM1/5/10
to symfony-es
gracias por los aportes
esta idea de Cayetano es lo que estaba yo usando, pero se pierde la
funcionalidad que aporta doctrine con las relaciones y por eso quería
crearlas
para Elivi, las tablas noticias y películas no tienen ninguna relación
gracias a tod@s
saluods

Juan Guillermo Garcia

unread,
Feb 22, 2010, 3:48:10 AM2/22/10
to symfo...@googlegroups.com
Yo hubiera probado graficandolo en MySQL Workbench y luego exportando el archivo YML.  Al hacerlo se pierde esta funcionalidad de Doctrine para las relaciones que menciona flopezlosada?

Guillermo García


2010/1/5 flopezlosada <flopez...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.




Josetonyp

unread,
Feb 22, 2010, 9:25:40 AM2/22/10
to symfony-es
Yo dejaría las tablas normalizadas y crearía tablas de relaciones para
NoticiaCategoria y PeliculaCategoria relacionando con una refClass una
relación Many-to-Many que en principio no es real, pero te
simplificaría mucho el analisis, simplemente limita por código el
proceso de la gestion de relaciones.

On 22 feb, 09:48, Juan Guillermo Garcia <bitco...@gmail.com> wrote:
> Yo hubiera probado graficandolo en MySQL Workbench y luego exportando el
> archivo YML.  Al hacerlo se pierde esta funcionalidad de Doctrine para las
> relaciones que menciona flopezlosada?
>
> Guillermo García
>

> 2010/1/5 flopezlosada <flopezlos...@gmail.com>

> > symfony-es+...@googlegroups.com<symfony-es%2Bunsu...@googlegroups.com>

Reply all
Reply to author
Forward
0 new messages