Arduino with 5v Relay
You want the transistor saturated to turn on the relay.  That way, the voltage drop across it is minimal.

The digital output apparently goes to 5 V when high.  Figure about 700 mV drop B-E for the transistor, so that leaves 4.3 V across R1.  That means the current into the base of the transistor is 4.3 mA.

You say the relay draws 90 mA with 5 V applied.  That means the transistor must have a gain of at least (90 mA)/(4.3 mA) = 21.  That should be easily doable for a small signal transistor like this at this current.  However, you need to check this with the datasheet, if for no other reason than to learn to do it.

Given all the above, this circuit should work fine, assuming the digital output can source 4.3 mA at 5 V.  Some can, some can't.  You definitely need to check this in its datasheet.

1N4004 is inappropriate for a flyback catch diode, but will work here as long as you don't try to turn the relay on within a few 10s of &micro;s of having turned it off.  It should therefore be fine in normal operation, but PWM drive is out.  1N4004 is a power rectifier meant to work at normal power line frequencies.