Рефераты

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

считаются слишком специальными, чтобы их применять к обычным проектам баз

данных.

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 - составной уникальный ключ |[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 |

NOT NULL - должно иметь значение

[pic] Рисунок 7.2. Диаграмма потоков данных (взаимосвязь таблиц)

7.6. Создание SQL сценария

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

составить SQL сценарий для создания базы данных.

7.6.1. Создание базы данных

Перед созданием базы данных ее необходимо спроектировать. Этап

проектирования базы данных включает в себя планирование ограничений файлов

и включение файлов а новую базу данных. Этап создания состоит в выполнении

этого плана с помощью команды SQL CREATE DATABASE и некоторых сценариев.

Основные задачи включают в себя следующее:

. Определение соответствующих значений в команде CREATE DATABASE. для

параметров ограничений файлов.

. Планирование размера и расположения файлов начальных данных табличной

области SYSTEM новой базы данных.

. Планирование для новой базы данных размера и расположения групп и членов

журнала транзакций.

. Определение набора символов для хранения информации базы данных.

. Создание файла параметров инициализации и спецификации имен управляющих

файлов базы данных.

Сценарий с файлами инициализации базы данных приведены в ПРИЛОЖЕНИИ 3.

7.6.2. Создание таблиц

Таблицы создаются с помощью оператора SQL CREATE TABLE.

Фрагмент из ПРИЛОЖЕНИЯ 4:

CREATE TABLE ACTIVITY

(

ACTIVITY_ID NUMBER(7) NOT NULL,

ACTIVITY_CHAR VARCHAR2(50) NULL

);

Полный сценарий приведен в ПРИЛОЖЕНИИ 4.

7.6.3. Создание индексов

Индексы облегчают поиск и сортировку данных. Индексы создаются с

помощью оператора SQL CREATE INDEX. Фрагмент из ПРИЛОЖЕНИЯ 4:

CREATE UNIQUE INDEX IPKACTIVITY ON ACTIVITY

(

ACTIVITY_ID ASC

);

7.6.4. Определение первичных ключей

Добавление определения первичного ключа к существующей таблице:

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


© 2010 Современные рефераты