source: trunk/tools/database/CreateTables.sql@ 2818

Last change on this file since 2818 was 2818, checked in by bird, 26 years ago

Read more of the function header into the database.
Stateupd is changed to do this and the database is expanded with new fields.
The sample is partly updated.

File size: 3.0 KB
Line 
1-- $Id: CreateTables.sql,v 1.7 2000-02-18 12:42:05 bird Exp $
2--
3-- Create all tables.
4--
5
6CREATE DATABASE Odin32;
7
8USE Odin32;
9
10CREATE TABLE dll (
11 refcode TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
12 name VARCHAR(32) NOT NULL,
13 description VARCHAR(255),
14 UNIQUE u1(refcode),
15 UNIQUE u2(name)
16);
17
18CREATE TABLE state (
19 refcode TINYINT NOT NULL PRIMARY KEY,
20 color CHAR(7) NOT NULL,
21 name VARCHAR(32) NOT NULL,
22 description VARCHAR(128),
23 UNIQUE u1(refcode),
24 UNIQUE u2(name),
25 UNIQUE u3(color)
26);
27
28CREATE TABLE function (
29 refcode INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
30 dll TINYINT NOT NULL,
31 aliasfn INTEGER NOT NULL DEFAULT -1,
32 name VARCHAR(100) NOT NULL,
33 intname VARCHAR(100) NOT NULL,
34 state TINYINT NOT NULL DEFAULT 0,
35 ordinal INTEGER NOT NULL,
36 apigroup SMALLINT,
37 return VARCHAR(64),
38 updated TINYINT NOT NULL DEFAULT 0,
39 description TEXT,
40 remark TEXT,
41 returndesc TEXT,
42 sketch TEXT,
43 equiv TEXT,
44 time TEXT,
45 UNIQUE i1(refcode, aliasfn),
46 UNIQUE i1a(dll, aliasfn, refcode),
47 UNIQUE i1b(aliasfn, name, dll),
48 UNIQUE i1c(aliasfn, intname, dll, refcode),
49 UNIQUE i2(name, dll, refcode),
50 UNIQUE i3(intname, dll, refcode),
51 UNIQUE u1(refcode),
52 UNIQUE u2(name, dll)
53);
54
55CREATE TABLE apigroup (
56 refcode SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
57 dll TINYINT NOT NULL,
58 name VARCHAR(64) NOT NULL,
59 description VARCHAR(128),
60 UNIQUE u1(refcode),
61 UNIQUE u2(name)
62);
63
64CREATE TABLE author (
65 refcode SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
66 name VARCHAR(64) NOT NULL,
67 initials CHAR(4) NOT NULL,
68 alias VARCHAR(32),
69 email VARCHAR(64),
70 country VARCHAR(64),
71 location VARCHAR(64),
72 UNIQUE u1(refcode),
73 UNIQUE u2(name),
74 UNIQUE u3(initials)
75-- ,UNIQUE i4(alias), UNIQUE columns have to be defined NOT NULL in mySql.
76-- UNIQUE i5(email) UNIQUE columns have to be defined NOT NULL in mySql.
77);
78
79CREATE TABLE fnauthor (
80 author SMALLINT NOT NULL,
81 function INTEGER NOT NULL,
82 UNIQUE u1(function, author)
83);
84
85CREATE TABLE historydll (
86 dll TINYINT NOT NULL,
87 state SMALLINT NOT NULL,
88 date DATE NOT NULL,
89 count SMALLINT NOT NULL,
90 UNIQUE u1(dll, state, date)
91);
92
93CREATE TABLE historyapigroup (
94 apigroup SMALLINT NOT NULL,
95 state SMALLINT NOT NULL,
96 date DATE NOT NULL,
97 count SMALLINT NOT NULL,
98 UNIQUE u1(apigroup, state, date)
99);
100
101CREATE TABLE historydlltotal (
102 dll SMALLINT NOT NULL,
103 date DATE NOT NULL,
104 totalcount SMALLINT NOT NULL,
105 UNIQUE u1(dll, DATE)
106);
107
108CREATE TABLE historyapigrouptotal (
109 apigroup SMALLINT NOT NULL,
110 date DATE NOT NULL,
111 totalcount SMALLINT NOT NULL,
112 UNIQUE u1(apigroup, date)
113);
114
115CREATE TABLE parameter (
116 function INTEGER NOT NULL,
117 sequencenbr TINYINT NOT NULL,
118 name VARCHAR(64) NOT NULL,
119 type VARCHAR(64) NOT NULL,
120 description TEXT,
121 INDEX i1(function, name),
122 UNIQUE u1(function, name)
123);
124
Note: See TracBrowser for help on using the repository browser.