Project "FROM TEST: Database Schema Diagram" {
  database_type: "HSQL Database Engine 2.7.4"
  note: '''
    generated by SchemaCrawler 17.10.1
    generated on 2026-04-21 01:29:01
  '''
}

Table "PUBLIC.BOOKS.AUTHORS" {
  note: '''Contact details for book authors'''
  "ID" "INTEGER" [not null]
  "FIRSTNAME" "VARCHAR" [not null]
  "LASTNAME" "VARCHAR" [not null]
  "ADDRESS1" "VARCHAR" [null]
  "ADDRESS2" "VARCHAR" [null]
  "CITY" "VARCHAR" [null]
  "STATE" "CHARACTER" [null]
  "POSTALCODE" "VARCHAR" [null]
  "COUNTRY" "VARCHAR" [null, default: "'USA'"]
  indexes {
    ("ID") [pk]
    ("LASTNAME", "FIRSTNAME") [name: "IDX_B_AUTHORS"]
    ("CITY", "STATE", "POSTALCODE", "COUNTRY") [name: "IDX_A_AUTHORS"]
  }
}

Table "PUBLIC.BOOKS.BOOKS" {
  note: '''Details for published books'''
  "ID" "INTEGER" [not null, note: '''Unique (internal) id for book''']
  "TITLE" "VARCHAR" [not null, note: '''Book title''']
  "DESCRIPTION" "VARCHAR" [null, note: '''Book description
(Usually the blurb from the book jacket or promotional materials)''']
  "PUBLISHERID" "INTEGER" [not null, note: '''Foreign key to the book publisher''']
  "PUBLICATIONDATE" "DATE" [null, note: '''Book publication date''']
  "PRICE" "DOUBLE" [null, note: '''Current price for the book''']
  "PREVIOUSEDITIONID" "INTEGER" [null]
  indexes {
    ("ID") [pk]
    ("PREVIOUSEDITIONID") [name: "U_PREVIOUSEDITION", unique]
    ("PREVIOUSEDITIONID") [name: "FK_PREVIOUSEDITION"]
  }
}

Table "PUBLIC.BOOKS.Celebrities" {
  "Id" "INTEGER" [not null]
  "NAME" "VARCHAR" [null]
  indexes {
    ("Id") [pk]
  }
}

Table "PUBLIC.BOOKS.COUPONS" {
  "ID" "INTEGER" [not null]
  "DATA" "CLOB" [null]
  "COUPONS" "INTEGER ARRAY" [null, default: "ARRAY[]"]
  "BOOKS" "VARCHAR(20) ARRAY[10]" [null]
  indexes {
    ("ID") [pk]
  }
}

Table "PUBLIC.BOOKS.CUSTOMERS" {
  "ID" "INTEGER" [not null]
  "FIRSTNAME" "NAME_TYPE" [not null]
  "LASTNAME" "NAME_TYPE" [not null]
  "AGE" "AGE_TYPE" [null]
  indexes {
    ("ID") [pk]
  }
}

Table "PUBLIC.BOOKS.PUBLISHERS" {
  note: '''List of book publishers'''
  "ID" "INTEGER" [not null, note: '''Unique (internal) id for book publisher''']
  "PUBLISHER" "VARCHAR" [null, note: '''Name of book publisher''']
  indexes {
    ("ID") [pk]
  }
}

Table "PUBLIC.PUBLISHER SALES.REGIONS" {
  "CITY" "VARCHAR" [not null]
  "STATE" "VARCHAR" [not null]
  "POSTALCODE" "VARCHAR" [not null]
  "COUNTRY" "VARCHAR" [not null]
  indexes {
    ("POSTALCODE", "COUNTRY") [pk]
  }
}

Table "PUBLIC.PUBLISHER SALES.SALESDATA" {
  "SALESDATAID" "INTEGER" [null]
  "YEARLYAMOUNT" "DOUBLE" [null]
  indexes {
    ("SALESDATAID") [name: "UQ_CUSTOMERS", unique]
  }
}

Table "PUBLIC.BOOKS.BOOKAUTHORS" {
  note: '''Relationship between books and their authors, 
along with the latest updated information'''
  "BOOKID" "INTEGER" [not null]
  "AUTHORID" "INTEGER" [not null]
  "SOMEDATA" "VARCHAR" [null]
  indexes {
    ("AUTHORID") [name: "Z_FK_AUTHOR"]
    ("BOOKID") [name: "SYS_FK_10121"]
    ("BOOKID", "AUTHORID") [name: "UIDX_BOOKAUTHORS", unique]
  }
}

Table "PUBLIC.BOOKS.Celebrity Updates" {
  "Celebrity Id" "INTEGER" [not null]
  "UPDATE" "VARCHAR" [null]
  indexes {
    ("Celebrity Id") [pk]
  }
}

Table "PUBLIC.BOOKS.CUSTOMERDATA" {
  "CUSTOMERID" "INTEGER" [not null]
  "DATAID" "INTEGER" [not null]
  "DATA" "VALID_STRING" [null]
  indexes {
    ("CUSTOMERID", "DATAID") [pk]
    ("CUSTOMERID") [name: "FK_CUSTOMER"]
  }
}

