Информационная система по выявлению групп риска

advertisement
Информационная система по выявлению групп риска среди беременных
женщин
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ И ХАРАКТЕРИСТИКА
ЭКСПЕРИМЕНТАЛЬНОГО МАТЕРИАЛА
6
7
2. РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ БЕРЕМЕННЫХ
ЖЕНЩИН
10
3. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ
11
3.1. Анализ предметной области
3.2. Инфологическая модель данных
3.3. Проектирование целостности базы данных
3.4. Проектирование базы данных
3.5.Нормализация таблиц
4 . СОЗДАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ
11
11
17
18
19
22
4.1.Общие сведения о MYSQL
4.2. Создание таблиц с помощью команды CREATE TABLE
4.3. Реализация проектируемой базы данных в СУБД MySQL
4.4. Разработка интерфейса пользователя для работы с проектируемой базой
данных
4.5. Администрирование проектируемой базы данных
4.6. Тестирование базы данных
22
22
24
25
29
31
5. ПОЛУЧЕНИЕ РЕШАЮЩИХ ПРАВИЛ ДЛЯ ВЫЯВЛЕНИЯ ГРУПП
РИСКА ПО ИСХОДУ БЕРЕМЕННОСТИ
5.1. Решение экспертных задач в области медицины
5.2.Формальная модель задачи принятия решений
5.3. Получение решающих правил
32
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ 1
ПРИЛОЖЕНИЕ 2
ПРИЛОЖЕНИЕ 3
ПРИЛОЖЕНИЕ 4
ПРИЛОЖЕНИЕ 5
ПРИЛОЖЕНИЕ 6
36
37
39
48
53
65
68
85
32
32
34
ВВЕДЕНИЕ
В настоящее время в психологических исследованиях чаще обсуждаются вопросы
детско-родительских отношений, изучается готовность к материнству, тогда как изучению
психологической готовности к родам уделяется недостаточное внимание.
Актуальность проблемы для клинической психологии состоит в необходимости
развития медико-психологического подхода в акушерской практике. На сегодняшний день
доказано, что психогенные факторы способствуют нарушению биологической готовности
к родам, возникновению родовых травм у новорожденных, а чрезмерно нервнопсихическое напряжение приводит к аномалии родовой деятельности. Это снижает
интеллектуальный
потенциал
общества,
однако
исследований
по
изучению
поведенческой реакции беременных женщин и их влияния на исход родов недостаточно.
Экспериментальный опыт и анализ литературы свидетельствуют о том, что реализация
этой исследовательской работы будет перспективна и актуальна для общества,
акушерской практики и отечественной психологии.
Поэтому целью данной работы является разработка технологий прогнозирования
исхода беременности у женщин, отличающихся как физиологическими показателями, так
и механизмами психологического преодоления стрессовой ситуации, выделение групп
риска и дифференцированного медико-психологического подхода к дородовой подготовке
беременных женщин.
Информационную систему предполагается использовать в роддоме № 1 г. Томска,
круг пользователей – женские консультации роддомов.
2
1. ПОСТАНОВКА ЗАДАЧИ И ХАРАКТЕРИСТИКА
ЭКСПЕРИМЕНТАЛЬНОГО МАТЕРИАЛА
Объектом исследования являются психофизиологические особенности беременных
женщин.
К настоящему времени накоплены факты, свидетельствующие о том, что мать и
ребёнок представляют собой единый нейрогуморальный организм. Каждый из них в
равной степени страдает от неблагоприятного влияния внешнего мира, которое
записывается в долговременной памяти, оказывая воздействие на всю последующую
жизнь ребёнка. Основными тенденциями перинатальной демографии, наблюдаемые в
России в течение последних лет, является рост патологии новорожденных, а именно
увеличение частоты родовой травмы как следствие аномалии родовой деятельности. В
медицинской модели подробно изучено значение нервной системы в регуляции родовой
деятельности, выделяют вклад чрезмерного нервно-психического напряжения. В
медицинской модели подробно изучены нейроэндокринные механизмы формирования
«гестационной доминанты», как условия физиологического течения беременности и
родов, при этом подчеркивается, что
стрессовые раздражители, превышающие
адаптивные возможности нарушают готовность организма женщины к родам [1,2,3].
Ситуация беременности, согласно современным представлениям, в психологии
рассматривается как критический период, предполагающий значительные трансформации
в жизни женщины, связанные с новой ролевой идентификацией. При этом меняется не
только система отношений с окружением, но и структура деятельности в зависимости от
того, какое место в иерархии мотивов начинает занимать «ценность ребёнка», женщина
строит свою жизненную перспективу, оценивает окружающий мир и саму себя [4]. Резкая
смена условий приводит к проблемам ориентировки человека в окружающей его
социальной действительности, а также невозможности осуществления точного прогноза
своего будущего. В связи с этим особую актуальность приобретают вопросы, связанные с
функционированием, адаптацией и выработкой личностью эффективных стратегий
преодоления ситуаций, связанных с неопределенностью.
Процессы преодоления человеком трудных жизненных событий в психологической
науке принято обозначать как совладающее, адаптивное поведение или копинг-поведение
(от англ. – преодолевать, справляться).
Копинг – сравнительно молодое понятие в психологии, которое представляет собой
целое направление новых исследований в науке, как среди зарубежных, так и среди
отечественных ученых.
3
Проблема копинга начала разрабатываться еще в 40-50-х годах. В настоящее время
широкое
распространение
получила
концепция
преодолевающего
поведения,
предложенная зарубежными исследователями Folkman S. и Lazarus R.S.
Данные авторы определяют копинг как «когнитивные и поведенческие попытки
управлять специфическими внешними и/или внутренними требованиями, которые
оценены как вызывающие напряжение или чрезвычайные для ресурсов человека» [5].
Основная функция копинга, по мнению многих зарубежных и отечественных
ученых состоит в адаптации человека к требованиям ситуации [6,7,8].
Неопределенность события для личности может являться следствием как
объективно заданных параметров ситуации (ее изменчивость и высокая динамика), так и
его субъективной интерпретации, которая связана с личностными особенностями
человека, отсутствием опыта или навыков в решении данного типа жизненных событий.
На сегодняшний день исследования копинга только начинают развиваться в различных
прикладных аспектах психологической науки. Однако уже сейчас ученые, занимающиеся
проблемами преодолевающего поведения, должны уделять особое внимание поиску
причин и выявлению механизмов оптимальных форм реагирования и преодоления
ситуаций человеком в условиях неопределенных социальных условий жизни.
Для понимания специфики психических процессов в период беременности,
целесообразно изучить механизмы, обеспечивающие структуру адекватных действий,
связанных с вынашиванием и рождением ребенка.
В женской консультации роддома № 1 провели психологическое обследование 98
беременных женщин со сроком гестации от 30-32 недель. Средний возраст исследуемых –
25±4 лет, средний рост – 164±5,7 см. В группу наблюдения включены первородящие,
замужние (84,6%) женщины.
Для выявления структуры и особенностей осознаваемых стратегий копинг
поведения использовали методику E. Heim [9]. В процессе исследования беременным
женщинам было предложено на основе стратегий копинг поведения, включенных в
опросник, создать модель выхода из трудных жизненных ситуаций, опираясь на свой
прошлый опыт. Тех, кто предпочел первым выбором в эмоциональной сфере опросника
конструктивную стратегию «оптимизм», обозначили как «оптимисты», остальных
обозначили как «пессимисты». Для перевода качественных показателей в количественные
ввели коэффициент дезадаптивности [10].
Представленность психической ригидности изучалась с помощью «Томского
опросника
ригидности
Залевского» позволяющего
оценить
личностный
уровень
проявления психической ригидности по шкале сенситивной ригидности и шкале
4
установочной ригидности, а по субшкале актуальной ригидности можно судить о
склонности к широкому спектру фиксированных форм поведения [11].
Антиципационную состоятельность изучили при помощи теста,
определить
личностно-ситуативную
составляющую
позволяющего
прогнозирования
жизненных
событий, моторно-пространственную ловкость и хроноритмологическую (временную)
прогностическую способность [12].
Для оценки смысловой сиcтемы регуляции поведения и личностных установок у
беременных женщин использовалась методика Д.А. Леонтьева [13].
Для количественного определения уровня стресса применили проективную
методику – модифицированный тест Люшера (МЦВ).
Отношение женщины к предстоящим материнским обязанностям изучили с
помощью «Теста отношений беременной», позволяющего определить благоприятный
(оптимальный) и неблагоприятный (эйфорический, гипогестогнозический, тревожный и
депрессивный) для развития плода типы психологического компонента гестационной
доминанты [14].
Так как основной целью данной работы является создание информационной
системы по прогнозированию исхода беременности, то необходимо провести отбор
признаков, на основании которых эта система будет построена.
На начальном этапе психологами были предложены показатели, которые могут
оказывать
влияние
на
исход
беременности,
и
предоставлен
соответствующий
экспериментальный материал. С помощью методов Data Mining эти данные были
проанализированы: получены логические закономерности и решающие правила, оценена
информативность (полезность) признаков [6].
Вся эта информация была передана
специалистам-психологам, и совместно с ними был сформирован набор показателей, на
основании которых будет построена информационная система
5
2. РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ
БЕРЕМЕННЫХ ЖЕНЩИН
Система должна иметь все компоненты информационной системы, такие как:

технология информации;

хранение этой информации о каждой женщине;

методы обработки;

выдача информации;

формирование табличных отчетов;

визуализация данных и результатов.
Наиболее распространенными моделями представления знаний в экспертных системах
являются:

логическая модель;

продукционная модель;

фреймовая модель;

модель представления знаний в виде семантической сети;
Продукционные модели, с одной стороны, близки к логическим моделям, что
позволяет организовывать на них эффективные процедуры вывода, а с другой стороны, более
наглядно отражают знания, чем классические логические модели. В них отсутствуют
жесткие ограничения, характерные для логических исчислений, что дает возможность
изменять интерпретацию элементов продукции.
Продукционная модель, или модель, основанная на правилах, позволяет представить
знания в виде предложений типа "Если (условие), то (действие)". Под "условием"
понимается некоторое предложение-образец, по которому осуществляется поиск в базе
знаний, а под "действием" - действия, выполняемые при успешном исходе поиска Чаще
всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный
(от цели для ее подтверждения - к данным). Данные - это исходные факты, хранящиеся в базе
фактов, на основании которых запускается машина вывода или интерпретатор правил,
перебирающий правила из продукционной базы знаний [22].
Простота и наглядность этого способа обусловили его применение во многих
системах.
Системы
обработки
знаний,
использующие
представление
знаний
продукционными правилами, получили название продукционных систем [23]. В состав
продукционной системы входят база правил, база данных и интерпретатор правил.
6
Разработанная система имеет ниже представленный вид (рис. 1)
Ввод
База данных
Вывод
Блок
принятия решений
Блок
формирования
заключений и
рекомендаций
Рис.1. Структура продукционной системы.
Блок формирования заключений и рекомендаций - это область памяти, которая
содержит базу знаний совокупность знаний, представленных в форме правил вида ЕСЛИ ТО; база данных - это область памяти, содержащая фактические данные о беременных
женщинах. Базы данных у различных систем имеют различную форму, однако, все они могут
быть описаны как группа данных, содержащих имя данных, атрибуты и значения атрибутов.
Блок принятия решения представляет собой механизм вывода, и он является тем
компонентом системы, который формирует заключения, используя блок формирования
заключений и рекомендаций и базу данных.
7
3. ПОСТРОЕНИЕ ИНФОЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ
3.1. Анализ предметной области
База данных предназначена для хранения информации о беременных женщинах,
которые находятся под наблюдением во время беременности, а также об исходе родов
каждой из них. До недавнего времени все данные хранились в бумажном виде, однако на
данный момент возникла необходимость создания автоматизированной системы. Такая
система предоставит возможность вести статистический учет по различным показателям,
как физиологическим, так и психологическим.
Проектируемая база данных должна содержать:

Информацию о беременных женщинах (фамилия, имя, отчество,
возраст,
рост, сила левой руки, сила правой руки);

Результаты теста Люшера;

Результаты теста копинг-стратегий;

Социальный статус (замужем, незамужем);

Образование (высшее, незаконченное высшее, высшее медицинское, высшее
юридическое, высшее техническое, среднее, средне специальное, незаконченное средне
специальное);

Вид родов (срочные, кесарево сечение, преждевременные);

Информацию о ребенке (шкала Апгар, вес, рост);
3.2. Инфологическая модель данных
Разработка инфологической модели базы данных начинается с предварительной
структуризации
предметной
области:
объекты
реального
мира
подвергаются
классификации, фиксируется совокупность подлежащих отображению в базе данных
типов объектов. Для каждого типа объектов фиксируется совокупность свойств,
посредством которых будут описываться конкретные объекты этого типа в базе данных,
виды отношений (взаимосвязей) между этими объектами. Затем решаются вопросы о том,
какая информация об этих объектах должна быть представлена в базе данных[15].
Инфологическая модель не зависит от СУБД и описывает предметную область на
уровне абстракций, выделяя объекты, которые могут образовывать типы объектов.
Каждый объект может быть связан с другими объектами с помощью отношений.
Конструктивными основными элементами инфологических моделей являются
сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект, информацию о котором необходимо
хранить в базе данных. В проектируемой базе данных выделено 11 объектов (сущностей):
беременная женщина, ребёнок, социальный статус, вид родов, образование, тест Люшера,
копинг-механизм, стратегия поведения, стратегия мыслей, стратегия эмоций. Необходимо
различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип
сущности относится к набору однородных личностей, предметов, событий или идей,
выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе.
Атрибут
–
поименованная
характеристика
сущности
(свойство).
Его
наименование должно быть уникальным для конкретного типа сущности, но может быть
одинаковым для различного типа сущностей. Атрибуты используются для определения
того, какая информация должна быть собрана о сущности.
Сущности можно разбить на три основных класса: стержневые, ассоциативные и
характеристические, а так же подкласс ассоциативных сущностей обозначения.
Стержневая сущность – это независимая сущность или сущность, которая не является
ни ассоциацией, ни обозначением, ни характеристикой. Такие сущности имеют
независимое существование, хотя они и могут обозначать другие сущности.
Стержневые сущности и обозначения связаны между собой ассоциациями.
Ассоциативная сущность (ассоциация) - это связь вида "многие-ко-многим" между
двумя или более сущностями или экземплярами сущности. Ассоциации рассматриваются
как полноправные сущности: они могут участвовать в других ассоциациях и обозначениях
точно так же, как стержневые сущности; могут обладать свойствами, т.е. иметь не только
набор ключевых атрибутов, необходимых для указания связей, но и любое число других
атрибутов, характеризующих связь.
Характеристическая сущность (характеристика) – это связь вида "многие-кодной" или "одна-к-одной" между двумя сущностями (частный случай ассоциации). Цель
характеристики состоит в описании или уточнении некоторой другой сущности. В
результате анализа предметной области в поектируемой области
В
результате
анализа
предметной
области
в
проектируемой
базе
характеристические сущности отсутствуют.
Обозначающая сущность или обозначение – это связь вида "многие-к-одной" или
"одна-к-одной" между двумя сущностями и отличается от характеристики тем, что не
зависит
от
обозначаемой
сущности.
Обозначения
используют
для
хранения
повторяющихся значений больших текстовых атрибутов[15].
Анализ определенных выше объектов и атрибутов позволяет выделить сущности
проектируемой базы данных и построить ее инфологическую модель.
9
К стержневым сущностям относятся:

Социальный статус (Код_Соц_Статуса, Название статуса).
Сущность предназначена для хранения информации о том, замужем женщина или
не замужем.

Образование (Код_Образования, Название образования).
Сущность предназначена для хранения информации об образовании, полученном
женщиной.

Вид родов (Код_Вида_Родов, Название вида родов).
Сущность предназначена для хранения информации о том, к какому виду
относится исход беременности каждой из женщин (кесарево сечение, преждевременные
или срочные роды).

Цвета Люшера (Код_цвета, Название цвета).
Сущность предназначена для хранения названия цветов, которые используются при
проведении теста Люшера.

Стратегия поведения (Код_ПС, Тип ПС).
Сущность предназначена для хранения вариантов поведенческой стратегии (ПС).

Стратегия мыслей (Код_КС, Тип КС).
Сущность предназначена для хранения вариантов когнитивной стратегии (КС).

Стратегия эмоций (Код_ЭС, Тип ЭС).
Сущность предназначена для хранения вариантов эмоциональной стратегии (ЭС).
К ассоциативным сущностям относятся:

Копинг-механизмы_ЭС [Беременные женщины N, Стратегия эмоций F]
(Код_БЖ, Код_ЭС1, Код_ЭС2, Код_ЭС3, Код_ЭС4, Код_ЭС5, Код_ЭС6, Код_ЭС7,
Код_ЭС8).

Копинг-механизмы_КС [Беременные женщины N, Стратегия мыслей L]
(Код_БЖ, Код_КС1, Код_КС2, Код_КС3, Код_КС4, Код_КС5, Код_КС6, Код_КС7,
Код_КС8, Код_КС9, Код_КС10).

Копинг-механизмы_ПС [Беременные женщины N, Стратегия поведения M]
(Код_БЖ, Код_ПС1, Код_ПС2, Код_ПС3, Код_ПС4, Код_ПС5, Код_ПС6, Код_ПС7,
Код_ПС8).
Сущности предназначены для хранения данных о всех видах копинг-стратегий
соответсвующей женщины, а также связывают сущности <Беременные женщины>,
<Стратегия поведения>, <Стратегия мыслей> и <Стратегия эмоций>.
10

