Best way to drive a 12V DC solenoid valve

I'm a complete newbee when it comes to electronics, so I need a little help here.

I have a 12V DC solenoid valve, that draws 450 mA at max. I want to be able to control this valve from the Arduino. I guess I can't draw this much current directly from the Arduino, so I have to go through some kind of relay, correct?

What relay should I look for? 5V DC -> 12V DC? Do I need any other components or can I simply hook up the relay to a digital pin + GND on the Arduino board, and the valve on the other side of the relay?

Using the keywords: arduino solenoid in google bring up a number of relevant links including these:

http://www.arduino.cc/playground/Learning/SolenoidTutorial

I used 12V solenoids in this project, her's how I drove them:-
http://www.thebox.myzen.co.uk/Hardware/Glockenspiel.html

I used a 2n3904 or a 2n2222a transistor with a 1k resistor from base to the output pin on the arduino. Emittor to Ground, + direct to the solenoid and collector to second wire from solenoid. These are NPN style.. You can also use a PNP style and just reverse ground and +12v on the ends.

This will supply up to 500ma with standard to-93 transistor.. There are other transistors to use if you need more current.. Or you could just 'double up' the transistors.

Thank you for the information, it was a great help. I now got it all set-up and it actually works as well.

I have to throw in another Qustion:

What are the cons and pros of using a transistor vs a relay solution for driving the valve?

Transistor is cheaper and much faster. Relay can generally take much more current. You also have to worry about back current from relays, but not transistors.

And relays generally make a distinctive clunking noise while transistors are silent.