Database Viewer

Browse the SQL that builds any database used across the lessons, without running it.

Loaded: Lesson 2 database ยท schemas-tables-and-types.database-init

CREATE SCHEMA IF NOT EXISTS library;
CREATE SCHEMA IF NOT EXISTS lending;

CREATE TABLE IF NOT EXISTS library.authors (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  country TEXT NOT NULL
);

CREATE TABLE IF NOT EXISTS library.books (
  id SERIAL PRIMARY KEY,
  author_id INTEGER NOT NULL REFERENCES library.authors (id),
  title TEXT NOT NULL,
  published_year INTEGER NOT NULL
);

CREATE TABLE IF NOT EXISTS lending.loans (
  id SERIAL PRIMARY KEY,
  book_id INTEGER NOT NULL REFERENCES library.books (id),
  borrower_name TEXT NOT NULL,
  borrowed_at TIMESTAMP NOT NULL,
  returned_at TIMESTAMP
);


INSERT INTO library.authors (name, country)
VALUES
  ('Octavia Butler', 'US'),
  ('Italo Calvino', 'IT');

INSERT INTO library.books (author_id, title, published_year)
VALUES
  (1, 'Kindred', 1979),
  (2, 'Invisible Cities', 1972);

INSERT INTO lending.loans (book_id, borrower_name, borrowed_at, returned_at)
VALUES
  (1, 'Nnedi Okorafor', '2026-09-01 09:00:00', NULL),
  (2, 'Ursula K. Le Guin', '2026-09-05 14:30:00', '2026-09-12 11:00:00');