Hola Ahamed,
Diferencia entre Atributo y Campo:
1. El campo es común para todos los registros, mientras que los atributos son para algunos registros particulares y son las principales características de un producto.
2. Los atributos solo pueden ser de 3 tipos: Texto, Numérico y Numérico Acoplado
3. Los campos se crean en la consola, pero los atributos están en el modo de Taxonomía del Administrador de Datos.
Creo que puedes entender fácilmente el Punto 2 y el Punto 3.
Entonces, desarrollando el Punto 1: con un ejemplo sencillo:
cuándo usar un atributo y cuándo usar un campo.
Digamos que estás manteniendo los datos maestros de Camisas y Vasos en tu repositorio.
Para Camisas tienes 2 atributos: Talla y Color.
Para Vasos tienes 2 atributos: Color y Material.
Supongamos que creas cuatro campos en tu tabla principal como Camisa-Talla, Camisa-Color, Vaso-Color y Vaso-Material. Entonces, en este caso, tus dos campos siempre estarán vacíos. Quiero decir que si este registro es para una camisa, entonces tendrás dos campos poblados Camisa-Talla, Camisa-Color y dos campos siempre estarán vacíos Vaso-Color y Vaso-Material ya que este registro no pertenece a Vasos y viceversa.
Entonces, como se dice que el Atributo es para registros particulares o en otras palabras, un atributo es como un campo, pero uno que se aplica solo a un
subconjunto de los registros en una tabla. deberías aquí optar por Atributo ya que exactamente dos campos estarán ocupados si es un Vaso, quiero decir Color del Vaso y Material del Vaso y de manera similar para los registros de Camisa.
¿Puedes imaginar tu repositorio con dos campos siempre vacíos que conducen a problemas de rendimiento, ya que cada campo para un registro ocupa algunos bytes y estamos creando innecesariamente dos campos vacíos para cada registro que ocupa algunos bytes para cada registro en nuestra base de datos? Así que ese es mi punto aquí, el Campo es común para todos los registros, quiero decir que el campo debería ser aquel que tenga valor para cada registro. Por ejemplo, el Número de Material debería ser un campo, no un atributo.
Gracias y Saludos,
Mandeep Saini