Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации
Рефераты >> Военная кафедра >> Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации

В основных таблицах предусмотрена дополнительная информация по тому кто и в какое время ввел данные в таблицу. Это поля:

DATEADD

Дата ввода информации

NAMEADD_ID

Идентификатор пользователя, который ввел данные

DATEINS

Дата последней коррекции

NAMEINS_ID

Идентификатор пользователя, который изменил данные

Для ввода дополнительной информации в основных таблицах предусмотрено поле PRIM.

При проектировании таблиц важно уделять внимание нормализации базы данных.

7.4. Нормализация базы данных

Процесс трансформации данных в реляционную форму называется нормализацией[9]. Говоря проще, нормализация - это удаление избыточных данных из каждой таблицы в базе данных. У нормализации двойная цель - удалить лишние копии данных и обеспечить максималь­ную гибкость как в структурах таблиц, так и в интерфейсных приложениях на случай возможных будущих изменений в базах данных.

О нормализации таблиц в базе данных нужно заботится на раннем этапе проектирования приложения, так как при «живых» данных довольно трудно менять структуру базы. Иногда процесс нормализации порождает добавочные таблицы, которые были не включены в первона­чальный проект. Узнав об этом как можно раньше, не придется зря тратить силы на их разработку.

Нормализация обычно подразделяется на пять форм или стадий— от первой нормальной формы по пятую нормальную форму. То есть просто пять установок реляционного критерия, который либо обнаруживает таблицу, либо нет. Каждая последующая стадия строится на предыдущей. Формально существует пять форм, но на практике, как правило, используется только первые три. Последние две считаются слишком специальными, чтобы их применять к обычным проектам баз данных.

7.4.1. Первая нормальная форма

Для того чтобы таблица считалась нормализованной к первой нормальной форме, каждое из ее полей должно быть неделимым и не должно содержать никаких повторяющихся групп.

Поле считается неделимым, если оно содержит только один элемент данных. Например, поле Address, которое содержит не только название улицы, но также и города, почтовый код, не является неделимым. Чтобы соответствовать первой нормальной форме, такие столбцы должны быть разбиты на несколько полей.

Повторяющаяся группа — это поле, которое повторяется внутри определения записи с целью хранения нескольких значений для атрибута.

7.4.2. Вторая нормальная форма

Для того чтобы привести таблицу ко второй нормальной форме, нужно, чтобы все не ключевые поля полностью зависели от первичного ключа таблицы и от каждого поля в первичном ключе, если последний состоит из нескольких полей. Это зна­чит, что каждое не ключевое поле должно уникально определяться первичным ключом и полями, его составляющими.

7.4.3. Третья нормальная форма

Для того чтобы таблица была приведена к третьей нормальной форме, нужно, чтобы все не ключевые поля полностью зависели от первичного ключа таблицы и не зависели друг от друга. Таким образом, к квалификации второй нормальной формы добавляется требование независимости каждого не ключевого поля таблицы от других не ключевых полей.

7.4.4. Четвертая нормальная форма

Четвертая нормальная форма запрещает хранить независимые элементы в одной и той же таблице, когда между этими элементами существуют взаимоотношения типа многие-ко-многим. Четвертая нормальная форма требует, чтобы запомнили такие элементы в отдельных таблицах и создали таблицу от­ношений для организации связей между таблицами, характеризующихся взаимоотношениями типа многие-ко-многим.

Конечно же, поскольку два столбца находятся во взаимоотношении многие-ко-многим, то они уже не являются неза­висимыми, и тем самым уже нарушают третью нормальную форму. По этой причине четвертая нормальная форма рас­сматривается больше теоретически, т.к. частично она перекрывается третьей нормальной формой.

7.4.5. Пятая нормальная форма

Пятая нормальная форма требует, чтобы вы имели возможность перестраивать свои данные в нормализованных таб­лицах, в которые они были переведены. Это значит, что если вы начинаете с ненормализованных таблиц, то у вас не должно быть препятствий к вырезке и вставке данных и после нормализации. Это осуществимые, если есть гарантия, что в процессе нормализации не будет потери данных.

На практике идея сохранения всех элементов в базе данных в процессе нормализации воплощается чисто интуитивно. Ведь вряд ли будут слепо выбрасывать из таблиц элементы данных. Но тем не менее, пятая нормальная форма при­звана застраховать вас от такого несчастного случая.

7.5. Определение столбцов в таблицах

Таблицы 7.1

OBECONOM

Таблица объектов экономики

Столбец

Наименование

Ключ

OBJECT_ID

