puessss... tienes larga tarea. en primer lugar mi amigo tienes que saber que el extito y el buen rendimiento de una aplicacion depende en gran medida de la base de datos, por lo que debes poner principal atencion a la hora de hacer la estructura de datos.
Dificilmente podria explicar aqui toooodo lo relacionado a bases de datos, hasta el momento llevo dos años trabajando con ellas y cada dia aprendo cosas nuevas, y no dudo que me falte un universo por aprender.
Pero lo que si puedo hacer es recomendarte a los expertos.
Para la teoria http://es.wikipedia.org/wiki/Base_de_datos http://www.programacion.com/bbdd/tutoriales/bbddTeoria/ Para su aplicacion http://www.programacion.com/bbdd/tutoriales/ http://www.desarrolloweb.com/directorio/bases_de_datos/
Como dije gran parte del exito de tu aplicacion depende de la base de datos por lo que te recomiendo que seas muy sigiloso en este campo
Saludos
Zegga