I'm not new to programming but am pretty new to SQL and databases. I want to build/manage a database for all of the books that I own (and eventually do the same for my video games and movies). I already have a bit of things designed out. But I'm looking for criticism, critiques, and pointers that you might have before I actually start on making and populating the tables. Below is my initial design.
BOOK (
book_id INTEGER PRIMARY KEY ASC AUTOINCREMENT NOT NULL,
title TEXT NOT NULL,
active_ind INTEGER NOT NULL DEFAULT 1,
read_ind INTEGER NOT NULL DEFAULT 0
)
AUTHOR (
author_id INTEGER PRIMARY KEY ASC AUTOINCREMENT NOT NULL,
name TEXT NOT NULL
)
FORMAT (
format_id INTEGER PRIMARY KEY ASC AUTOINCREMENT NOT NULL,
format TEXT NOT NULL
)
ISBN (
isbn_id INTEGER PRIMARY KEY ASC AUTOINCREMENT NOT NULL,
isbn TEXT NOT NULL
)
BOOK_FORMAT (
book_id INTEGER REFERENCES BOOK (book_id),
format_id INTEGER REFERENCES FORMAT (format_id)
)
BOOK_AUTHOR (
book_id INTEGER REFERENCES BOOK (book_id),
author_id INTEGER REFERENCES AUTHOR (author_id)
)
BOOK_FORMAT_ISBN (
book_id INTEGER REFERENCES BOOK (book_id),
format_id INTEGER REFERENCES FORMAT (format_id),
isbn_id INTEGER REFERENCES ISBN (isbn_id)
)
I'm still a bit iffy on the ISBN structure(s). I'm also wanting to add the book's publication date to the data somewhere but I'm not all that sure on where it would be most appropriate. I appreciate any and all pointers!