База содержит сведения о скважинах (borehole), образцах (sample), горных породах (rock) и объектах, например, строительных площадках или месторождениях (object).
SQL-скрипт для создания структуры базы.
-- Объект (месторождение, строительная площадка и т.п.)
CREATE TABLE object (
object_id INTEGER PRIMARY KEY,
object_name VARCHAR2(256) -- Название объекта
);
-- Скважина
CREATE TABLE borehole (
borehole_id INTEGER PRIMARY KEY,
object_id INTEGER REFERENCES object(object_id) NOT NULL,
borehole_name VARCHAR2(256) NOT NULL, -- Название
borehole_longitude NUMBER NOT NULL, -- Долгота
borehole_latitude NUMBER NOT NULL, -- Широта
borehole_height NUMBER NOT NULL, -- Высота над уровнем моря, метры
borehold_angle NUMBER DEFAULT 0, -- Угол наклона. 0 - вертикальная
borehole_direction NUMBER, -- Направление (в градусах) для наклонных скважин
UNIQUE (object_id, borehole_name)
/* Требование уникальности кодового наиманования скважины в рамках одного объекта. */
);
-- Горная порода
CREATE TABLE rock (
rock_id INTEGER PRIMARY KEY,
rock_name VARCHAR2(128) NOT NULL, -- Название
rock_category INTEGER NOT NULL CHECK(rock_category >= 1 AND rock_category <= 3), -- Категория: магматическая, метаморфическая, осадочная
rock_hardness NUMBER -- Твердость
);
-- Образец
CREATE TABLE sample (
sample_id INTEGER PRIMARY KEY,
borehole_id INTEGER REFERENCES borehole(borehole_id) NOT NULL, -- Из какой скважины
rock_id INTEGER REFERENCES rock(rock_id) NOT NULL, -- Горная порода
sample_depth NUMBER NOT NULL, -- расстояние от поверхности верхнего края
sample_height NUMBER NOT NULL, -- высота образца
sample_date DATE -- дата получения образца
);
-- Результат исследования
CREATE TABLE analysis (
analysis_id INTEGER PRIMARY KEY,
sample_id INTEGER REFERENCES sample(sample_id) NOT NULL,
analysis_porosity NUMBER NOT NULL,
analysis_laboratory VARCHAR(32)
);
16 февраля 2021. Добавлена таблица результатов исследования характеристик образцов.