Subversion Repositories oidplus

Rev

Rev 783 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
783 daniel-mar 1
 
2
-- It is important that table names and column names inside quotes are uppercase
3
-- because if you query a name without quotes, then it will be automatically
4
-- converted to uppercase. Example:
5
-- create table test     ==> uppercase name will be written to disk
6
-- create table "TEST"   ==> uppercase name will be written to disk
7
-- create table "test"   ==> lowercase name will be written to disk
8
-- select * from test    ==> uppercase name will be read
9
-- select * from "TEST"  ==> uppercase name will be read
10
-- select * from "test"  ==> lowercase name will be read
11
 
12
-- The column name "COMMENT" is a reserved word.
13
-- In the program we MUST use 'select "COMMENT"' instead of 'select comment'
14
 
15
DROP TABLE "CONFIG";
16
CREATE TABLE "CONFIG" (
17
  "NAME" VARCHAR2(50) NOT NULL,
18
  "VALUE" VARCHAR2(4000) NOT NULL,
19
  "DESCRIPTION" VARCHAR2(255),
20
  "PROTECTED" NUMBER(1) DEFAULT '0' NOT NULL,
21
  "VISIBLE" NUMBER(1) DEFAULT '0' NOT NULL,
22
  PRIMARY KEY("NAME")
23
);
24
 
25
/* -------------------------------------------------- */
26
 
27
DROP TABLE "ASN1ID";
28
CREATE TABLE "ASN1ID" (
29
  "LFD" NUMBER GENERATED ALWAYS AS IDENTITY,
30
  "OID" VARCHAR2(255) NOT NULL,
31
  "NAME" VARCHAR2(255) NOT NULL,
32
  "STANDARDIZED" NUMBER(1) DEFAULT '0' NOT NULL,
33
  "WELL_KNOWN" NUMBER(1) DEFAULT '0' NOT NULL,
34
  PRIMARY KEY ("LFD"),
35
  CONSTRAINT "UNIQ_ASN1ID" UNIQUE ("OID","NAME")
36
);
37
 
38
/* -------------------------------------------------- */
39
 
40
DROP TABLE "IRI";
41
CREATE TABLE "IRI" (
42
  "LFD" NUMBER GENERATED ALWAYS AS IDENTITY,
43
  "OID" VARCHAR2(255) NOT NULL,
44
  "NAME" VARCHAR2(255) NOT NULL,
45
  "LONGARC" NUMBER(1) DEFAULT '0' NOT NULL,
46
  "WELL_KNOWN" NUMBER(1) DEFAULT '0' NOT NULL,
47
  PRIMARY KEY ("LFD"),
48
  CONSTRAINT "UNIQ_IRI" UNIQUE ("OID","NAME")
49
);
50
 
51
/* -------------------------------------------------- */
52
 
53
DROP TABLE "OBJECTS";
54
CREATE TABLE "OBJECTS" (
55
  "ID" VARCHAR2(255) NOT NULL,
56
  "PARENT" VARCHAR2(255) DEFAULT NULL,
57
  "TITLE" VARCHAR2(255) NULL,
58
  "DESCRIPTION" VARCHAR2(4000) NULL,
59
  "RA_EMAIL" VARCHAR2(100) NULL,
60
  "CONFIDENTIAL" NUMBER(1) NOT NULL,
61
  "CREATED" TIMESTAMP,
62
  "UPDATED" TIMESTAMP,
63
  "COMMENT" VARCHAR2(255) NULL,
64
  PRIMARY KEY ("ID")
65
);
66
 
67
CREATE INDEX "OBJECTS_PARENT" ON "OBJECTS"("PARENT");
68
CREATE INDEX "OBJECTS_RA_EMAIL" ON "OBJECTS"("RA_EMAIL");
69
 
70
/* -------------------------------------------------- */
71
 
72
DROP TABLE "RA";
73
CREATE TABLE "RA" (
74
  "RA_ID" NUMBER GENERATED ALWAYS AS IDENTITY,
75
  "EMAIL" VARCHAR2(100) NOT NULL,
76
  "RA_NAME" VARCHAR2(100) NULL,
77
  "PERSONAL_NAME" VARCHAR2(100) NULL,
78
  "ORGANIZATION" VARCHAR2(100) NULL,
79
  "OFFICE" VARCHAR2(100) NULL,
80
  "STREET" VARCHAR2(100) NULL,
81
  "ZIP_TOWN" VARCHAR2(100) NULL,
82
  "COUNTRY" VARCHAR2(100) NULL,
83
  "PHONE" VARCHAR2(100) NULL,
84
  "MOBILE" VARCHAR2(100) NULL,
85
  "FAX" VARCHAR2(100) NULL,
86
  "PRIVACY" NUMBER(1) DEFAULT '0' NOT NULL,
87
  "SALT" VARCHAR2(100) NULL,
88
  "AUTHKEY" VARCHAR2(100) NULL,
89
  "REGISTERED" TIMESTAMP,
90
  "UPDATED" TIMESTAMP,
91
  "LAST_LOGIN" TIMESTAMP,
92
  PRIMARY KEY ("RA_ID"),
93
  CONSTRAINT "UNIQ_RA" UNIQUE ("EMAIL")
94
);
95
 
96
/* -------------------------------------------------- */
97
 
98
DROP TABLE "LOG";
99
CREATE TABLE "LOG" (
100
  "ID" NUMBER GENERATED ALWAYS AS IDENTITY,
101
  "UNIX_TS" NUMBER NOT NULL,
102
  "ADDR" VARCHAR2(45) NOT NULL,
103
  "EVENT" VARCHAR2(4000) NOT NULL,
104
  PRIMARY KEY ("ID")
105
);
106
 
107
/* -------------------------------------------------- */
108
 
109
DROP TABLE "LOG_USER";
110
CREATE TABLE "LOG_USER" (
111
  "ID" NUMBER GENERATED ALWAYS AS IDENTITY,
112
  "LOG_ID" NUMBER NOT NULL,
113
  "USERNAME" VARCHAR2(255) NOT NULL,
114
  "SEVERITY" NUMBER NOT NULL,
115
  PRIMARY KEY ("ID"),
116
  CONSTRAINT "UNIQ_LOG_USER" UNIQUE ("LOG_ID","USERNAME")
117
);
118
 
119
CREATE INDEX "LOG_USER_LOG_ID" ON "LOG_USER"("LOG_ID");
120
CREATE INDEX "LOG_USER_USERNAME" ON "LOG_USER"("USERNAME");
121
 
122
/* -------------------------------------------------- */
123
 
124
DROP TABLE "LOG_OBJECT";
125
CREATE TABLE "LOG_OBJECT" (
126
  "ID" NUMBER GENERATED ALWAYS AS IDENTITY,
127
  "LOG_ID" NUMBER NOT NULL,
128
  "OBJECT" VARCHAR2(255) NOT NULL,
129
  "SEVERITY" NUMBER NOT NULL,
130
  PRIMARY KEY ("ID"),
131
  CONSTRAINT "UNIQ_LOG_OBJECT" UNIQUE ("LOG_ID","OBJECT")
132
);
133
 
134
CREATE INDEX "LOG_OBJECT_LOG_ID" ON "LOG_OBJECT"("LOG_ID");
135
CREATE INDEX "LOG_OBJECT_OBJECT" ON "LOG_OBJECT"("OBJECT");
136
 
137
/* -------------------------------------------------- */
138
 
830 daniel-mar 139
INSERT INTO "CONFIG" ("NAME", "DESCRIPTION", "VALUE", "PROTECTED", "VISIBLE") VALUES ('database_version', 'Version of the database tables', '1000', '1', '0');