ID - уникальный ключ строки в таблице

PK

OBJECTNO

регистрационный номер объекта

 

OBJECTNAME

наименование объекта

 

ADDRESS_IND

почтовый индекс

 

ADDRESS_CHAR

адрес объекта

 

WORKNUMBER

количество работающих

 

NRSM

наибольшая работающая смена в мирное время

 

NRSW

наибольшая работающая смена в военное время

 

DEPORTAMENT_ID

ведомственная принадлежность

FK

PECULIAR_ID

характер деятельности в особый период (FK)

 

RISK_ID

степень опасности

FK

REGION_ID

территориальная принадлежность

FK

ACTIVITY_ID

род деятельности

FK

PROPERTY_ID

форма собственности

FK

GLAVOBJECT_ID

подчиненность объекта

FK

DIRECTIONNAME

Ф.И.О. руководителя объекта

 

POST_ID

занимаемая должность руководителя объекта

FK

DIRECTIONWTEL

рабочий телефон руководителя объекта

 

DIRECTIONHTEL

домашний телефон руководителя объекта

 

COMMANDGONAME

Ф.И.О. начальника штаба ГО объекта

 

POSTGO_ID

должность начальника штаба ГО объекта

FK

COMMANDGOWTEL

рабочий телефон начальника штаба ГО объекта

 

COMMANDGOHTEL

домашний телефон начальника ГО объекта

 

ZAMNAME

Ф.И.О. заместителя руководителя

 

ZAMWTEL

рабочий телефон заместителя руководителя

 

ZAMHTEL

домашний телефон заместителя руководителя

 

P1NAME

Ф.И.О. председателя КЧС

 

P1WTEL

рабочий телефон председателя КЧС

 

P1HTEL

домашний телефон КЧС

 

P2NAME

Ф.И.О. председателя ЭК

 

P2WTEL

рабочий телефон председателя ЭК

 

P2HTEL

домашний телефон ЭК

 

P3NAME

Ф.И.О. председателя ПУФ

 

P3WTEL

рабочий телефон председателя ПУФ

 

P3HTEL

домашний телефон ПУФ

 

DUTYTEL

телефон дежурного по объекту

 

DUTY2TEL

телефон секретаря

 

FAXTEL

факс

 

MODEMTEL

модем

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

DEPARTAMENT

Таблица-словарь ведомств

 

DEPARTAMENT_ID

ID - уникальный ключ строки в таблице

PK

DEPARTAMENT_CHAR

Наименование

 
     

PECULIAR

Таблица-словарь деятельностей в ОП

 

PECULIAR_ID

ID - уникальный ключ строки в таблице

PK

PECULIAR_CHAR

Наименование деятельностей в ОП

 
     

REGION

Таблица-словарь районов

 

REGION_ID

ID - уникальный ключ строки в таблице

PK

REGION_CHAR

Наименование районов

 
     

RISK

Таблица-словарь степени опасности объектов

 

RISK_ID

ID - уникальный ключ строки в таблице

PK

RISK_CHAR

Наименование степени опасности объектов

 
     

PROPERTY

Таблица-словарь форм собственности

 

PROPERTY_ID

ID - уникальный ключ строки в таблице

PK

PROPERTY_CHAR

Наименование форм собственности

 
     

ACTIVITY

Таблица-словарь рода деятельности объектов

 

ACTIVITY_ID

ID - уникальный ключ строки в таблице

PK

ACTIVITY_CHAR

Наименование рода деятельности объектов

 
     

POST

Таблица-словарь гражданских должностей

 

POST_ID

ID - уникальный ключ строки в таблице

PK

POST_CHAR

Наименование гражданских должностей

 
     

POSTGO

Таблица-словарь должностей по ГО

 

POSTGO_ID

ID - уникальный ключ строки в таблице

PK

POSTGO_CHAR

Наименование должностей по ГО

 
     

MATERIALOB

таблица опасных веществ на объектах

 

MATERIAL_ID

ID - составной уникальный ключ (MATERIAL_ID, OBJECT_ID)

[pk]

FK

OBJECT_ID

ID - составной уникальный ключ (MATERIAL_ID, OBJECT_ID)

[pk]

FK

MATERIALNUM

количество

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

MATERIAL

Таблица-словарь опасных веществ

 

MATERIAL _ID

ID - уникальный ключ строки в таблице

PK

MATERIAL _CHAR

Наименование опасных веществ

 
     

BUILDINGOB

таблица защитных сооружений на объектах;

 

BUILDING_ID

ID - составной уникальный ключ

(BUILDING _ID, OBJECT_ID)

