Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
O
openbis
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
sispub
openbis
Commits
0ece3be1
Commit
0ece3be1
authored
14 years ago
by
tpylak
Browse files
Options
Downloads
Patches
Plain Diff
LMS-1529 first draft of image database
SVN: 15919
parent
6cfe4c6c
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
screening/source/sql/postgresql/001/schema-001.sql
+137
-0
137 additions, 0 deletions
screening/source/sql/postgresql/001/schema-001.sql
with
137 additions
and
0 deletions
screening/source/sql/postgresql/001/schema-001.sql
+
137
−
0
View file @
0ece3be1
/* ---------------------------------------------------------------------- */
/* Domains */
/* ---------------------------------------------------------------------- */
CREATE
DOMAIN
TECH_ID
AS
BIGINT
;
CREATE
DOMAIN
CODE
AS
VARCHAR
(
40
);
CREATE
DOMAIN
NAME
AS
VARCHAR
(
80
);
CREATE
DOMAIN
DESCRIPTION
AS
VARCHAR
(
200
);
CREATE
DOMAIN
FILE_PATH
as
VARCHAR
(
1000
);
//
TODO
CREATE
DOMAIN
COLOR_COMPONENT
AS
(
RED
,
GREEN
,
BLUE
);
/* ---------------------------------------------------------------------- */
/* Tables */
/* ---------------------------------------------------------------------- */
CREATE
TABLE
EXPERIMENTS
(
ID
BIGSERIAL
NOT
NULL
,
PERM_ID
CODE
NOT
NULL
,
PRIMARY
KEY
(
ID
),
UNIQUE
(
PERM_ID
)
);
CREATE
TABLE
CONTAINERS
(
ID
BIGSERIAL
NOT
NULL
,
PERM_ID
CODE
NOT
NULL
,
SPOTS_WIDTH
INTEGER
,
SPOTS_HEIGHT
INTEGER
,
EXPE_ID
TECH_ID
NOT
NULL
,
PRIMARY
KEY
(
ID
),
UNIQUE
(
PERM_ID
),
CONSTRAINT
FK_SAMPLE_1
FOREIGN
KEY
(
EXPE_ID
)
REFERENCES
EXPERIMENTS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
);
CREATE
TABLE
SPOTS
(
ID
BIGSERIAL
NOT
NULL
,
PERM_ID
CODE
NOT
NULL
,
-- position in the container, one-based
X
INTEGER
,
Y
INTEGER
,
CONT_ID
TECH_ID
NOT
NULL
,
PRIMARY
KEY
(
ID
),
UNIQUE
(
PERM_ID
),
CONSTRAINT
FK_SPOT_1
FOREIGN
KEY
(
EXPE_ID
)
REFERENCES
EXPERIMENTS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
CONSTRAINT
FK_SPOT_2
FOREIGN
KEY
(
CONT_ID
)
REFERENCES
CONTAINERS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
);
CREATE
TABLE
DATA_SETS
(
ID
BIGSERIAL
NOT
NULL
,
PERM_ID
CODE
NOT
NULL
,
FIELDS_WIDTH
INTEGER
,
FIELDS_HEIGHT
INTEGER
,
EXPE_ID
TECH_ID
NOT
NULL
,
SAMP_ID
TECH_ID
,
PRIMARY
KEY
(
ID
),
UNIQUE
(
PERM_ID
),
CONSTRAINT
FK_DATA_SET_1
FOREIGN
KEY
(
EXPE_ID
)
REFERENCES
EXPERIMENTS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
,
CONSTRAINT
FK_DATA_SET_2
FOREIGN
KEY
(
SAMP_ID
)
REFERENCES
SAMPLES
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
);
CREATE
TABLE
CHANNELS
(
ID
BIGSERIAL
NOT
NULL
,
NAME
NAME
NOT
NULL
,
DESCRIPTION
DESCRIPTION
,
WAVELENGTH
INTEGER
,
DS_ID
TECH_ID
NOT
NULL
,
CONSTRAINT
FK_CHANNELS_1
FOREIGN
KEY
(
DS_ID
)
REFERENCES
DATA_SETS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
);
CREATE
TABLE
CHANNEL_STACKS
(
ID
BIGSERIAL
NOT
NULL
,
-- x and y are kind of a two dimensional sequence number, some use case may only use x and leave y alone
X
INTEGER
,
Y
INTEGER
,
-- we use the fixed dimension meters here
Z_in_M
FLOAT
,
-- we use the fixed dimension seconds here
T_in_SEC
FLOAT
,
DS_ID
TECH_ID
NOT
NULL
,
SPOT_ID
TECH_ID
NOT
NULL
,
CONSTRAINT
FK_CHANNEL_STACKS_1
FOREIGN
KEY
(
SPOT_ID
)
REFERENCES
SPOTS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
CONSTRAINT
FK_CHANNEL_STACKS_2
FOREIGN
KEY
(
DS_ID
)
REFERENCES
DATA_SETS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
);
CREATE
TABLE
IMAGES
(
ID
BIGSERIAL
NOT
NULL
,
PATH
FILE_PATH
NOT
NULL
,
PAGE
INTEGER
,
COLOR
COLOR_COMPONENT
,
CHANNEL_STACK_ID
TECH_ID
NOT
NULL
,
CHANNEL_ID
TECH_ID
NOT
NULL
,
DS_ID
TECH_ID
NOT
NULL
,
CONSTRAINT
FK_IMAGES_1
FOREIGN
KEY
(
CHANNEL_STACK_ID
)
REFERENCES
CHANNEL_STACKS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
CONSTRAINT
FK_IMAGES_2
FOREIGN
KEY
(
CHANNEL_ID
)
REFERENCES
CHANNELS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
CONSTRAINT
FK_IMAGES_3
FOREIGN
KEY
(
DS_ID
)
REFERENCES
DATA_SETS
(
ID
)
ON
DELETE
CASCADE
ON
UPDATE
CASCADE
);
/* ---------------------------------------------------------------------- */
/* FEATURE VECTORS */
/* ---------------------------------------------------------------------- */
CREATE
TABLE
FEATURE_DEFS
(
ID
BIGSERIAL
NOT
NULL
,
//
TODO
);
CREATE
TABLE
FEATURE_VALUES
(
ID
BIGSERIAL
NOT
NULL
,
//
TODO
);
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment