f26b40e1f02757f5f47b3d4805bf5ee6dc9a2681
[technostate.git] / schema.sql
1 CREATE TABLE CREWS (
2   CREW_ID INT AUTO_INCREMENT PRIMARY KEY,
3   CREW VARCHAR(80) NOT NULL,
4   DESCRIPTION VARCHAR(160),
5   KEYWORDS VARCHAR(160),
6   URL VARCHAR(80),
7   INDEX ( CREW_ID ),
8   INDEX ( NAME )
9 );
10
11 CREATE TABLE CREWS_PERSONS (
12   CREW_ID INT NOT NULL,
13   PERSON_ID INT NOT NULL,
14   TITLE VARCHAR(80),
15   INDEX ( CREW_ID ),
16   INDEX ( PERSON_ID )
17 );
18
19 CREATE TABLE PERSONS (
20   PERSON_ID INT AUTO_INCREMENT PRIMARY KEY,
21   NAME VARCHAR(80) NOT NULL,
22   DESCRIPTION VARCHAR(160),
23   EMAIL VARCHAR(80),
24   URL VARCHAR(80),
25   KEYWORDS VARCHAR(160),
26   PICTURE LONGBLOB,
27   INDEX ( PERSON_ID ),
28   INDEX ( NAME )
29 );
30
31 CREATE TABLE CONTACTS (
32   PERSON_ID INT PRIMARY KEY,
33   TITLE VARCHAR(80),
34   PHONE VARCHAR(80),
35   PAGER VARCHAR(20),
36   CELL VARCHAR(20),
37   FAX VARCHAR(10),
38   EMAIL VARCHAR(80),
39   ADDRESS1 VARCHAR(80),
40   ADDRESS2 VARCHAR(80),
41   CITY VARCHAR(80),
42   STATE VARCHAR(80),
43   ZIP VARCHAR(10),
44   COUNTRY CHAR(2),
45 );
46
47 CREATE TABLE PERSONS_SETS (
48   PERSON_ID INT NOT NULL,
49   SET_ID INT NOT NULL,
50   INDEX ( PERSON_ID ),
51   INDEX ( SET_ID )
52 );
53
54 CREATE TABLE SETS (
55   SET_ID INT AUTO_INCREMENT PRIMARY KEY,
56   SETSTART DATETIME NOT NULL,
57   DURATION INT,
58   DESCRIPTION VARCHAR(160),
59   KEYWORDS VARCHAR(160),
60   SHOW_ID INT NOT NULL,
61   INDEX ( SETSTART ),
62   INDEX ( SHOW_ID )
63 );
64
65 CREATE TABLE PERSONS_SHOWS (
66   PERSON_ID INT NOT NULL,
67   SHOW_ID INT NOT NULL,
68   INDEX ( PERSON_ID ),
69   INDEX ( SET_ID )
70 );
71
72 CREATE TABLE SHOWS (
73   SHOW_ID INT AUTO_INCREMENT PRIMARY KEY,
74   REPEAT_SHOW_ID INT,
75   SHOW VARCHAR(80) NOT NULL,
76   DESCRIPTION VARCHAR(160),
77   SHOWSTART DATETIME NOT NULL,
78   DURATION INT,
79   STUDIO_ID INT NOT NULL,
80   INDEX ( SHOWSTART ),
81   INDEX ( STUDIO_ID )
82 );
83
84 CREATE TABLE FILE (
85   FILE_ID AUTO_INCREMENT PRIMARY KEY,
86   FILENAME VARCHAR(80),
87   FILESIZE INT,
88   SHOW_ID INT,
89   INDEX ( FILE_ID ),
90   INDEX ( SHOW_ID )
91 );
92
93 CREATE TABLE DOWNLOADS (
94   FILE_ID INT NOT NULL,
95   WHEN DATETIME NOT NULL,
96   INDEX ( FILE_ID ),
97   INDEX ( WHEN )
98 );
99
100 CREATE TABLE STUDIOS (
101   STUDIO_ID INT AUTO_INCREMENT PRIMARY KEY,
102   NAME VARCHAR(80),
103   ISLIVE CHAR(1)
104 );
105
106 CREATE TABLE GEARS (
107   GEAR_ID INT AUTO_INCREMENT PRIMARY KEY,
108   GEAR VARCHAR(80) NOT NULL,
109   DESCRIPTION VARCHAR(160),
110   PRICE FLOAT
111   URL VARCHAR(80),
112 );
113
114 CREATE TABLE PERSONS_GEARS (
115   GEAR_ID INT NOT NULL,
116   PERSON_ID INT NOT NULL,
117   INDEX ( GEAR_ID ),
118   INDEX ( PERSON_ID )
119 );
120
121 CREATE TABLE CREWS_GEARS (
122   GEAR_ID INT NOT NULL,
123   CREW_ID INT NOT NULL,
124   INDEX ( GEAR_ID ),
125   INDEX ( CREW_ID )
126 );
127
128