CREATE TABLE images (
       image_id SERIAL PRIMARY KEY,
       filename TEXT NOT NULL UNIQUE
);
CREATE TABLE tags (
       tag_id SERIAL PRIMARY KEY,
       tag    TEXT NOT NULL UNIQUE
);
CREATE TABLE images_tags (
       PRIMARY KEY (tag_id, image_id),
       image_id INTEGER NOT NULL REFERENCES images (image_id),
       tag_id   INTEGER NOT NULL REFERENCES tags (tag_id)
);CREATE TABLE images (
  image_id INTEGER AUTO_INCREMENT PRIMARY KEY, 
  filename VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE tags (
  tag_id INTEGER AUTO_INCREMENT PRIMARY KEY, 
  tag VARCHAR(255) NOT NULL UNIQUE
);
CREATE TABLE images_tags (
  image_id INTEGER NOT NULL, 
  tag_id INTEGER NOT NULL, 
  PRIMARY KEY (tag_id, image_id), 
  FOREIGN KEY (tag_id) REFERENCES tags(tag_id),
  FOREIGN KEY (image_id) REFERENCES images(image_id)
);