Q Виды БД
A В зависимости от содержания БД (выбросы, концентрации, заболеваемости и т.д.) и от создавшего БД ведомства (федеральное, региональное, местное) БД могут иметь разные форматы. Ниже перечислены основные разновидности форматов, для которых отлаживалась программа.
Набор независимых "плоских" таблиц | Реляционная БД: связанные таблицы |
В ряде случаев создается специальный файл с перечнем источников выбросов, химических веществ или станций метеорологических измерений. К нему подцепляется как "slave" файл с характеристиками выбросов или с временным рядом измеренных концентраций химических веществ. При этом источник выброса, вещество и/или станция измерения кодируется номером в специальной колонке.
В других случаях реляционная взаимосвязь не используется и название источника выброса, химического вещества или станции измерения вносится напрямую в соответствующую колонку плоской таблицы. |
|
Содержание: регистр случаев | Содержание: средние значения |
На уровне города или района существуют две основные БД типа регистра случаев: результаты ежедневных измерений метеорологических параметров и загрязнения воздуха, а также регистр обращений в лечебные учреждения. В первом случае каждая строка записи содержит численное значение измеряемого параметра. Во втором случае содержание каждой записи имеет характер логической переменной ("да - нет"), указывающей на сам факт обращения. Из-за этой разницы при построении агрегированных характеристик в первом случае получается средняя концентрация за период времени и т.п., а во втором случае - среднее число обращений за единицу времени.
На региональном и федеральном уровне, как правило, имеются только БД средних значений: среднемесячные или среднегодовые концентрации, средняя обращаемость в разбивке по группам заболеваний и т.д. Эти БД, естественно, менее информативны, чем регистры случаев, так как не позволяют изучать острые отклики на кратковременные интенсивные загрязнения и не позволяют определять экспозиции в связи с отсутствием индивидуальной информации об обратившихся. |
|
Названия координатных интервалов (например, веществ) - в заголовках столбцов таблицы | Названия координатных интервалов (например, веществ) - в клетках таблицы |
В ряде случаев для каждого загрязняющего вещества отводится своя колонка в таблице измерений. При этом код вещества находится в заголовке колонки, и каждое измерение набора концентраций представляет собой одну запись в БД.
В других случаях, все концентрации записываются в одной колонке, и вводится дополнительная колонка, содержащая код вещества. В этом случае каждому измерению концентрации во временном ряду соответствует целый набор записей БД по числу веществ. Те же варианты существуют для БД выбросов: одному источнику может соответствовать одна запись или несколько записей по числу веществ. |
|
Все данные записаны в таблицу в явном виде как одно число | Некоторые данные должны вычисляться по нескольким числам, например возраст - по дате рождения и обращения |
В большинстве случаев записанные в БД числа напрямую импортируются в кубы данных.
Исключение представляет БД обращений в медицинские учреждения, где не всегда возраст обратившегося указывается в явном виде, и тогда он должен вычисляться по дате рождения и дате обращения. Модельные алгоритмы для расчета распространения выброса и риска производят вычисления на основе целого набора чисел из БД, при этом используются как основные БД (например, данные о выбросах), так и вспомогательные (например, данные метеорологических измерений). |
|
Год и территория записаны внутри таблиц в колонках "Время" и "Место" | Год и территория закодированы в названии файла таблицы. Для каждого места / времени - свой файл |
Корректное заполнение БД требует наличие отдельных колонок для даты и времени измерения, а также для территориальной единицы (метеостанция, поликлиника и т.д.), к которой относится запись.
К сожалению, таких "корректных" БД меньшинство, а по большей части данные о месте или времени закодированы в названии файла БД, например moscow1200.dbf - Москва, декабрь 2000 года. В других случаях такие "кодовые имена" даются строкам или колонкам таблицы, куда данные записываются, подобно тому, как описано здесь. Естественно, в этих случаях невозможно прочитать БД и правильно распределить данные по времени и территории, не задав конкретный способ расшифровки подобных обозначений. Это делается при подключении БД к программе |
|
Кодировка всех значений в таблице числовая | Кодировка некоторых значений (например, румба ветра или пола) - буквенная |
Как правило, основное содержимое БД - числа. "Качественные" признаки, такие как название территории, пол больного и др. тоже часто кодируются индексами с использованием реляционной связи с таблицей индексов. Однако те же самые переменные могут быть записаны в БД, как числом, так и кодовым буквенным обозначением. Например, пол: 1/2 или М/Ж, направление ветра: числом в градусах или кодом румба (СВ, З и т.д.).
При использовании "говорящих" кодов, как правило, таблица числовых индексов для них не создается. В этих случаях необходимо при подключении БД к программе задать количественную расшифровку таких обозначений. |
|
Кодировка времени стандартная (например, 1/11/00) | Кодировка времени нестандартная |
Корректная запись даты и времени в БД должна следовать европейской системе обозначений (31.12.2000) или американской системе обозначений (12/31/2000), причем в соответствии с тем, какая система используется на компьютере, где работает программа.
К сожалению, на практике время записывается по-разному: без указания года, с разнесением даты и месяца по разным колонкам, с использованием буквенных обозначений месяца, с использованием дефиса и др. разделителей и т. д. Поэтому, как правило, при подключении БД необходима предварительная настройка способа подключения даты и времени. |
|
Формат данных внутренний для поддерживающей их базы данных | Формат данных экспортный или универсальный (например, dbf) |
Программа работает только с универсальным экспортным форматом БД (*.dbf), а также с БД типа Paradox (*.db). В то же время, многие БД ведутся во внутреннем формате, поддерживающих их систем (Access и т.д.). С такими БД программа не умеет работать напрямую: их надо предварительно экспортировать в формат DBF, причем полностью, т.е. с сохранением реляционных отношений, если они имеются. | |
Кодировка русского текста в таблицах - для DOS | Кодировка русского текста в таблицах - для Windows |
Программа читает БД, сформированные как под DOS, так и под Windows, если в них корректно указана кодировка русскоязычных текстов. В ряде случаев это бывает сделано некорректно, например, русскоязычный текст внутри БД имеет кодировку DOS, а для колонки, в которой он находится, указана кодировка Windows. В этом случае программа может показывать нечитабельные символы, и необходимо переформатировать БД (например, средствами Borland DataBase Desktop), приведя ее к корректному виду. |
Q Как построить дерево интервалов и как установить соответствие между интервалами и кодами БД
A Здесь мы рассматриваем построение координатного дерева "под задачу" [см. выше]. Для этого используется специальный модуль. В зависимости от блока, из которого он вызывается, в нем доступны те или иные координаты. По умолчанию, по каждой координате есть два интервала "Весь набор", первый из которых - формальный (то есть ему ничего не соответствует в кубе данных), а второй - реальный. Рекомендуется заменить второй из них на максимальный группирующий интервал, выбранный соответственно задаче: охватываемый период времени, охватываемая территория, "Все загрязнители", "Все источники" и т.д. Для временной и пространственной координаты имеет смысл задать группировку типа "среднего значения", для координат "Источник" и "Загрязнитель" - группировку типа "Суммирование". В зависимости от способа расчета полного риска, в блоке риска используются и более сложные способы агрегации риска по загрязнителям.
Внутрь группирующего интервала следует вставить интервалы, соответствующие данным из БД (см. здесь). Они будут заполняться при чтении из БД, а агрегация будет происходить при передаче данных из входного в выходной куб (перетаскивание мышью).
В каждом блоке - своя специфика задания координатных интервалов. В блоке выбросов обычно нет данных по временной динамике, поэтому задается единственный интервал с кодовым названием "Всегда". Программа интерпретирует такие данные как применимые к любому моменту времени. Обычно для выбросов также нет разбиения по территориям, отличного от разбиения по источникам выброса, поэтому координата "Территория" также задается кодовым словом "Везде". Однако можно и сгруппировать источники по территориям, например заводы - по районам города. Это имеет смысл только для расчета суммарного выброса по территориям. На расчет распространения выбросов и модельных концентраций это не влияет: туда входят только координаты источников.
Для сопоставимости данных по выбросам и концентрациям или по концентрациям и рискам, они должны содержать одни и те же интервалы времени. Соответствие по территориям не обязательно, так как оно устанавливается в ходе расчета по модели распространения выброса или по модели формирования экспозиции.
Для сокращения объемов кубов данных, в блоке выбросов параметры источников размещены вдоль той же координаты, что и загрязнители. В блоке концентраций метеопараметры размещены также вдоль загрязнителей.
В блоке риска входной куб данных не подсоединен к БД, так как БД по риску не существует. Он используется как хранилище стандартных коэффициентов экспозиции. Поэтому ни модифицировать его координатные интервалы, ни пытаться считать в него данные не следует. Интервалы выходного же куба данных можно свободно устанавливать в зависимости от задачи, но, применяя их, не следует обновлять координатные интервалы входного куба.
[Верх]
Блоки | Координаты | |||||
---|---|---|---|---|---|---|
Загрязнители | Территория | Время | Отрасль | Экспозиционная группа | Тип риска | |
Выбросы | * | * | * | * | ||
Концентрации | * | * | * | |||
Риск | * | * | * | * | * |