Тест Люшера [Беременные женщины N, Цвета Люшера M] (Код_БЖ,
Код_цвета1, Код_цвета2, Код_цвета3, Код_цвета4, Код_цвета5, Код_цвета6,
Код_цвета,7 Код_цвета8).
Сущность предназначена для хранения данных о том, в какой последовательности
и какие цвета были выбраны каждой женщиной.
К обозначающим сущностям относятся:

Беременные женщины (Код_БЖ, Фамилия Имя Отчество, возраст, Рост,
Сила правой руки, Сила левой руки, Уровень стресса, Вегетативный коэффициент,
Коэффициент дезадаптивности, Код_Соц_Статус, Код_Образования) [Тест Люшера,
Копинг-механизмы, Образование, Социальный статус, Ребёнок].
Сущность предназначена для хранения данных о беременных женщинах, которые
находятся под медицинским наблюдением в данном родильном доме, а также проходят
психологическое тестирование.

Ребёнок (Код_ребёнка, Код_БЖ, ,Код_Вида_Родов, Шкала Апгар, Вес)
[Беременные женщины, Вид родов].
Сущность предназначена для хранения данных о новорожденных.
Используя выше приведенный материал, инфологическая модель предметной
области может быть описана моделью Чена - “сущность-связь”. Эта модель позволяет
описать в графическом виде объекты предметной области и связи, существующие между
ними.
Все
перечисленные
компоненты
изображаются
графически
в
виде
прямоугольников, к которым соответствует стержень, овалов – атрибут и ключ, ромбов –
ассоциация, трапециями – характеристика, параллелограммами – обозначение с
соответствующими названиями и соединяются между собой линиями, отображающие
связь между ними.
Инфологическую модель на языке ER – диаграмм изображена на рис.2., а модель на
языке "Таблицы-связи" приведена на рис.3.
11
Стратегия
Поведения
F
Копинг−
механизм_ПС
K
N
Стратегия Эмоций
Копинг−
механизм_ЭС
P
L
Копинг−
механизм_КС
M
Когнитивная
Стратегия
Беременная
женщина
S
Тест
Люшера
T
Цвета Люшера
1
Рождение
R
1
Ребенок
Роды
С
Вид родов
Рис.2. Инфологическая модель на языке ER-диаграмм
12
Цвета
Люшера_Копия_1
Код_цвета_1
Беременная женщина
енщина
Тест Люшера
Название цвета
Код_БЖ
Код_БЖ
Цвета
Люшера_Копия_2
Код_соц_статуса
Код_цвета_1
Код_цвета_2
Код_образования
Код_цвета_2
Название цвета
Фамилия
………….
Возраст
Код_цвета_8
…………
Рост
Цвета
Люшера_Копия_8
Сила левой руки
Код_цвета_8
Сила правой руки
Название цвета
Вид Родов
Код_ЭС_1
Тип_ЭС
Уровень стресса
Вегетативный
коэффициент
Коэффициент
дезадаптивности
Стратегия
эмоций_Копия_1
Копинг−механи
зм_ЭС
Соц. статус
Код_соц_статуса
Код_вида_родов
Название
соц.статуса
Название вида
родов
Образование
Код_образования
Наименование
образования
Ребенок
…………
Код_БЖ
Код_ЭС_1
Стратегия
эмоций_Копия_8
…………..
Код_ЭС_8
Код_ЭС_8
Тип_ЭС
Копинг−механизм_
КС
Код_БЖ
Код_КС_1
Код_КС_1
Тип_КС
…………..
Код_ребенка
Код_БЖ
Код_вида_родов
Шкала апгар
Вес
Код_КС_10
…………
Копинг−механизм_
ПС
Код_КС_10
Код_БЖ
Тип_КС
Код_ПС_1
…………..
Код_ПС_8
Код_ПС_1
Тип_ПС
…………
Рис.3. Инфологическая модель на языке «Таблицы-связи»
Код_ПС_8
Тип_ПС
13
3.3. Проектирование целостности базы данных
При проектировании любой базы данных необходимо обеспечить её ссылочную
целостность. Это нужно для того, чтобы защитить данные от ошибочных изменений, т.е. в
целях безопасности хранения информации.
Современные СУБД имеют ряд средств для обеспечения поддержания целостности.
Каждая сущность обладает хотя бы одним возможным ключом. Один из них
принимается за первичный ключ. При выборе первичного ключа следует отдавать
предпочтение несоставным ключам или ключам, составленным из минимального числа
атрибутов. Нецелесообразно также использовать ключи с длинными текстовыми
значениями (предпочтительнее использовать целочисленные атрибуты). Ни к чему вводить
искусственные цифровые ключи в ассоциациях. Не допускается, чтобы первичный ключ
стержневой сущности (любой атрибут, участвующий в первичном ключе) принимал
неопределенное значение, также необходимо обеспечить уникальность первичного ключа.
Ключ, состоящий из одного атрибута, называется простым. Ключ, состоящий из нескольких
атрибутов, называется составным[16].
Внешние ключи служат ссылками на записи в таблице и не должны указывать на
несуществующие объекты. Правило целостности внешних ключей заключается в том, что
внешние ключи не должны быть несогласованными, т.е. для каждого значения внешнего
ключа должно существовать соответствующее значение первичного ключа.
Для представления информации в базе данных используются типы данных строковые, численные, логические и т.п. Однако бывают ситуации, когда данные
неизвестны или не полны.
Для того чтобы обойти проблему неполных или неизвестных данных, в базах данных
используются null-значения (указатель на то, что значение неизвестно). Любые
арифметические операции с NULL значениями дают неизвестные значения. Правило
целостности сущностей заключается в том, что атрибуты, входящие в состав некоторого
потенциального ключа не могут принимать null-значений.
Существуют операции, нарушающие целостность внешних ключей (ссылочную
целостность данных) – это вставка, удаление и обновление экземпляров сущности.
Поскольку в определении целостности участвуют 2 сущности (родительская и
дочерняя) и в каждой из них возможны эти операции, то всего нужно рассмотреть шесть
вариантов[17].
14
Родительская сущность
Дочерняя сущность
ВСТАВКА
–
+
ОБНОВЛЕНИЕ
+
+
УДАЛЕНИЕ
+
–
«+» означает нарушение целостности
«– » означает, что целостность не нарушена
Стратегии поддержания ссылочной целостности данных задаются на этапе создания
таблиц. Существуют следующие стратегии:
1. RESTRICT (ОГРАНИЧИТЬ) – не разрешать выполнение операции, приводящей к
нарушению ссылочной целостности. Это самая простая стратегия, требующая
только проверки, имеются ли записи в таблице, связанные с некоторыми записями в
другой таблице.
2. CASCADE (КАСКАДИРОВАТЬ) – разрешить выполнение требуемой операции, при
этом внести дополнительные изменения в другие сущности так, чтобы не нарушить
ссылочную целостность.
3. SET NULL (УСТАНОВИТЬ НЕОПРЕДЕЛЕННОЕ ЗНАЧЕНИЕ) – разрешить
выполнение требуемой операции, все некорректные значения внешних ключей,
возникающие при выполнении требуемой операции, заменять на NULL-значения.
Стратегия редко используется и в большинстве СУБД не реализуется.
4. SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) - все некорректные значения
внешних ключей изменять на некоторое значение, принятое по умолчанию.
В реальных СУБД можно отказаться от использования какой-либо стратегии
поддержания ссылочной целостности:
5. IGNORE (ИГНОРИРОВАТЬ) - выполнять операции, не обращая внимания на
нарушения ссылочной целостности.
Не все из перечисленных стратегий присутствуют в каждой СУБД. В некоторых СУБД
можно создавать собственные стратегии. При проектировании нашей базы данных
использовалась стратегия CASCADE.
3.4. Проектирование базы данных
В соответствие с процедурой проектирования баз данных каждая из полученных
сущностей должна быть представлена базовой таблицей. Эти таблицы можно описать
следующим образом:
СОЗДАТЬ ТАБЛИЦУ Цвета Люшера *( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_цвета )
15
ПОЛЯ (Код цвета Целое, Название цвета Текст 20);
СОЗДАТЬ ТАБЛИЦУ Стратегия поведения *( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_ПС)
ПОЛЯ (Код_ПС Целое, Тип ПС Целое);
СОЗДАТЬ ТАБЛИЦУ Стратегия мыслей *( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_КС )
ПОЛЯ (Код_КС Целое, Тип КС Целое);
СОЗДАТЬ ТАБЛИЦУ Стратегия эмоций *( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_ЭС )
ПОЛЯ (Код_ЭС Целое, Тип ЭС Целое);
СОЗДАТЬ ТАБЛИЦУ Образование *( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_образования )
ПОЛЯ (Код _образования Целое, Название образования Текст 20);
СОЗДАТЬ ТАБЛИЦУ Вид родов *( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_вида_родов)
ПОЛЯ (Код _вида_родов Целое, Название вида родов Текст 20);
СОЗДАТЬ ТАБЛИЦУ Социальный статус*( Стержневая сущность )
ПЕРВИЧНЫЙ КЛЮЧ (Код_соц_статуса )
ПОЛЯ (Код _соц_статуса Целое, Название соц. статуса Текст 20);
СОЗДАТЬ ТАБЛИЦУ Беременные женщины *( Обозначение )
ПЕРВИЧНЫЙ КЛЮЧ
(Код_БЖ)
ВНЕШНИЙ КЛЮЧ
(Код_соц_статуса ИЗ Соц.статус
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Соц. статус ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Соц.статус.Код_соц_статуса
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ
(Код образования ИЗ Образование
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Образование ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Образование.Код_образования
КАСКАДИРУЕТСЯ)
ПОЛЯ
(Код _БЖ Целое, ФИО Текст 45, Возраст Целое, Рост
Целое, Сила правой руки Целое, Сила левой руки Целое,
Уровень стресса Вещественное, Вегетативный
коэффициент Вещественное, Коэффициент
дезадаптивности Целое, Код_соц_статуса Целое,
Код_образования Целое)
16
ОГРАНИЧЕНИЯ
(Значения полей Код_соц_статуса и Код_образования
должны принадлежать набору значений,
соответствующих полей таблиц Соц.статус и
Образование)
Создание остальных таблиц приведено в приложении 1.
3.5. Проверка нормализации таблиц
Нормализация – это разбиение таблицы (декомпозиция) на две или более
обладающие лучшими свойствами при включении, изменении и удаление данных.
Окончательная цель нормализации – получение такого проекта базы данных, в
котором каждый факт появляется только в одном месте, т.е. исключена избыточность
информации.
Любая таблица, удовлетворяющая особенностям реляционной базы данных,
является нормализованной.
Рассмотрим следующие нормальные формы:
1НФ – всякая нормализованная таблица автоматически считается таблицей в первой
нормальной форма. Таблица находится в первой нормальной форме тогда и только тогда,
когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно
из ее ключевых полей не пусто.
2НФ – таблица находится во второй нормальной форме, если она удовлетворяет
определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной
функциональной зависимостью с первичным ключом.
Одно поле функционально зависит от другого поля той же таблицы, если в любой
момент времени для каждого из различных значений первого поля существует только одно
из различных значений второго поля.
3НФ – отношение находится в третьей нормальной форме, если оно находится во
второй нормальной форме и ни одно из неключевых полей не зависит функционально от
другого неключевого поля.
НФБК (нормальная форма Бойса Кодда) – таблица находится в НФБК, если любая
функциональная зависимость между ее полями сводится к полной функциональной
зависимости от возможного ключа.
Проверим, не нарушены ли в проектируемой базе данных какие-либо принципы
нормализации, т.е. что любое неключевое поле каждой таблицы функционально зависит от
полного первичного ключа, а не от его части (если ключ составной) и что оно не имеет
функциональной зависимости от другого неключевого поля[16].
17
Стержневые сущности «Вид родов», «Соц.статус», «Образование», «Стратегия
поведения», «Стратегия мыслей» и «Стратегия эмоций», состоящие из несоставного
первичного ключа и единственного неключевого поля, очевидно нормализованы.
Сущность «Беременные женщины» имеют несоставной первичный ключ
ключевые поля.
и не
Анализ показал, что все не ключевые поля находятся в полной
функциональной зависимости от друг от друга. Таким образом, данная сущность является
нормализованной.
Сущности
«Тест
Люшера»,
«Копинг-механизм_ЭС»,
«Копинг-механизм_КС»,
«Копинг-механизм_ПС» имеющие составные ключи и не имеющие не ключевые поля,
нормализованым.
Анализ Сущности «Ребенок», имеющей составной ключ и не ключевые поля, показал,
что не ключевые поля не зависят функционально от какой-либо части составного ключа.
Следовательно, она нормализована.
Таким образом, анализ таблиц показал, что данные сущности являются
нормализованными.
18
4. ПОСТРОЕНИЕ ДАТОЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ
4.1. Общие сведения о использовании MYSQL
Программное
обеспечение
MySQL
представляет
собой
очень
быстрый
многопоточный, многопользовательский надежный SQL-сервер данных (SQL - язык
структурированных запросов). Сервер MySQL предназначен как для критических по
задачам производственных систем с большой нагрузкой, так и для встраивания в
программное обеспечение массового распространения.
MySQL — это быстрая СУБД. Одна из причин, по которой MySQL обладает таким
преимуществом, как скорость, заключается в тщательно продуманной архитектуре. В ней
отражено конкретное практическое стремление создать СУБД в чистом виде. Программа
избавлена от разного рода излишеств, в отличие от многих СУБД. Все функциональные
возможности программы четко обоснованы, т.к. разработчики стремились обеспечить
максимальную простоту и гибкость ее использования.
Основная движущая сила, делающая программу MySQL такой, какая она есть,
заложена в особенностях процесса разработки. MySQL — это открыто распространяемая
программа, причем один из лидеров в своей области. Любой пользователь может
просмотреть каждую строку кода программы и исправить ее ошибки.
MySQL — надежная СУБД. Так как ее исходные коды доступны для всеобщего
обозрения, пользователи регулярно находят и исправляют ошибки по мере их появления.
Другим следствием открытости кода стала доступность MySQL для множества платформ.
Эта программа может работать в большинстве версий UNIX, Linux, Windows и даже в
менее популярных операционных системах, например в OS/2[15].
4.2. Создание таблиц с помощью команды CREATE TABLE
Основная функция этого оператора – создание новой таблицы и описание ее
столбцов и типов данных. Кроме того, эта команда позволяет определять первичные и
внешние ключи с некоторыми ограничениями ссылочной целостности данных, а также
задавать ограничения на столбцы и таблицы.
Синтаксис оператора CREATE TABLE
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
[table_options] [select_statement]
или
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name LIKE old_table_name;
CREATE TABLE Lusher_colors (
19
id_color INTEGER UNSIGNED NOT NULL,
color VARCHAR(20) NOT NULL,
PRIMARY KEY (id_color))
TYPE = InnoDB;
CREATE TABLE Behavior (
id_behavior INTEGER UNSIGNED NOT NULL,
type_behavior TEXT NOT NULL, PRIMARY KEY (id_behavior))
TYPE = InnoDB;
CREATE TABLE Thoughts(
id_thought INTEGER UNSIGNED NOT NULL,
type_thought TEXT NOT NULL, PRIMARY KEY (id_thought))
TYPE = InnoDB;
CREATE TABLE Emotions (
id_emotion INTEGER UNSIGNED NOT NULL,
type_emotion TEXT NOT NULL, PRIMARY KEY (id_emotion))
TYPE = InnoDB;
CREATE TABLE Education (
id_edu INTEGER UNSIGNED NOT NULL,
name_edu VARCHAR(45) NOT NULL, PRIMARY KEY (id_edu))
TYPE = InnoDB;
CREATE TABLE Birth (
id_birth INTEGER UNSIGNED NOT NULL,
name_birth VARCHAR(20) NOT NULL, PRIMARY KEY (id_birth))
TYPE = InnoDB;
CREATE TABLE Status (
id_status INTEGER UNSIGNED NOT NULL,
name_status VARCHAR(20) NOT NULL, PRIMARY KEY (id_status))
TYPE = InnoDB;
CREATE TABLE Expectant_mother (
id_mother INTEGER UNSIGNED NOT NULL,
id_status INTEGER UNSIGNED NOT NULL,
id_edu INTEGER UNSIGNED NOT NULL,
surname VARCHAR(45),
age INTEGER UNSIGNED,
height INTEGER UNSIGNED,
right_hand INTEGER UNSIGNED,
left_hand INTEGER UNSIGNED,
stress FLOAT UNSIGNED NOT NULL,
veg_coeff FLOAT UNSIGNED NOT NULL,
KD FLOAT UNSIGNED NOT NULL,
PRIMARY KEY(id_mother),
INDEX Index_id_status(id_status),
INDEX Index_id_edu(id_edu),
FOREIGN KEY (id_status) REFERENCES Status(id_status)
ON DELETE RESTRICT
ON UPDATE CASCADE,
20
FOREIGN KEY (id_edu) REFERENCES Education (id_edu)
ON DELETE RESTRICT
ON UPDATE CASCADE,
)
TYPE = InnoDB;
CREATE TABLE Child(
id_child INTEGER UNSIGNED NOT NULL,
id_mother INTEGER UNSIGNED NOT NULL,
id_birth INTEGER UNSIGNED NOT NULL,
Apgar INTEGER UNSIGNED NOT NULL,
weight INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(id_child),
INDEX Index_id_mother(id_mother),
INDEX Index_id_birth(id_birth),
FOREIGN KEY (id_mother) REFERENCES Expectant_mother(id_mother)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_birth) REFERENCES Birth(id_birth)
ON DELETE RESTRICT
ON UPDATE CASCADE,
)
TYPE = InnoDB;
Создание остальных таблиц приведено в приложении 2.
4.3. Реализация проектируемой базы данных в СУБД MySQL
Для вставки данных в разрабатываемую базу они были занесены в файл Microsoft
Excel, сохранены соответствующим образом (с разделителями табуляции), а затем
перекодированы в KOI8 и сохранены в UNIX формате.
Затем с помощью какой команды MySQL LOAD DATA был реализован процесс
ввода данных.
LOAD DATA INFILE "/home/8630/Tables/Lusher_colors.txt" INTO TABLE
Lusher_colors;
LOAD DATA INFILE "/home/8630/Tables/Behavior.txt" INTO TABLE
Behavior;
LOAD DATA INFILE "/home/8630/Tables/Thoughts.txt" INTO TABLE
Thoughts;
LOAD DATA INFILE "/home/8630/Tables/Emotions.txt" INTO TABLE
Emotions;
LOAD DATA INFILE "/home/8630/Tables/Status.txt" INTO TABLE
Status;
21
LOAD DATA INFILE "/home/8630/Tables/Education.txt" INTO TABLE
Education;
LOAD DATA INFILE "/home/8630/Tables/Birth.txt" INTO TABLE Birth;
LOAD DATA INFILE "/home/8630/Tables/Child.txt" INTO TABLE Child;
LOAD DATA INFILE "/home/8630/Tables/Mother.txt" INTO TABLE
Expectant_mother;
LOAD DATA INFILE "/home/8630/Tables/Coping_mechanism_e.txt" INTO
TABLE Coping_mechanism_e;
LOAD DATA INFILE "/home/8630/Tables/Coping_mechanism_k.txt" INTO
TABLE Coping_mechanism_k;
LOAD DATA INFILE "/home/8630/Tables/Coping_mechanism_p.txt" INTO
TABLE Coping_mechanism_p;
LOAD DATA INFILE "/home/8630/Tables/Lusher_test.txt" INTO TABLE
Lusher_test;
Содержимое таблиц представлено в Приложении 3.
4.4. Разработка интерфейса пользователя для работы
с проектируемой базой данных
Интерфейс пользователя предназначен для отражения информации, необходимой
пользователю, без возможности её редактирования. Поэтому необходимо просто вывести
эти данные в удобной для пользователя форме.
Для того чтобы вывести нужную информацию, необходимо сформировать
соответствующий запрос. Например, необходимо получить информацию о новорожденных
каждой женщины – показатель по шкале Апгар и вес ребенка. Для этого в специальном
скрипте сформируем запрос:
select Expectant_mother.surname,Child.Apgar, Child.weight
from Child, Expectant_mother
where Expectant_mother.id_mother=Child.id_child;
Результатом работы скрипта будет WEB – страница со следующей таблицей.
22
Рис.4. Фрагмент пользовательского интерфейса с запросом №1
В результате разработки пользовательского интерфейса было сформировано два
запроса (и соответственно две таблицы), которые вызываются по ссылке. Данные таблицы
предназначены для различных пользователей – они отражают информацию о беременных
женщинах и их психофизиологических показатели.
Главная страница интерфейса базы данных «Роддом №1» представлена на рисунке 5.
23
Рис.5. Главная страница базы данных «Роддом №1»
Пользователем данной базы данных являются сотрудники женской консультации
№1. На рисунке 6 приведен интерфейс для пользователя.
24
Рис.6. Интерфейс главной страницы для пользователя
Рабочая область также состоит из двух частей: область выбора данных, где
предусмотрен вывод всех таблиц без разрешения внесения в них изменений, а также выбор
предусмотренных запросов для пользователя, которые могут быть полезны. После выбора
какой-либо таблицы на рабочей области происходит ее отображение.Текст скриптов
приведен в приложении5.
Для отображения главных страниц (для интерфейса пользователя и интерфейса
администратора) были разработаны следующие скрипты: файл с фреймами (index.php),
файл с содержанием (menu.php) и стартовая страница (content.php).Тексты описываемых
скриптов приведены в Приложении 5.
Администратором данной базы данных является руководство женской консультации
№1. На рисунке 7 приведен интерфейс для администратора.
25
Рис.7. Интерфейс главной страницы для администратора
Рабочая область интерфейса администратора состоит из двух частей: область
выбора таблиц, где предусмотрен вывод всех таблиц без разрешения внесения в них
изменений, а также выбор таблиц Беременные женщины, Социальный статус, Виды родов
для которых предусмотрено редактирование. После выбора какой-либо таблицы на рабочей
области происходит ее отображение.
Результаты в виде графических иллюстраций
приведены в Приложении 4. Таким образом, администратор имеет доступ ко всем
таблицам
и право редактировать те таблицы, для которых редактирование было
предусмотрено.Тексты скриптов для таблиц Беременные женщины, Социальный статус,
Виды родов описаны в Приложении5.
4.5. Администрирование проектируемой базы данных
Администраторы СУБД сами создают пользователей и дают им привилегии. С
другой стороны – администраторы баз данных, которые создают таблицы, сами имеют
права на управление этими таблицами.
26
Пользователей можно добавлять двумя различными способами - при помощи
команды
GRANT
или
напрямую
в
таблицы
назначения
привилегий
MySQL.
Предпочтительнее использовать команду GRANT так как этот способ проще и дает меньше
ошибок.
Команды GRANT и REVOKE позволяют системным администраторам создавать
пользователей MySQL, а также предоставлять права пользователям или лишать их прав на
четырех уровнях привилегий:

