Дипломная работа: Линия "Формализация и моделирование" учебного курса "Информатика"
Полученная таблица соответствует первой нормальной форме. Для устранения отмеченных недостатков требуется ее дальнейшая нормализация. Структура такой таблицы (отношения) описывается следующим образом:
ПОЛИКЛИНИКА (ФАМИЛИЯ, ДАТА_РОЖДЕНИЯ, УЧАСТОК, ВРАЧ, ДАТА ПОСЕЩЕНИЯ, ДИАГНОЗ)
Необходимо установить ключ записей. Здесь ключ составной, который включает в себя два поля: ФАМИЛИЯ и ДАТА_ПОСЕЩЕНИЯ. Каждая запись — это информация о конкретном посещении пациентом больницы. Если допустить, что в течение одного дня данный пациент может сделать только один визит к участковому врачу, то в разных записях не будет повторяться комбинация двух полей: фамилии пациента и даты посещения врача.
Согласно определению второй нормальной формы, все неключевые поля должны функционально зависеть от полного ключа. В данной таблице лишь ДИАГНОЗ определяется одновременно фамилией пациента и датой посещения. Остальные поля связаны лишь с фамилией, т. е. от даты посещения они не зависят. Для преобразования ко второй нормальной форме таблицу нужно разбить на две следующие:
ПОСЕЩЕНИЯ (ФАМИЛИЯ, ДАТА ПОСЕЩЕНИЯ, ДИАГНОЗ)
ПАЦИЕНТЫ (ФАМИЛИЯ, ДАТА_РОЖДЕНИЯ, УЧАСТОК, ВРАЧ)
В отношении ПОСЕЩЕНИЯ по-прежнему действует составной ключ из двух полей, а в отношении ПАЦИЕНТЫ — одно ключевое поле ФАМИЛИЯ.
Во втором отношении имеется так называемая транзитивная зависимость. Она отображается следующим образом:
Значение поля ВРАЧ связано с фамилией пациента транзитивно через поле УЧАСТОК. В самом деле, всякий участковый врач приписан к своему участку и обслуживает больных, относящихся к данному участку.
Согласно определению третьей нормальной формы в отношении не должно быть транзитивных зависимостей. Значит, требуется еще одно разбиение отношения ПАЦИЕНТЫ на два отношения.
В итоге получаем базу данных, состоящую из трех отношений:
ПОСЕЩЕНИЯ (ФАМИЛИЯ, ДАТА ПОСЕЩЕНИЯ, ДИАГНОЗ)
ПАЦИЕНТЫ (ФАМИЛИЯ, ДАТА_РОЖДЕНИЯ, УЧАСТОК)
ВРАЧИ (УЧАСТОК, ВРАЧ)
В третьем отношении ключом является номер участка, поскольку он повторяться не может. В то же время возможна ситуация, когда один врач обслуживает больше одного участка. Полученная структура БД удовлетворяет требованиям третьей нормальной формы: в таблицах все неключевые поля полностью функционально зависят от своих ключей и отсутствуют транзитивные зависимости.
Еще одним важным свойством полученной БД является то, что между тремя отношениями существует взаимосвязь через общие поля. Отношения ПОСЕЩЕНИЯ и ПАЦИЕНТЫ связаны общим полем ФАМИЛИЯ. Отношения ПАЦИЕНТЫ и ВРАЧИ связаны через поле УЧАСТОК. Для связанных таблиц существует еще одно понятие: тип связи. Возможны три варианта типа связей: «один к—одному», «один—ко—многим», «многие — ко — многим». В нашем примере между связанными таблицами существуют связи типа «один — ко — многим», и схематически они отображаются так:
Смысл следующий: у каждого врача (на каждом участке) много пациентов; каждый пациент посещает врача множество раз.
В приведенном примере показана процедура нормализации в строгом соответствии с теорией реляционных баз данных. Понимание смысла этой процедуры очень полезно для учителя.
На примере приведенной выше таблицы ПОЛИКЛИНИКА нужно увидеть три различных типа объектов, к которым относится данная информация: это пациенты поликлиники, врачи и посещения пациентами врачей. Соответственно строятся три таблицы, содержащие атрибуты, относящиеся к этим трем типам объектов и связанные между собой через общие поля.
Информационное моделирование и электронные таблицы
Изучаемые вопросы:
• Что такое математическая модель.
• Понятия: компьютерная математическая модель, численный эксперимент.
• Пример реализации математической модели на электронной таблице.
Электронные таблицы являются удобной инструментальной средой для решения задач математического моделирования.
Что же такое математическая модель? Это описание состояния или поведения некоторой реальной системы (объекта, процесса) на языке математики, т.е. с помощью формул, уравнений и других математических соотношений. Характерная конфигурация всякой математической модели представлена на рис. 2.
Рис.2. Обобщенная структура математической модели
Здесь Х и У — некоторые количественные характеристики моделируемой системы.
Реализация математической модели — это применение определенного метода расчетов значений выходных параметров по значениям входных параметров. Технология электронных таблиц — один из возможных методов реализации математической модели. Другими методами реализации математической модели может быть составление программ на языках программирования, применение математических пакетов (MathCAD, Математика и др.), применение специализированных программных систем для моделирования. Реализованные такими средствами математические модели будем называть компьютерными математическими моделями.
Цель создания компьютерной математической модели — проведение численного эксперимента, позволяющего исследовать моделируемую систему, спрогнозировать ее поведение, подобрать оптимальные параметры и пр.
Итак, характерные признаки компьютерной математической модели следующие:
• наличие реального объекта моделирования;
• наличие количественных характеристик объекта: входных и выходных параметров;
• наличие математической связи между входными и выходными параметрами;
• реализация модели с помощью определенных компьютерных средств.
В качестве примера использования электронных таблиц для математического моделирования рассмотрим задачу о выборе места строительства железнодорожной станции из учебников.
Условие задачи. Пять населенных пунктов расположены вблизи прямолинейного участка железной дороги. Требуется выбрать место строительства железнодорожной станции, исходя из следующего критерия: расстояние от станции до самого удаленного пункта должно быть минимально возможным.
Для решения задачи выбирается система координат, в которой ось Х направлена по железнодорожной линии. В этой системе задаются координаты населенных пунктов. Допустим, что расстояние между самыми удаленными в направлении оси Х пунктами равно 10 км. Начало координат выберем так, чтобы Х-координата самого левого пункта была равна 0. Тогда Х-координата самого правого пункта будет равна 10. Пусть координаты всех населенных пунктов в этой системе будут следующими:
1 - (0, 6); 2 - (2, 4); 3 - (5, -3); 4 - (7, 3); 5 - (10, 2).
В данном списке указан порядковый номер пункта и его координаты.
Ниже приводится проект электронной таблицы (табл. 10.3), решающей эту задачу.
Таблица 3
А | В | С | D | Е | F | G | Н | I | |
1 | Шаг= | 2 | км | ||||||
2 | Координаты | Положение | станции | ||||||
3 | № | X | У | 0 | DЗ+$Е$1 | ЕЗ+$Е$1 | FЗ+$Е$1 | C3+$Е$1 | НЗ+$Е$1 |
4 | 1 | 0 | 6 | К(1,1) | R(1,2) | R(1,3) | R(1,4) | R(1,5) | R(1,6) |
5 | 2 | 2 | 4 | R(2,1) | R(2,2) | R(2,3) | R(2,4) | R(2,5) | R(2,6) |
6 | 3 | 5 | -3 | R(3,1) | R(3,2) | R(3,3) | R(3,4) | R(3,5) | R(3,6) |
7 | 4 | 7 | 3 | R(4,1) | R(4,2) | R(4,3) | R(4,4) | R(4,5) | R(4,6) |
8 | 5 | 10 | 2 | R(5,1) | R(5,2) | R(5,3) | R(5,4) | R(5,5) | R(5,6) |
9 | Макс.: | Мах (D4.-D8) | Мах (Е4.-Е8) | Мах (F4.-F8) | Мах (G4:G8) | Мах (Н4:Н8) | Мах (I4:I8) | ||
10 | Миним. | расст.: | Min (D9:D9) |
Для решения задачи применяется метод дискретизации: на участке железной дороги, ограниченном Х координатами от 0 до 10, рассматривается конечное число возможных положений станции, отстоящих друг от друга на равных расстояниях (шаг дискретизации). Для каждого положения станции вычисляются расстояния до каждого населенного пункта и среди них выбирается наибольшее расстояние. Искомым результатом является положение станции, соответствующее минимальному из этих выбранных величин.
Очевидно, что точность найденного решения зависит от шага перемещения станции (шага дискретизации). В приведенной таблице идя уменьшения ее размера выбран довольно грубый шаг, равный 2 км. Тогда на всем участке помещается 5 таких шагов и, следовательно, анализируется 6 возможных положений станции (включая положение, соответствующее Х = 0).
В табл. 3 формулы вычисления расстояний условно обозначены R(i,j). Здесь первый индекс обозначает номер населенного пункта (от 1 до 5), а второй — номер положения станции (от 1 до 6). Вот примеры некоторых формул на языке электронной таблицы МS Ехсеl:
R(1,1) = КОРЕНЬ(($В4-D$3)^2+$С4^2)
R(1, 2) = КОРЕНЬ(($B5D$3)^2+$C5^2) и т.д.
Таблица 4
А | В | С | D | Е | F | G | Н | I | |
1 | Шаг= | 2 | км | ||||||
2 | Координаты | Положение | станции | ||||||
3 | № | X | У | 0 | 2 | 4 | 6 | 8 | 10 |
4 | 1 | 0 | 6 | 6,00000 | 6,32456 | 7.21110 | 8,48528 | 10,00000 | 11,66190 |
5 | 2 | 2 | 4 | 4,47214 | 4,00000 | 4.47214 | 5,65685 | 7,21110 | 8,94427 |
6 | 3 | 5 | -3 | 5,83095 | 4,24264 | 3.16228 | 3,16228 | 4,24264 | 5,83095 |
7 | 4 | 7 | 3 | 7,61577 | 5,83095 | 4.24264 | 3,16228 | 3,16228 | 4,24264 |
8 | 5 | 10 | 2 | 10,19800 | 8,24621 | 6.32456 | 4,47214 | 2,82843 | 2,00000 |
9 | Макс.: | 10,19800 | 8,24621 | 7.21110 | 8,48528 | 10,00000 | 11,66190 | ||
10 | Миним. | расст.: | 7.21110 |
В табл. 4 приведены числовые результаты расчетов решения данной задачи. Окончательный ответ следующий: железнодорожную станцию следует размещать в 4 км от начала координат. При этом самым удаленным от нее окажется населенный пункт номер 1 — на расстоянии 7,21 км. Следует иметь в виду, что полученный результат довольно грубый, поскольку его погрешность по порядку величины равна шагу (2 км).