· 8 years ago · Jan 04, 2018, 08:34 AM
1CREATE TABLE IF NOT EXISTS `selector` (
2 `selector_id` INT NOT NULL,
3 PRIMARY KEY (`selector_id`))
4ENGINE = InnoDB;
5
6CREATE TABLE IF NOT EXISTS `componentinput` (
7 `componentinput_id` INT NOT NULL,
8 PRIMARY KEY (`componentinput_id`))
9ENGINE = InnoDB;
10
11CREATE TABLE IF NOT EXISTS `selector_input` (
12 `selector_id` INT NOT NULL,
13 `componentinput_id` INT NOT NULL,
14 PRIMARY KEY (`selector_id`),
15 CONSTRAINT `fk_selector_input_selector_1`
16 FOREIGN KEY (`selector_id`)
17 REFERENCES `selector` (`selector_id`)
18 ON DELETE CASCADE
19 ON UPDATE CASCADE,
20 CONSTRAINT `fk_selector_input_feedcomponentinput_1`
21 FOREIGN KEY (`componentinput_id`)
22 REFERENCES `componentinput` (`componentinput_id`)
23 ON DELETE CASCADE
24 ON UPDATE CASCADE)
25ENGINE = InnoDB;
26
27CREATE TABLE IF NOT EXISTS `componentoutput` (
28 `componentoutput_id` INT NOT NULL,
29 PRIMARY KEY (`componentoutput_id`))
30ENGINE = InnoDB;
31
32CREATE TABLE IF NOT EXISTS `selector_output` (
33 `selector_id` INT NOT NULL,
34 `output_id` INT NOT NULL,
35 `componentoutput_id` INT NOT NULL,
36 PRIMARY KEY (`selector_id`, `output_id`),
37 CONSTRAINT `fk_selector_output_selector_1`
38 FOREIGN KEY (`selector_id`)
39 REFERENCES `selector` (`selector_id`)
40 ON DELETE CASCADE
41 ON UPDATE CASCADE,
42 CONSTRAINT `fk_selector_output_feedcomponentoutput_1`
43 FOREIGN KEY (`componentoutput_id`)
44 REFERENCES `componentoutput` (`componentoutput_id`)
45 ON DELETE CASCADE
46 ON UPDATE CASCADE)
47ENGINE = InnoDB;
48
49CREATE TABLE IF NOT EXISTS `componentoutput_connection` (
50 `componentoutput_id` INT NOT NULL,
51 `componentinput_id` INT NOT NULL,
52 PRIMARY KEY (`componentoutput_id`),
53 CONSTRAINT `fk_feedcomponentoutput_connection_feedcomponentoutput_1`
54 FOREIGN KEY (`componentoutput_id`)
55 REFERENCES `componentoutput` (`componentoutput_id`)
56 ON DELETE CASCADE
57 ON UPDATE CASCADE,
58 CONSTRAINT `fk_feedcomponentoutput_connection_feedcomponentinput_1`
59 FOREIGN KEY (`componentinput_id`)
60 REFERENCES `componentinput` (`componentinput_id`)
61 ON DELETE RESTRICT
62 ON UPDATE CASCADE)
63ENGINE = InnoDB;
64
65-- There are 4 selectors.
66INSERT INTO `selector` (`selector_id`) VALUES (1);
67INSERT INTO `selector` (`selector_id`) VALUES (2);
68INSERT INTO `selector` (`selector_id`) VALUES (3);
69INSERT INTO `selector` (`selector_id`) VALUES (4);
70
71-- Each of the 4 selectors have their input.
72INSERT INTO `componentinput` (`componentinput_id`) VALUES (1);
73INSERT INTO `componentinput` (`componentinput_id`) VALUES (2);
74INSERT INTO `componentinput` (`componentinput_id`) VALUES (3);
75INSERT INTO `componentinput` (`componentinput_id`) VALUES (4);
76
77INSERT INTO `selector_input` (`selector_id`, `componentinput_id`) VALUES (1, 1);
78INSERT INTO `selector_input` (`selector_id`, `componentinput_id`) VALUES (2, 2);
79INSERT INTO `selector_input` (`selector_id`, `componentinput_id`) VALUES (3, 3);
80INSERT INTO `selector_input` (`selector_id`, `componentinput_id`) VALUES (4, 4);
81
82-- Each of the 4 selectors have 3 outputs.
83INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (1);
84INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (2);
85INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (3);
86INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (4);
87INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (5);
88INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (6);
89INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (7);
90INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (8);
91INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (9);
92INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (10);
93INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (11);
94INSERT INTO `componentoutput` (`componentoutput_id`) VALUES (12);
95
96INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (1, 1, 1);
97INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (1, 2, 2);
98INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (1, 3, 3);
99INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (2, 1, 4);
100INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (2, 2, 5);
101INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (2, 3, 6);
102INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (3, 1, 7);
103INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (3, 2, 8);
104INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (3, 3, 9);
105INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (4, 1, 10);
106INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (4, 2, 11);
107INSERT INTO `selector_output` (`selector_id`, `output_id`, `componentoutput_id`) VALUES (4, 3, 12);
108
109-- Each of the 3 outputs of the first selector is connected to the input of selector 2, 3 and 4.
110INSERT INTO `componentoutput_connection` (`componentoutput_id`, `componentinput_id`) VALUES (1, 2);
111INSERT INTO `componentoutput_connection` (`componentoutput_id`, `componentinput_id`) VALUES (2, 3);
112INSERT INTO `componentoutput_connection` (`componentoutput_id`, `componentinput_id`) VALUES (3, 4);