Глобальный уровень
Глобальные привилегии применяются ко всем базам данных на указанном сервере.
Эти привилегии хранятся в таблице mysql.user.

Уровень базы данных
Привилегии базы данных применяются ко всем таблицам указанной базы данных.
Эти привилегии хранятся в таблицах mysql.db и mysql.host.

Уровень таблицы
Привилегии таблицы применяются ко всем столбцам указанной таблицы. Эти
привилегии хранятся в таблице mysql.tables_priv.

Уровень столбца
Привилегии столбца применяются к отдельным столбцам указанной таблицы. Эти
привилегии хранятся в таблице mysql.columns_priv.
Система привилегий MySQL обеспечивает пользователям возможность выполнять
только те действия, которые им разрешены в соответствии с их обязанностями. Когда вы
подсоединяетесь к серверу MySQL, ваша личность устанавливается по имени хоста, с
которого вы подсоединяетесь, и имени пользователя, которое вы указываете. Система
предоставляет привилегии в соответствии с вашей личностью и тем, что вы хотите
делать[18].
Для данных двух групп определение привилегий было следующим: первая группа –
администратор создает пользователей и определяет их привилегии, т.к. в данном случае
администратор базы данных сам может создавать таблицы, что дает ему неограниченное
право на управление всеми таблицами.
Для второй группы привилегии выбраны таким образом, что им обеспечивается
возможность выполнять только те действия, которые им разрешены в соответствие с их
обязанностями, в данном случае пользователю не разрешается вносить изменения в
таблицы базы данных.
27
4.6. Тестирование базы данных
Процесс тестирования нашей базы данных производится с помощью разработанного
интерфейса. В процессе тестирования было выявлено, что интерфейс работает корректно.
В принципе все задачи по администрированию БД были решены.
Недостатком при работе пользователей с нашей БД является также то, что он может
использовать
лишь
предоставленную
ему
информацию
–
формировать
запросы
самостоятельно он не может.
В целом интерфейс является вполне удобным как для пользователей, так и для
администратора.
28
5. ПОЛУЧЕНИЕ РЕШАЮЩИХ ПРАВИЛ ДЛЯ ВЫЯВЛЕНИЯ ГРУПП
РИСКА ПО ИСХОДУ БЕРЕМЕННОСТИ
5.1 Решение экспертных задач в области медицины
Экспертные системы (ЭС) находят применение во всех сферах человеческой
деятельности. Например, в сфере медицины ЭС используются для решения таких задач, как
прогнозирование исхода родов и рекомендация беременным женщинам [19]. Особенность
этих задач в централизованном сборе данных о беременных женщинах.
В то время как классические ЭС [20] совмещают сбор информации (n фактов) по
принципу «вопрос-ответ» с выводом заключения, решение перечисленных задач требует
раздельного применения этих процедур. Информация об N женщинах накапливается в виде
Nn-мерных массивов, представляемых в табличной форме [21]. Информация о
заключениях представляется в виде m образцов, формируемых экспертами в n-мерном
пространстве признаков. Вывод заключения в ЭС такого типа осуществляется в на основе
совпадения информации о претенденте с одним из m имеющихся образцов. Успех решения
этой задачи во многом зависит от различимости образцов и степени соответствия
анализируемого объекта ближайшему образцу.
В данной работе целевой признак (исход родов) оценивается по виду исходов родов
и
поэтому
может
иметь
следующий
результат:
нормальные,
кесатево−сечение,
преждевременные и срочные роды.
5.2. Формальная модель задачи
Каждый объект xiX характеризуется вектором значений признаков y(x)=(y1,…,
yj,…,yn),
n1.
Перечень
заключений
представляется
множеством
образцов
H={h1,…,hk,…,hm}, m1. Каждый k-й образец задаётся вектором c(hk)=(ck1,…,ckj,…,ckn) в nмерном пространстве признаков.
Проверка соответствия между i-го объекта k-му образцу выполняется путём анализа
истинности вектора 2х-местных предикатов:
p(xi, hk)=(p(yi1, ck1),…,p(yij, ckj),…,p(yin, ckn)).
Для признаков произвольного типа (числового или символьного) используется
предикат равенства p(yj, ckj)=Q(yj, ckj), j=1,…,n. Он предполагает точечное задание
компонент вектора c(hk). Однако, вероятность точного совпадения значений признаков
распознаваемого объекта, измеренных в интервальной шкале, с образцом hk весьма мала.
Поэтому при использовании недвоичных признаков во избежание отказа от распознавания
точечные оценки заменяются допустимыми диапазонами [ckj,min, ckj,max], j=1,…,n, а 2хместный предикат равенства Q(yj, ckj) заменяется на 3-местный предикат D(ckj,min, yj, ckj,max),
29
представляющий отношение ckj,minyjckj,max. Предикат D(ckj,min, yj, ckj,max) является
составным. Он реализуется двумя 2-местными предикатами: «больше или равно» MQ(yj,
ckj,min) и «меньше или равно» LQ(yj, ckj,max), представляющими полуинтервалы ckj,minyj и
yjckj,max.
В том случае, когда задано только точечное значение ckj j-го признака, для избежания
отказа от распознавания необходимо задавать порог T(ckj) относительно значения ckj, что
равносильно искусственному переходу к интервалу значений. Полуинтервальное задание jго признака должно дополняться порогом T(ckj)>ckj для предиката MQ(yj, ckj) и T(ckj)<ckj –
для предиката LQ(yj, ckj) для снижения опасности пересечения полуинтервалов разных
образцов. Таким образом, k-й образец (k=1,…,m) формируется как вектор естественных или
искусственных интервалов в n-мерном пространстве признаков. Отсюда очевидным
образом следует утверждение об условии тождественности объекта xi образцу hk.
Таким образом, для построения решающих правил для прогнозирования исхода родов
нами бал выбран подход, применяющий использование продукционных моделей.
5.3. Получение решающих правил
Наличие
в
экспериментальном
материале
количественных,
порядковых
и
качественных признаков, необходимость их совместного анализа обусловило выбор в
качестве инструментария для построения продукционных моделей методов Data Mining (в
частности, применения метода логического перебора Бонгарда для получения логических
правил). Нами
были выявлены логические закономерности (на базе пакета
отражающие
влияние психологических особенностей женщины на возможность
WizWhy),
возникновения осложнений в родах.
Метод ограниченного перебора впервые был предложен в середине 60-х годов ХХ
века М.М.Бонгардом [69]. С тех пор подобные алгоритмы продемонстрировали свою
эффективность при решении множества задач из самых различных областей. На основании
анализа вычисленных частот делается заключение о полезности той или иной комбинации
(комбинация есть конъюнкция элементарных событий, представляющих собой попадание
значений признаков в определенные интервалы) для классификации, распознавания и
прогнозирования.
В качестве инструментария для построения логических правил методом
ограниченного перебора была выбрана система WizWhy.
Представим процесс конструирования логических правил отдельными действиями.
30
Первый шаг. Подготовка данных к логическому анализу.
Система WizWhy поддерживает различные форматы баз данных (ASCII, dBase, MS
Access, MS Excel и др.), поэтому какой-то дополнительной подготовки данных не требует.
И после загрузки системы остается лишь выбрать нужный формат и загрузить данные.
Унификация переменных не проводится, поскольку система производит разбивку
количественных признаков на информативные интервалы самостоятельно. После того как
данные загружены, устанавливается соответствующий тип признака: количественный
(Number) и качественный (Category). Задается классификационный признак.
Результат. Подготовленные данные к дальнейшему анализу.
Второй шаг. Задание начальных параметров и запуск процедуры поиска.
В качестве начальных параметров на закладке Rule Parameters задаются:
 минимальная доверительная вероятность (точность) для правила «Если…То» (ifthen);
 минимальная доверительная вероятность для «Если…То Не» (if-then-Not) правил;
 минимальное число объектов, на которых подтверждается правило;
 максимальное число событий в правиле.
Закладка Стоимость ошибок (Error Costs). Здесь задаются значения двух
параметров, которые используются при последующем прогнозировании:
 Стоимость пропуска (Cost of a miss) – отнесение к «Не»-диагностируемому классу,
когда на самом деле имеет место диагностируемый класс, как правило, задается
равной 1;
 Стоимость ложной тревоги (Cost of a false alarm) – отнесение к противоположному
