It’s pretty straightforward, at least if you use the Principled BSDF, which I recommend you to do.
Albedo mixed with AO in multiply mode > Base Color ( Princ. BSDF node ) Height > Displacement ( Material Ouput node ) Normal > Normal Map node > Normal ( Princ. BSDF node ) Roughness > Roughness ( Princ. BSDF node )
Only the Albedo is Color Data, other maps must be configured as Non-Color Data.
It is possible with this method control the scale of a texture?
Example, I did a plane and used the nodes to add correctly the material but… If i try scale bigger (or smaller) the mesh the texture will follow the mesh and it will enlarge like the mesh
Add a mapping node and put it between the coordinates and the texture like this and use the scale parameters to scale it up or down. Alternatively you can scale the UV map up or down.
I recommend building yourself a nodegroup to do custom mapping. First of all, it lets you have inputs you can drive with nodes, and for bumpmaps it can read the same input value to scale the bump height; a one meter brick will look fine with a 10cm height, but a 5cm brick will not - the bump height will need to be scaled down.
Position and scale is just a matter of adding and multiplying, rotation is a bit more tricky but it has been discussed before.