Projekt

Obecné

Profil

Stáhnout (2.54 KB) Statistiky
| Větev: | Tag: | Revize:
1 46867cf8 David Friesecký
/* ---------------------------------------------------- */
2
/*  Generated by Enterprise Architect Version 13.5 		*/
3 e1c31cac David Friesecký
/*  Created On : 29-dub-2021 11:19:55 				*/
4 46867cf8 David Friesecký
/*  DBMS       : SQLite 								*/
5
/* ---------------------------------------------------- */
6
7
/* Drop Tables */
8
9 1b0eb0a6 David Friesecký
DROP TABLE IF EXISTS 'Certificates'
10 46867cf8 David Friesecký
;
11
12 e88c2086 David Friesecký
DROP TABLE IF EXISTS 'CertificateTypes'
13 46867cf8 David Friesecký
;
14
15 e88c2086 David Friesecký
DROP TABLE IF EXISTS 'CertificateUsages'
16 46867cf8 David Friesecký
;
17
18 1b0eb0a6 David Friesecký
DROP TABLE IF EXISTS 'PrivateKeys'
19 46867cf8 David Friesecký
;
20
21 e1c31cac David Friesecký
DROP TABLE IF EXISTS 'Subjects'
22
;
23
24 1b0eb0a6 David Friesecký
DROP TABLE IF EXISTS 'UsageTypes'
25 46867cf8 David Friesecký
;
26
27 1b0eb0a6 David Friesecký
/* Create Tables with Primary and Foreign Keys, Check and Unique Constraints */
28 46867cf8 David Friesecký
29 e88c2086 David Friesecký
CREATE TABLE 'Certificates'
30 46867cf8 David Friesecký
(
31 e88c2086 David Friesecký
	'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
32 46867cf8 David Friesecký
	'valid_from' TEXT NOT NULL,
33
	'valid_to' TEXT NOT NULL,
34
	'pem_data' TEXT NOT NULL,
35 0cccf2a8 David Friesecký
	'revocation_date' TEXT NULL,
36 1b0eb0a6 David Friesecký
	'deletion_date' TEXT NULL,
37 e1c31cac David Friesecký
	'revocation_reason' TEXT NULL,
38 e88c2086 David Friesecký
	'certificate_type_id' INTEGER NOT NULL,
39
	'parent_certificate_id' INTEGER NOT NULL,
40 e1c31cac David Friesecký
	'subject_id' INTEGER NOT NULL,
41
	'private_key_id' INTEGER NOT NULL,
42 e88c2086 David Friesecký
	CONSTRAINT 'FK_Certificates' FOREIGN KEY ('parent_certificate_id') REFERENCES 'Certificates' ('id') ON DELETE No Action ON UPDATE No Action,
43
	CONSTRAINT 'FK_CertificateTypes' FOREIGN KEY ('certificate_type_id') REFERENCES 'CertificateTypes' ('id') ON DELETE No Action ON UPDATE No Action,
44 e1c31cac David Friesecký
	CONSTRAINT 'FK_PrivateKeys' FOREIGN KEY ('private_key_id') REFERENCES 'PrivateKeys' ('id') ON DELETE No Action ON UPDATE No Action,
45
	CONSTRAINT 'FK_Subjects' FOREIGN KEY ('subject_id') REFERENCES 'Subjects' ('id') ON DELETE No Action ON UPDATE No Action
46 e88c2086 David Friesecký
)
47
;
48
49 1b0eb0a6 David Friesecký
CREATE TABLE 'CertificateTypes'
50
(
51
	'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
52
	'certificate_type' TEXT NOT NULL
53
)
54
;
55
56 e88c2086 David Friesecký
CREATE TABLE 'CertificateUsages'
57
(
58
	'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
59
	'certificate_id' INTEGER NOT NULL,
60
	'usage_type_id' INTEGER NOT NULL,
61
	CONSTRAINT 'FK_Certificates' FOREIGN KEY ('certificate_id') REFERENCES 'Certificates' ('id') ON DELETE Cascade ON UPDATE No Action,
62
	CONSTRAINT 'FK_UsageTypes' FOREIGN KEY ('usage_type_id') REFERENCES 'UsageTypes' ('id') ON DELETE No Action ON UPDATE No Action
63 46867cf8 David Friesecký
)
64
;
65 1b0eb0a6 David Friesecký
66
CREATE TABLE 'PrivateKeys'
67
(
68
	'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
69
	'private_key' TEXT NOT NULL,
70
	'password' TEXT NULL
71
)
72
;
73
74 e1c31cac David Friesecký
CREATE TABLE 'Subjects'
75
(
76
	'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
77
	'common_name' TEXT NULL,
78
	'country_code' TEXT NULL,
79
	'locality' TEXT NULL,
80
	'province' TEXT NULL,
81
	'organization' TEXT NULL,
82
	'organizational_unit' TEXT NULL,
83
	'email_address' TEXT NULL
84
)
85
;
86
87 1b0eb0a6 David Friesecký
CREATE TABLE 'UsageTypes'
88
(
89
	'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
90
	'usage_type' TEXT NOT NULL
91
)
92
;