some db's use string as the datatype, some text, some char..
as its a word I'm assuming you'd use a trext/char/string datatype
if you define the keywords in a separate table, then its arguable whether you'd use an id or the word itself. me personally would use an ID to the word, so that if you decided to change your keywords the impact of the change on the db would be significantly less.
off hand I'd expect genre to be a foreign key to a table called genre. the way you are doing it at present may cuase problems with typo's, spelling mistakes, or CaPiTaLiSaTiOn issues. remmeber int he db world HORROR may not be the same sa horror or Horror.