1 | BEGIN TRANSACTION; |
---|
2 | CREATE TABLE CONFERENCE ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
3 | , title VARCHAR UNIQUE NOT NULL |
---|
4 | , subtitle VARCHAR |
---|
5 | , venue VARCHAR |
---|
6 | , city VARCHAR NOT NULL |
---|
7 | , start INTEGER NOT NULL |
---|
8 | , end INTEGER NOT NULL |
---|
9 | , days INTEGER |
---|
10 | , day_change INTEGER |
---|
11 | , timeslot_duration INTEGER |
---|
12 | , active INTEGER DEFAULT 0 |
---|
13 | , url VARCHAR UNIQUE |
---|
14 | , map VARCHAR); |
---|
15 | |
---|
16 | CREATE TABLE TRACK ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
17 | , xid_conference INTEGER -- NOT NULL |
---|
18 | , name VARCHAR UNIQUE NOT NULL ); |
---|
19 | |
---|
20 | CREATE TABLE ROOM ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
21 | , xid_conference INTEGER -- NOT NULL |
---|
22 | , name VARCHAR UNIQUE NOT NULL |
---|
23 | , picture VARCHAR NOT NULL); |
---|
24 | |
---|
25 | CREATE TABLE PERSON ( id INTEGER PRIMARY KEY NOT NULL |
---|
26 | , xid_conference INTEGER -- NOT NULL |
---|
27 | , name VARCHAR UNIQUE NOT NULL); |
---|
28 | |
---|
29 | CREATE TABLE EVENT ( xid_conference INTEGER NOT NULL |
---|
30 | , id INTEGER NOT NULL |
---|
31 | , start INTEGER NOT NULL |
---|
32 | , duration INTEGER NOT NULL |
---|
33 | , xid_track INTEGER NOT NULL REFERENCES TRACK(id) |
---|
34 | , type VARCHAR |
---|
35 | , language VARCHAR |
---|
36 | , tag VARCHAR |
---|
37 | , title VARCHAR NOT NULL |
---|
38 | , subtitle VARCHAR |
---|
39 | , abstract VARCHAR |
---|
40 | , description VARCHAR |
---|
41 | , favourite INTEGER DEFAULT 0 |
---|
42 | , alarm INTEGER DEFAULT 0 |
---|
43 | , PRIMARY KEY (xid_conference ,id) |
---|
44 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
45 | , FOREIGN KEY(xid_track) REFERENCES TRACK(id)); |
---|
46 | |
---|
47 | CREATE TABLE EVENT_PERSON ( xid_conference INTEGER NOT NULL |
---|
48 | , xid_event INTEGER NOT NULL |
---|
49 | , xid_person INTEGER NOT NULL |
---|
50 | , UNIQUE ( xid_conference , xid_event , xid_person ) ON CONFLICT REPLACE |
---|
51 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
52 | , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id) |
---|
53 | , FOREIGN KEY(xid_person) REFERENCES PERSON(id)); |
---|
54 | |
---|
55 | |
---|
56 | CREATE TABLE EVENT_ROOM ( xid_conference INTEGER NOT NULL |
---|
57 | , xid_event INTEGER NOT NULL |
---|
58 | , xid_room INTEGER NOT NULL |
---|
59 | , UNIQUE ( xid_conference , xid_event , xid_room ) ON CONFLICT REPLACE |
---|
60 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
61 | , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id) |
---|
62 | , FOREIGN KEY(xid_room) REFERENCES ROOM(id)); |
---|
63 | |
---|
64 | CREATE TABLE LINK ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL |
---|
65 | , xid_conference INTEGER NOT NULL |
---|
66 | , xid_event INTEGER NOT NULL |
---|
67 | , name VARCHAR |
---|
68 | , url VARCHAR NOT NULL |
---|
69 | , UNIQUE ( xid_conference , xid_event , url ) ON CONFLICT REPLACE |
---|
70 | , FOREIGN KEY(xid_conference) REFERENCES CONFERENCE(id) |
---|
71 | , FOREIGN KEY(xid_conference, xid_event) REFERENCES EVENT(xid_conference, id)); |
---|
72 | COMMIT; |
---|