From 025048ffc9fc8890049156574d9cffed030aabae Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 25 May 2023 12:11:25 +0200 Subject: update database layout --- misc/database-layout.dmf | 2137 +++++++++++++++++++++++----------------------- 1 file changed, 1049 insertions(+), 1088 deletions(-) (limited to 'misc') diff --git a/misc/database-layout.dmf b/misc/database-layout.dmf index bc2102b..012f306 100644 --- a/misc/database-layout.dmf +++ b/misc/database-layout.dmf @@ -2,55 +2,61 @@ Relational - + - 977 - 378 + 729 + 684 - command_log + upstream_repositories#ffffff id - BIGINT + SMALLINT True True - date - TIMESTAMP - True - False - - - command + name VARCHAR(64) True False + +
+
+ + + 217 + 328 + + + compressions + #ffffff + - parameters - TEXT + id + SMALLINT True - False + True - shell - BIT + suffix + VARCHAR(8) True False
- + - 632 - 498 + 901 + 641 - upstream_packages + mirror_statuses#ffffff @@ -60,67 +66,67 @@ True - pkgname - VARCHAR(64) + protocol + VARCHAR(8) True False - epoch - MEDIUMINT + url + VARCHAR(128) True False - pkgver + country VARCHAR(64) True False - pkgrel - MEDIUMINT + country_code + VARCHAR(4) True False - architecture - VARCHAR(6) + last_sync + BIGINT True False - repository - SMALLINT + start + FLOAT True False - -
-
- - - -31 - 605 - - - toolchain_order - #ffffff - - number - SMALLINT + stop + FLOAT True - True + False - pkgbase - VARCHAR(64) + isos + BIT True False - requires_all_dependencies_built + ipv4 + BIT + True + False + + + ipv6 + BIT + True + False + + + active BIT True False @@ -128,49 +134,55 @@
- + - 524 - 62 + 656 + 380 - versions + architecture_compatibilities#ffffff id - BIGINT + MEDIUMINT True True - order - BIGINT + built_for + SMALLINT True False - epoch - MEDIUMINT + runs_on + SMALLINT True False - version - VARCHAR(32) + fully_compatible + BIT + True + False + + + build_slave_compatible + BIT(n) True False
- + - 345 - -71 + 209 + 83 - dependencies + ssh_keys#ffffff @@ -180,45 +192,51 @@ True - dependent - BIGINT - True - False - - - depending_on - BIGINT + owner + MEDIUMINT True False - dependency_type - SMALLINT + fingerprint + TEXT True False + +
+
+ + + -54 + 70 + + + email_actions + #ffffff + - version - BIGINT + id + MEDIUMINT True - False + True - version_relation - VARCHAR(2) + name + VARCHAR(32) True False
- + - 525 - 215 + 62 + 8 - binary_packages_in_repositories + allowed_email_actions#ffffff @@ -228,39 +246,27 @@ True - package + gpg_key BIGINT True False - repository + action MEDIUMINT True False - - is_to_be_deleted - BIT - True - False - - - last_moved - TIMESTAMP - True - False -
- + - -52 - 134 + 226 + -78 - ssh_log + gpg_keys#ffffff @@ -270,187 +276,67 @@ True - date - TIMESTAMP + fingerprint + VARCHAR(40) True False - build_slave + owner MEDIUMINT - False - False - - - action - VARCHAR(32) True False - parameters + public_key TEXT True False - - duration - MEDIUMINT - False - False - - - exit_code - MEDIUMINT - False - False -
- + - -55 - -72 + 218 + 17 - email_log + persons#ffffff id - BIGINT + MEDIUMINT True True - date - TIMESTAMP - True - False - - - success - BIT + name + VARCHAR(32) True False - - action - MEDIUMINT - False - False - - - count - MEDIUMINT - False - False - - - gpg_key - BIGINT - False - False - - - comment - TEXT - False - False - - -
-
- - - 793 - 497 - - - repository_moves - #ffffff - - - id - MEDIUMINT - True - True - - - from_repository - MEDIUMINT - True - False - - - to_repository - MEDIUMINT - True - False - - - upstream_package_repository - SMALLINT - True - False - - -
-
- - - 829 - 168 - - - repository_stabilities - #ffffff - - - id - SMALLINT - True - True - - - name - VARCHAR(32) - True - False - - - bugtracker_category - VARCHAR(32) - False - False -
- + - -42 - 529 + 821 + -49 - build_dependency_loops + todo_links#ffffff - id + dependent BIGINT True - True - - - loop - MEDIUMINT - True False - build_assignment + depending_on BIGINT True False @@ -458,97 +344,55 @@
- + - 580 - -71 + 971 + -69 - dependency_types + todos#ffffff id - SMALLINT + BIGINT True True - name - VARCHAR(32) - True - False - - - relevant_for_building - BIT + file + VARCHAR(64) True False - relevant_for_binary_packages - BIT + line + MEDIUMINT True False - -
-
- - - 653 - 21 - - - install_targets - #ffffff - - - id - BIGINT - True - True - - name - VARCHAR(64) + description + TEXT True False - -
-
- - - 382 - 378 - - - architectures - #ffffff - - id + importance SMALLINT - True - True - - - name - VARCHAR(16) - True + False False
- + - 103 - 694 + 357 + 455 - package_sources + statitstics#ffffff @@ -558,135 +402,99 @@ True - pkgbase - VARCHAR(64) + date + TIMESTAMP True False - git_revision - VARCHAR(40) + stable_packages_count + MEDIUMINT True False - mod_git_revision - VARCHAR(40) + pending_tasks_count + MEDIUMINT True False - upstream_package_repository - SMALLINT + pending_packages_count + MEDIUMINT True False - uses_upstream - BIT + staging_packages_count + MEDIUMINT True False - uses_modification - BIT + testing_packages_count + MEDIUMINT True False - commit_time - TIMESTAMP + tested_packages_count + MEDIUMINT True False - upstream_flag_date - TIMESTAMP - False - False - - -
-
- - - 729 - 684 - - - upstream_repositories - #ffffff - - - id - SMALLINT - True - True - - - name - VARCHAR(64) + broken_tasks_count + MEDIUMINT True False - git_repository - SMALLINT + dependency_loops_count + MEDIUMINT True False - -
-
- - - 598 - 736 - - - git_repositories - #ffffff - - id - SMALLINT + dependency_looped_tasks_count + MEDIUMINT True - True + False - name - VARCHAR(64) + locked_tasks_count + MEDIUMINT True False - url - VARCHAR(128) + blocked_tasks_count + MEDIUMINT True False - directory - VARCHAR(128) + next_tasks_count + MEDIUMINT True False - head - VARCHAR(40) + architecture + SMALLINT True False
- + - 803 - 261 + 816 + 57 - repositories + repository_stability_relations#ffffff @@ -696,134 +504,128 @@ True - name - VARCHAR(64) - True - False - - - stability - SMALLINT - True - False - - - is_on_master_mirror - BIT + more_stable + MEDIUMINT True False - architecture - SMALLINT + less_stable + MEDIUMINT True False
- + - 619 - 112 + -43 + 267 - install_target_providers + fail_reasons#ffffff id - BIGINT + SMALLINT True True - package - BIGINT - True - False - - - install_target - BIGINT + name + VARCHAR(32) True False - version - BIGINT + identifier + VARCHAR(64) True False - install_target_is_group - BIT + severity + SMALLINT True False
- + - 320 - 118 + -44 + 372 - binary_packages + failed_builds#ffffff id - BIGINT + MEDIUMINT True True - build_assignment - BIGINT + build_slave + MEDIUMINT True False - epoch - MEDIUMINT + build_assignment + BIGINT True False - pkgver - VARCHAR(64) + date + TIMESTAMP True False - pkgrel - MEDIUMINT + reason + SMALLINT True False - sub_pkgrel - MEDIUMINT + log_file + VARCHAR(512) True False - has_issues + log_file_exists BIT True False + +
+
+ + + 153 + 447 + + + build_assignments + #ffffff + - is_tested - BIT + id + BIGINT True - False + True - pkgname - VARCHAR(64) + package_source + BIGINT True False @@ -834,26 +636,38 @@ False - sha512sum + is_blocked VARCHAR(128) False False - sub_pkgrel_omitted + is_black_listed + VARCHAR(128) + False + False + + + is_broken BIT True False - compression + priority SMALLINT + True + False + + + return_date + TIMESTAMP False False - signing_key - BIGINT + currently_blocking + MEDIUMINT False False @@ -932,13 +746,13 @@
- + - 153 - 447 + 320 + 118 - build_assignments + binary_packages#ffffff @@ -948,103 +762,121 @@ True - package_source + build_assignment BIGINT True False - architecture - SMALLINT + epoch + MEDIUMINT True False - is_blocked - VARCHAR(128) - False + pkgver + VARCHAR(64) + True False - is_black_listed - VARCHAR(128) - False + pkgrel + MEDIUMINT + True False - is_broken + sub_pkgrel + MEDIUMINT + True + False + + + has_issues BIT True False - priority + is_tested + BIT + True + False + + + pkgname + VARCHAR(64) + True + False + + + architecture SMALLINT True False - return_date - TIMESTAMP + sha512sum + VARCHAR(128) False False - currently_blocking - MEDIUMINT + sub_pkgrel_omitted + BIT + True + False + + + compression + SMALLINT + False + False + + + signing_key + BIGINT False False
- + - -44 - 372 + 619 + 112 - failed_builds + install_target_providers#ffffff id - MEDIUMINT + BIGINT True True - build_slave - MEDIUMINT - True - False - - - build_assignment + package BIGINT True False - date - TIMESTAMP - True - False - - - reason - SMALLINT + install_target + BIGINT True False - log_file - VARCHAR(512) + version + BIGINT True False - log_file_exists + install_target_is_group BIT True False @@ -1052,181 +884,187 @@
- + - -43 - 267 + 803 + 261 - fail_reasons + repositories#ffffff id - SMALLINT + MEDIUMINT True True name - VARCHAR(32) - True - False - - - identifier VARCHAR(64) True False - severity + stability SMALLINT True False - -
-
- - - 816 - 57 - - - repository_stability_relations - #ffffff - - - id - MEDIUMINT - True - True - - more_stable - MEDIUMINT + is_on_master_mirror + BIT True False - less_stable - MEDIUMINT + architecture + SMALLINT True False
- + - 357 - 455 + 598 + 736 - statitstics + git_repositories#ffffff id - BIGINT + SMALLINT True True - date - TIMESTAMP + name + VARCHAR(64) True False - stable_packages_count - MEDIUMINT + url + VARCHAR(128) True False - pending_tasks_count - MEDIUMINT + directory + VARCHAR(128) True False - pending_packages_count - MEDIUMINT + head + VARCHAR(40) + True + False + + +
+
+ + + 103 + 694 + + + package_sources + #ffffff + + + id + BIGINT True - False + True - staging_packages_count - MEDIUMINT + pkgbase + VARCHAR(64) True False - testing_packages_count - MEDIUMINT + git_revision + VARCHAR(40) True False - tested_packages_count - MEDIUMINT + mod_git_revision + VARCHAR(40) True False - broken_tasks_count - MEDIUMINT + upstream_package_repository + SMALLINT True False - dependency_loops_count - MEDIUMINT + uses_upstream + BIT True False - dependency_looped_tasks_count - MEDIUMINT + uses_modification + BIT True False - locked_tasks_count - MEDIUMINT + commit_time + TIMESTAMP True False - blocked_tasks_count - MEDIUMINT - True + upstream_flag_date + TIMESTAMP + False False + +
+
+ + + 382 + 378 + + + architectures + #ffffff + - next_tasks_count - MEDIUMINT + id + SMALLINT True - False + True - architecture - SMALLINT + name + VARCHAR(16) True False
- + - 971 - -69 + 653 + 21 - todos + install_targets#ffffff @@ -1236,49 +1074,73 @@ True - file + name VARCHAR(64) True False + +
+
+ + + 580 + -71 + + + dependency_types + #ffffff + + + id + SMALLINT + True + True + - line - MEDIUMINT + name + VARCHAR(32) True False - description - TEXT + relevant_for_building + BIT True False - importance - SMALLINT - False + relevant_for_binary_packages + BIT + True False
- + - 821 - -49 + -42 + 529 - todo_links + build_dependency_loops#ffffff - dependent + id BIGINT True + True + + + loop + MEDIUMINT + True False - depending_on + build_assignment BIGINT True False @@ -1286,18 +1148,18 @@
- + - 218 - 17 + 829 + 168 - persons + repository_stabilities#ffffff id - MEDIUMINT + SMALLINT True True @@ -1307,52 +1169,58 @@ True False + + bugtracker_category + VARCHAR(32) + False + False +
- + - 226 - -78 + 793 + 497 - gpg_keys + repository_moves#ffffff id - BIGINT + MEDIUMINT True True - fingerprint - VARCHAR(40) + from_repository + MEDIUMINT True False - owner + to_repository MEDIUMINT True False - public_key - TEXT + upstream_package_repository + SMALLINT True False
- + - 62 - 8 + -55 + -72 - allowed_email_actions + email_log#ffffff @@ -1362,51 +1230,105 @@ True - gpg_key - BIGINT + date + TIMESTAMP + True + False + + + success + BIT True False action MEDIUMINT - True + False + False + + + count + MEDIUMINT + False + False + + + gpg_key + BIGINT + False + False + + + comment + TEXT + False False
- + - -54 - 70 + -52 + 134 - email_actions + ssh_log#ffffff id - MEDIUMINT + BIGINT True True - name + date + TIMESTAMP + True + False + + + build_slave + MEDIUMINT + False + False + + + action VARCHAR(32) True False + + parameters + TEXT + True + False + + + duration + MEDIUMINT + False + False + + + exit_code + MEDIUMINT + False + False +
- + - 209 - 83 + 525 + 215 - ssh_keys + binary_packages_in_repositories#ffffff @@ -1416,69 +1338,87 @@ True - owner + package + BIGINT + True + False + + + repository MEDIUMINT True False - fingerprint - TEXT + is_to_be_deleted + BIT + True + False + + + last_moved + TIMESTAMP True False
- + - 656 - 380 + 345 + -71 - architecture_compatibilities + dependencies#ffffff id - MEDIUMINT + BIGINT True True - built_for - SMALLINT + dependent + BIGINT True False - runs_on + depending_on + BIGINT + True + False + + + dependency_type SMALLINT True False - fully_compatible - BIT + version + BIGINT True False - build_slave_compatible - BIT(n) + version_relation + VARCHAR(2) True False
- + - 901 - 641 + 524 + 62 - mirror_statuses + versions#ffffff @@ -1488,214 +1428,235 @@ True - protocol - VARCHAR(8) + order + BIGINT True False - url - VARCHAR(128) + epoch + MEDIUMINT True False - country + version + VARCHAR(32) + True + False + + +
+
+ + + -31 + 605 + + + toolchain_order + #ffffff + + + number + SMALLINT + True + True + + + pkgbase VARCHAR(64) True False - country_code - VARCHAR(4) + requires_all_dependencies_built + BIT True False + +
+
+ + + 632 + 498 + + + upstream_packages + #ffffff + - last_sync + id BIGINT True - False + True - start - FLOAT + pkgname + VARCHAR(64) True False - stop - FLOAT + epoch + MEDIUMINT True False - isos - BIT + pkgver + VARCHAR(64) True False - ipv4 - BIT + pkgrel + MEDIUMINT True False - ipv6 - BIT + architecture + VARCHAR(6) True False - active - BIT + repository + SMALLINT True False
- + - 217 - 328 + 977 + 378 - compressions + command_log#ffffff id - SMALLINT + BIGINT True True - suffix - VARCHAR(8) + date + TIMESTAMP + True + False + + + command + VARCHAR(64) + True + False + + + parameters + TEXT + True + False + + + shell + BIT True False
- - - - - - 375.286 - 118 - - 90 - - - - - 296.813 - 0.8125 - - 270 - - - - - - OneToMany - - Mandatory - Optional - - - 13 - 0 - - - - + - 320 - 227.406 + 656 + 441.333 180 - + - 265.75 - 328 + 478 + 415.5 - 90 - + 0 + OneToOne - Optional + Mandatory Mandatory - 12 + 1 0 - + - 483.75 - 455 + 656 + 410.667 - 90 - + 180 + - 444.677 - 428.813 + 478 + 403 - 270 + 0 - OneToMany + OneToOne - Optional - Optional + Mandatory + Mandatory - 14 + 2 0 - + - 699.656 - 618.813 + 342 + 768 - 270 - + 0 + - 778.641 - 684 + 729 + 709 - 90 + 180 @@ -1707,62 +1668,62 @@ Mandatory - 6 + 4 0 - + - 93.3906 - 669.813 + 803 + 322.333 - 270 - + 180 + - 181.755 - 694 + 478 + 390.5 - 90 - + 0 + OneToOne - Optional - Optional + Mandatory + Mandatory - 1 - 1 + 4 + 0 - + - 446.115 - 35.8125 + 912.5 + 575 270 - + - 524 - 101.406 + 828.333 + 684 - 180 - + 90 + @@ -1773,29 +1734,29 @@ Mandatory - 4 + 3 0 - + - 619 - 142.938 + 700.5 + 618 - 180 - + 270 + - 607.188 - 101.406 + 778.667 + 684 - 0 - + 90 + @@ -1806,29 +1767,29 @@ Mandatory - 3 + 6 0 - + - 496.672 - -35.3958 + 263.5 + 83 - 0 - + 90 + - 580 - -31.5938 + 254 + 67 - 180 - + 270 + @@ -1839,29 +1800,29 @@ Mandatory - 3 + 1 0 - + - 496.672 - 0.208333 + 152 + 160 - 0 - + 90 + - 653 - 46.4063 + 263.5 + 147 - 180 - + 270 + @@ -1877,57 +1838,57 @@ - + - 734.359 - 261.406 + -9 + 48 - 0 - + 270 + - 803 - 291.938 + -5.5 + 70 - 180 - + 90 + - OneToMany + OneToOne Optional - Optional + Mandatory - 2 + 3 0 - + - 395.557 - 35.8125 + 62 + 40 - 270 - + 180 + - 430.573 - 118 + 43 + 95 - 90 - + 0 + @@ -1938,29 +1899,29 @@ Mandatory - 1 + 2 0 - + - 525 - 261.406 + 136 + 8 - 180 - + 90 + - 485.859 - 263.875 + 226 + -26 - 0 - + 180 + @@ -1976,24 +1937,24 @@ - + - 59.5313 - 194.406 + 37 + -12 0 - + - 80 - 241.406 + 226 + -52 180 - + @@ -2004,29 +1965,29 @@ Mandatory - 2 + 5 0 - + - 911.133 - 575.813 + 262.333 + 0 270 - + - 828.281 - 684 + 254 + 17 90 - + @@ -2037,29 +1998,29 @@ Mandatory - 3 + 2 0 - + - 871.755 - 497 + 951 + -32.3333 - 90 - + 0 + - 859.469 - 353.813 + 971 + -38.3333 - 270 - + 180 + @@ -2070,29 +2031,29 @@ Mandatory - 1 + 0 0 - + - 950.51 - 497 + 951 + -15.6667 - 90 - + 0 + - 915.938 - 353.813 + 971 + -7.66667 - 270 - + 180 + @@ -2103,29 +2064,29 @@ Mandatory - 2 + 1 0 - + - 430.573 - 336.813 + 940 + 121 270 - + - 429.008 - 378 + 935.667 + 168 90 - + @@ -2136,28 +2097,28 @@ Mandatory - 9 + 2 0 - + - 887.703 - 261 + 878 + 121 - 90 - + 270 + - 907.734 - 232.813 + 882.333 + 168 - 270 + 90 @@ -2169,29 +2130,29 @@ Mandatory - 2 + 1 0 - + - 712.203 - 112 + 7.66667 + 372 90 - + - 702.906 - 71.8125 + 5.5 + 345 270 - + @@ -2202,29 +2163,29 @@ Mandatory - 2 + 4 0 - + - 619 - 173.875 + 111 + 432 - 180 - + 0 + - 485.859 - 190.938 + 153 + 496.333 - 0 - + 180 + @@ -2235,29 +2196,29 @@ Mandatory - 1 + 2 0 - + - 339.266 - 768.406 + 59.3333 + 372 - 0 - + 90 + - 729 - 705.604 + 128 + 322 - 180 - + 270 + @@ -2268,29 +2229,29 @@ Mandatory - 4 + 1 0 - + - 729 - 727.208 + 122 + 561 - 180 - + 0 + - 705.344 - 782.406 + 153 + 545.667 - 0 - + 180 + @@ -2306,57 +2267,57 @@ - + - 224.648 - 595.813 + 176 + 322 270 - + - 260.51 - 694 + 201.667 + 447 90 - + OneToOne - Mandatory + Optional Mandatory - 1 + 3 0 - + - 296.297 - 521.406 + 376.333 + 336 - 0 - + 270 + - 413.339 - 428.813 + 250.333 + 447 - 270 - + 90 + @@ -2367,29 +2328,29 @@ Mandatory - 2 + 1 0 - + - 375.286 - 336.813 + 299 + 521 - 270 - + 0 + - 248.531 - 447 + 414 + 428 - 90 - + 270 + @@ -2400,62 +2361,62 @@ Mandatory - 1 + 2 0 - + - 173.979 - 322.813 + 226 + 595 270 - + - 200.766 - 447 + 262.333 + 694 90 - + OneToOne - Optional + Mandatory Mandatory - 3 + 1 0 - + - 120.391 - 561.406 + 619 + 173.333 - 0 - + 180 + - 153 - 546.208 + 489 + 190.667 - 180 - + 0 + @@ -2466,29 +2427,29 @@ Mandatory - 2 + 1 0 - + - 57.1458 - 372 + 713.5 + 112 90 - + - 126.99 - 322.813 + 703 + 71 270 - + @@ -2499,29 +2460,29 @@ Mandatory - 1 + 2 0 - + - 107.719 - 432.406 + 888.5 + 261 - 0 - + 90 + - 153 - 496.604 + 909 + 232 - 180 - + 270 + @@ -2537,24 +2498,24 @@ - + - 6.57292 - 372 + 432.667 + 336 - 90 - + 270 + - 4.71875 - 345.813 + 430 + 378 - 270 - + 90 + @@ -2565,29 +2526,29 @@ Mandatory - 4 + 9 0 - + - 940.958 - 121.813 + 872.667 + 497 - 270 - + 90 + - 933.979 - 168 + 860 + 353 - 90 - + 270 + @@ -2598,29 +2559,29 @@ Mandatory - 1 + 2 0 - + - 878.479 - 121.813 + 952.333 + 497 - 270 - + 90 + - 881.49 - 168 + 917 + 353 - 90 - + 270 + @@ -2631,62 +2592,62 @@ Mandatory - 2 + 1 0 - + - 948.234 - -32.0625 + 61 + 194 0 - + - 971 - -38.0625 + 80 + 241 180 - + OneToOne - Mandatory + Optional Mandatory - 1 + 2 0 - + - 948.234 - -15.125 + 525 + 261 - 0 - + 180 + - 971 - -7.125 + 489 + 263.333 - 180 - + 0 + @@ -2697,29 +2658,29 @@ Mandatory - 0 + 1 0 - + - 261.406 - 0.8125 + 396.667 + 35 270 - + - 253.289 - 17 + 432.667 + 118 90 - + @@ -2730,62 +2691,62 @@ Mandatory - 2 + 1 0 - + - 35.2969 - -11.5938 + 734 + 261 0 - + - 226 - -51.7292 + 803 + 291.667 180 - + - OneToOne + OneToMany Optional - Mandatory + Optional - 5 + 2 0 - + - 136.789 - 8 + 500 + -0.333333 - 90 - + 0 + - 226 - -25.4583 + 653 + 46 180 - + @@ -2796,29 +2757,29 @@ Mandatory - 1 + 2 0 - + - 62 - 40.4063 + 500 + -35.6667 - 180 - + 0 + - 43.4531 - 95.4063 + 580 + -32 - 0 - + 180 + @@ -2829,36 +2790,36 @@ Mandatory - 2 + 3 0 - + - -9.85156 - 48.8125 + 619 + 142.667 - 270 - + 180 + - -5.27344 - 70 + 608 + 101 - 90 - + 0 + OneToOne - Optional + Mandatory Mandatory @@ -2867,24 +2828,24 @@ - + - 220.969 - 241.406 + 448.333 + 35 - 0 - + 270 + - 262.109 - 147.813 + 524 + 101 - 270 - + 180 + @@ -2895,139 +2856,139 @@ Mandatory - 2 + 4 0 - + - 262.109 - 83 + 95 + 669 - 90 - + 270 + - 253.289 - 67.8125 + 182.667 + 694 - 270 - + 90 + OneToOne - Mandatory - Mandatory + Optional + Optional 1 - 0 + 1 - + - 803 - 322.875 + 485.5 + 455 - 180 - + 90 + - 476.016 - 390.703 + 446 + 428 - 0 + 270 - OneToOne + OneToMany - Mandatory - Mandatory + Optional + Optional - 4 + 14 0 - + - 656 - 441.875 + 320 + 227 180 - + - 476.016 - 416.109 + 266 + 328 - 0 - + 90 + OneToOne - Mandatory + Optional Mandatory - 2 + 12 0 - + - 656 - 410.938 + 376.333 + 118 - 180 - + 90 + - 476.016 - 403.406 + 298.667 + 0 - 0 - + 270 + - OneToOne + OneToMany Mandatory - Mandatory + Optional - 1 + 13 0 -- cgit v1.2.3-70-g09d2