diff options
Diffstat (limited to '')
-rw-r--r-- | sql/ddl/sqlite.sql | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/sql/ddl/sqlite.sql b/sql/ddl/sqlite.sql new file mode 100644 index 0000000..47315f9 --- /dev/null +++ b/sql/ddl/sqlite.sql @@ -0,0 +1,64 @@ +create table users +( + id INTEGER not null + primary key, + name VARCHAR(50) not null + unique, + pwd VARCHAR(255) not null, + description VARCHAR(100) +); + +create table categories +( + id INTEGER not null + primary key, + name VARCHAR(50) not null, + parent_id INTEGER + references categories, + user_id INTEGER not null + references users +); + +create table const_expenses +( + id INTEGER not null + primary key, + description VARCHAR(50), + expense NUMERIC(10, 2) not null, + months SMALLINT not null, + start DATE not null, + end DATE not null, + prev_id INTEGER + references const_expenses, + user_id INTEGER not null + references users, + category_id INTEGER not null + references categories +); + +create index idx_start_end + on const_expenses (user_id, start, end); + +create index ix_constexpense_end + on const_expenses (end); + +create index ix_constexpense_start + on const_expenses (start); + +create table single_expenses +( + id INTEGER not null + primary key, + description VARCHAR(50), + expense NUMERIC(10, 2) not null, + year INTEGER not null, + month SMALLINT not null, + day SMALLINT not null, + user_id INTEGER not null + references users, + category_id INTEGER not null + references categories +); + +create index idx_single_date + on single_expenses (user_id, year, month); |