рефераты

рефераты

 
 
рефераты рефераты

Меню

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

p> 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 - составной уникальный ключ |[pk]|
| |(MATERIAL_ID, OBJECT_ID) | |
| | |FK |
|OBJECT_ID |ID - составной уникальный ключ |[pk]|
| |(MATERIAL_ID, OBJECT_ID) | |
| | |FK |
|MATERIALNUM |количество | |
|NAMEADD_ID |владелиц |FK |
|DATEADD |дата ввода | |
|NAMEINS_ID |корректировщик |FK |
|DATEINS |дата последней коррекции | |
|PRIM |примечание | |
| | | |
|MATERIAL |Таблица-словарь опасных веществ | |
|MATERIAL _ID |ID - уникальный ключ строки в таблице|PK |
|MATERIAL _CHAR |Наименование опасных веществ | |
| | | |
|BUILDINGOB |таблица защитных сооружений на | |
| |объектах; | |
|BUILDING_ID |ID - составной уникальный ключ |[pk]|
| |(BUILDING _ID, OBJECT_ID) | |
| | |FK |
|OBJECT_ID |ID - составной уникальный ключ |[pk]|
| |(BUILDING_ID,OBJECT_ID) | |
| | |FK |
|BUILDINGNUM |количество | |
|NAMEADD_ID |владелиц |FK |
|DATEADD |дата ввода | |
|NAMEINS_ID |корректировщик |FK |
|DATEINS |дата последней коррекции | |
|PRIM |примечание | |
| | | |
|BUILDIN |Таблица-словарь защитных сооружений | |
|BUILDIN _ID |ID - уникальный ключ строки в таблице|PK |
|BUILDIN _CHAR |Наименование опасных веществ | |
| | | |
|TEHNICAOB |таблица техники на объектах; | |
|TEHNICA_ID |ID - составной уникальный ключ |[pk]|
| |(TEHNICA _ID, OBJECT_ID) | |
| | |FK |
|OBJECT_ID |ID - составной уникальный ключ |[pk]|
| |(TEHNICA_ID,OBJECT_ID) | |
| | |FK |
|TEHNICANUM |количество | |
|NAMEADD_ID |владелиц |FK |
|DATEADD |дата ввода | |
|NAMEINS_ID |корректировщик |FK |
|DATEINS |дата последней коррекции | |
|PRIM |примечание | |
| | | |
|TEHNICA |Таблица-словарь техники | |
|TEHNICA _ID |ID - уникальный ключ строки в таблице|PK |
|TEHNICA _CHAR |Наименование опасных веществ | |
| | | |
|FORMIROVOB |таблица формирований на объектах; | |
|FORMIROV_ID |ID - составной уникальный ключ |[pk]|
| |(FORMIROV _ID, OBJECT_ID) | |
| | |FK |
|OBJECT_ID |ID - составной уникальный ключ |[pk]|
| |(FORMIROV_ID,OBJECT_ID) | |
| | |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 - составной уникальный ключ |[pk]|
| |(MATTEH _ID, OBJECT_ID) | |
| | |FK |
|OBJECT_ID |ID - составной уникальный ключ |[pk]|
| |(MATTEH_ID,OBJECT_ID) | |
| | |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 - составной уникальный ключ |[pk]|
| |(TEMA_ID, CATEGORY_ID) | |
| | |FK |
|CATEGORY_ID |ID - составной уникальный ключ |[pk]|
| |(TEMA_ID, CATEGORY_ID) | |
| | |FK |
|CATTEMANUM |количество часов | |
|PRIM |примечание | |
| | | |
|TEMA |Таблица-словарь тем обучения | |
|TEMA_ID |ID - уникальный ключ строки в таблице|PK |
|TEMA_CHAR |Наименование темы | |
| | | |
|GOBASEUSER |таблица пользователей программы | |
|GOBASEUSER_ID |ID - уникальный ключ строки в таблице|PK |
|NAME |Имя пользователя | |
| | | |
|ORAUSER |таблица соответствия идентификаторов |
| |пользователей программы и базы данных |
| |Oracle |
|ORAUSER_ID |UID - идентификатор базы данных |PK |
| |Oracle | |
|GOBASEUSER_ID |идентификаторов пользователей |FK |
| |программы | |

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

Внешний ключ(FK) — это поле или поля таблицы, которые, не будучи употребленными в качестве идентификатора, часто используются при объединении с другими таблицами. В таблице объектов, например, поле номера района служит в качестве внешнего ключа. Поле номера района не уникально определяет конкретные записи объектов - для одного района может быть несколько объектов.

