-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmusicstats.ddl
163 lines (122 loc) · 4.58 KB
/
musicstats.ddl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
-- Generato da Oracle SQL Developer Data Modeler 17.3.0.261.1529
-- in: 2018-05-06 12:32:12 CEST
-- sito: Oracle Database 12cR2
-- tipo: Oracle Database 12cR2
CREATE TABLE effect (
ideffect INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
purpose VARCHAR(127) NOT NULL,
description VARCHAR(127) NOT NULL
);
CREATE TABLE ifamilies (
idfamily INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(127)
);
CREATE TABLE instrument (
idinstrument INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(127) NOT NULL,
ifamilies_idfamily INTEGER NOT NULL
);
CREATE TABLE keytone (
idkey INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
tone INTEGER NOT NULL,
modality VARCHAR(10)
);
CREATE TABLE midi (
idmidi INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(127) NOT NULL,
tracks INTEGER NOT NULL,
bpm INTEGER NOT NULL,
tempo_numerator INTEGER NOT NULL,
tempo_denominator INTEGER NOT NULL,
totrows INTEGER NOT NULL,
nonstatrows INTEGER NOT NULL
);
CREATE TABLE note (
idnote INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
value VARCHAR(4) NOT NULL
);
CREATE TABLE title (
idtitle INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
content VARCHAR(127) NOT NULL
);
CREATE TABLE track (
idtrack INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
instrument_idinstrument INTEGER NOT NULL
);
CREATE TABLE trackeffect (
effect_ideffect INTEGER NOT NULL ,
track_idtrack INTEGER NOT NULL
);
ALTER TABLE trackeffect ADD CONSTRAINT trackeffect_pk PRIMARY KEY ( effect_ideffect,
track_idtrack );
CREATE TABLE trackkey (
keytone_idkey INTEGER NOT NULL,
track_idtrack INTEGER NOT NULL
);
ALTER TABLE trackkey ADD CONSTRAINT trackkey_pk PRIMARY KEY ( keytone_idkey,
track_idtrack );
CREATE TABLE trackmidi (
midi_idmidi INTEGER NOT NULL,
track_idtrack INTEGER NOT NULL
);
ALTER TABLE trackmidi ADD CONSTRAINT trackmidi_pk PRIMARY KEY ( midi_idmidi,
track_idtrack );
CREATE TABLE tracknote (
track_idtrack INTEGER NOT NULL,
note_idnote INTEGER NOT NULL
);
ALTER TABLE tracknote ADD CONSTRAINT tracknote_pk PRIMARY KEY ( track_idtrack,
note_idnote );
CREATE TABLE tracktitle (
track_idtrack INTEGER NOT NULL,
title_idtitle INTEGER NOT NULL
);
ALTER TABLE tracktitle ADD CONSTRAINT tracktitle_pk PRIMARY KEY ( track_idtrack,
title_idtitle );
ALTER TABLE instrument
ADD CONSTRAINT instrument_ifamilies_fk FOREIGN KEY ( ifamilies_idfamily )
REFERENCES ifamilies ( idfamily )
ON DELETE CASCADE;
ALTER TABLE track
ADD CONSTRAINT track_instrument_fk FOREIGN KEY ( instrument_idinstrument )
REFERENCES instrument ( idinstrument )
ON DELETE CASCADE;
ALTER TABLE trackeffect
ADD CONSTRAINT trackeffect_effect_fk FOREIGN KEY ( effect_ideffect )
REFERENCES effect ( ideffect )
ON DELETE CASCADE;
ALTER TABLE trackeffect
ADD CONSTRAINT trackeffect_track_fk FOREIGN KEY ( track_idtrack )
REFERENCES track ( idtrack )
ON DELETE CASCADE;
ALTER TABLE trackkey
ADD CONSTRAINT trackkey_key_fk FOREIGN KEY ( keytone_idkey )
REFERENCES keytone (idkey );
ALTER TABLE trackkey
ADD CONSTRAINT trackkey_track_fk FOREIGN KEY ( track_idtrack )
REFERENCES track ( idtrack )
ON DELETE CASCADE;
ALTER TABLE trackmidi
ADD CONSTRAINT trackmidi_midi_fk FOREIGN KEY ( midi_idmidi )
REFERENCES midi ( idmidi )
ON DELETE CASCADE;
ALTER TABLE trackmidi
ADD CONSTRAINT trackmidi_track_fk FOREIGN KEY ( track_idtrack )
REFERENCES track ( idtrack )
ON DELETE CASCADE;
ALTER TABLE tracknote
ADD CONSTRAINT tracknote_note_fk FOREIGN KEY ( note_idnote )
REFERENCES note ( idnote )
ON DELETE CASCADE;
ALTER TABLE tracknote
ADD CONSTRAINT tracknote_track_fk FOREIGN KEY ( track_idtrack )
REFERENCES track ( idtrack )
ON DELETE CASCADE;
ALTER TABLE tracktitle
ADD CONSTRAINT tracktitle_title_fk FOREIGN KEY ( title_idtitle )
REFERENCES title ( idtitle )
ON DELETE CASCADE;
ALTER TABLE tracktitle
ADD CONSTRAINT tracktitle_track_fk FOREIGN KEY ( track_idtrack )
REFERENCES track ( idtrack )
ON DELETE CASCADE;