диагностируемому классу, когда на самом деле имеет место правильное
распознавание, также задается равной 1.
Значения
стоимости
ошибок
предпочтительней
задавать
равными
–
это
минимизирует число ошибок в данных при анализе.
Следующим шагом задаются параметры вывода для отчета: количество правил в
отчете (Maximum number of rules), способ сортировки правил (Sorting the rules), а также
задается режим вывода (Print rule report to) (окно отчета, текстовый, файл, принтер).
Для того чтобы запустить процедуру поиска логических закономерностей
достаточно нажать кнопку «Issue Rule».
Результат. Список выявленных логических закономерностей.
Третий шаг. Анализ полученных правил.
Отчет с выявленными правилами представляется двумя подразделами: 1) общие
параметры правил и 2) список правил.
31
Общие параметры правил :
В табл. 5.3.1 приведены параметры, необходимые для получения логических правил
и их значения, заданные нами при исследовании психологических особенностей женщин,
а в табл. 5.3.2 - список параметров для каждого правила.
Таблица 5.3.1.
Группа
Название и содержание параметра
Значения
параметров
Начальные
Минимальная доверительная вероятность (точность) для
параметры (Rule
правила «Если…То» (if-then);
Parameters)
Минимальная доверительная вероятность для «Если…То
85%
85%
Не» (if-then-Not) правил
Минимальное число объектов, на которых подтверждается
правило
10
Максимальное количество отображаемых правил
999
Максимальное число событий в правиле
Стоимость
ошибок
Costs).
(Error
к
6
Стоимость
Отнесение
«Не»-диагностируемому
пропуска (Cost
классу, когда на самом деле имеет место
of a miss)
диагностируемый класс
Стоимость
Отнесение
ложной тревоги
диагностируемому
(Cost of a false
самом деле имеет место правильное
alarm
распознавание
к
1
противоположному
классу,
когда
на
1
32
Таблица 5.3.2
Список параметров для каждого правила
№
Обозначение
1.
Вероятность
правила Это значение равно отношению количества случаев,
(Rule's probability)
подтверждаемых правилом «Если – То», к общему
количеству случаев, содержащих условие «Если»
Правило проявляется… Количество объектов, для которых срабатывает
(The rule exists…)
правило
Уровень
значимости Определяет степень, с которой можно полагаться на
(Significance Level)
правило,
на
основании
которого
делается
распознавание прогноз. Если значение меньше 0.05 –
это правило не случайно для данной выборки
Положительные
Список объектов, для которых правило осуществляет
примеры
(Positive корректное распознавание
Examples)
Отрицательные
Список объектов, для которых правило осуществляет
примеры
(Negative ошибочное распознавание
Examples)
2.
3.
4.
5.
Значение
Результат. Сокращенный список правил.
Четвертый шаг. Оценка информативности признаков.
Оценить информативность (полезность) признака можно по таблице «Field Index»
(рис. 3.5), где перечисляются признаки, участвующие в полученных правилах, а рядом
приводится список их номеров. Двойной щелчок левой кнопки мыши по номеру, позволяет
быстро перемещаться по общему списку правил.
Результат. Список информативных признаков.
Рис. 5.3.1. Таблица «полезности» признаков
33
Результат. Список информативных признаков.
Пятый шаг. Визуализация полученных правил.
В системе WizWhy предусмотрена возможность визуализации любого правила.
Чтобы просмотреть правило надо позиционировать курсор на одном из его условий и
щелчком правой мыши вызвать контекстное меню, где следует выбрать «Rule Chart…». На
экране отобразится диаграмма (рис. 5.3.2.), иллюстрирующая отдельные компоненты
правила.
Рис. 5.3.2. Диаграмма правила
Левая часть окна содержит правило в текстовом режиме. Правая часть- визуализация
правила. Каждая полоса относится или к одному условию или исходу. Зеленая полоса
(темный интервал слева) показывает долю объектов, обладающих целевым значением
(исходом), красная полоса (темный интервал справа) иллюстрирует пропущенные объекты,
белые разделы – другие объекты в этом поле. Длина каждой полосы соответствует доле
таких объектов.
Результат. Диаграммы правил.
Шестой шаг. Анализ сегментации признаков.
В отчете о трендах, представляются результаты сегментации признаков с указанием
информативности выделенного сегмента (рис. 5.3.3.).
34
Рис. 5.3.3. Диаграмма сегментации признака
По горизонтальной оси располагаются, в случае качественных признаков возможные
значения, а в случае количественных признаков сегменты, на которые выбранный признак
автоматически разбивается системой WizWhy. По вертикальной оси откладывается
отношение количества объектов класса if-then правил к общему количеству объектов,
попадающих в сегмент. Таким образом, высота столбиков на графике отражает
информативность сегментов. Синяя горизонтальная линия соответствует значению
начальной относительной частоты целевого значения в выборке. Если столбик выше синей
(горизонтальной) черты, значит, в данный сегмент чаще попадают объекты класса if-then, а
если ниже горизонтальной черты – класса if-then-Not. Чем больше разница между чертой и
высотой столбика, тем лучше осуществляется прогнозирование целевого значения по
исследуемому признаку.
В свою очередь ширина столбиков пропорциональна количеству объектов,
относящихся к данному значению или сегменту.
В качестве меры информативности в данном случае используется предсказанная
вероятность значения (отношение числа правильно распознанных объектов к общему числу
объектов с целевым значением в данном интервале).
Возможность
визуализировать
сегментацию
признака
дает
дополнительную
возможность исследователю для сравнения выделенных интервалов системой WizWhy с
интервалами, полученными на первом этапе с использованием программы UniData.
Вычисляя общую информативность признака для разных вариантов разбиения, выбирается
35
наиболее оптимальное, которое может быть использовано для дальнейшей классификации
и прогнозирования.
Результат. Интервалы разбиения области изменения значений признака.
Седьмой шаг. Анализ неожиданных правил.
Под неожиданными правилами в системе WizWhy понимаются правила в виде
конъюнкции двух и более простых высказываний, комбинация которых дает точность и
полноту прогноза выше, чем это можно было бы ожидать при независимости простых
высказываний. Например, это могут быть объединенные правила, состоящие из одного
высказывания, либо правила с большей, чем заданной в качестве начальных параметров
поиска доверительной вероятностью.
В отчете приводится две группы правил: 1) неожиданные (Unexpected Rule) и 2)
основные правила (Basic Rules), которые объединяет неожиданное правило.
В нашем случае система не обнаружила таких неожиданных правил. Однако можно
попытаться это сделать, если мы изменим задание на поиск правил. Например, уменьшим
минимальную вероятность if-then- и if-then-NOT- правил с 73 до 56% и с 61 до 40% в окне
Rule Parametrs. Проделаем указанную операцию и нажмем кнопку Issue Rules – теперь
система обнаружит в данных 71 правило, и среди них окажется одно неожиданным, отчет о
котором ведется в специальном окне (рис.5.3.).
Результат. Список неожиданных правил.
Рис. 3.8. Отчет с неожиданными правилами
Окна отчета о неожиданных правилах разделено на три секции. В левой верхней
секции отображается в стандартной форме найденное неожиданное правило. Первая
36
верхняя секция содержит информацию об элементах, из которых составлено неожиданное
правило. И наконец, нижняя секция предназначена для сортировки неожиданных правил и
графического представления.
Представленное правило расшифровывается следующим образом: если (таз не
узкий) и (угрозы нет) и (ребенок по счету второй), то исход родов «не кесарево». В данном
правиле выдаются две новые характеристики – уровень неожиданности (Level of
Unlikelihood) и ожидавшаяся вероятность правила (Expected rule probability). Как видим, за
счет взаимосвязи элементов правила, точность целого правила составила 0,611 и оказалась
выше ожидавшегося (0,544).
Нижняя секция о неожиданных правилах разделена на две части. В левой части
располагаются элементы управления для сортировки этих правил. По умолчанию правила
проранжированы по величине разности между реальной и оказавшейся точностями
правила. Если установить переключатель в поле Field и выбрать из списка какой либо
признак, то будут отображаться только не неожиданные правила, в которых встречается
указанный признак. В свою очередь, в поле Type можно выбрать один из трех типов
фильтров правил – All(все правила), if-then правила и if-then-NOT.
В правой части нижней секции отчета о неожиданных правилах дается графическое
представление характеристик правил и их составляющих. Первый слева столбик относится
к найденному неожиданному правилу – его высота равна точности, а ширина
пропорциональна количеству покрываемых объектов. Следующий столбик отображает
ожидавшиеся характеристики правила, а остальные столбики соответствуют базисным
правилам и трендам.
5.4. Предсказание на основе полученных правил
В системе WizWhy предусмотрены две возможности использования обнаруженных
правил для предсказания значений целевого показателя на новом материале.
Первая
возможность заключается в ручном вводе значений признаков и обработке нового
одиночного объекта (записи). Она реализуется следующим образом.
Нажимаем кнопку Issue Prediction – на экране выдается окно диалога для ручного
ввода значений признаков (рис. 5.4.1.).
37
Рис. 5.4.1. Окно диалога для ручного ввода значений
После заполнения окошек предложенной таблицы нажимаем кнопку Issue Report –
система находит релевантные правила и создает отчет, в котором подробно описываются
как конечный результат предсказания, так и характеристики каждого отдельного правила,
сработавшего для данного объекта. Этот отчет приводится ниже.
WIZWHY PREDICTION REPORT
Condition Fields:
возрастная is 1.000000
муж is 0.000000
таз is 1.000000
угроза is 1.000000
акушерский анамниз is 1.000000
подготовка is 0.000000
образование is нв
крупный плод is 0.000000
Dependent Variable: исход родов
Subject for Prediction: исход родов is к
Prediction's significance level: Error probability = 0,125
Primary Prediction's probability: 0,557
Conclusive Prediction's probability: 0,708
Decision point: 0,564
Prediction: к
Relevant rules:
1)
If возрастная is 1.000000
and подготовка is 0.000000
Then
исход родов is к
Rule's probability: 0,793
The rule exists in 46 records.
38
Significance Level: Error probability < 0,0001
…………………………………….
Как видим, в нашем случае система выдала предсказание, что рассматриваемый
объект относится к классу «кесарево» (Prediction: к). это решение система приняла на
основании 14 релевантных правил.
Вторая возможность использования множества правил заключается в обработке
сразу большого массива новой информации. Для этого сначала, перейдя к закладке
Prediction Input, в окне диалога для ввода данных, нужно указать файл, в котором записана
новая информация.
Таким образом, считаю необходимым отметить возможность системы на основе
полученных правил осуществлять прогнозирование как для одного объекта, так и для
множества объектов. После полного или частичного ввода информации об исследуемом
объекте выводятся релевантные правила, и выдается отчет, в котором приводятся
результаты прогноза и точность каждого отдельного правила, сработавшего для нового
объекта. Среди правил могут быть варианты прогноза для двух альтернативных классов, в
данном случае «побеждает» правило, имеющее более высокую точность прогноза.
Осуществляя анализ данных в системе WizWhy, были отмечены некоторые
неудобства, а именно: при объеме выборки более 150 объектов и порядка 100 признаков
процесс поиска логических закономерностей сильно зависит от мощности используемого
компьютера и может растянуться на несколько часов.
Кроме того, система WizWhy выдает, действительно, заявленное авторами
«максимальное» число логических правил. В частности, при вышеуказанных условиях
было получено более 12000 правил. Естественно, что такой объем информации вызывает
дополнительные трудности при анализе полученных результатов.
Полученные правила представлены в приложении 6.
39
ЗАКЛЮЧЕНИЕ
При разработке информационной системы были реализованы следующие этапы:

Специалистами-психологами был сформирован набор психофизиологических
особенностей беременных женщин, на основе которых может быть сделан вывод об исходе
беременности.

В женской консультации родильного дома №1 был собран весь необходимой
экспериментальный материал.

Используя различные статистические методы, были выявлены наиболее важные
и информативные психофизиологические признаки.

Совместно с психологами был сформирован набор показателей, необходимый
для выявления групп риска.

С помощью этих показателей было получено решающее правило для
прогнозирования исхода беременности.

Для автоматизации, обработки и сбора информации была спроектирована
специальная база данных в СУБД MySQL.