Таблицы 7.2
|OBECONOM |Таблица объектов экономики |
|Столбец |Тип данных |раз|
| | |мер|
|OBJECT_ID |NUMBER |NOT NULL |9 |
|OBJECTNO |NUMBER |NOT NULL |7 |
|OBJECTNAME |VARCHAR2 |NULL |100|
|ADDRESS_IND |CHAR |NULL |6 |
|ADDRESS_CHAR |VARCHAR2 |NULL |150|
|WORKNUMBER |NUMBER |NULL |7 |
|NRSM |NUMBER |NULL |7 |
|NRSW |NUMBER |NULL |7 |
|DEPORTAMENT_ID |NUMBER |NOT NULL |7 |
|PECULIAR_ID |NUMBER |NOT NULL |7 |
|RISK_ID |NUMBER |NOT NULL |7 |
|REGION_ID |NUMBER |NOT NULL |7 |
|ACTIVITY_ID |NUMBER |NOT NULL |7 |
|PROPERTY_ID |NUMBER |NOT NULL |7 |
|GLAVOBJECT_ID |NUMBER |NOT NULL |7 |
|DIRECTIONNAME |VARCHAR2 |NULL |50 |
|POST_ID |NUMBER |NOT NULL |7 |
|DIRECTIONWTEL |CHAR |NULL |7 |
|DIRECTIONHTEL |CHAR |NULL |7 |
|COMMANDGONAME |VARCHAR2 |NULL |50 |
|POSTGO_ID |NUMBER |NOT NULL |7 |
|COMMANDGOWTEL |CHAR |NULL |7 |
|COMMANDGOHTEL |CHAR |NULL |7 |
|ZAMNAME |VARCHAR2 |NULL |50 |
|ZAMWTEL |CHAR |NULL |7 |
|ZAMHTEL |CHAR |NULL |7 |
|P1NAME |VARCHAR2 |NULL |50 |
|P1WTEL |CHAR |NULL |7 |
|P1HTEL |CHAR |NULL |7 |
|P2NAME |VARCHAR2 |NULL |50 |
|P2WTEL |CHAR |NULL |7 |
|P2HTEL |CHAR |NULL |7 |
|P3NAME |VARCHAR2 |NULL |50 |
|P3WTEL |CHAR |NULL |7 |
|P3HTEL |CHAR |NULL |7 |
|DUTYTEL |CHAR |NULL |7 |
|DUTY2TEL |CHAR |NULL |7 |
|FAXTEL |CHAR |NULL |7 |
|MODEMTEL |CHAR |NULL |7 |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |200|
| | | | |
|DEPARTAMENT |Таблица-словарь ведомств | | |
|DEPARTAMENT_ID |NUMBER |NOT NULL |7 |
|DEPARTAMENT_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|PECULIAR |Таблица-словарь деятельностей в ОП |
|PECULIAR_ID |NUMBER |NOT NULL |7 |
|PECULIAR_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|REGION |Таблица-словарь районов | | |
|REGION_ID |NUMBER |NOT NULL |7 |
|REGION_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|RISK |Таблица-словарь степени опасности объектов |
|RISK_ID |NUMBER |NOT NULL |7 |
|RISK_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|PROPERTY |Таблица-словарь форм собственности |
|PROPERTY_ID |NUMBER |NOT NULL |7 |
|PROPERTY_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|ACTIVITY |Таблица-словарь рода деятельности объектов |
|ACTIVITY_ID |NUMBER |NOT NULL |7 |
|ACTIVITY_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|POST |Таблица-словарь гражданских должностей |
|POST_ID |NUMBER |NOT NULL |7 |
|POST_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|POSTGO |Таблица-словарь должностей по ГО |
|POSTGO_ID |NUMBER |NOT NULL |7 |
|POSTGO_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|MATERIALOB |Таблица опасных веществ на объектах |
|MATERIAL_ID |NUMBER |NOT NULL |7 |
|OBJECT_ID |NUMBER |NOT NULL |9 |
|MATERIALNUM |NUMBER |NULL |9 |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |100|
| | | | |
|MATERIAL |Таблица-словарь опасных веществ |
|MATERIAL _ID |NUMBER |NOT NULL |7 |
|MATERIAL _CHAR |VARCHAR2 |NULL |50 |
| | | | |
|BUILDINGOB |Таблица защитных сооружений на объектах |
|BUILDING_ID |NUMBER |NOT NULL |7 |
|OBJECT_ID |NUMBER |NOT NULL |9 |
|BUILDINGNUM |NUMBER |NULL |9 |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |100|
| | | | |
|BUILDIN |Таблица-словарь защитных сооружений |
|BUILDIN _ID |NUMBER |NOT NULL |7 |
|BUILDIN _CHAR |VARCHAR2 |NULL |50 |
| | | | |
|TEHNICAOB |Таблица техники на | | |
| |объектах | | |
|TEHNICA_ID |NUMBER |NOT NULL |7 |
|OBJECT_ID |NUMBER |NOT NULL |9 |
|TEHNICANUM |NUMBER |NULL |9 |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |100|
| | | | |
|TEHNICA |Таблица-словарь техники | | |
|TEHNICA _ID |NUMBER |NOT NULL |7 |
|TEHNICA _CHAR |VARCHAR2 |NULL |50 |
| | | | |
|FORMIROVOB |Таблица формирований на объектах | |
|FORMIROV_ID |NUMBER |NOT NULL |7 |
|OBJECT_ID |NUMBER |NOT NULL |9 |
|READY_ID |NUMBER |NOT NULL |7 |
|PEOPLENUM |NUMBER |NULL |9 |
|FORMIROVNUM |NUMBER |NOT NULL |9 |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |100|
| | | | |
|FORMIROV |Таблица-словарь формирований |
|FORMIROV _ID |NUMBER |NOT NULL |7 |
|FORMIROV _CHAR |VARCHAR2 |NULL |50 |
| | | | |
|READY |Таблица-словарь готовности| | |
|READY _ID |NUMBER |NOT NULL |7 |
|READY_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|MATTEHOB |Таблица МТС на объектах | | |
|MATTEH_ID |NUMBER |NOT NULL |7 |
|OBJECT_ID |NUMBER |NOT NULL |9 |
|MATTEH NUM |NUMBER |NULL |9 |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |100|
| | | | |
|MATTEH |Таблица-словарь МТС | | |
|MATTEH _ID |NUMBER |NOT NULL |7 |
|MATTEH_CHAR |VARCHAR2 |NULL |50 |
|SERVIS_ID |NUMBER |NOT NULL |7 |
| | | | |
|SERVIS |Таблица-словарь служб | | |
|SERVIS _ID |NUMBER |NOT NULL |7 |
|SERVIS _CHAR |VARCHAR2 |NULL |50 |
| | | | |
|STUDY |Таблица обучаемых на УМЦ | | |
|STUDY_ID |NUMBER |NOT NULL |9 |
|OBJECT_ID |NUMBER |NOT NULL |9 |
|CATEGORY_ID |NUMBER |NOT NULL |7 |
|NAME |VARCHAR2 |NULL |50 |
|SPOST_ID |NUMBER |NOT NULL |7 |
|WORKTEL |CHAR |NULL |7 |
|LASTDATE |DATE |NULL |- |
|NEXTDATE |DATE |NULL |- |
|NAMEADD_ID |NUMBER |NOT NULL |7 |
|DATEADD |DATE |NOT NULL |- |
|NAMEINS_ID |NUMBER |NOT NULL |7 |
|DATEINS |DATE |NOT NULL |- |
|PRIM |VARCHAR2 |NULL |200|
| | | | |
|SPOST |Таблица-словарь должностей обучаемых |
|SPOST _ID |NUMBER |NOT NULL |7 |
|SPOST _CHAR |VARCHAR2 |NULL |50 |
| | | | |
|CATEGORY |Таблица-словарь категорий обучаемых |
|CATEGORY_ID |NUMBER |NOT NULL |7 |
|CATEGORY_CHAR |VARCHAR2 |NULL |50 |
|CATEGORY_TYPE |NUMBER |NULL |1 |
| | | | |
|CATTEMA |Таблица категорированых | | |
| |тем | | |
|TEMA_ID |NUMBER |NOT NULL |7 |
|CATEGORY_ID |NUMBER |NOT NULL |7 |
|CATTEMANUM |NUMBER |NULL |9 |
|PRIM |VARCHAR2 |NULL |100|
| | | | |
|TEMA |Таблица-словарь тем | | |
| |обучения | | |
|TEMA_ID |NUMBER |NOT NULL |7 |
|TEMA_CHAR |VARCHAR2 |NULL |50 |
| | | | |
|GOBASEUSER |Таблица пользователей программы |
|GOBASEUSER_ID |NUMBER |NOT NULL |7 |
|NAME |VARCHAR2 |NULL |50 |
| | | | |
|ORAUSER |Таблица соответствия идентификаторов |
| |пользователей программы и базы данных |
| |Oracle |
|ORAUSER_ID |INTEGER |NOT NULL | |
|GOBASEUSER_ID |NUMBER |NOT NULL |7 |

Страницы: 1, 2, 3, 4, 5, 6, 7