En principio mi base de datos tenía 2 tablas. La primera llamada 'usuarios' con los campos id_usuario, usuario, email y password. Y la segunda tabla llamada 'album' tenía los campos id_foto, id_usuario, nom_foto y descripción. En sql:
CREATE TABLE usuarios(
id_usuario INT NOT NULL AUTO_INCREMENT,
usuario VARCHAR(30) NOT NULL,
email VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
PRIMARY KEY (id_usuario)
) ENGINE=INNODB;
CREATE TABLE album(
id_foto INT NOT NULL AUTO_INCREMENT,
id_usuario INT NOT NULL,
nom_foto VARCHAR(255) NOT NULL,
descripcion TEXT,
PRIMARY KEY (id_foto),
INDEX iCodigoU (id_usuario),
FOREIGN KEY (id_usuario) REFERENCES usuarios(id_usuario) ON DELETE CASCADE
) ENGINE=INNODB;
Esta estructura no me convence ya que me gustaría por ejemplo que no hubieras usuarios repetidos, no su id_usuario, no se....

Me gustaría haber si alguien me puede dar alguna idea para que la base de datos este optimizada.
Muchas gracias!!!.
