[eluser]Nick Husher[/eluser]
To store tags, you can have a single input field where tags are delimited by commas. Each tag is extracted and inserted into a database table consisting of the tag name and the ID to the resource (blog post, image, whatever) that the tag is being applied to.
Then you can define a method that allows you to get all resources with a particular tag by joining the tags table to your resources table and returning all results that the table join turns up.
The details are up to you, but that's the basics of it.