personal finance control engine
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.
 
 

76 lines
2.0 KiB

CREATE TABLE `ACCOUNTS` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`NAME` varchar(20),
`CREATED` datetime,
`UPDATED` datetime
);
CREATE TABLE `TRANSACTION` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`TDATE` date,
`ACCOUNTID` integer,
`MEMO` varchar(30),
`CITY` varchar(20),
`COUNTRY` char(2),
`OUTFLOW` decimal(20,2),
`INFLOW` decimal(12,2),
`OWNERID` integer,
`INSTALLMENT_NR` integer,
`INSTALLMENT_TT` integer,
`CREATED` datetime,
`UPDATED` datetime
);
CREATE TABLE `PAYEE` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`NAME` varchar(20),
`CREATED` datetime,
`UPDATED` datetime
);
CREATE TABLE `OWNER` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`NAME` varchar(20),
`CREATED` datetime,
`UPDATED` datetime
);
CREATE TABLE `CATEGORY` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`NAME` varchar(20),
`CREATED` datetime,
`UPDATED` datetime
);
CREATE TABLE `SUBCATEGORY` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`CATEGORYID` integer,
`NAME` varchar(20),
`CREATED` datetime,
`UPDATED` datetime
);
CREATE TABLE `CATEGORIZED_TRANSACTIONS` (
`ID` integer PRIMARY KEY NOT NULL AUTO_INCREMENT,
`ACCOUNTID` integer,
`TRANSACTIONID` integer,
`PAYEEID` integer,
`CATEGORYID` integer,
`SUBCATEGORYID` integer,
`CREATED` datetime,
`UPDATED` datetime
);
ALTER TABLE `ACCOUNTS` ADD FOREIGN KEY (`ID`) REFERENCES `TRANSACTION` (`ACCOUNTID`);
ALTER TABLE `OWNER` ADD FOREIGN KEY (`ID`) REFERENCES `TRANSACTION` (`OWNERID`);
ALTER TABLE `CATEGORY` ADD FOREIGN KEY (`ID`) REFERENCES `SUBCATEGORY` (`CATEGORYID`);
ALTER TABLE `TRANSACTION` ADD FOREIGN KEY (`ID`) REFERENCES `CATEGORIZED_TRANSACTIONS` (`TRANSACTIONID`);
ALTER TABLE `CATEGORY` ADD FOREIGN KEY (`ID`) REFERENCES `CATEGORIZED_TRANSACTIONS` (`CATEGORYID`);
ALTER TABLE `SUBCATEGORY` ADD FOREIGN KEY (`ID`) REFERENCES `CATEGORIZED_TRANSACTIONS` (`SUBCATEGORYID`);
ALTER TABLE `PAYEE` ADD FOREIGN KEY (`ID`) REFERENCES `CATEGORIZED_TRANSACTIONS` (`PAYEEID`);