Разработан интерфейс пользователя и интерфейс администратора.
Таким образом, используя разработанную информационную систему можно делать
прогноз
относительно исхода
беременности,
а
также
накапливать
необходимую
информацию о беременных женщинах для дальнейших научных исследований.
40
СПИСОК ЛИТЕРАТУРЫ
1.Абрамченко В.В., Коваленко Н.П. Психические состояния при нормальном и
осложнённом течении беременности. //Сб. материалов конференции по перинатальной
психологии. – СПб, 2001. – С.24-28.
2.Аршавский И.А. Физиологические механизмы и закономерности индивидуального
развития (основы негэнтропийного онтогенеза). М.: Наука, 1982. – 270с.
3.Персианинов Л.С., Железнов Б.И., Богоявленская Н.В. Физиология и патология
сократительной деятельности матки. М.: «Медицина», 1975. – 360с.
4.Филиппова Г.Г. Материнство и основные аспекты его исследования в психологии
//Вопросы психологии. – 2001. – № 2. – С.22-36.
5.Lazarus Richard S. and Folkman Susan The concept of coping // Monat A. and Richard
S. Lazarus. Stress and Coping. N.-Y. 1991. C. 189-206
6.Singer J.E. and Davidson L.M. Specificity and stress research // Monat A. and Richard S.
Lazarus. Stress and Coping. N.-Y. 1991. C. 36-47
7.Carver, C.S., Scheier M.F., Weintraub J.K. Assessing coping strategies: a theoretically
based approach // Journal of Personality and Social Psychology 1989 V.56. P. 267-283
8.Folkman S. and Lazarus R.S. Coping and emotion // Monat A. and Richard S. Lazarus.
Stress and Coping. N.-Y. 1991. C. 207-227
9.Вассерман Л.И., Щелкова О.Ю. Медицинская психодиагностика: Теория, практика
и обучение. – СПб.: Филологический факультет СпбГУ; М.: Издательский центр
«Академия», 2003. – С.262-264.
10. Добрянская Р.Г., Залевский Г.В. Дифференциальная психологическая коррекция
фиксированных форм поведения беременных женщин при дородовой подготовке
/Материалы докладов на российской научно-практической конференции «Бехтерев В.М. и
современная психология». Казань, Казанский государственный университет, 2005. Вып. 3.
Т. 2. – Казань: Центр инновационных технологий, 2005. – С.112-119.
11. Залевский Г.В. Фиксированные формы поведения индивидуальных и групповых
систем (в культуре, образовании, науке, норме и патологии). – М.; Томск: ТГУ, 2004. –
460с.
12. Методы
исследования
прогностической
функции
и
антиципационных
способностей: Учебно-методические рекомендации для студентов и аспирантов /В.Д.
Менделевич, Т.В. Скиданенко. – Казань: КГМУ, 2005. – 71с.
13. Леонтьев Д.А. Тест cмысложизненных ориентаций (СЖО) – М.: "СМЫСЛ",
1992. – 16c. Добряков И.В. Клинико-психологические методы определения типа
41
психологического компонента гестационной доминанты //Сб. материалов конференции по
перинатальной психологии. – СПб, 2001. – С.39-48.
14.
Карпова Т. Базы данных: модели, разработка, реализация. СПб: Питер, 2004.
15.
Наумов А.Н. Система управления базами данных и знаний. Справочное
издание. М.: 1999.
16.
Когаловский М.Р. Энциклопедия технологий баз данных.М.: Финансы и
статистика, 2006.
17.
Атре Ш. Структурный подход к организации баз данных. – М.: Финансы и
статистика, 1993. – 320 с.
18.
Попов Э.В., Фоминых И.Б., Кисель Е.Б., Шапот М.Д. Статические и
динамические экспертные системы. –М.: Финансы и статистика, 1996.
19.
отбора
Берестнева О.Г., Ленский В.Н. Разработка технологии профессионального
студентов
для
обучения
на
военной
кафедре//Лингвистические
и
культурологические традиции образования: Материалы международной конференции. –
Томск: Изд-во ТПУ, 2005.
20.
Загоруйко Н.Г. Прикладные методы анализа данных и знаний. –Новосибирск:
Изд-во института математики, 1999, 268 с.
21.
Микони С.В. Теория и практика рационального выбора. –М.: Маршрут, 2004,
22.
Сорокина М.И. Применение методов многокритериальной идентификации
462 с.
объектов в экспертных системах//Известия вузов. Приборостроение, 2007, Т.50, №1.
42
Приложение 1
Проектирование базы данных
СОЗДАТЬ ТАБЛИЦУ Ребёнок *( Обозначение )
ПЕРВИЧНЫЙ КЛЮЧ
(Код_ребёнка)
ВНЕШНИЙ КЛЮЧ
(Код_БЖ ИЗ Беременные женщины
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Беременные женщины
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Беременные женщины.Код БЖ
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_вида_родов ИЗ Вид родов
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Вид родов ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Вид родов.Код_вида_родов
КАСКАДИРУЕТСЯ)
ПОЛЯ
(Код_ребёнка Целое, Код БЖ Целое, Шкала Апгар
Целое, Вес Целое, Код_вида_родов Целое)
ОГРАНИЧЕНИЯ
(Значение поля Код БЖ и Код_вида_родов должно
принадлежать набору значений, соответствующим полям
таблицы Беременные женщины и Вид родов)
43
СОЗДАТЬ ТАБЛИЦУ Тест Люшера *( Связывает Беременные женщины и Цвета Люшера)
ПЕРВИЧНЫЙ КЛЮЧ
(Код_БЖ)
ВНЕШНИЙ КЛЮЧ (Код_БЖ ИЗ Беременные женщины
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Беременные женщины
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Беременные женщины.Код_БЖ
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета1 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета1
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета2 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета2
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета3 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета3
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета4 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета4
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета5 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета5
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета6 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
44
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета6
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета7 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета7
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_цвета8 ИЗ Цвета Люшера
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Цвета Люшера ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Цвета Люшера.Код_цвета9
КАСКАДИРУЕТСЯ)
ПОЛЯ
(Код_БЖ Целое, Код_цвета1, Код_цвета2,
Код_цвета3, Код_цвета4, Код_цвета5,
Код_цвета6, Код_цвета7, Код_цвета8)
ОГРАНИЧЕНИЯ
(Значения полей Код_БЖ , Код_цвета1, Код_цвета2,
Код_цвета3, Код_цвета4, Код_цвета5, Код_цвета6,
Код_цвета7 и Код_цвета8должны принадлежать набору
значений соответствующих полей таблиц Беременные
женщины и Цвета Люшера);
СОЗДАТЬ ТАБЛИЦУ Копинг-механизмы_ЭС *( Связывает Беременные женщины и
Стратегия эмоций)
ПЕРВИЧНЫЙ КЛЮЧ
(Код_БЖ)
ВНЕШНИЙ КЛЮЧ (Код_БЖ ИЗ Беременные женщины
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Беременные женщины
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Беременные женщины.Код_БЖ
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС1 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
45
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС1
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС2 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС2
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС3 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС3
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС4 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС4
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС5 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС6
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС6 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС6
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС7 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
46
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС7
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ЭС8 ИЗ Стратегия эмоции
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия эмоции
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ЭС8
КАСКАДИРУЕТСЯ)
ПОЛЯ
(Код_БЖ Целое, Код_ЭС1 Целое, Код_ЭС2 Целое,
Код_ЭС3 Целое, Код_ЭС4 Целое, Код_ЭС5 Целое,
Код_ЭС6 Целое, Код_ЭС7 Целое, Код_ЭС8 Целое)
ОГРАНИЧЕНИЯ
(Значения полей Код_БЖ, Код_ЭС1, Код_ЭС2, Код_ЭС3,
Код_ЭС4, Код_ЭС5, Код_ЭС6, Код_ЭС7, Код_ЭС8
должны принадлежать набору значений
соответствующих полей таблиц Беременные женщины и
Стратегия эмоций);
СОЗДАТЬ ТАБЛИЦУ Копинг-механизмы_КС *( Связывает Беременные женщины и
Стратегия мысли)
ПЕРВИЧНЫЙ КЛЮЧ
(Код_БЖ)
ВНЕШНИЙ КЛЮЧ (Код_БЖ ИЗ Беременные женщины
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Беременные женщины
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Беременные женщины.Код_БЖ
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 1 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 1
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 2 ИЗ Стратегия мысли
47
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 2
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 3 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 3
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 4 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия эмоции.Код_ КС 4
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 5 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 6
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 6 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 6
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 7 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 7
КАСКАДИРУЕТСЯ)
48
ВНЕШНИЙ КЛЮЧ (Код_ КС 8 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 8
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 9 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 9
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ КС 10 ИЗ Стратегия мысли
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия мысли
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия мысли.Код_ КС 10
КАСКАДИРУЕТСЯ)
ПОЛЯ
(Код_БЖ Целое, Код_ КС 1 Целое, Код_ КС 2 Целое,
Код_ КС 3 Целое, Код_ КС 4 Целое, Код_ КС 5 Целое,
Код_ КС 6 Целое, Код_ КС 7 Целое, Код_ КС 8 Целое,
Код_ КС 9 Целое, Код_ КС 10 Целое)
ОГРАНИЧЕНИЯ
(Значения полей Код_БЖ, Код_ КС1 , Код_ КС 2, Код_
КС 3, Код_ КС 4, Код_ КС 5, Код_ КС 6, Код_ КС 7, Код_
КС 8, Код_ КС 9, Код_ КС 10 должны принадлежать
набору значений соответствующих полей таблиц
Беременные женщины и Стратегия мысли);
СОЗДАТЬ ТАБЛИЦУ Копинг-механизмы_ПС*( Связывает Беременные женщины и
Стратегия поведения)
ПЕРВИЧНЫЙ КЛЮЧ
(Код_БЖ)
ВНЕШНИЙ КЛЮЧ (Код_БЖ ИЗ Беременные женщины
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Беременные женщины
ОГРАНИЧИВАЕТСЯ
49
ОБНОВЛЕНИЕ Беременные женщины.Код_БЖ
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС1 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС1
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС2 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС2
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС3 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС3
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС4 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС4
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС5 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС5
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС6 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
50
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС6
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС7 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС 7
КАСКАДИРУЕТСЯ)
ВНЕШНИЙ КЛЮЧ (Код_ПС8 ИЗ Стратегия поведения
NULL-значения НЕ ДОПУСТИМЫ
УДАЛЕНИЕ ИЗ Стратегия поведения
ОГРАНИЧИВАЕТСЯ
ОБНОВЛЕНИЕ Стратегия поведения.Код_ПС 8
КАСКАДИРУЕТСЯ)
ПОЛЯ
(Код_БЖ Целое, Код_ПС1 Целое, , Код_ПС2 Целое,
Код_ПС3 Целое, Код_ПС4 Целое, Код_ПС5 Целое,
Код_ПС6 Целое, Код_ПС7 Целое, Код_ПС8 Целое)
ОГРАНИЧЕНИЯ
(Значения полей Код_БЖ, , Код_ПС1 , Код_ПС2,
Код_ПС3, Код_ПС4, Код_ПС5, Код_ПС6, Код_ПС7 и
Код_ПС8 должны принадлежать набору значений
соответствующих полей таблиц Беременные женщины,и
Стратегия поведения).
51
Приложение2
Создание таблиц с помощью команды CREATE TABLE
CREATE TABLE Lusher_test(
id_mother INTEGER UNSIGNED NOT NULL,
id_c1 INTEGER UNSIGNED NOT NULL,
id_c2 INTEGER UNSIGNED NOT NULL,
id_c3 INTEGER UNSIGNED NOT NULL,
id_c4 INTEGER UNSIGNED NOT NULL,
id_c5 INTEGER UNSIGNED NOT NULL,
id_c6 INTEGER UNSIGNED NOT NULL,
id_c7 INTEGER UNSIGNED NOT NULL,
id_c8 INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(id_mother),
INDEX Index_id_mother(id_mother),
INDEX Index_id_c1 (id_c1),
INDEX Index_id_c2 (id_c2),
INDEX Index_id_c3 (id_c3),
INDEX Index_id_c4 (id_c4),
INDEX Index_id_c5 (id_c5),
INDEX Index_id_c6 (id_c6),
INDEX Index_id_c7 (id_c7),
INDEX Index_id_c8 (id_c8),
FOREIGN KEY (id_mother) REFERENCES Expectant_mother (id_mother)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c1) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c2) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c3) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c4) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c5) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c6) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c7) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_c8) REFERENCES Lusher_colors(id_color)
ON DELETE RESTRICT
ON UPDATE CASCADE,
52
)
TYPE = InnoDB;
CREATE TABLE Coping_mechanism_e(
id_mother INTEGER UNSIGNED NOT NULL,
id_1e INTEGER UNSIGNED NOT NULL,
id_2e INTEGER UNSIGNED NOT NULL,
id_3e INTEGER UNSIGNED NOT NULL,
id_4e INTEGER UNSIGNED NOT NULL,
id_5e INTEGER UNSIGNED NOT NULL,
id_6e INTEGER UNSIGNED NOT NULL,
id_7e INTEGER UNSIGNED NOT NULL,
id_8e INTEGER UNSIGNED NOT NULL,
INDEX Index_id_1e (id_1e),
INDEX Index_id_2e (id_2e),
INDEX Index_id_3e (id_3e),
INDEX Index_id_4e (id_4e),
INDEX Index_id_5e (id_5e),
INDEX Index_id_6e (id_6e),
INDEX Index_id_7e (id_7e),
INDEX Index_id_8e (id_8e),
INDEX Index_id_mother(id_mother),
PRIMARY KEY(id_mother),
FOREIGN KEY (id_mother) REFERENCES Expectant_mother (id_mother)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_1e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_2e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_3e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_4e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_5e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_6e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_7e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_8e)REFERENCES Emotions(id_emotion)
ON DELETE RESTRICT
ON UPDATE CASCADE
)
TYPE = InnoDB;
53
CREATE TABLE Coping_mechanism_k(
id_mother INTEGER UNSIGNED NOT NULL,
id_1k INTEGER UNSIGNED NOT NULL,
id_2k INTEGER UNSIGNED NOT NULL,
id_3k INTEGER UNSIGNED NOT NULL,
id_4k INTEGER UNSIGNED NOT NULL,
id_5k INTEGER UNSIGNED NOT NULL,
id_6k INTEGER UNSIGNED NOT NULL,
id_7k INTEGER UNSIGNED NOT NULL,
id_8k INTEGER UNSIGNED NOT NULL,
id_9k INTEGER UNSIGNED NOT NULL,
id_10k INTEGER UNSIGNED NOT NULL,
INDEX Index_id_1k (id_1k),
INDEX Index_id_2k (id_2k),
INDEX Index_id_3k (id_3k),
INDEX Index_id_4k (id_4k),
INDEX Index_id_5k (id_5k),
INDEX Index_id_6k (id_6k),
INDEX Index_id_7k (id_7k),
INDEX Index_id_8k (id_8k),
INDEX Index_id_9k (id_9k),
INDEX Index_id_10k (id_10k),
INDEX Index_id_mother(id_mother),
PRIMARY KEY(id_mother),
FOREIGN KEY (id_mother) REFERENCES Expectant_mother (id_mother)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_1k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_2k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_3k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_4k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_5k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_6k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_7k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_8k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_9k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
54
ON UPDATE CASCADE,
FOREIGN KEY (id_10k)REFERENCES Thoughts(id_thought)
ON DELETE RESTRICT
ON UPDATE CASCADE
)
TYPE = InnoDB;
CREATE TABLE Coping_mechanism_p(
id_mother INTEGER UNSIGNED NOT NULL,
id_1p INTEGER UNSIGNED NOT NULL,
id_2p INTEGER UNSIGNED NOT NULL,
id_3p INTEGER UNSIGNED NOT NULL,
id_4p INTEGER UNSIGNED NOT NULL,
id_5p INTEGER UNSIGNED NOT NULL,
id_6p INTEGER UNSIGNED NOT NULL,
id_7p INTEGER UNSIGNED NOT NULL,
id_8p INTEGER UNSIGNED NOT NULL,
INDEX Index_id_1p (id_1p),
INDEX Index_id_2p (id_2p),
INDEX Index_id_3p (id_3p),
INDEX Index_id_4p (id_4p),
INDEX Index_id_5p (id_5p),
INDEX Index_id_6p (id_6p),
INDEX Index_id_7p (id_7p),
INDEX Index_id_8p (id_8p),
PRIMARY KEY(id_mother),
INDEX Index_id_mother(id_mother),
FOREIGN KEY (id_mother) REFERENCES Expectant_mother (id_mother)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_1p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_2p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_3p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_4p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_5p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_6p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_7p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
ON UPDATE CASCADE,
FOREIGN KEY (id_8p)REFERENCES Behavior(id_behavior)
ON DELETE RESTRICT
55
ON UPDATE CASCADE
)
TYPE = InnoDB;
56
Приложение3
Содержимое таблиц
Ребенок (обозначение):
mysql> select *from Child;
+----------+-----------+----------+-------+--------+
| id_child | id_mother | id_birth | Apgar | weight |
+----------+-----------+----------+-------+--------+
|
1 |
1 |
2 |
38 |
3750 |
|
2 |
2 |
3 |
37 |
3985 |
|
3 |
3 |
3 |
42 |
3850 |
|
4 |
4 |
2 |
37 |
3590 |
|
5 |
5 |
1 |
28 |
3370 |
|
6 |
6 |
4 |
28 |
3600 |
|
7 |
7 |
3 |
39 |
3340 |
|
8 |
8 |
4 |
29 |
3500 |
|
9 |
9 |
1 |
27 |
3330 |
|
10 |
10 |
4 |
26 |
2440 |
|
11 |
11 |
3 |
51 |
1630 |
|
12 |
12 |
4 |
16 |
3330 |
|
13 |
13 |
3 |
27 |
4180 |
|
14 |
14 |
2 |
55 |
3210 |
|
15 |
15 |
3 |
16 |
3890 |
|
16 |
16 |
2 |
34 |
4082 |
|
17 |
17 |
1 |
34 |
3330 |
|
18 |
18 |
1 |
10 |
3169 |
|
19 |
19 |
2 |
50 |
3400 |
|
20 |
20 |
3 |
31 |
3382 |
|
21 |
21 |
2 |
11 |
3000 |
|
22 |
22 |
1 |
28 |
3640 |
|
23 |
23 |
1 |
38 |
3290 |
|
24 |
24 |
4 |
30 |
3520 |
|
25 |
25 |
2 |
42 |
833 |
|
26 |
26 |
2 |
12 |
3125 |
|
27 |
27 |
4 |
24 |
3200 |
|
28 |
28 |
4 |
36 |
3850 |
|
29 |
29 |
1 |
35 |
3246 |
|
30 |
30 |
2 |
33 |
4500 |
+----------+-----------+----------+-------+--------+
30 rows in set (0.00 sec)
Социальный статус(стержень):
mysql> select *from Status;
+-----------+-------------+
| id_status | name_status |
+-----------+-------------+
|
1 | Замужем
|
|
2 | Незамужем
|
+-----------+-------------+
2 rows in set (0.00 sec)
Образование (стержень):
mysql> select *from Education;
57
+--------+----------------------+
| id_edu | name_edu
|
+--------+----------------------+
|
1 | Высшее
|
|
2 | Незаконченное высшее |
|
3 | Высшее медицинское
|
|
4 | Высшее юридическое
|
|
5 | Высшее техническое
|
|
6 | Среднее
|
|
7 | Средне специальное
|
|
8 | Незаконченное средне |
+--------+----------------------+
8 rows in set (0.00 sec)
Цвета Люшера (стержень):
mysql> select *from Lusher_colors;
+----------+------------+
| id_color | color
|
+----------+------------+
|
1 | Синий
|
|
2 | Зеленый
|
|
3 | Красный
|
|
4 | Желный
|
|
5 | Фиолетовый |
|
6 | Коричневый |
|
7 | Черный
|
|
8 | Серый
|
+----------+------------+
8 rows in set (0.00 sec)
Виды родов (стержень):
mysql> select *from Birth ;
+----------+------------------+
| id_birth | name_birth
|
+----------+------------------+
|
1 | Срочные
|
|
2 | Кесарево сечение |
|
3 | Преждевременные |
|
4 | Нормальные
|
+----------+------------------+
4 rows in set (0.00 sec)
58
Тест Люшера (ассоциация):
mysql> select *from Lusher_test;
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
| id_mother | id_c1 | id_c2 | id_c3 | id_c4 | id_c5 | id_c6 | id_c7 | id_c8 |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
|
1 |
1 |
3 |
8 |
2 |
6 |
5 |
4 |
7 |
|
2 |
6 |
2 |
3 |
8 |
1 |
7 |
5 |
4 |
|
3 |
3 |
4 |
2 |
5 |
8 |
6 |
1 |
7 |
|
4 |
1 |
5 |
3 |
2 |
4 |
8 |
6 |
7 |
|
5 |
2 |
8 |
6 |
3 |
1 |
4 |
5 |
7 |
|
6 |
4 |
3 |
5 |
2 |
1 |
6 |
8 |
7 |
|
7 |
4 |
2 |
5 |
3 |
6 |
1 |
8 |
7 |
|
8 |
5 |
4 |
1 |
3 |
6 |
8 |
2 |
7 |
|
9 |
4 |
5 |
3 |
2 |
1 |
8 |
6 |
7 |
|
10 |
5 |
1 |
2 |
4 |
6 |
3 |
8 |
7 |
|
11 |
1 |
5 |
2 |
3 |
6 |
4 |
8 |
7 |
|
12 |
2 |
4 |
5 |
3 |
1 |
8 |
6 |
7 |
|
13 |
1 |
2 |
8 |
5 |
4 |
3 |
7 |
6 |
|
14 |
4 |
2 |
1 |
5 |
3 |
6 |
8 |
7 |
|
15 |
5 |
4 |
1 |
8 |
3 |
6 |
2 |
7 |
|
16 |
4 |
2 |
5 |
1 |
3 |
7 |
6 |
8 |
|
17 |
5 |
1 |
4 |
2 |
8 |
3 |
6 |
7 |
|
18 |
1 |
4 |
2 |
5 |
6 |
8 |
3 |
7 |
|
19 |
5 |
1 |
3 |
4 |
8 |
2 |
7 |
6 |
|
20 |
4 |
2 |
5 |
1 |
3 |
6 |
8 |
7 |
|
21 |
5 |
2 |
1 |
3 |
8 |
6 |
7 |
4 |
|
22 |
5 |
1 |
2 |
3 |
4 |
6 |
8 |
7 |
|
23 |
5 |
2 |
1 |
4 |
3 |
6 |
7 |
8 |
|
24 |
1 |
4 |
5 |
2 |
8 |
3 |
7 |
6 |
|
25 |
8 |
2 |
5 |
3 |
4 |
6 |
1 |
7 |
|
26 |
5 |
2 |
1 |
4 |
8 |
6 |
3 |
7 |
|
27 |
4 |
3 |
1 |
2 |
6 |
8 |
7 |
5 |
|
28 |
5 |
1 |
2 |
8 |
6 |
3 |
7 |
4 |
|
29 |
8 |
3 |
5 |
4 |
6 |
2 |
1 |
7 |
|
30 |
4 |
3 |
5 |
2 |
6 |
1 |
8 |
7 |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
59
Беременные женщины (обозначение):
mysql> select *from Expectant_mother;
+-----------+-----------+--------+-------------+------+--------+------------+-----------+--------+----------+-----+
| id_mother | id_status | id_edu | surname
| age | height | right_hand | left_hand | stress | veg_coeff
| KD |
+-----------+-----------+--------+-------------+------+--------+------------+-----------+--------+----------+-----+
|
1 |
1 |
6 | Авдошина
|
22 |
164 |
24 |
22 |
12.8 |
0.7
| 0.8 |
|
2 |
1 |
1 | Алексеев
|
23 |
156 |
24 |
22 |
16.2 |
0.5
| 0.7 |
|
3 |
1 |
6 | Альбекова
|
21 |
160 |
22 |
22 |
6.8 |
1.9
| 0.1 |
|
4 |
1 |
7 | Байдак
|
25 |
164 |
24 |
22 |
0 |
0.7
| 0.6 |
|
5 |
1 |
1 | Балыкшева
|
33 |
166 |
30 |
28 |
18.8 |
0.7
| 0.5 |
|
6 |
1 |
2 | Баранова
|
21 |
165 |
30 |
20 |
0 |
1.7
| 0.7 |
|
7 |
1 |
2 | Барматских |
23 |
176 |
26 |
28 |
6 |
1.3
| 0.1 |
|
8 |
1 |
1 | Березина
|
27 |
167 |
24 |
22 |
6.8 |
1.5
| 0.2 |
|
9 |
1 |
3 | Бикбаева
|
23 |
165 |
20 |
26 |
0 |
1.4
| 0.1 |
|
10 |
1 |
1 | Блинова
|
24 |
160 |
26 |
30 |
6 |
0.6
| 0.4 |
|
11 |
1 |
7 | Большанин
|
21 |
160 |
29 |
30 |
6 |
0.6
| 0.7 |
|
12 |
1 |
1 | Бородина
|
24 |
162 |
32 |
32 |
0 |
1
| 0.2 |
|
13 |
1 |
2 | Будюкова
|
20 |
168 |
20 |
22 |
12 |
0.5
| 0.6 |
|
14 |
2 |
7 | Васильева
|
22 |
162 |
18 |
18 |
0 |
0.9
| 0.1 |
60
|
15 |
1 |
6 | Вылегжанина |
20 |
168 |
26 |
32 |
6.8 |
1.4
| 0.2 |
|
16 |
1 |
3 | Гончарова
|
22 |
169 |
24 |
20 |
0 |
1
| 0.1 |
|
17 |
1 |
2 | Григорьева |
24 |
162 |
16 |
20 |
6 |
0.8
| 0.3 |
|
18 |
2 |
2 | Гриц Оля
|
20 |
162 |
24 |
22 |
6.8 |
0.6
| 0.3 |
|
19 |
1 |
6 | Гронь
|
25 |
165 |
22 |
25 |
5 |
6
| 1.2 |
|
20 |
1 |
2 | Данилова
|
31 |
162 |
29 |
25 |
0 |
1
| 0.1 |
|
21 |
1 |
3 | Дель
|
24 |
172 |
20 |
20 |
0 |
0.5
| 0.3 |
|
22 |
1 |
4 | Долгополова |
25 |
160 |
24 |
32 |
0 |
0.7
| 0.5 |
|
23 |
1 |
1 | Дорожко
|
22 |
169 |
24 |
22 |
0 |
0.7
| 0.4 |
|
24 |
1 |
7 | Елохина
|
21 |
155 |
29 |
25 |
6 |
0.8
| 0.3 |
|
25 |
1 |
2 | Жалсанова
|
26 |
152 |
20 |
16 |
14.9 |
1
| 0.3 |
|
26 |
1 |
2 | Жарчинск
|
23 |
160 |
30 |
24 |
6.8 |
0.5
| 0.4 |
|
27 |
1 |
1 | Журавлёва
|
23 |
163 |
26 |
26 |
0 |
1.3
| 0.1 |
|
28 |
1 |
5 | Зайцева А. |
24 |
170 |
31 |
30 |
14.1 |
0.3
| 0.9 |
|
29 |
1 |
6 | Зайцева Н. |
20 |
159 |
26 |
25 |
20.9 |
2.4
| 0.3 |
|
30 |
1 |
1 | Замораева
|
25 |
171 |
28 |
28 |
0 |
1.4
| 0.1 |
+-----------+-----------+--------+-------------+------+--------+------------+-----------+--------+----------+-----+
30 rows in set (0.00 sec)
61
Поведенческая стратегия (стержень):
mysql> select *from Behavior;
+-------------+----------------------------------------------------------------------------------------------------+
| id_behavior | type_behavior
|
+-------------+----------------------------------------------------------------------------------------------------+
|
1 | Я погружаюсь в любимое дело, стараюсь забыть о своих проблемах
|
|
2 | Я стараюсь помочь людям, и в заботах о них забываю о своих горестях
|
|
3 | Всячески избегаю думать о своих неприятностях
|
|
4 | Стараюсь отвлечься и расслабиться (с помощью алкоголя, успокоительных средств, вкусной еды и
т. д.) |
|
5 | Чтобы пережить трудности, я берусь за осуществление своей давней мечты
|
|
6 | Я изолируюсь, стараюсь остаться наедине с собой
|
|
7 | Я использую сотрудничество со значимыми мне людьми для преодоления трудностей
|
|
8 | Я обычно ищу людей, способных мне помочь советом
|
+-------------+--------------------------------------------------------------------------------------------Когнетивная стратегия (стержень):
mysql> select *from Emotions;
+------------+--------------------------------------------------------------------------+
| id_emotion | type_emotion
|
+------------+--------------------------------------------------------------------------+
|
1 | Я всегда глубоко возмущен несправедливость судьбы ко мне и протестую
|
|
2 | Я впадаю в отчаяние, рыдаю
|
|
3 | Я подавляю эмоции в себе
|
|
4 | Я всегда уверен, что есть выход из трудной ситуации
|
|
5 | Я доверяю преодоление трудностей другим людям, которые готовы помочь мне |
62
|
6 | Я впадаю в состояние безнадежности
|
|
7 | Я считаю, что я виноват и должен получить по заслугам
|
|
8 | Я впадаю в бешенство, становлюсь агрессивным
|
+------------+--------------------------------------------------------------------------+
Эмоциональная стратегия (стержень):
mysql> select *from Thoughts;
+------------+---------------------------------------------------------------------------------------------------------------------------+
| id_thought | type_thought
|
+------------+---------------------------------------------------------------------------------------------------------------------------+
|
1 | Говорю себе: "в данный момент есть что-то важнее, чем эти трудности"
|
|
2 | Говорю себе: "это судьба, с этим можно смириться"
|
|
3 | Это несущественные трудности, не все так плохо
|
|
4 | Я не теряю самообладания и контроля над собой в тяжелые моменты и стараюсь некому не
показывать своего истинного состояния |
|
5 | Я стараюсь проанализировать, все взвесить и объяснить себе, что же случилось
|
|
6 | Я говорю себе: "по сравнению с проблемами других людей - это пустяк"
|
|
7 | Если что-то случилось, так угодно богу
|
|
8 | Я не знаю что делать, и мне временами кажется, что мне не выпутаться из своих трудностей
|
|
9 | Я придаю своим трудностям особый смысл, преодолевая их, я совершенствую себя
|
|
10 | В данное время я полностью не могу справиться с этими трудностями, но со временем смогу
справиться с ними и более сложными |
+------------+---------------------------------------------------------------------------------------------------------------------------+
Ассоциации:
63
Копинг−механизм (поведенческая стратегия):
mysql> select *from Coping_mechanism_p;
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
| id_mother | id_1p | id_2p | id_3p | id_4p | id_5p | id_6p | id_7p | id_8p |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
|
1 |
1 |
4 |
2 |
5 |
7 |
3 |
6 |
8 |
|
2 |
1 |
2 |
5 |
4 |
3 |
7 |
6 |
8 |
|
3 |
4 |
5 |
7 |
3 |
6 |
8 |
2 |
1 |
|
4 |
3 |
4 |
7 |
1 |
8 |
2 |
6 |
5 |
|
5 |
1 |
3 |
4 |
2 |
5 |
6 |
7 |
8 |
|
6 |
2 |
4 |
5 |
6 |
3 |
7 |
1 |
8 |
|
7 |
1 |
4 |
5 |
3 |
2 |
6 |
8 |
7 |
|
8 |
4 |
1 |
3 |
2 |
7 |
8 |
6 |
5 |
|
9 |
4 |
2 |
1 |
5 |
3 |
7 |
6 |
8 |
|
10 |
6 |
2 |
4 |
3 |
5 |
8 |
7 |
1 |
|
11 |
6 |
2 |
4 |
5 |
7 |
8 |
1 |
3 |
|
12 |
4 |
1 |
5 |
7 |
3 |
2 |
6 |
8 |
|
13 |
4 |
7 |
5 |
2 |
3 |
5 |
8 |
1 |
|
14 |
3 |
1 |
4 |
8 |
7 |
2 |
5 |
6 |
|
15 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
16 |
4 |
3 |
5 |
2 |
6 |
7 |
8 |
1 |
|
17 |
1 |
7 |
4 |
2 |
8 |
3 |
5 |
6 |
|
18 |
4 |
3 |
7 |
1 |
2 |
6 |
5 |
2 |
|
19 |
4 |
5 |
7 |
3 |
2 |
1 |
6 |
8 |
|
20 |
3 |
8 |
4 |
2 |
1 |
7 |
6 |
5 |
|
21 |
4 |
3 |
2 |
1 |
8 |
6 |
5 |
7 |
|
22 |
4 |
3 |
7 |
5 |
1 |
6 |
2 |
8 |
|
23 |
4 |
3 |
5 |
7 |
2 |
1 |
6 |
8 |
|
24 |
1 |
3 |
2 |
7 |
6 |
4 |
5 |
8 |
|
25 |
3 |
4 |
6 |
5 |
2 |
7 |
1 |
8 |
|
26 |
4 |
5 |
2 |
3 |
6 |
8 |
7 |
1 |
|
27 |
4 |
1 |
8 |
2 |
6 |
7 |
5 |
3 |
|
28 |
4 |
3 |
1 |
2 |
5 |
6 |
8 |
7 |
|
29 |
2 |
6 |
1 |
5 |
3 |
4 |
7 |
8 |
|
30 |
4 |
1 |
2 |
5 |
3 |
8 |
7 |
6 |
64
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
30 rows in set (0.00 sec)
65
Копинг−механизм (эмоциональная стратегия):
mysql> select *from Coping_mechanism_e;
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
| id_mother | id_1e | id_2e | id_3e | id_4e | id_5e | id_6e | id_7e | id_8e |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
|
1 |
1 |
4 |
2 |
5 |
7 |
3 |
6 |
8 |
|
2 |
1 |
2 |
5 |
4 |
3 |
7 |
6 |
8 |
|
3 |
4 |
5 |
7 |
3 |
6 |
8 |
2 |
1 |
|
4 |
3 |
4 |
7 |
1 |
8 |
2 |
6 |
5 |
|
5 |
1 |
3 |
4 |
2 |
5 |
6 |
7 |
8 |
|
6 |
2 |
4 |
5 |
6 |
3 |
7 |
1 |
8 |
|
7 |
1 |
4 |
5 |
3 |
2 |
6 |
8 |
7 |
|
8 |
4 |
1 |
3 |
2 |
7 |
8 |
6 |
5 |
|
9 |
4 |
2 |
1 |
5 |
3 |
7 |
6 |
8 |
|
10 |
6 |
2 |
4 |
3 |
5 |
8 |
7 |
1 |
|
11 |
6 |
2 |
4 |
5 |
7 |
8 |
1 |
3 |
|
12 |
4 |
1 |
5 |
7 |
3 |
2 |
6 |
8 |
|
13 |
4 |
7 |
5 |
2 |
3 |
5 |
8 |
1 |
|
14 |
3 |
1 |
4 |
8 |
7 |
2 |
5 |
6 |
|
15 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
16 |
4 |
3 |
5 |
2 |
6 |
7 |
8 |
1 |
|
17 |
1 |
7 |
4 |
2 |
8 |
3 |
5 |
6 |
|
18 |
4 |
3 |
7 |
1 |
2 |
6 |
5 |
2 |
|
19 |
4 |
5 |
7 |
3 |
2 |
1 |
6 |
8 |
|
20 |
3 |
8 |
4 |
2 |
1 |
7 |
6 |
5 |
|
21 |
4 |
3 |
2 |
1 |
8 |
6 |
5 |
7 |
|
22 |
4 |
3 |
7 |
5 |
1 |
6 |
2 |
8 |
|
23 |
4 |
3 |
5 |
7 |
2 |
1 |
6 |
8 |
|
24 |
1 |
3 |
2 |
7 |
6 |
4 |
5 |
8 |
|
25 |
3 |
4 |
6 |
5 |
2 |
7 |
1 |
8 |
|
26 |
4 |
5 |
2 |
3 |
6 |
8 |
7 |
1 |
|
27 |
4 |
1 |
8 |
2 |
6 |
7 |
5 |
3 |
|
28 |
4 |
3 |
1 |
2 |
5 |
6 |
8 |
7 |
|
29 |
2 |
6 |
1 |
5 |
3 |
4 |
7 |
8 |
66
|
30 |
4 |
1 |
2 |
5 |
3 |
8 |
7 |
6 |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+
30 rows in set (0.00 sec)
Копинг−механизм (когнетивная стратегия):
mysql> select * from Coping_mechanism_k;
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+
| id_mother | id_1k | id_2k | id_3k | id_4k | id_5k | id_6k | id_7k | id_8k | id_9k | id_10k |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+
|
1 |
7 |
2 |
4 |
10 |
9 |
6 |
5 |
1 |
3 |
8 |
|
2 |
1 |
2 |
3 |
6 |
10 |
4 |
5 |
7 |
9 |
8 |
|
3 |
1 |
2 |
3 |
6 |
7 |
5 |
4 |
9 |
8 |
10 |
|
4 |
10 |
1 |
5 |
4 |
8 |
6 |
8 |
2 |
3 |
7 |
|
5 |
10 |
5 |
6 |
4 |
3 |
1 |
9 |
2 |
7 |
8 |
|
6 |
1 |
6 |
9 |
3 |
10 |
2 |
7 |
5 |
4 |
8 |
|
7 |
5 |
9 |
1 |
3 |
8 |
2 |
4 |
6 |
7 |
10 |
|
8 |
1 |
3 |
6 |
4 |
10 |
5 |
7 |
8 |
9 |
2 |
|
9 |
7 |
10 |
1 |
2 |
5 |
3 |
4 |
6 |
9 |
8 |
|
10 |
7 |
8 |
6 |
5 |
2 |
3 |
1 |
9 |
4 |
10 |
|
11 |
5 |
8 |
7 |
9 |
10 |
3 |
2 |
6 |
1 |
4 |
|
12 |
4 |
5 |
7 |
1 |
3 |
2 |
10 |
8 |
6 |
9 |
|
13 |
2 |
6 |
7 |
5 |
1 |
3 |
4 |
9 |
8 |
10 |
|
14 |
4 |
5 |
9 |
10 |
3 |
6 |
1 |
2 |
7 |
8 |
|
15 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
67
|
16 |
4 |
1 |
3 |
5 |
2 |
7 |
10 |
6 |
9 |
8 |
|
17 |
2 |
7 |
1 |
4 |
8 |
5 |
3 |
6 |
9 |
10 |
|
18 |
1 |
5 |
9 |
4 |
3 |
6 |
2 |
7 |
10 |
8 |
|
19 |
6 |
1 |
3 |
9 |
4 |
5 |
7 |
2 |
10 |
8 |
|
20 |
5 |
4 |
3 |
2 |
10 |
1 |
6 |
7 |
9 |
8 |
|
21 |
6 |
1 |
3 |
2 |
5 |
4 |
7 |
9 |
10 |
8 |
|
22 |
4 |
5 |
1 |
9 |
2 |
3 |
7 |
6 |
10 |
8 |
|
23 |
6 |
7 |
1 |
3 |
9 |
4 |
5 |
2 |
10 |
8 |
|
24 |
4 |
5 |
7 |
2 |
8 |
9 |
3 |
1 |
10 |
6 |
|
25 |
4 |
3 |
5 |
6 |
9 |
1 |
2 |
7 |
8 |
10 |
|
26 |
3 |
4 |
6 |
1 |
5 |
7 |
8 |
2 |
10 |
9 |
|
27 |
10 |
8 |
7 |
5 |
9 |
3 |
4 |
6 |
1 |
2 |
|
28 |
1 |
3 |
4 |
5 |
9 |
2 |
6 |
7 |
8 |
10 |
|
29 |
2 |
7 |
3 |
4 |
5 |
9 |
1 |
6 |
8 |
10 |
|
30 |
5 |
4 |
9 |
1 |
7 |
6 |
2 |
3 |
10 |
8 |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+--------+
30 rows in set (0.00 sec)
68
Приложение 4
Рис.8. Графическое отображение запроса “Психохизические параметры для
каждой женщины ”
Рис.9. Графическое отображение таблицы “Виды родов” (Стержневая
сущность)
Рис.10. Графическое отображение таблицы “Социальный статус” (Стержневая
сущность)
70
Рис.11. Графическое отображение таблицы “Беременные женщины”
(Обозначение)
71
Приложение 5
Тексты скриптов
index.html(главная страница):
<html>
<head>
<title>Учебная страница по курсу БАЗЫ ДАННЫХ</title>
<meta http-equiv="Content-Type" content="text/html;
charset=koi8-r" >
<meta http-equiv="Content-Language" content="ru">
<meta name="description" content="Учебная страница по курсу
ПРИКЛАДНЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ">
<style type="text/css">
</style></head>
<body background="20.gif" text="##000099">
<a><img src="child.jpg" width="400" height="520" alt="Ребенок
:-)" align="left"></a>
<center><h1>Курсовой проект по
дисциплине<br>АДМИНИСТРИРОВАНИЕ<br>РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
</h1>
<h2>Интерфейс пользователя </h2>
<ul>
<li><a href="user/index.php">Меню</a></li>
</ul>
<h2>Интерфейс администратора</h2>
<ul>
<li><a href="admin/index.php">Редактирование таблиц</a></li>
</ul></center>
<p>&nbsp;</p>
</body>
</html>
header.php(администратора и пользователя):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=koi8-r">
<meta http-equiv="Content-Language" content="ru">
<meta name="description" content="Учебная страница по курсу
БАЗЫ ДАННЫХ">
<title>Интерфейс пользователя</title>
index.php(администратора):
<?php include 'header.php'; ?>
<frameset rows="170,*" border="0">
<br><br>
<frame src="logo.php" scrolling="no" marginwidth="0"
marginheight="0">
<frameset cols="155,*">
<frame src="menu.php"scrolling="no" marginwidth="0"
marginheight="0">
<frame src="content.php"name="window-1">
</frameset>
</head>
</html>
index.php(пользователя):
<?php include 'header.php'; ?>
<frameset rows="170,*" border="0">
<br><br>
<frame src="logo.php" scrolling="no" marginwidth="0"
marginheight="0">
<frameset cols="155,*">
<frame src="menu.php"scrolling="no" marginwidth="0"
marginheight="0">
<frame src="content.php"name="window-1">
</frameset>
<FORM METHOD="POST" action="golos.php">
<TABLE BORDER=1><TR><TD><TABLE BORDER=0>
<TR><TD>Ваше мнение о сайте?</TR></TD>
<TR><TD><INPUT TYPE=radio NAME=answer
VALUE=1>Круто!!!</TD></TR>
<TR><TD><INPUT TYPE=radio NAME=answer
VALUE=2>Нормально</TD></TR>
<TR><TD><INPUT TYPE=radio NAME=answer VALUE=3>Мне все
равно</TD></TR>
<TR><TD><INPUT TYPE=Submit NAME=vote VALUE="Голос"></TD></TR>
<TR><TD><INPUT TYPE=Submit NAME=result VALUE="Смотреть
результаты"></TD></TR></TABLE></TD></TR></TABLE></FORM>
</head>
</html>
menu.php(администратора):
<?php include 'header.php'; ?>
<body background="green.bmp" text="#336699" >
<center><a href="content.php" target="window1">Главная</a></center>
<center><img src=" funnysmile.gif" alt="Анимация"></center>
<b><center><font color="#CC0000">Таблицы</font></center></b>
<li><a href="mother.php" target="window-1">Беременные
женщины</a></li>
<li><a href="status.php" target="window-1">Социальный
статус</a></li>
<li><a href="education.php" target="window1">Образование</a></li>
<li><a href="lusher_test.php" target="window-1">Тест
Люшера</a></li>
<li><a href="lusher_colors.php" target="window-1">Цвета
Люшера</a></li>
<li><a href="emotion.php" target="window-1">Эмоциональная
стратегия</a></li>
<li><a href="thougth.php" target="window-1">Когнетивная
стратегия</a></li>
<li><a href="behavior.php" target="window-1">Поведенческая
стратегия</a></li>
<li><a href="coping_mechanism_e.php" target="window-1">Копингмеханизм</a></li>
73
<li><a href="birth.php" target="window-1">Виды родов</a></li>
<li><a href="child.php" target="window-1">Ребенок</a></li>
<center>
<a href="http://weather.sovtest.ru/weather/towns/29430.htm"
target="window-1"><img src=" fobweather2.jpg" alt="Погода">
</a>
</center>
</body>
</head>
</html>
menu.php(пользователя):
<?php include 'header.php'; ?>
<body background="green.bmp" text="#336699" >
<title>Содержание</title>
<base target="main">
<form method="GET" action="../script/s1.php">
<center><a href="content.php" >Главная</a></center>
<li><a href="mother.php" >Беременные женщины</a></li>
<li><a href="status.php" >Социальный статус</a></li>
<li><a href="education.php" >Образование</a></li>
<li><a href="lusher_test.php" >Тест Люшера</a></li>
<li><a href="lusher_colors.php" >Цвета Люшера</a></li>
<li><a href="emotion.php" >Эмоциональная стратегия</a></li>
<li><a href="thougth.php" >Когнетивная стратегия</a></li>
<li><a href="behavior.php" >Поведенческая стратегия</a></li>
<li><a href="coping_mechanism.php" >Копинг-механизм</a></li>
<li><a href="birth.php" >Виды родов</a></li>
<li><a href="child.php" >Ребенок</a></li></center>
<style type="text/css">
</style>
</head>
<center><p class="style1"><a href="zapros.php">Запрос1</a></p>
<p class="style1"><a href="zapros1.php">Запрос2</a></p>
<center><img src=" 43.gif" alt="Анимация">
</body>
</html>
Таблица «Виды родов» (пользователя):
<?php include 'header.php'; ?>
<title>Каталог товаров</title>
</head>
<body background="green.bmp" bgcolor="#f0F8FF">
<h2><center><font size="5" face="Comic Sans"
color="#0000ff">Виды родов</font></h2>
<?php
include '../in/db.php';
?>
<!-- Формирование заголовка таблицы: -->
<table border=0>
<tr align="center" bgcolor="#1e90ff">
74
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Код вида
родов&nbsp;</b></font></td></center>
<td width="250"><font
color="#0000cd"><b>&nbsp;Название вида
родов&nbsp;</b></font></td>
<?php // Формирование строк таблицы:
$sql = "SELECT id_birth, name_birth FROM Birth";
$result=mysql_query($sql, $db);
while ($myrow = mysql_fetch_array($result))
printf("<tr bgcolor=\"#6495ed\">
<td width=\"250\">&nbsp;%s</td>
<td width=\"80\">&nbsp;%s</td>
</tr>\n",
$myrow[0], $myrow[1]);
mysql_close($db);
?>
</table>
</body>
</html>
Таблица «Виды родов» (администратора):
<?php include 'header.php'; ?>
<center><title>Виды родов</title></center>
</head>
<body background="green.bmp" text="#000000" >
<h2><font color=\"#336699\">Виды родов</font></h2>
<?php
include '../in/db.php';
$submit_self = $_GET["submit_self"];
$submit_delete = $_GET["submit_delete"];
$NCL = $_GET["NCL"];
// Вывод значений полученных переменных (для отладки)
/*
echo "Идет отладка скрипта<br>\n";
echo "submit_delete= $submit_delete<br>\n";
echo "submit_self= $submit_self<br>\n";
echo "Количество удаляемых записей=", count($NCL),"<br>";
echo "Удаляемые записи:<br>";
print_r ($NCL);
echo "<br>Окончание отладка скрипта<br>\n";
*/
// Окончание Вывода значений полученных переменных
if ($submit_delete && (count($NCL) > 0)) // Будут ли удаляться
записи
{
$result=mysql_query("SELECT id_birth FROM Birth", $db);
while ($a = mysql_fetch_array($result))
for ($i=0; $i <= (count($NCL)-1); $i++)
{$BLPR = explode(" ", $NCL[$i]); // Извлекаем id_birth из
строки в $NCL в массив $BLPR
if (($a["id_birth"] == $BLPR[0]))
{
75
$sql = "DELETE FROM Birth WHERE id_birth =
$NCL[$i]";
mysql_query($sql, $db);
echo "<h3><font color=\"#336699\">Строка
id_birth",$BLPR[0], " удалена.</font></h3>\n";
break;
}
}
} // if submit_delete
elseif ($submit_self)
{ // Вставка или изменение строки в таблице Вид родов
/* Здесь можно проверить любые вставляемые или изменяемые
значения с целью реализации
ограничений, предусмотренных в нашей модели базы данных.
Например:*/
$correct = true; // Вспомогательная переменная
if (!ctype_digit("$id_birth"))
// Проверка корректности
поля id_birth (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#336699\">В поле id_birth д.б.
целое число</font></h3>\n";}
elseif($id_birth < 1) // Проверка корректности поля BL
(что это положительное число)
{ $correct = false;
echo "<h3><font color=\"##336699\">Недопустимое
значение (id_birth = ", $id_birth, ").</font></h3>\n";};
if (strlen(ltrim($name_birth)) == 0)
// Проверка
корректности поля name_birth (что оно не пустое или в названии
одни пробелы)
{ $correct = false;
// strlen получает длину строки, ltrim - вырезает пробелы в начале
строки
echo "<h3><font color=\"#336699\">Нет названия
родов.</font></h3>\n";};
if ($correct) // Если все поля корректные
{
$Is_id_birth = false;
$result=mysql_query("SELECT id_birth FROM Birth",
$db);
while ($a = mysql_fetch_array($result))
{if ($id_birth == $a["id_birth"]) // Проверка, что
строка $id_birth есть в таблице Блюда
{$Is_id_birth = true; break;}
};
if ($Is_BL1) // Если строка $id_birth существует в
таблице Блюда
{ // Изменение строки
$sql = "UPDATE Birth
SET name_birth='$name_birth'
WHERE id_birth='$id_birth' ";
76
mysql_query($sql, $db); echo "<h3><font
color=\"#336699\">Строка ",$id_birth, "
изменена.</font></h3>\n";
}
else
{ // Добавление строки в таблицу Блюда
$sql = "INSERT INTO Birth (id_birth, name_birth)
VALUES ('$id_birth', '$name_birth')";
mysql_query($sql,$db); echo "<h3><font
color=\"#336699\">Строка",$id_birth,"добавлена.</font></h3>\n"
;
}
} // if ($correct)
else { echo "<h3><font color=\"#336699\">Информация не
введена.</font></h3>\n"; };
} // Конец вставки данных в таблицу
$result = mysql_query("SELECT id_birth, name_birth FROM
Birth ORDER BY id_birth",$db);
?>
<form method="GET" action= "<?PHP echo $PHP_SELF; ?>">
<table border=0>
<tr bgcolor="#0033cc">
<td width="30"><font
color="#FFFFff"><b>&nbsp;Код&nbsp;</b></font></td>
<td width="200"><font
color="#FFFFFF"><b>&nbsp;Название родов&nbsp;</b></font></td>
<td><input type="Submit" name="submit_delete"
value="Удалить"></td>
</tr>
<?php
$result = mysql_query("SELECT id_birth, name_birth FROM Birth
ORDER BY id_birth",$db);
while ($myrow = mysql_fetch_array($result))
{
printf("<tr bgcolor='#F5DEB3'>
<td width='30'>&nbsp;%s</td>
<td width='200'>&nbsp;%s</td>
<td><input type='checkbox' name='NCL[]'
value=%s></td>
</tr> \n",
$myrow["id_birth"], $myrow["name_birth"],
$myrow["id_birth"]);
}
?>
</table>
<form method="GET" action= "<?PHP echo $PHP_SELF; ?>">
<table border=0>
<tr>
<td> <input type="Text" name="id_birth" size="3"></td>
<td> <input type="Text" name="name_birth"
size="27"></td>
</tr>
77
<tr>
<td>&nbsp;</td>
<td><input type="Submit" name="submit_self" value="Добавить
/ изменить"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="reset"
value="
Очистить
"></td>
</tr>
</center>
</table>
</form>
</table>
</form>
</body>
</html>
Таблица «Беременные женщины» (пользователя):
<?php include 'header.php'; ?>
<title>Редактирование таблицы «Беременные женщины»</title>
</head>
<body background="green.bmp" bgcolor="#f0F8FF">
<h2><center><font size="5" face="Comic Sans"
color="#0000ff">Беременные женщины</font></h2>
<?php
include '../in/db.php';
?>
<!-- Формирование заголовка таблицы: -->
<table border=0>
<tr align="center" bgcolor="#1e90ff">
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Код БЖ&nbsp;</b></font></td></center>
<td width="250"><font
color="#0000cd"><b>&nbsp;Название соц.
статуса&nbsp;</b></font></td>
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Код
образования&nbsp;</b></font></td></center>
<td width="250"><font
color="#0000cd"><b>&nbsp;Фамилия&nbsp;</b></font></td>
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Возраст&nbsp;</b></font></td></center
>
<td width="250"><font
color="#0000cd"><b>&nbsp;Рост&nbsp;</b></font></td>
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Сила левой
руки&nbsp;</b></font></td></center>
<td width="250"><font color="#0000cd"><b>&nbsp;Сила
правой руки&nbsp;</b></font></td>
78
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Уровень
стресса&nbsp;</b></font></td></center>
<td width="250"><font
color="#0000cd"><b>&nbsp;Вегетативный
коэффициент&nbsp;</b></font></td>
<td width="250"><center><font
color="#0000cd"><b>&nbsp;Коэф.
дезадаптивности&nbsp;</b></font></td></center>
<?php // Формирование строк таблицы:
$sql = "SELECT * FROM Expectant_mother";
$result=mysql_query($sql, $db);
while ($myrow = mysql_fetch_array($result))
printf("<tr bgcolor=\"#6495ed\">
<td width=\"250\">&nbsp;%s</td>
<td width=\"80\">&nbsp;%s</td>
<td width=\"250\">&nbsp;%s</td>
<td width=\"80\">&nbsp;%s</td>
<td width=\"250\">&nbsp;%s</td>
<td width=\"80\">&nbsp;%s</td>
<td width=\"250\">&nbsp;%s</td>
<td width=\"80\">&nbsp;%s</td>
<td width=\"250\">&nbsp;%s</td>
<td width=\"80\">&nbsp;%s</td>
<td width=\"250\">&nbsp;%s</td>
</tr>\n",
$myrow[0], $myrow[1], $myrow[2], $myrow[3],
$myrow[4], $myrow[5], $myrow[6], $myrow[7], $myrow[8],
$myrow[9], $myrow[10]);
mysql_close($db);
?>
</table>
</body>
</html>
Таблица «Беременные женщины» (администратора):
<?php include 'header.php'; ?>
<title>Добавление и редактирование данных на одной
странице</title>
</head>
<body background="green.bmp" text="#000000" >
<h2><font color="#336699">Беременные женщины</font></h2>
<?php
include '../in/db.php';
$submit_self = $_GET["submit_self"];
$submit_delete = $_GET["submit_delete"];
$ORG = $_GET["ORG"];
// Вывод значений полученных переменных (для отладки)
/*
echo "Идет отладка скрипта<br>\n";
echo "submit_delete= $submit_delete<br>\n";
echo "submit_self= $submit_self<br>\n";
echo "id_mother=",$id_mother,"<br>";
79
echo "id_status=",$id_status,"<br>";
echo "id_edu=",$id_edu,"<br>";
echo "surname=",$surname,"<br>";
echo "age=",$age,"<br>";
echo "height=",$height,"<br>";
echo "right_hand=",$right_hand,"<br>";
echo "left_hand=",$left_hand,"<br>";
echo "stress=",$stress,"<br>";
echo "veg_coeff=",$veg_coeff,"<br>";
echo "stress=",$stress,"<br>";
echo "Количество удаляемых записей=", count($ORG),"<br>";
echo "Удаляемые записи:<br>";
print_r ($ORG);
echo "<br>Окончание отладка скрипта<br>\n";
*/
// Окончание Вывода значений полученных переменных
if ($submit_delete && (count($ORG) > 0)) // Будут ли удаляться
записи
{ $result=mysql_query("SELECT id_mother FROM
Expectant_mother", $db);
while ($a = mysql_fetch_array($result))
for ($i=0; $i <= (count($ORG)-1); $i++)
if ($a["id_mother"] == $ORG[$i])
{
$sql = "DELETE FROM Expectant_mother WHERE
id_mother = $ORG[$i]";
mysql_query($sql, $db);
echo "<h3><font color=\"#DAA520\">Строка
",$ORG[$i], " удалена.</font></h3>\n";
break;
} // if
} // if submit_delete
elseif ($submit_self)
{ // Вставка или изменение строки в таблице
/* Здесь можно проверить любые вставляемые или изменяемые
значения с целью реализации
ограничений, предусмотренных в вашей модели базы данных.
Например:*/
$correct = true; // Вспомогательная переменная
if (!ctype_digit("$id_mother"))
// Проверка корректности
поля id_mother (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Код БЖ д.б.
целое число</font></h3>\n";}
elseif($id_mother < 1) // Проверка корректности поля
id_mother (что это положительное число)
{ $correct = false;
echo "<h3><font color=\"#FF0000\">Недопустимое
значение (код = ", $id_mother, ").</font></h3>\n";};
if (!ctype_digit("$id_status"))
// Проверка корректности
поля id_status (что это целое число)
80
{
$correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Код статуса
д.б. целое число</font></h3>\n";};
if (!ctype_digit("$id_edu"))
// Проверка корректности
поля id_edu (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Код
образования д.б. целое число</font></h3>\n";};
if (strlen(ltrim($surname)) == 0)
// Проверка
корректности поля surname (что оно не пустое или в названии
одни пробелы)
{ $correct = false;
// strlen получает длину строки, ltrim - вырезает пробелы в начале
строки
echo "<h3><font color=\"#FF0000\">Нет фамилии
беременной женщины.</font></h3>\n";};
if (!ctype_digit($age))
// Проверка корректности поля
age (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Возраст д.б.
целое число</font></h3>\n";};
if (!ctype_digit($height))
// Проверка корректности поля
height (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Рост д.б.
целое число</font></h3>\n";};
if (!ctype_digit($right_hand))
// Проверка корректности
поля right_hand (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Правая рука
д.б. целое число</font></h3>\n";};
if (!ctype_digit($left_hand))
// Проверка корректности
поля left_hand (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Левая рука
д.б. целое число</font></h3>\n";};
if (!ctype_digit($stress))
// Проверка корректности
поля right_hand (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
81
echo "<h3><font color=\"#FF0000\">В поле Правая рука
д.б. целое число</font></h3>\n";};
if (!ctype_digit($veg_coeff))
// Проверка корректности
поля left_hand (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Левая рука
д.б. целое число</font></h3>\n";};
if (!ctype_digit($KD))
// Проверка корректности поля
left_hand (что это целое число)
{ $correct = false;
// ctype_digit dозвращает
TRUE, если каждый символ в text является десятеричной цифрой,
FALSE в ином случае.
echo "<h3><font color=\"#FF0000\">В поле Левая рука
д.б. целое число</font></h3>\n";};
if ($correct) // Если все поля корректные
{
$Is_id_mother = false;
$result=mysql_query("SELECT id_mother FROM
Expectant_mother", $db);
while ($a = mysql_fetch_array($result))
{if ($id_mother == $a["id_mother"]) // Проверка,
что строка $id_mother есть в таблице Expectant_mother
{$Is_id_mother = true; break;}
};
if ($Is_id_mother) // Если строка $id_mother
существует в таблице Expectant_mother
{ // Изменение строки
$sql = "UPDATE Expectant_mother
SET id_status = '$id_status', id_edu =
'$id_edu', surname='$surname', age='$age', height ='$height',
right_hand ='$right_hand', left_hand = '$left_hand', stress =
'$stress', veg_coeff = '$veg_coeff', KD = '$KD'
WHERE id_mother='$id_mother' ";
mysql_query($sql, $db); echo "<h3><font
color=\"#DAA520\">Строка ",$id_mother, "
изменена.</font></h3>\n";
}
else
{ // Добавление строки в таблицу Беременные женщины
$sql = "INSERT INTO Expectant_mother (id_mother,
id_status, id_edu, surname, age, height, right_hand,
left_hand, stress, veg_coeff, KD)
VALUES ('$id_mother','$id_status', '$id_edu',
'$surname', '$age', '$height', '$right_hand', '$left_hand',
'$stress', '$veg_coeff', '$KD')";
mysql_query($sql,$db); echo "<h3><font
color=\"#DAA520\">Строка ",$id_mother, "
добавлена.</font></h3>\n";
}
} // if ($correct)
82
else { echo "<h3><font color=\"#FF0000\">Информация не
введена.</font></h3>\n"; };
} // Конец вставки данных в таблицу
$result = mysql_query("select * from Expectant_mother ORDER
BY id_mother",$db);
?>
<!-- Формирование заголовка таблицы: -->
<form method="GET" action= "<?PHP echo $PHP_SELF; ?>"> <!-Форма нужна для вставки элементов удаления записей -->
<table border=0>
<tr bgcolor="#DAA520">
<td width="5"><font color="#FFFFE0"><b>&nbsp;Код
БЖ&nbsp;</b></font></td>
<td width="25"><font color="#FFFFE0"><b>&nbsp;Код
статуса&nbsp;</b></font></td>
<td width="25"><font color="#FFFFE0"><b>&nbsp;Код
обр-ия&nbsp;</b></font></td>
<td width="25"><font
color="#FFFFE0"><b>&nbsp;Фамилия&nbsp;</b></font></td>
<td width="25"><font
color="#FFFFE0"><b>&nbsp;Возраст&nbsp;</b></font></td>
<td width="25"><font
color="#FFFFE0"><b>&nbsp;Рост&nbsp;</b></font></td>
<td width="25"><font color="#FFFFE0"><b>&nbsp;Правая
рука&nbsp;</b></font></td>
<td width="25"><font color="#FFFFE0"><b>&nbsp;Левая
рука&nbsp;</b></font></td>
<td width="25"><font
color="#FFFFE0"><b>&nbsp;Стресс&nbsp;</b></font></td>
<td width="5"><font
color="#FFFFE0"><b>&nbsp;ВК&nbsp;</b></font></td>
<td width="5"><font
color="#FFFFE0"><b>&nbsp;КД&nbsp;</b></font></td>
<td><input type="Submit" name="submit_delete"
value="Удалить"></td> <!-- Формирование столбца для удаления
записей -->
</tr>
<?php // Формирование строк таблицы:
while ($myrow = mysql_fetch_array($result))
{
printf("<tr bgcolor=\"#F5DEB3\">
<td width=\"5\">&nbsp;%s</td>
<td width=\"25\">&nbsp;%s</td>
<td width=\"25\">&nbsp;%s</td>
<td width=\"25\">&nbsp;%s</td>
<td width=\"25\">&nbsp;%s</td>
<td width=\"25\">&nbsp;%s</td>
<td width=\"5\">&nbsp;%s</td>
<td width=\"5\">&nbsp;%s</td>
<td width=\"5\">&nbsp;%s</td>
<td width=\"5\">&nbsp;%s</td>
<td width=\"5\">&nbsp;%s</td>
83
<td><input type=\"checkbox\" name=\"ORG[]\"
value=%s></td>
</tr>\n",
$myrow["id_mother"],$myrow["id_status"],
$myrow["id_edu"], $myrow["surname"],
$myrow["age"],$myrow["height"],$myrow["right_hand"],$myrow["le
ft_hand"],$myrow["stress"],$myrow["veg_coeff"], $myrow["KD"],
/* ключевое поле удаляемой строки */
$myrow["id_mother"]);
}
?>
</table>
</form>
<!-- Формирование строки для ввода данных: -->
<?PHP
$sql = "select id_status, name_status from Status"; //
Выбор данных из таблицы СТАТУС для формирования выпадающего
списка
$statuses=mysql_query($sql, $db);
$sql = "select id_edu, name_edu FROM Education"; //
Выбор данных из таблицы ОБРАЗОВАНИЕ для формирования
выпадающего списка
$eduses=mysql_query($sql, $db);
?>
<form method="GET" action= "<?PHP echo $PHP_SELF; ?>">
<table border=0>
<tr>
<td><font color="#336699"><strong>Код
БЖ</strong></font></td>
<td> <input type="Text" name="id_mother" size="5"></td>
</tr>
<tr>
<td><font
color="#336699"><strong>Статус</strong></font></td>
<td><select name="id_status" size="1">
<?php
// Формирование выпадающего списка статусов:
$myrow = mysql_fetch_array($statuses);
printf("<option value=\"%s\"
selected>%s</option>\n", $myrow["id_status"],
$myrow["name_status"]);
while ($myrow = mysql_fetch_array($statuses))
{
printf("<option value=\"%s\">%s</option>\n",
$myrow["id_status"], $myrow["name_status"]);
}
mysql_close($db);
?>
</select>
</td>
</tr>
84
<tr>
<td><font
color="#336699"><strong>Образование</strong></font></td>
<td><select name="name_edu" size="1">
<?php
// Формирование выпадающего списка образований:
$myrow = mysql_fetch_array($eduses);
printf("<option value=\"%s\"
selected>%s</option>\n", $myrow["id_edu"],
$myrow["name_edu"]);
while ($myrow = mysql_fetch_array($eduses))
{
printf("<option value=\"%s\">%s</option>\n",
$myrow["id_edu"], $myrow["name_edu"]);
}
mysql_close($db);
?>
</select>
</td>
</tr>
<tr>
<td><font
color="#336699"><strong>Фамилия</strong></font></td>
<td> <input type="Text" name="surname" size="5"></td>
</tr>
<tr>
<td><font
color="#336699"><strong>Возраст</strong></font></td>
<td> <input type="Text" name="age" size="5"></td>
</tr>
<tr>
<td><font
color="#336699"><strong>Рост</strong></font></td>
<td> <input type="Text" name="height" size="5"></td>
</tr>
<tr>
<td><font color="#336699"><strong>Правая
рука</strong></font></td>
<td> <input type="Text" name="right_hand" size="5"></td>
</tr>
<tr>
<td><font color="#336699"><strong>Левая
рука</strong></font></td>
<td> <input type="Text" name="left_hand" size="5"></td>
</tr>
<tr>
85
<td><font color="#336699"><strong>Уровень
стресса</strong></font></td>
<td> <input type="Text" name="stress" size="5"></td>
</tr>
<tr>
<td><font color="#336699"><strong>Вег.коэфт</strong></font></td>
<td> <input type="Text" name="veg_coeff" size="5"></td>
</tr>
<tr>
<td><font color="#336699"><strong>Коэф-т дезти</strong></font></td>
<td> <input type="Text" name="KD" size="5"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="Submit" name="submit_self" value="Добавить
/ изменить"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="reset"
value="
Очистить
"></td>
</tr>
</table>
</form>
</body>
</html>
86
Приложение 6
Prediction: oslrodi is 1.000000
Conclusive Prediction's probability: 0,825
Rule(s) explaining why the case is unexpected.
1)
If vos is 24,00 ... 37,00 (average = 27,61 )
and sRig is 26,00 ... 37,00 (average = 31,61 )
Then
oslrodi is 1.000000
Rule's probability: 0,889
The rule exists in 16 records.
Significance Level: Error probability <
0,1
2)
If vos is 24,00 ... 41,00 (average = 27,65 )
and fem is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,837
The rule exists in 36 records.
Significance Level: Error probability <
0,1
3)
If vos is 24,00 ... 33,00 (average = 26,83 )
and aLp-aPp is 0,00 ... 18,00 (average = 9,25 )
and sRig is 26,00 ... 37,00 (average = 31,75 )
Then
oslrodi is 1.000000
Rule's probability: 0,917
The rule exists in 11 records.
Significance Level: Error probability <
0,2
4)
If vos is 24,00 ... 31,00 (average = 27,93 )
and kdL is 0,20 ... 0,30 (average = 0,21 )
and kop1e is 4.000000
Then
oslrodi is 1.000000
Rule's probability: 0,867
The rule exists in 13 records.
Significance Level: Error probability <
0,2
5)
If vos is 24,00 ... 33,00 (average = 27,93 )
and kop1e is 4.000000
and aRig is 31,00 ... 40,00 (average = 35,07 )
Then
oslrodi is 1.000000
Rule's probability: 0,929
The rule exists in 13 records.
Significance Level: Error probability <
0,1
6)
If rost is 170,00 ... 176,00 (average = 171,78 )
Then
oslrodi is 1.000000
87
Rule's probability: 0,833
The rule exists in 15 records.
Significance Level: Error probability <
0,3
7)
If rost is 170,00 ... 176,00 (average = 171,87 )
and vkLuch is 0,90 ... 2,00 (average = 1,22 )
Then
oslrodi is 1.000000
Rule's probability: 0,867
The rule exists in 13 records.
Significance Level: Error probability <
0,2
8)
If rost is 170,00 ... 176,00 (average = 172,09 )
and vkLuch is 0,90 ... 1,60 (average = 1,16 )
and fem is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,909
The rule exists in 10 records.
Significance Level: Error probability <
0,2
9)
If sP-L is 1,00 ... 2,00 (average = 1,72 )
Then
oslrodi is 1.000000
Rule's probability: 0,880
The rule exists in 22 records.
Significance Level: Error probability <
0,1
If sP-L is 1,00 ... 2,00 (average = 1,55 )
and kdL is 0,20 ... 0,30 (average = 0,22 )
Then
oslrodi is 1.000000
Rule's probability: 0,909
The rule exists in 10 records.
Significance Level: Error probability <
0,2
10)
11)
If sP-L is 1,00 ... 2,00 (average = 1,73 )
and aRig is 31,00 ... 40,00 (average = 36,82 )
Then
oslrodi is 1.000000
Rule's probability: 0,909
The rule exists in 10 records.
Significance Level: Error probability <
0,2
12)
If sP-L is 1,00 ... 2,00 (average = 1,73 )
and fem is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,933
The rule exists in 14 records.
Significance Level: Error probability <
0,1
88
13)
If aLp-aPp is 0,00 ... 30,00 (average = 11,00 )
and sRig is 26,00 ... 37,00 (average = 32,00 )
and fem is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,923
The rule exists in 12 records.
Significance Level: Error probability <
0,1
14)
If aEN is 46,00 ... 168,00 (average = 84,83 )
and ¹rodi is 2,00 ... 3,00 (average = 2,25 )
and fem is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,833
The rule exists in 10 records.
Significance Level: Error probability <
0,4
15)
If aEN is 48,00 ... 300,00 (average = 101,29 )
and fem is 1.000000
and oslber is 1,00
Then
oslrodi is 1.000000
Rule's probability: 0,941
The rule exists in 16 records.
Significance Level: Error probability <
0,1
16)
If Luch1v is 2.000000
Then
oslrodi is 1.000000
Rule's probability: 0,842
The rule exists in 16 records.
Significance Level: Error probability <
0,2
If stress is 0,00 ... 8,10 (average = 1,81 )
and kdL is 0,20 ... 0,30 (average = 0,23 )
Then
oslrodi is 1.000000
Rule's probability: 0,862
The rule exists in 25 records.
Significance Level: Error probability <
0,1
If stress is 0,00 ... 6,80 (average = 0,99 )
and kdL is 0,20 ... 0,30 (average = 0,22 )
and kop1e is 4.000000
Then
oslrodi is 1.000000
Rule's probability: 0,895
The rule exists in 17 records.
Significance Level: Error probability <
0,1
17)
18)
19)
If vkLuch is 0,90 ... 2,10 (average = 1,38 )
89
20)
and kopkd1 is 0.300000
Then
oslrodi is 1.000000
Rule's probability: 0,909
The rule exists in 10 records.
Significance Level: Error probability <
0,2
If kdL is 0,20 ... 0,30 (average = 0,23 )
Then
oslrodi is 1.000000
Rule's probability: 0,838
The rule exists in 31 records.
Significance Level: Error probability <
0,1
21)
If kdL is 0,20 ... 0,30 (average = 0,24 )
and sRig is 27,00 ... 37,00 (average = 32,88 )
Then
oslrodi is 1.000000
Rule's probability: 0,938
The rule exists in 15 records.
Significance Level: Error probability <
0,1
22)
If kop1e is 4.000000
and kopkd1 is 0.300000
Then
oslrodi is 1.000000
Rule's probability: 0,909
The rule exists in 10 records.
Significance Level: Error probability <
0,2
If kop1k is 5.000000
Then
oslrodi is 1.000000
Rule's probability: 0,900
The rule exists in 27 records.
Significance Level: Error probability <
0,01
23)
24)
If kop1k is 5.000000
and aRig is 31,00 ... 41,00 (average = 36,71 )
Then
oslrodi is 1.000000
Rule's probability: 0,941
The rule exists in 16 records.
Significance Level: Error probability <
0,1
25)
If kopkd1 is 0.300000
Then
oslrodi is 1.000000
Rule's probability: 0,857
The rule exists in 12 records.
Significance Level: Error probability <
0,2
90
26)
If aRig is 31,00 ... 40,00 (average = 35,75 )
and obr is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,875
The rule exists in 14 records.
Significance Level: Error probability <
0,2
27)
If sRig is 26,00 ... 37,00 (average = 31,59 )
Then
oslrodi is 1.000000
Rule's probability: 0,844
The rule exists in 27 records.
Significance Level: Error probability <
0,1
28)
If sRig is 26,00 ... 37,00 (average = 31,37 )
and fem is 1.000000
Then
oslrodi is 1.000000
Rule's probability: 0,895
The rule exists in 17 records.
Significance Level: Error probability <
0,1
29)
If oslber is 1,00
Then
oslrodi is 1.000000
Rule's probability: 0,921
The rule exists in 35 records.
Significance Level: Error probability <
30)
If sPr is 31,00 ... 46,00 (average = 35,04 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,423
The rule exists in 11 records.
Significance Level: Error probability <
0,001
0,1
31)
If sPr is 31,00 ... 46,00 (average = 34,85 )
and aLp is 30,00 ... 156,00 (average = 60,80 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,500
The rule exists in 10 records.
Significance Level: Error probability <
0,1
32)
If sPr is 31,00 ... 46,00 (average = 35,00 )
and aEN is 46,00 ... 300,00 (average = 105,48 )
and rodi is est
Then
oslrodi is not 1.000000
91
Rule's probability: 0,476
The rule exists in 10 records.
Significance Level: Error probability <
0,1
33)
If sPr is 31,00 ... 46,00 (average = 35,43 )
and vkLuch is 0,80 ... 2,80 (average = 1,31 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,476
The rule exists in 10 records.
Significance Level: Error probability <
0,1
34)
If aLp is 30,00 ... 180,00 (average = 59,40 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,418
The rule exists in 23 records.
Significance Level: Error probability <
0,001
35)
If aLp is 30,00 ... 180,00 (average = 57,83 )
and aLp-aPp is 0,00 ... 48,00 (average = 11,15 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,450
The rule exists in 18 records.
Significance Level: Error probability <
0,01
36)
If aLp is 30,00 ... 180,00 (average = 59,12 )
and stress is 0,00 ... 8,10 (average = 2,62 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,449
The rule exists in 22 records.
Significance Level: Error probability <
0,001
37)
If aLp is 30,00 ... 156,00 (average = 60,61 )
and kop1e is 4.000000
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,472
The rule exists in 17 records.
Significance Level: Error probability <
0,01
38)
If aLp is 30,00 ... 180,00 (average = 58,08 )
and lRig is 16,00 ... 27,00 (average = 22,08 )
and rodi is est
Then
92
oslrodi is not 1.000000
Rule's probability: 0,462
The rule exists in 12 records.
Significance Level: Error probability <
0,1
39)
If aLp-aPp is 0,00 ... 48,00 (average = 9,37 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,423
The rule exists in 22 records.
Significance Level: Error probability <
0,001
40)
If aLp-aPp is 0,00 ... 48,00 (average = 10,36 )
and aEN is 48,00 ... 204,00 (average = 94,06 )
and kop1e is 4.000000
Then
oslrodi is not 1.000000
Rule's probability: 0,394
The rule exists in 13 records.
Significance Level: Error probability <
0,1
41)
If aLp-aPp is 0,00 ... 48,00 (average = 11,84 )
and aEN is 48,00 ... 300,00 (average = 100,92 )
and lRig is 16,00 ... 27,00 (average = 21,60 )
Then
oslrodi is not 1.000000
Rule's probability: 0,400
The rule exists in 10 records.
Significance Level: Error probability <
0,1
42)
If aLp-aPp is 0,00 ... 48,00 (average = 11,26 )
and aEN is 48,00 ... 300,00 (average = 99,45 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,474
The rule exists in 18 records.
Significance Level: Error probability <
0,001
43)
If aLp-aPp is 0,00 ... 48,00 (average = 9,81 )
and stress is 0,00 ... 8,10 (average = 1,69 )
and aRig is 30,00 ... 42,00 (average = 35,63 )
Then
oslrodi is not 1.000000
Rule's probability: 0,407
The rule exists in 11 records.
Significance Level: Error probability <
0,1
44)
If aLp-aPp is 0,00 ... 48,00 (average = 10,79 )
and vkLuch is 0,80 ... 2,80 (average = 1,41 )
and lRig is 16,00 ... 27,00 (average = 21,46 )
93
Then
oslrodi is not 1.000000
Rule's probability: 0,429
The rule exists in 12 records.
Significance Level: Error probability <
0,1
45)
If aLp-aPp is 0,00 ... 48,00 (average = 10,26 )
and vkLuch is 0,80 ... 2,80 (average = 1,34 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,452
The rule exists in 19 records.
Significance Level: Error probability <
0,01
46)
If aLp-aPp is 0,00 ... 48,00 (average = 9,05 )
and aRig is 30,00 ... 42,00 (average = 35,23 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,455
The rule exists in 10 records.
Significance Level: Error probability <
0,1
47)
If aLp-aPp is 0,00 ... 48,00 (average = 10,29 )
and lRig is 16,00 ... 27,00 (average = 21,93 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,464
The rule exists in 13 records.
Significance Level: Error probability <
0,1
48)
If aLp-aPp is 0,00 ... 48,00 (average = 8,03 )
and fem is 1.000000
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,471
The rule exists in 16 records.
Significance Level: Error probability <
0,01
49)
If aEN is 46,00 ... 300,00 (average = 104,33 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,426
The rule exists in 23 records.
Significance Level: Error probability <
0,001
50)
If aEN is 46,00 ... 300,00 (average = 103,71 )
and stress is 0,00 ... 8,10 (average = 2,76 )
94
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,449
The rule exists in 22 records.
Significance Level: Error probability <
0,001
51)
If aEN is 48,00 ... 300,00 (average = 106,94 )
and kop1e is 4.000000
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,486
The rule exists in 17 records.
Significance Level: Error probability <
0,001
52)
If aEN is 57,00 ... 300,00 (average = 104,63 )
and lRig is 16,00 ... 27,00 (average = 22,46 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,500
The rule exists in 12 records.
Significance Level: Error probability <
0,01
53)
If stress is 0,00 ... 8,10 (average = 2,06 )
and aRig is 30,00 ... 42,00 (average = 35,52 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,414
The rule exists in 12 records.
Significance Level: Error probability <
0,1
54)
If vkLuch is 0,80 ... 2,80 (average = 1,32 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,410
The rule exists in 25 records.
Significance Level: Error probability <
0,001
55)
If vkLuch is 0,80 ... 2,80 (average = 1,33 )
and lRig is 16,00 ... 27,00 (average = 21,87 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,500
The rule exists in 15 records.
Significance Level: Error probability <
0,01
56)
If kop1e is 4.000000
95
and lRig is 16,00 ... 26,00 (average = 21,45 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,455
The rule exists in 10 records.
Significance Level: Error probability <
0,1
57)
If kop1e is 4.000000
and fem is 1.000000
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,444
The rule exists in 12 records.
Significance Level: Error probability <
0,1
58)
If lRig is 16,00 ... 27,00 (average = 22,00 )
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,432
The rule exists in 16 records.
Significance Level: Error probability <
0,01
59)
If fem is 1.000000
and rodi is est
Then
oslrodi is not 1.000000
Rule's probability: 0,409
The rule exists in 18 records.
Significance Level: Error probability <
0,01
96
Скачать