Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
30
СОДЕРЖАНИЕ
2 КОНЦЕПТУАЛЬНОЕ МОДЕЛИРОВАНИЕ БАЗЫ ДАННЫХ………..…...10
3 ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ БАЗЫ ДАННЫХ…..………...…...…12
4 ФИЗИЧЕСКОЕ МОДЕЛИРОВАНИЕ БАЗЫ ДАННЫХ…………......…..…14
5 ГЕНЕРАЦИЯ ОТНОШЕНИЙ………………..…………………...………..…16
6 РЕАЛИЗАЦИЯ ЗАПРОСОВ К БД………………..………………………..…19
ЗАКЛЮЧЕНИЕ………………..……………………………………………...…30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ……………………………31
Подсистема “Учет стратиграфических подразделений” будет являться подсистемой более крупной ИС "Стратиграфическая характеристика", которая функционирует в ОАО Тимано-Печорский научно-исследовательский центр (ОАО "ТП НИЦ") уже несколько лет, но требует существенного улучшения. ИС "Стратиграфическая харакатеристика" - одна из подсистем регионального банка цифровой геолого-геофизической информации.
ОАО "ТП НИЦ" осуществляет научно-исследовательские, опытно-конструкторские и аналитические работы по Тимано-Печорскому и сопредельным с ним нефтегазоносным бассейнам. ИС "Стратиграфическая характеристика" используется отделом региональной геологии и предназначена для автоматизации важной часть работы организациии: стратиграфическое расчленение по Тимано-Печорской провинции.
От недропользователя поступает керн по скважинам, в ящиках. Специалисты отдела региональной геологии описывают керн (дают литологическое описание керна) и определяют места отбора образцов. Работники кернохранилища распиливают керн и вырезают образцы, из мест, указанных на предыдущем шаге. Далее из образцов делаются петрографические шлифы, которые передаются на микроскописческие исследования палеонтологами. Палеонтологи производят исследования (рассматривают в микроскоп шлифы и ищут ископаемые остатки, по которым можно было бы определить возраст образца, а также обращаются к справочникам и каталогам-определителям). Результат работы палеонтолога - определенный возраст для каждого шлифа. После того как результаты расчленения по отдельным системам получены, они сводятся в таблицы, которые проходят процедуру согласования. Согласование осуществляет специальный сотрудник-литолог, в сферу ответственности которого входит именно сведение разбивок в общую таблицу и решение вопросов согласования границ. Результат согласования - это и есть окончательное стратиграфическое расчленение.
В ИС "Стратиграфическая характеристика" ведется учет стратиграфических расчленений. Чтобы усовершенствовать данную систему необходимо создать подсистему учета стратиграфических подразделений.
Стратиграфическое подразделение (стратон) - совокупность горных пород, составляющих определенное единство и обособленных по признакам, позволяющим установить их пространственно-временные соотношения, то есть последовательность формирования и положение в стратиграфическом разрезе. Объем стратиграфического подразделения это интервал геологического разреза, заключенный между стратиграфическими границами этого подразделения. Состав стратиграфического подразделения это перечень более низких по рангу подразделений. Стратотип конкретный разрез стратиграфического подразделения, указанный и описанный в качестве типового разреза.
Стратиграфическим кодексом предусмотрены две группы стратиграфических подразделений основные и специальные. Эти группы делятся на категории, для каждой из которых установлены определенные таксономические единицы, обозначаемые ранговыми терминами. Стратиграфические подразделения делятся на основные и специальные стратиграфические подразделения.
Таблица 1 - Основные стратиграфические подразделения
Общие |
Региональные |
Местные |
Акротема |
Горизонт |
Комплекс |
Эонотема |
Слои с географическим названием |
Серия |
Эратема |
Свита |
|
Система |
Пачка |
|
Отдел |
Раздел* |
|
Ярус |
Звено |
|
Хронозона |
Ступень |
Специальные стратиграфические подразделения:
Основные стратиграфические подразделения являются главными картируемыми элементами геологических картразных масштабов.
Категории основных стратиграфических подразделений отражают их географическое распространение: потенциально планетарное, региональное или местное (в пределах геологического района).
Совокупность основных стратиграфических подразделений более низкого ранга должна составлять полный объем подразделения более высокого ранга.
Специальные стратиграфические подразделения являются единицами частного обоснования и устанавливаются с помощью отдельных методов. Они часто используются в качестве вспомогательных в дополнение к основным подразделениям при расчленении и корреляции разрезов. Некоторые из специальных подразделений могут картироваться.
Дополнительные подразделения могут быть выделены в шкалах любых групп и категорий; они обозначаются ранговыми терминами подразделений с приставками над- и под-. Дополнительные подразделения с приставкой над- должны включать полные объемы объединяемых подразделений, более низких по рангу. Дополнительные подразделения с приставкой под- в сумме должны составлять полный стратиграфический объем основного подразделения.
Стратиграфическая шкала это вертикальный разрез всей земной коры, который показывает, какое положение по отношению друг к другу занимают те или иные подразделения в земной коре.
Отрезок геологической истории, за который накопилась группа пород, назвали эрой. Время образования системы назвали периодом, отдела эпохой, яруса веком, зоне или горизонту соответствует время. Эра, период, эпоха и век составляют универсальную геохронологическую шкалу геологической истории Земли. Она показывает время образования того или иного стратиграфического подразделения, слагающего земную кору, и историческую последовательность главнейших геологических событий в развитии земной коры.
Ярус должен иметь стратотип и лимитотип, хронозона, горизонт и свита должны иметь собственный стратотип. Для других таксономических единиц стратотипом является совокупность стратотипов единиц, низших по рангу.
Тектонические структуры это большие участки земной коры, ограниченные глубинными разломами.
В процессе изучения предметной области были выделены следующие сущности: «стратиграфическое подразделение», «таксономическая единица», «тип таксономической единицы», «стратотипическая местность», «тектоническая структура».
Стратиграфическое подразделение относится только к одной таксономической единице, тогда как подразделений с одной и той же таксономической единицей может быть несколько. Таким образом, связь между сущностями «Таксономическая единица» и «Стратиграфическое подразделение» 1:m.
Каждая таксономическая единица характеризуется только одним типом, тогда как таксономических единиц с одним и тем же типом может быть несколько. Таким образом, связь между сущностями «Тип таксономической единицы» и «Таксономическая единица» 1:m.
В характеристику стратиграфического подразделения входят одна или несколько стратотипических местностей, в то же время одна и та же стратотипическая местность может входить в характеристики разных стратиграфических подразделений. Таким образом, связь между сущностями «Стратиграфическое подразделение» и «Стратотипическая местность» m:n.
У некоторых стратотипических местностей есть стратиграфическое подразделение, которое их определяет. Поэтому между сущностями «Стратиграфическое подразделение» и «Стратотипическая местность» необходимо сделать дополнительную связь 1:m.
Одна стратотипическая местность может содержать сколько угодно тектонических структур, одна тектоническая структура закреплена за одной и только одной стратотипической местностью.
Сущности «Стратиграфическое подразделение» и «Тектоническая структура» должны иметь иерархические связи, так как совокупность основных стратиграфических подразделений более низкого ранга должна составлять полный объем подразделения более высокого ранга, тектонические структуры делятся на порядки.
Рисунок 1 Концептуальная модель базы данных
Сущность «Стратиграфическое подразделение» должна содержать атрибуты: ID стратиграфического подразделения (суррогатный первичный ключ), идентификатор старшего стратиграфического подразделения (внешний ключ), название подразделения, индекс, ID таксономической единицы (внешний ключ).
Сущность «Таксономическая единица» должна содержать атрибуты: ID таксономической единицы (суррогатный первичный ключ), название таксономической единицы, ID типа таксономической единицы (внешний ключ).
Сущность «Тип таксономической единицы» должна содержать атрибуты: ID типа таксономической единицы (суррогатный первичный ключ), название типа таксономической единицы.
Сущность «Стратотипическая местность» должна содержать атрибуты: ID стратотипической местности (суррогатный первичный ключ), ID стратиграфического подразделения (внешний ключ), наименование стратотипической местности, ID тектонической структуры (внешний ключ).
Сущность «Тектоническая структура» должна содержать атрибуты: ID тектонической структуры, обозначение структуры, наименование структуры, порядок структуры, ID старшей тектонической структуры (внешний ключ).
Сущность «Cтратиграфическое подразделение стратотипическая местность» вводится как слабая сущность вместо связи m к n между сущностями «Стратиграфическое подразделение» и «Стратотипическая местность», и должна содержать атрибуты: ID стратиграфического подразделения- стратотипической местности, ID стратотипической местности (внешний ключ), ID стратиграфического подразделения (внешний ключ), абсолютный возраст кровля млн лет, абсолютный возраст подошва млн лет).
Рисунок 2 Логическая модель базы данных
При физическом моделировании были переименованы все атрибуты, в соответствии с требованиями к именованию РБЦГИ. Также, соответствие атрибутов и типов данных показано в таблице 2.
Таблица 2 - Параметры полей
Таблица |
Поле |
Тип данных |
Длина |
1 |
2 |
3 |
4 |
Tbl_Straton |
Straton_ID |
integer |
- |
vch_Straton_Name |
varchar |
50 |
|
vch_Straton_Index |
varchar |
10 |
|
Taxonomy_Unit_ID |
SMALLINT |
- |
|
Main_Straton_ID |
integer |
- |
|
Tbl_Straton_ Strat_Region |
Straton_Strat_Region_ID |
integer |
- |
num_Top_Abs_Age |
real |
- |
|
num_Base_Abs_Age |
real |
- |
|
Strat_Region_ID |
integer |
- |
|
Straton_ID |
integer |
- |
|
Tbl_Strat_ Region |
Strat_Region_ID |
integer |
- |
vch_Strat_Region_Name |
varchar |
50 |
|
Tectonic_Structure_ID |
integer |
- |
|
Straton_ID |
integer |
- |
|
tbl_Taxonomy_Unit |
Taxonomy_Unit_ID |
integer |
- |
vch_Taxonomy_ Unit_Name |
varchar |
50 |
|
Taxonomy_Unit_Type_ID |
integer |
- |
|
tbl_Taxonomy_Unit_Type |
Taxonomy_Unit_Type_ID |
integer |
- |
vch_Taxonomy_Unit_ Type_Name |
varchar |
50 |
Продолжение таблицы 2.
Таблица |
Поле |
Тип данных |
Длина |
1 |
2 |
3 |
4 |
tbl_Tectonic_ Structure |
Tectonic_Structure_ID |
integer |
- |
vch_Tectonic_Structure_ Designation |
varchar |
50 |
|
vch_Tectonic_Structure_ Name |
varchar |
50 |
|
num_Tectonic_Structure_Order |
integer |
- |
|
Main_Struture_ID |
integer |
- |
Рисунок 3 Физическая модель базы данных
Возраст подошвы всегда должен быть больше возраста кровли, а также они должны быть больше 0.
Код ограничения:
alter table tbl_Straton_Strat_Region
add constraint Age check (num_Top_Abs_Age < num_Base_Abs_Age and num_Top_Abs_Age > 0)
5 ГЕНЕРАЦИЯ ОТНОШЕНИЙ
CREATE TABLE [dbo].[tbl_Strat_Region](
[Strat_Region_ID] [int] NOT NULL,
[vch_Strat_Region_Name] [varchar](50) NULL,
[Tectonic_Structure_ID] [int] NOT NULL,
[Straton_ID] [int] NOT NULL,
CONSTRAINT [PK_StratotipicheskayaMestnost] PRIMARY KEY CLUSTERED
(
[Strat_Region_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[tbl_Straton](
[Straton_ID] [int] NOT NULL,
[vch_Straton_Name] [varchar](50) NULL,
[vch_Straton_Index] [varchar](10) NULL,
[Taxonomy_Unit_ID] [int] NOT NULL,
[Main_Straton_ID] [int] NULL,
CONSTRAINT [PK_StratigraficheskoePodrazlenie] PRIMARY KEY CLUSTERED
(
[Straton_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[tbl_Straton_Strat_Region](
[Straton_Strat_Region_ID] [int] NOT NULL,
[num_Top_Abs_Age] [int] NULL,
[num_Base_Abs_Age] [int] NULL,
[Strat_Region_ID] [int] NOT NULL,
[Straton_ID] [int] NOT NULL,
CONSTRAINT [PK_StratigraficheskoePodrStratotip] PRIMARY KEY CLUSTERED
(
[Straton_Strat_Region_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[tbl_Taxonomy_Unit](
[Taxonomy_Unit_ID] [int] NOT NULL,
[vch_Taxonomy_Unit_Name] [varchar](50) NULL,
[Taxonomy_Unit_Type_ID] [int] NOT NULL,
CONSTRAINT [PK_TaksonomicheskayaEdinica] PRIMARY KEY CLUSTERED
(
[Taxonomy_Unit_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[tbl_Taxonomy_Unit_Type](
[Taxonomy_Unit_Type_ID] [int] NOT NULL,
[vch_Taxonomy_Unit_Type_Name] [varchar](50) NULL,
CONSTRAINT [PK_TipTaksonomicheskoyEdinicu] PRIMARY KEY CLUSTERED
( [Taxonomy_Unit_Type_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[tbl_Tectonic_Structure](
[Tectonic_Structure_ID] [int] NOT NULL,
[vch_Tectonic_Structure_Designation] [varchar](50) NULL,
[vch_Tectonic_Structure_Name] [varchar](50) NULL,
[num_Tectonic_Structure_Order] [int] NULL,
[Main_Struture_ID] [int] NOT NULL,
CONSTRAINT [PK_TektonicheskayaStryktyra] PRIMARY KEY CLUSTERED
(
[Tectonic_Structure_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
6 РЕАЛИЗАЦИЯ ЗАПРОСОВ К БД
Код запроса:
SELECT vch_Straton_Name AS 'Название стратона', vch_Straton_Index AS ' Индекс стратона'
FROM
tbl_Straton s inner join tbl_Straton_Strat_Region sr
on s.Straton_ID = sr.Straton_ID
WHERE S.Main_Straton_ID IS NOT null AND
(num_Base_Abs_Age >
(SELECT num_Base_Abs_Age FROM
tbl_Straton_Strat_Region mainstrreg
WHERE s.Main_Straton_ID = mainstrreg.Straton_ID))
or (num_Top_Abs_Age <
(SELECT num_Top_Abs_Age FROM
tbl_Straton_Strat_Region mainstrreg
WHERE s.Main_Straton_ID = mainstrreg.Straton_ID))
Рисунок 4 Результат выполнения запроса №1
Код запроса:
SELECT s1.vch_Straton_Name as 'Система', s1.vch_Straton_Index as 'Индекс',
s2.vch_Straton_Name as 'Отдел', s2.vch_Straton_Index as 'Индекс',
s3.vch_Straton_Name as 'Ярус', s3.vch_Straton_Index as 'Индекс',
num_Base_Abs_Age as 'Абсолютный возраст подошвы'
FROM tbl_Straton s1 inner join
tbl_Taxonomy_Unit on tbl_Taxonomy_Unit.Taxonomy_Unit_ID = s1.Taxonomy_Unit_ID
left join tbl_Straton s2 on s2.Main_Straton_ID = s1.Straton_ID
left join tbl_Straton s3 on s3.Main_Straton_ID = s2.Straton_ID
inner join tbl_Straton_Strat_Region on s1.Straton_ID = tbl_Straton_Strat_Region.Straton_ID
WHERE vch_Taxonomy_Unit_Name = 'Система'
ORDER BY num_Base_Abs_Age
Рисунок 5 Результат выполнения запроса №2
Код запроса:
SELECT S1.vch_Straton_Name as 'Название стратона', S2.vch_Straton_Name as 'Название старшего стратона'
FROM tbl_Straton S1
inner join tbl_Straton_Strat_Region SR1 on SR1.Straton_ID = S1.Straton_ID
, tbl_Straton S2
inner join tbl_Straton_Strat_Region SR2 on SR2.Straton_ID = S2.Straton_ID
WHERE S1.vch_Straton_Name = 'Коми' AND
S2.vch_Straton_Name in
(SELECT S2.vch_Straton_Name
from tbl_Straton S2
where S2.Main_Straton_ID is null and
(SR1.num_Base_Abs_Age between SR2.num_Top_Abs_Age and SR2.num_Base_Abs_Age)
AND (SR1.num_Top_Abs_Age between SR2.num_Top_Abs_Age and SR2.num_Base_Abs_Age))
Рисунок 6 Результат выполнения запроса №3
Код запроса:
SELECT s1.vch_Straton_Name as 'Система', s1.vch_Straton_Index as 'Индекс',
s2.vch_Straton_Name as 'Отдел', s2.vch_Straton_Index as 'Индекс',
s3.vch_Straton_Name as 'Ярус', s3.vch_Straton_Index as 'Индекс',
s4.vch_Straton_Name as 'Подъярус', s4.vch_Straton_Index as 'Индекс',
s5.vch_Straton_Name as 'Надгоризонт', s5.vch_Straton_Index as 'Индекс',
s6.vch_Straton_Name as 'Горизонт', s6.vch_Straton_Index as 'Индекс',
s7.vch_Straton_Name as 'Свита', s7.vch_Straton_Index as 'Индекс'
from tbl_Straton s1
left join tbl_Straton s2 on s2.Main_Straton_ID = s1.Straton_ID
left join tbl_Straton s3 on s3.Main_Straton_ID = s2.Straton_ID
left join tbl_Straton s4 on s4.Main_Straton_ID = s3.Straton_ID
left join tbl_Straton s5 on s5.Main_Straton_ID = s4.Straton_ID
left join tbl_Straton s6 on s6.Main_Straton_ID = s5.Straton_ID
left join tbl_Straton s7 on s7.Main_Straton_ID = s6.Straton_ID
inner join tbl_Straton_Strat_Region on s7.Straton_ID = tbl_Straton_Strat_Region.Straton_ID
where s1.vch_Straton_Index = 'D'
AND tbl_Straton_Strat_Region.Strat_Region_ID =
(select stratreg.Strat_Region_ID
from tbl_Strat_Region stratreg
where stratreg.vch_Strat_Region_Name = 'Северо-восточный склон тимана')
Рисунок 7 Результат выполнения запроса №4
Код запроса:
(SELECT distinct S2.Straton_ID as 'ID', S2.vch_Straton_Index as 'Индекс',
s2.vch_Straton_Name as 'Стратоны, различные для стратотипических местностей',
TU1.vch_Taxonomy_Unit_Name as 'Таксономическая единица'
FROM tbl_Straton S1
inner join tbl_Straton_Strat_Region SSR1 on SSR1.Straton_ID = S1.Straton_ID
inner join tbl_Strat_Region SR1 on SR1.Strat_Region_ID = SSR1.Strat_Region_ID
inner join tbl_Straton S2 on S1.Main_Straton_ID = S2.Straton_ID
inner join tbl_Taxonomy_Unit TU1 on TU1.Taxonomy_Unit_ID = S2.Taxonomy_Unit_ID
where
SR1.vch_Strat_Region_Name = 'Северо-восточный склон тимана'
and S2.Straton_ID in (SELECT S3.Straton_ID
from tbl_Straton S3
inner join tbl_Straton_Strat_Region SSR2 on SSR2.Straton_ID = S3.Straton_ID
WHERE (SSR2.num_Top_Abs_Age between SSR1.num_Base_Abs_Age and SSR1.num_Base_Abs_Age) or
(SSR2.num_Base_Abs_Age between SSR1.num_Base_Abs_Age and SSR1.num_Base_Abs_Age)
or SSR2.num_Top_Abs_Age < SSR1.num_Top_Abs_Age or SSR2.num_Base_Abs_Age > SSR1.num_Base_Abs_Age )
EXCEPT
SELECT distinct S4.Straton_ID as 'ID', S4.vch_Straton_Index as 'Индекс',
s4.vch_Straton_Name as 'Стратоны, различные для стратотипических местностей',
TU2.vch_Taxonomy_Unit_Name as 'Таксономическая единица'
FROM tbl_Straton S5
inner join tbl_Straton_Strat_Region SSR5 on SSR5.Straton_ID = S5.Straton_ID
inner join tbl_Strat_Region SR5 on SR5.Strat_Region_ID = SSR5.Strat_Region_ID
inner join tbl_Straton S4 on S5.Main_Straton_ID = S4.Straton_ID
inner join tbl_Taxonomy_Unit TU2 on TU2.Taxonomy_Unit_ID = S4.Taxonomy_Unit_ID
where
SR5.vch_Strat_Region_Name = 'Ижма-Печорская синеклиза'
and S4.Straton_ID in (SELECT S6.Straton_ID
from tbl_Straton S6
inner join tbl_Straton_Strat_Region SSR4 on SSR4.Straton_ID = S6.Straton_ID
WHERE (SSR4.num_Top_Abs_Age between SSR5.num_Base_Abs_Age and SSR5.num_Base_Abs_Age) or
(SSR4.num_Base_Abs_Age between SSR5.num_Base_Abs_Age and SSR5.num_Base_Abs_Age)))
UNION
(SELECT distinct S4.Straton_ID as 'ID', S4.vch_Straton_Index as 'Индекс',
s4.vch_Straton_Name as 'Стратоны, различные для стратотипических местностей',
TU2.vch_Taxonomy_Unit_Name as 'Таксономическая единица'
FROM tbl_Straton S5
inner join tbl_Straton_Strat_Region SSR5 on SSR5.Straton_ID = S5.Straton_ID
inner join tbl_Strat_Region SR5 on SR5.Strat_Region_ID = SSR5.Strat_Region_ID
inner join tbl_Straton S4 on S5.Main_Straton_ID = S4.Straton_ID
inner join tbl_Taxonomy_Unit TU2 on TU2.Taxonomy_Unit_ID = S4.Taxonomy_Unit_ID
where
SR5.vch_Strat_Region_Name = 'Ижма-Печорская синеклиза'
and S4.Straton_ID in (SELECT S6.Straton_ID
from tbl_Straton S6
inner join tbl_Straton_Strat_Region SSR4 on SSR4.Straton_ID = S6.Straton_ID
WHERE (SSR4.num_Top_Abs_Age between SSR5.num_Base_Abs_Age and SSR5.num_Base_Abs_Age) or
(SSR4.num_Base_Abs_Age between SSR5.num_Base_Abs_Age and SSR5.num_Base_Abs_Age))
EXCEPT
SELECT distinct S2.Straton_ID as 'ID', S2.vch_Straton_Index as 'Индекс',
s2.vch_Straton_Name as 'Стратоны, различные для стратотипических местностей',
TU1.vch_Taxonomy_Unit_Name as 'Таксономическая единица'
FROM tbl_Straton S1
inner join tbl_Straton_Strat_Region SSR1 on SSR1.Straton_ID = S1.Straton_ID
inner join tbl_Strat_Region SR1 on SR1.Strat_Region_ID = SSR1.Strat_Region_ID
inner join tbl_Straton S2 on S1.Main_Straton_ID = S2.Straton_ID
inner join tbl_Taxonomy_Unit TU1 on TU1.Taxonomy_Unit_ID = S2.Taxonomy_Unit_ID
where
SR1.vch_Strat_Region_Name = 'Северо-восточный склон тимана'
and S2.Straton_ID in (SELECT S3.Straton_ID
from tbl_Straton S3
inner join tbl_Straton_Strat_Region SSR2 on SSR2.Straton_ID = S3.Straton_ID
WHERE (SSR2.num_Top_Abs_Age between SSR1.num_Base_Abs_Age and SSR1.num_Base_Abs_Age) or
(SSR2.num_Base_Abs_Age between SSR1.num_Base_Abs_Age and SSR1.num_Base_Abs_Age)
or SSR2.num_Top_Abs_Age < SSR1.num_Top_Abs_Age
or SSR2.num_Base_Abs_Age > SSR1.num_Base_Abs_Age))
Рисунок 8 Результат выполнения запроса №5
Код запроса:
SELECT S1.vch_Straton_Name as 'Название первого стратона',
S2.vch_Straton_Name as 'Название второго стратона',
SSR2.num_Base_Abs_Age - SSR1.num_Base_Abs_Age as 'Мощность',
SR.vch_Strat_Region_Name as 'Стратотипическая местность'
FROM tbl_Straton S1
inner join tbl_Straton_Strat_Region SSR1 on S1.Straton_ID = SSR1.Straton_ID,
tbl_Straton S2
inner join tbl_Straton_Strat_Region SSR2 on S2.Straton_ID = SSR2.Straton_ID
inner join tbl_Strat_Region SR on SSR2.Strat_Region_ID = SR.Strat_Region_ID
where S1.vch_Straton_Name = 'Эжвадорская' and S2.vch_Straton_Name = 'Устьярегская'
Рисунок 9 Результат выполнения запроса №6
ЗАКЛЮЧЕНИЕ
Анализ предметной области позволил выявить основные сущности, в процессе концептуального проектирования были установлены связи между ними, логическое моделирование выявило требования к данным, позволило правильно сформировать сущности, их атрибуты и взаимосвязи с учетом методологических требований ликвидации избыточности, нормализации, целостности и др. Физическое моделирование базы данных позволила создать модель, которая соответствует описанию данных в БД конкретной СУБД, то есть схеме данных. Она непосредственно учитывает такие аспекты, как архитектуру, безопасность, эффективность доступа и другие.
Согласно заданной теме была разработана база данных, удовлетворяющая требованиям организации-заказчика.
При установлении связей между таблицами были учтены рекомендации заказчика, а также перспективы дальнейшего развития подсистемы. В связи с тем, что в будущем планируется доработка подсистемы с внедрением множества расчетов, в таблицах Стратон и Тектоническая структура были установлены иерархические связи, для которых более удобно будет описать алгоритм поиска корня дерева. Также было учтено количество информации, которую необходимо хранить в данной базе данных, поэтому для указания стратона, определяющего стратотипическую местность была использована отдельная связь. Таких стратонов будет не более 50, тогда как общее количество хранимых в таблице Стратон-Стратотипическая местность будет более 3000.
Таким образом, полученная база данных полностью соответствует всем аспектам поставленной задачи.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