[pk]

FK

OBJECT_ID

ID - составной уникальный ключ (BUILDING_ID,OBJECT_ID)

[pk]

FK

BUILDINGNUM

количество

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

BUILDIN

Таблица-словарь защитных сооружений

 

BUILDIN _ID

ID - уникальный ключ строки в таблице

PK

BUILDIN _CHAR

Наименование опасных веществ

 
     

TEHNICAOB

таблица техники на объектах;

 

TEHNICA_ID

ID - составной уникальный ключ

(TEHNICA _ID, OBJECT_ID)

[pk]

FK

OBJECT_ID

ID - составной уникальный ключ (TEHNICA_ID,OBJECT_ID)

[pk]

FK

TEHNICANUM

количество

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

TEHNICA

Таблица-словарь техники

 

TEHNICA _ID

ID - уникальный ключ строки в таблице

PK

TEHNICA _CHAR

Наименование опасных веществ

 
     

FORMIROVOB

таблица формирований на объектах;

 

FORMIROV_ID

ID - составной уникальный ключ

(FORMIROV _ID, OBJECT_ID)

[pk]

FK

OBJECT_ID

ID - составной уникальный ключ (FORMIROV_ID,OBJECT_ID)

[pk]

FK

READY_ID

готовность

FK

PEOPLENUM

количество людей

 

FORMIROVNUM

количество формирований

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

FORMIROV

Таблица-словарь формирований

 

FORMIROV _ID

ID - уникальный ключ строки в таблице

PK

FORMIROV_CHAR

Наименование формирований

 
     

READY

Таблица-словарь готовности

 

READY _ID

ID - уникальный ключ строки в таблице

PK

READY_CHAR

Наименование готовности

 
     

MATTEHOB

таблица МТС на объектах

 

MATTEH_ID

ID - составной уникальный ключ

(MATTEH _ID, OBJECT_ID)

[pk]

FK

OBJECT_ID

ID - составной уникальный ключ (MATTEH_ID,OBJECT_ID)

[pk]

FK

MATTEH NUM

количество

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

MATTEH

Таблица-словарь МТС

 

MATTEH _ID

ID - уникальный ключ строки в таблице

PK

MATTEH_CHAR

Наименование МТС

 

SERVIS_ID

Служба(отдел)

FK

     

SERVIS

Таблица-словарь служб

 

SERVIS _ID

ID - уникальный ключ строки в таблице

PK

SERVIS _CHAR

Наименование службы

 
     

STUDY

таблица обучаемых на УМЦ

 

STUDY_ID

ID - уникальный ключ строки в таблице

PK

OBJECT_ID

объект экономики

FK

CATEGORY_ID

категория обучаемого

FK

NAME

Ф.И.О. обучаемого

 

SPOST_ID

занимаемая должность

FK

WORKTEL

рабочий телефон

 

LASTDATE

дата прошлого обучения

 

NEXTDATE

дата следующего обучения

 

NAMEADD_ID

владелиц

FK

DATEADD

дата ввода

 

NAMEINS_ID

корректировщик

FK

DATEINS

дата последней коррекции

 

PRIM

примечание

 
     

SPOST

Таблица-словарь должностей обучаемых

 

SPOST _ID

ID - уникальный ключ строки в таблице

PK

SPOST _CHAR

Наименование должностей обучаемых

 
     

CATEGORY

Таблица-словарь категорий обучаемых

 

CATEGORY_ID

ID - уникальный ключ строки в таблице

PK

CATEGORY_CHAR

Наименование обучаемых

 

CATEGORY_TYPE

Тип категории

 
     

CATTEMA

Таблица категорированых тем

 

TEMA_ID

ID - составной уникальный ключ

(TEMA_ID, CATEGORY_ID)

[pk]

FK

CATEGORY_ID

ID - составной уникальный ключ

(TEMA_ID, CATEGORY_ID)

[pk]

FK

CATTEMANUM

количество часов

 

PRIM

примечание

 
     

TEMA

Таблица-словарь тем обучения

 

TEMA_ID

ID - уникальный ключ строки в таблице

PK

TEMA_CHAR

Наименование темы

 
     

GOBASEUSER

таблица пользователей программы

 

GOBASEUSER_ID

ID - уникальный ключ строки в таблице

PK

NAME

Имя пользователя

 
     

ORAUSER

таблица соответствия идентификаторов пользователей программы и базы данных Oracle

ORAUSER_ID

UID - идентификатор базы данных Oracle

PK

GOBASEUSER_ID

идентификаторов пользователей программы

FK


Страница: