CREATE TABLE `users` ( `id` int PRIMARY KEY, `username` varchar(255), `mail` varchar(255), `active` bool ); CREATE TABLE `payments` ( `id` int PRIMARY KEY, `user_id` int, `paypoint_id` int, `amount` int, `description` varchar(255), `description` varchar(255), `ip` varchar(255), `status` int, `report_id` int, `ticket_id` int, FOREIGN KEY(`user_id`) REFERENCES `users` (`id`), FOREIGN KEY(`paypoint_id`) REFERENCES `paypoints` (`id`), FOREIGN KEY(`report_id`) REFERENCES `payment_reports` (`id`), FOREIGN KEY(`ticket_id`) REFERENCES `payment_tickets` (`id`) ); CREATE TABLE `paypoints` ( `id` int, `name` varchar(255), `account_name` varchar(255), `account_number` varchar(255), `account_iban` varchar(255), `description` varchar(255), `status` varchar(255) ); CREATE TABLE `payment_tickets` ( `id` int, `paypoint_id` int, `user_id` int, `uniq_id` int, `firstName` varchar(255), `lastName` varchar(255), `amount` varchar(255), FOREIGN KEY(`paypoint_id`) REFERENCES `paypoints` (`id`), FOREIGN KEY(`user_id`) REFERENCES `users` (`id`) ); CREATE TABLE `payment_reports` ( `id` int, `paypoint_id` int, `user_id` int, `description` varchar(255), `payment_date` datetime, FOREIGN KEY(`user_id`) REFERENCES `users` (`id`), FOREIGN KEY(`payment_date`) REFERENCES `payment` (`date`) );