From 8af8e2b5757d6a61beaf888b40b208459b690e30 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Tue, 28 Feb 2023 08:48:40 +0100 Subject: [PATCH] added some basic docs --- docs/Architektur.pptx | Bin 0 -> 36339 bytes misc/create_schema.sql | 68 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 docs/Architektur.pptx create mode 100644 misc/create_schema.sql diff --git a/docs/Architektur.pptx b/docs/Architektur.pptx new file mode 100644 index 0000000000000000000000000000000000000000..c09b6c16bc1911cfc764672a5d07d769810b74dc GIT binary patch literal 36339 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 literal 0 HcmV?d00001 diff --git a/misc/create_schema.sql b/misc/create_schema.sql new file mode 100644 index 0000000..1338ffc --- /dev/null +++ b/misc/create_schema.sql @@ -0,0 +1,68 @@ +CREATE DATABASE `bremen_calling` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; + +CREATE TABLE `participant` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(128) DEFAULT NULL, + `street` varchar(128) DEFAULT NULL, + `postal_code` varchar(5) DEFAULT NULL, + `city` varchar(64) DEFAULT NULL, + `flags` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='An organization taking part'; + + +CREATE TABLE `ship` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(45) DEFAULT NULL, + `imo` int(11) DEFAULT NULL, + `callsign` varchar(8) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + + +CREATE TABLE `shipcall` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `ship_id` int(11) DEFAULT NULL, + `type` tinyint(4) DEFAULT NULL, + `eta` datetime DEFAULT NULL, + `voyage` varchar(16) DEFAULT NULL, + `etd` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Incoming, outgoing or moving to another berth '; + + +CREATE TABLE `times` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `start_planned` datetime DEFAULT NULL, + `end_planned` datetime DEFAULT NULL, + `duration_planned` int(11) DEFAULT NULL, + `start_actual` datetime DEFAULT NULL, + `end_actual` datetime DEFAULT NULL, + `duration_actual` int(11) DEFAULT NULL, + `shipcall_id` int(11) DEFAULT NULL, + `participant_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='the planned time for the participants work'; + + +CREATE TABLE `user` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `participant_id` int(11) DEFAULT NULL, + `first_name` varchar(45) DEFAULT NULL, + `last_name` varchar(45) DEFAULT NULL, + `user_name` varchar(45) DEFAULT NULL, + `password_hash` varchar(128) DEFAULT NULL, + `api_key` varchar(256) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='member of a participant'; + + +CREATE TABLE `participant` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(128) DEFAULT NULL, + `street` varchar(128) DEFAULT NULL, + `postal_code` varchar(5) DEFAULT NULL, + `city` varchar(64) DEFAULT NULL, + `flags` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='An organization taking part';