Table "PUBLIC.BOOKS.ΒΙΒΛΊΑ" {
  "ΜΟΝΑΔΙΚΌΣ" "SMALLINT" [not null]
  "ΤΊΤΛΟΣ" "VARCHAR" [not null]
  "ΠΕΡΙΓΡΑΦΉ" "VARCHAR" [null]
  "ΕΚΔΌΤΗΣ" "SMALLINT" [not null]
  indexes {
    ("ΜΟΝΑΔΙΚΌΣ") [pk]
    ("ΕΚΔΌΤΗΣ") [name: "FK_ΒΙΒΛΊΑ_PUBLISHERS"]
  }
}

Table "PUBLIC.PUBLISHER SALES.SALES" {
  "POSTALCODE" "VARCHAR" [not null]
  "COUNTRY" "VARCHAR" [not null]
  "BOOKID" "INTEGER" [null]
  "COUPON_ID" "INTEGER" [null]
  "PERIODENDDATE" "DATE" [null]
  "TOTALAMOUNT" "DOUBLE" [null]
  "SALESDATAID" "INTEGER" [null]
  indexes {
    ("BOOKID") [name: "FK_SALES_BOOK"]
    ("SALESDATAID") [name: "FK_SALES_SALESDATA"]
    ("POSTALCODE", "COUNTRY") [name: "FK_SALES_REGIONS"]
  }
}

Table "PUBLIC.BOOKS.AUTHORSLIST" {
  "ID" "INTEGER" [null]
  "FIRSTNAME" "VARCHAR" [null]
  "LASTNAME" "VARCHAR" [null]
}

Ref "Z_FK_AUTHOR" {
  "PUBLIC.BOOKS.AUTHORS".("ID") < "PUBLIC.BOOKS.BOOKAUTHORS".("AUTHORID") [update: no action, delete: no action]
}

Ref "FK_PREVIOUSEDITION" {
  "PUBLIC.BOOKS.BOOKS".("ID") - "PUBLIC.BOOKS.BOOKS".("PREVIOUSEDITIONID") [update: no action, delete: no action]
}

Ref "FK_SALES_BOOK" {
  "PUBLIC.BOOKS.BOOKS".("ID") < "PUBLIC.PUBLISHER SALES.SALES".("BOOKID") [update: no action, delete: no action]
}

Ref "SYS_FK_10121" {
  "PUBLIC.BOOKS.BOOKS".("ID") < "PUBLIC.BOOKS.BOOKAUTHORS".("BOOKID") [update: no action, delete: no action]
}

Ref "SYS_FK_10131" {
  "PUBLIC.BOOKS.Celebrities".("Id") - "PUBLIC.BOOKS.Celebrity Updates".("Celebrity Id") [update: no action, delete: no action]
}

Ref "FK_CUSTOMER" {
  "PUBLIC.BOOKS.CUSTOMERS".("ID") < "PUBLIC.BOOKS.CUSTOMERDATA".("CUSTOMERID") [update: no action, delete: no action]
}

Ref "FK_ΒΙΒΛΊΑ_PUBLISHERS" {
  "PUBLIC.BOOKS.PUBLISHERS".("ID") < "PUBLIC.BOOKS.ΒΙΒΛΊΑ".("ΕΚΔΌΤΗΣ") [update: no action, delete: no action]
}

Ref "FK_SALES_REGIONS" {
  "PUBLIC.PUBLISHER SALES.REGIONS".("POSTALCODE", "COUNTRY") < "PUBLIC.PUBLISHER SALES.SALES".("POSTALCODE", "COUNTRY") [update: no action, delete: no action]
}

Ref "FK_SALES_SALESDATA" {
  "PUBLIC.PUBLISHER SALES.SALESDATA".("SALESDATAID") < "PUBLIC.PUBLISHER SALES.SALES".("SALESDATAID") [update: no action, delete: no action]
}


TableGroup "PUBLIC.BOOKS " {
  "PUBLIC.BOOKS.AUTHORS"
  "PUBLIC.BOOKS.BOOKS"
  "PUBLIC.BOOKS.Celebrities"
  "PUBLIC.BOOKS.COUPONS"
  "PUBLIC.BOOKS.CUSTOMERS"
  "PUBLIC.BOOKS.PUBLISHERS"
  "PUBLIC.BOOKS.BOOKAUTHORS"
  "PUBLIC.BOOKS.Celebrity Updates"
  "PUBLIC.BOOKS.CUSTOMERDATA"
  "PUBLIC.BOOKS.ΒΙΒΛΊΑ"
  "PUBLIC.BOOKS.AUTHORSLIST"
}

TableGroup "PUBLIC.INFORMATION_SCHEMA " {
}

TableGroup "PUBLIC.PUBLIC " {
}

TableGroup "PUBLIC.PUBLISHER SALES " {
  "PUBLIC.PUBLISHER SALES.REGIONS"
  "PUBLIC.PUBLISHER SALES.SALESDATA"
  "PUBLIC.PUBLISHER SALES.SALES"
}

TableGroup "PUBLIC.SYSTEM_LOBS " {
}

