Cómo planteo esta base de datos? Voy bien?
Publicado por Jorge (2 intervenciones) el 01/08/2015 03:35:55
Hola amigos!
A ver si me podéis ayudar a elegir qué tablas necesito para cierta aplicación, o cómo plantear las relaciones. Os lo explico con un ejemplo.
Imaginad que quiero hacer una aplicación que relacione tiendas, proveedores y productos, que guarda los gustos de los clientes, etc.
Así, planteo las tablas Productos, Tiendas, Proveedores y Clientes. También una tabla con los Tipos, como podrían ser: de limpieza, de alimentación, de bricolaje, de parafarmacia, etc.
Tiendas {id_tienda, nombredelatienda, direccion}
Proveedores {id_proveedor, nombredelproveedor, direccion}
Productos {id_producto, nombredelproducto, descripcion}
Clientes {id_cliente, nombre, telefono}
Tipos {id_tipo, nombredeltipo, descripcion}
Mi duda surge de lo siguiente. Los tipos los veo comunes a todas las tablas anteriores, es decir, hay tiendas de limpieza, hay proveedores de limpieza, hay productos de limpieza y hay clientes que compran productos de limpieza, no? Lo mismo para el resto de "Tipos". Además, hay tiendas y proveedores de alimentación y a la vez de limpieza y de parafarmacia a la vez.
Visto así, se me ocurrió crear una tabla que relacionara de qué tipo es cada item, teniendo en cuenta que una tienda puede ser de varios tipos a la vez, y un proveedor, y un cliente, etc. La tabla que se me ocurre tiene las columnas siguientes:
Dequetipoes {id_dequetipoes, tabla, identificador, id_tipo}
0000000001, Tiendas, 000000003, 000000091
0000000002, Tiendas, 000000004, 000000014
0000000003, Tiendas, 000000005, 000000023
0000000004, Proveedores, 000000001, 000000004
0000000005, Proveedores, 000000002, 000000012
0000000006, Productos, 000000006, 000000019
0000000007, Clientes, 000000008, 000000016
.......
En esa tabla añado de qué tipos es un producto, un proveedor, una tienda, etc, etc, guardando en cada lína de qué tabla se trata (productos, tiendas, proveedores..) y el identificador correspondiente (id_producto, id_tienda, id_proveedor... según corresponda). Me permite asignar varios tipos a un mismo item además.
Lo veis muy raro o incorrecto? Otras opciones que se me ocurren son, crear una tabla para tipos de productos, otra para tipos de tiendas, otras para tipos de proveedores... pero me suena muy repetitivo, no creeis?
Qué alternativa me proponéis? O lo veis correcto?
Mil gracias!!!!
A ver si me podéis ayudar a elegir qué tablas necesito para cierta aplicación, o cómo plantear las relaciones. Os lo explico con un ejemplo.
Imaginad que quiero hacer una aplicación que relacione tiendas, proveedores y productos, que guarda los gustos de los clientes, etc.
Así, planteo las tablas Productos, Tiendas, Proveedores y Clientes. También una tabla con los Tipos, como podrían ser: de limpieza, de alimentación, de bricolaje, de parafarmacia, etc.
Tiendas {id_tienda, nombredelatienda, direccion}
Proveedores {id_proveedor, nombredelproveedor, direccion}
Productos {id_producto, nombredelproducto, descripcion}
Clientes {id_cliente, nombre, telefono}
Tipos {id_tipo, nombredeltipo, descripcion}
Mi duda surge de lo siguiente. Los tipos los veo comunes a todas las tablas anteriores, es decir, hay tiendas de limpieza, hay proveedores de limpieza, hay productos de limpieza y hay clientes que compran productos de limpieza, no? Lo mismo para el resto de "Tipos". Además, hay tiendas y proveedores de alimentación y a la vez de limpieza y de parafarmacia a la vez.
Visto así, se me ocurrió crear una tabla que relacionara de qué tipo es cada item, teniendo en cuenta que una tienda puede ser de varios tipos a la vez, y un proveedor, y un cliente, etc. La tabla que se me ocurre tiene las columnas siguientes:
Dequetipoes {id_dequetipoes, tabla, identificador, id_tipo}
0000000001, Tiendas, 000000003, 000000091
0000000002, Tiendas, 000000004, 000000014
0000000003, Tiendas, 000000005, 000000023
0000000004, Proveedores, 000000001, 000000004
0000000005, Proveedores, 000000002, 000000012
0000000006, Productos, 000000006, 000000019
0000000007, Clientes, 000000008, 000000016
.......
En esa tabla añado de qué tipos es un producto, un proveedor, una tienda, etc, etc, guardando en cada lína de qué tabla se trata (productos, tiendas, proveedores..) y el identificador correspondiente (id_producto, id_tienda, id_proveedor... según corresponda). Me permite asignar varios tipos a un mismo item además.
Lo veis muy raro o incorrecto? Otras opciones que se me ocurren son, crear una tabla para tipos de productos, otra para tipos de tiendas, otras para tipos de proveedores... pero me suena muy repetitivo, no creeis?
Qué alternativa me proponéis? O lo veis correcto?
Mil gracias!!!!
Valora esta pregunta
0