You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1006 B

3 years ago
  1. create table authors (
  2. author_id SERIAL PRIMARY KEY,
  3. author_name VARCHAR(30) NOT NULL
  4. );
  5. CREATE TABLE books (
  6. book_id SERIAL PRIMARY KEY,
  7. isbn VARCHAR(50) UNIQUE NOT NULL,
  8. book_title VARCHAR(30) NOT NULL,
  9. author_id INTEGER REFERENCES authors(author_id) NOT NULL,
  10. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
  11. );
  12. create table books_store (
  13. books_store_id SERIAL PRIMARY KEY,
  14. book_id INTEGER REFERENCES books(book_id) NOT NULL,
  15. quantity INTEGER NOT NULL
  16. );
  17. create table book_expiry (
  18. book_expiry_id SERIAL PRIMARY KEY,
  19. book_id INTEGER REFERENCES books(book_id) NOT NULL,
  20. discontinued BOOLEAN NOT NULL
  21. );
  22. create table users (
  23. user_id SERIAL PRIMARY KEY NOT NULL,
  24. user_name VARCHAR(30) NOT NULL
  25. );
  26. create table checkouts (
  27. checkout_id SERIAL PRIMARY KEY,
  28. book_id INTEGER REFERENCES books(book_id) NOT NULL,
  29. taken_by INTEGER REFERENCES users(user_id) NOT NULL,
  30. return_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
  31. );