- •1. Концепция баз данных
- •1.1. Обоснование концепции баз данных. История вопроса
- •Количество абитуриентов по областям
- •1.2. Архитектура представления информации в концепции бд
- •Внешние представления
- •Файл 1
- •Общие сведения о студенте
- •Сведения об учебе
- •Сведения о неуспевающих студентах (количество)
- •1.3. Понятия схемы и подсхемы и их использование в субд
- •2. Информационная система сферы управления - основная область использования бд
- •3. Модели данных
- •3.1. Понятия модели и структуры данных
- •3.2. Линейная модель данных
- •3.3. Иерархическая структура (модель) данных
- •Студент
- •Семестр
- •3.4. Сетевая структура (модель) данных
- •Итоговая аттестация
- •Семестр
- •Студент
- •Студент1
- •Студент2
- •3.5. Реляционная модель данных
- •3.5.1. История применения реляционной модели данных
- •3.5.2. Основные понятия реляционной модели данных
- •3.5.3. Ключ отношения
- •3.5.4. Нормализация отношений
- •Студент
- •Студент
- •Студент
- •Общежите
- •3.5.5. Операции реляционной алгебры
- •Студент
- •Студенто
- •Нестудент
- •Встречи
- •Делитель
- •Студент
- •Студент
- •Студент
- •Семестр
- •3.5.6. Языки обработки реляционных бд
- •Студент
- •Аудитория
- •Делитель
- •Преподаватель
- •Студент
- •Студент
- •Итоговая аттестация
- •4. Процесс проектирования бд
- •4.1. Построение концептуальной информационной модели ПрО
- •4.1.1. Основные подходы для концептуального моделирования
- •4.1.1.1. Декомпозиционный подход
- •4.1.1.2. Интеграционный подход
- •1.1. Идентификация информационных потребностей пользователей предполагает:
- •1.2. Представление выявленных форм отображения информационных потребностей пользователей в виде исходных отношений предусматривает выполнение следующих действий:
- •1.2.1. Рекомендации по выявлению атрибутов
- •1.2.2. Определение вторичных атрибутов
- •2. Уточнение множества исходных отношений состоит из:
- •3. Связывание отношений и простых структур в кимпо
- •4.1.2. Модели, используемые в концептуальном проектировании
- •4.2. Выбор субд
- •4.3. Проектирование физической структуры бд
- •4.4. Case-средства, используемые при проектировании бд
- •4.5. Пример проектирования бд
формализованная интеграция описаний новых потребностей с базовой схемой данных.
Описание информационных потребностей в виде структур, близких к естественным формам представления информации (документ, запрос, файл).
Декларативное описание доменов и отношений между ними как часть процесса фиксации базовых знаний о ПрО.
Использование информации о доменах для определения наличия и типа отношений между элементами схемы данных.
Ниже рассмотрим каждый этап методики проектирования КИМПО. 1. Анализ информационных потребностей пользователей На этом этапе осуществляется основной семантический анализ ПрО (через информационные потребности пользователей), результатом которого является первоначальная формализация ее информационного описания в виде множества исходных отношений.
Анализ информационных потребностей пользователей заключается в следующем:
идентификация информационных потребностей пользователей;
представление выявленных форм отображения информационных потребностей пользователей в виде исходных отношений.
1.1. Идентификация информационных потребностей пользователей предполагает:
выявление конкретных форм отображения информационных потребностей пользователей;
определение характеристик выявленных форм отображения информационных потребностей пользователей, необходимых для последующего анализа.
При выявлении конкретных форм отображения информационных потребностей необходимо учитывать, что даже при широком внедрении компьютеров во все сферы деятельности человека, документы и ныне являются основной формой представления информации о состоянии объектов разной природы.
Однако документы отражают сложившиеся информационные требования, в то время как новые и потенциальные потребности можно, видимо, выявить только в процессе интервьюирования конечных пользователей с формализацией таких интервью в виде предполагаемых информационных запросов.
И, наконец, сегодня трудно найти предметную область, где бы не эксплуатировались компьютерные системы обработки информации. Обрабатываемые файлы также можно считать формой отображения информационных потребностей пользователей, причем в большинстве случаев это интеграция потребностей многих пользователей.
Таким образом, типовыми формами отображения информационных потребностей пользователей являются:
документы;
информационные запросы пользователей;
файлы существующей системы обработки информации.
1.1.1. Выявление информационных документов осуществляется в процессе специального обследования подразделений организации, деятельность которой и является объектом информационного моделирования.
Перечень документов можно выявить в результате
опроса работников подразделения;
анализа архива документов;
анализа должностных инструкций работников;
во многих организациях утверждены и поддерживаются в актуальном состоянии альбомы документов, которые применяются в организации.
Весьма важным для последующего анализа и формализации информационных потребностей пользователей является степень структуризации документов.
По уровню структурированности информации документы можно классифицировать на:
неструктурированные;
слабоструктурированные;
хорошо структурированные.
К неструктурированным относятся документы с преимущественно текстовой формой представления информации: письма; отчеты; пояснительные записки; справки; статьи; методические материалы и другие текстовые документы.
К слабоструктурированным документам относятся документы, смысловое содержание которых представлено в текстовом виде, но оформлено по определенным стандартам. Это такие документы как: приказы; контракты; акты; протоколы; представления и другие документы.
Значение виртуальный устанавливается для документов, пока еще не существующих в исследуемой ПрО. Прежде всего, это информация, необходимая для расчета вторичных атрибутов, но не входящая ни в один из реальных документов. Виртуальные документы будут определены на более поздних этапах анализа ПрО.
Значение запрос устанавливается для документов, в виде которых оформляется ответ на запрос.
Выявление информационных запросов осуществляется в процессе интервьюирования работников подразделений, в особенности тех, кто заполняет документы (источники) и тех, кто использует содержащуюся в них информацию (потребителей). При этом вначале необходимо предложить пользователю представить свои запросы в виде документа - ответа на запрос, а если запрос связан с обобщением некоторой информации (своды, max, min, среднее значение, группирование объектов и т.п.), то с приведением документов, содержащих исходную информацию. Если пользователь затрудняется оформить запрос в виде документа, проектировщик должен сделать это сам и представить результат пользователю для согласования. Необходимо определить тип запроса в следующей классификации:
регламентный - запрос, по фиксированной форме выполняемый по определенному регламенту (регулярно или по запросу пользователя). Его еще можно назвать каталогизированным запросом;
нерегламентный - запрос, для которого невозможно определить ни время (частоту) появления, ни конкретный состав атрибутов. Можно лишь определить множество атрибутов, из которых будут формироваться конкретные запросы. Например, запросы по кадровой информации работников подразделения.
Выявление информационных файлов лучше всего осуществлять вместе со службой эксплуатации систем обработки информации. При этом, прежде всего, необходимо выбрать те файлы, которые содержат исходную (первичную) информацию. Для них необходимо зафиксировать и способ (технологию) отображения значения данных в файле. Это может быть:
документ, информация из которого переносится в файл;
ввод значений данных в процессе анализа объекта (опрос, наблюдение и т.п.);
импортирование из файла внешних предметных областей.
Далее необходимо выявить те файлы, информация которых отображается в выходные документы или экспортируется во внешние предметные области. И, наконец, необходимо выявить файлы с промежуточной информацией и провести опрос потенциальных пользователей с целью выявления запросов по этой информации.
1.2. Представление выявленных форм отображения информационных потребностей пользователей в виде исходных отношений предусматривает выполнение следующих действий:
выявление атрибутов и порядка их следования в отношении;
выявление множественности значения атрибута;
определение домена атрибута;
выявление вторичных атрибутов;
оформление результатов идентификации атрибутов в виде строки таблицы описания исходных отношений.
1.2.1. Рекомендации по выявлению атрибутов
Для выявления атрибутов исходного отношения, полученного на основе документов, предлагаются следующие рекомендации:
каждое заполняемое поле анкетного документа представляется отдельным атрибутом в том же порядке следования;
каждый столбец (графа) табличного документа представляется отдельным атрибутом в том же порядке следования;
анкетная часть заголовка табличного документа представляется таким же образом, как документ типа анкета, и располагается в начале отношения;
в названии документа может быть употреблено понятие, которое можно, при определенных условиях, вынести в начало анкетной части документа в виде заполняемого поля, а следовательно представить в виде атрибута;
в названии таблицы многотабличного документа может быть употреблено понятие, которое можно, при определенных условиях, внести в таблицу в качестве нулевого столбца, а следовательно представить в виде атрибута;
если в подвале табличного документа есть анкетная часть, то она представляется в виде атрибутов таким же образом, как и документ типа анкета с расположением атрибутов в отношении после атрибутов, соответствующих анкетной части документа (перед атрибутами, соответствующими первой таблице).
Некоторым понятиям из названия документа (таблицы) может соответствовать атрибут исходного отношения если:
это понятие является одним из возможных значений некоторого классификатора;
в предметной области возможно заполнения такого же документа для альтернативного понятия.
Многотабличный документ можно представить в виде нескольких (по числу таблиц) отношений. При этом анкетная часть (заголовка, подвала и, возможно, из названия документа) вначале присоединяется к первой таблице. Затем определяются ключевые атрибуты, входящие в анкетную часть документа. Они присоединяется к каждой таблице многотабличного документа.
При установлении содержательного имени рекомендуется использовать в качестве базы:
имя столбца в табличном документе;
понятие, соответствующее имени заполняемого поля в документе типа анкета или в анкетной части табличного документа;
имя типа объекта для описания которого используется атрибут;
значимые слова из имен ключевых атрибутов.
При анализе содержательных имен атрибутов одной таблицы следует обратить внимание на следующие особенности и зафиксировать их при обнаружении:
имеется связь между атрибутами типа «всего - в том числе...» или «Всего - из них»;
в содержательных именах разных атрибутов можно выделить понятия, которые могут образовать классификатор.
Для выявления атрибутов исходного отношения, получаемого на основе запросов, предлагаются следующие рекомендации:
в результате опроса пользователей, им предлагается представить каждый запрос в виде табличного или анкетного документа;
проводить дальнейший анализ запроса как документа.
Для выявления атрибутов исходного отношения, формируемого на основе существующих файлов, предлагаются следующие рекомендации:
в качестве атрибутов выбираются поля файлов;
определение содержательного имени атрибута необходимо осуществить с администратором данных или постановщиком задачи по актуализации файла.
1.2.2. Определение вторичных атрибутов
Вторичность атрибутов выявляется на основе анализа правила формирования значения:
первичным назовем атрибут, значение которого для объекта фиксируется, например Ф.И.О., должность, адрес и т.п.
вторичным назовем атрибут, значение которого определяется на основе значений других атрибутов, например, объем продаж, количество сотрудников и т.п.
Вторичный атрибут чаще всего имеет числовой тип и определяется на основе расчета, что может служить формальным признаком выбора атрибута для анализа на его вторичность.
Типовыми для организационных систем являются следующие процедуры расчета вторичных атрибутов:
суммирование значений атрибута в группе, определяемой другим атрибутом (своды);
подсчет числа записей (объектов), удовлетворяющих определенным условиям (в группе);
максимальное, минимальное и среднее значение атрибута в группе;
отклонение от максимального, минимального, среднего;
доля, процент, пропорциональное разбиение, расчет по норме.
Для вторичного атрибута необходимо:
выявить фактический документ или файл, с использованием значений атрибутов которого осуществляется определение его значения;
сформировать виртуальный документ, с использованием атрибутов которого осуществляется определение его значений (если фактического документа или файла нет);
Как правило, множество вторичных атрибутов одного документа рассчитывается на основе атрибутов, которые также можно представить в виде одного документа, поэтому вторичные атрибуты одной таблицы следует анализировать в комплексе.
При определении концептуальной модели не принимается решение о целесообразности хранения атрибутов - это дело проектирования физической БД и ИС. Поэтому на данном этапе важно отразить потребность во вторичных атрибутах и выявить первичные атрибуты, необходимые для их получения. Если выполняется комплексный проект вплоть до создания ИС, то для вторичных атрибутов целесообразно зафиксировать и алгоритм расчета, включив его в ранее упомянутый раздел правила формирования значений атрибутов.
1.2.3. В результате анализа доменов атрибутов должен быть получен один из следующих результатов:
диапазон возможных значений;
правила формирования исходных значений;
словарь возможных значений.
Если для атрибута невозможно определить ни диапазон возможных значений, ни словарь возможных значений, то проставляется значение правило N, организуется специальный раздел правила формирования атрибутов и туда вносится описание правила под соответствующим номером N.
Определяя домен атрибутов в виде словаря возможных значений, необходимо учитывать:
могут ли быть множественными значения атрибута у некоторых объектов в анализируемом документе;
могут ли в ПрО встретиться объекты, для которых в домене нет необходимого значения;
количество возможных значений.
Если множественные значения возможны, то необходим дополнительный анализ корректности определения атрибута: нет ли здесь совмещения двух атрибутов в одном (и тогда создать два атрибута), или имеет место множественность, которую необходимо исключить в дальнейшем путем нормализации по 1НФ.
Если выявлен объект, для которого в домене-словаре нет возможного значения, необходимо также сделать дополнительный анализ, в результате которого возможны следующие решения:
изменение состава словарей;
добавление в словарь нового значения;
добавление в словарь значения «прочее».
Для пояснения способов сокращенного представления словарей совпадающих, соподчиненных и пересекающихся атрибутов таблица заполнена гипотетическим примером. Такой подход вполне оправдан еще и потому, что для установления связуемости отношений необходимо будет определять сопоставимость атрибутов - претендентов на атрибуты связи. Это тем более целесообразно, потому как атрибуты, домены которых могут быть представлены словарем, являются основными претендентами на атрибуты связи.
Одновременно с анализом возможных значений атрибутов проводится анализ их сопоставимости:
= , если атрибуты совпадают (домены совпадают Dl = D2); < , если атрибут первого отношения соподчинен атрибуту второго (D1 с D2);
> , если атрибут второго отношения соподчинен атрибуту первого (Dl =) D2);
х , если атрибуты сопоставимы (Din D2 ^ 0);
+ , если атрибуты совместимы (D1 u D2 имеет смысл в качестве домена исследуемой предметной области).
Анализ атрибутов на сопоставимость следует проводить в следующем порядке:
Прежде всего на сопоставимость проверяются все ключевые атрибуты, т.к. именно они являются основными атрибутами связи.
Далее наиболее вероятными претендентами на атрибуты связи, как уже отмечалось ранее, являются атрибуты, домены которых являются словарями и лишь иногда атрибутами связи могут быть числовые данные.
Важнейшим элементом формирования отношения является определение ключевых атрибутов, т.е. атрибутов, значение которых однозначно идентифицируют любой кортеж отношения (строку таблицы документа).
Вместе с тем, ключевые атрибуты определяют смысл остальных атрибутов отношения: без использования ключевых атрибутов, значения неключевых теряют смысл.
Можно предложить следующие рекомендации по выявлению ключевых атрибутов. Ключевыми атрибутами, как правило, являются:
боковик таблицы (крайний левый столбец);
атрибут, выявленный при анализе названия таблицы (документа);
первые атрибуты анкеты и анкетной части смешанного документа;
атрибут, идентифицирующий конкретный объект, описание которого содержится в документе;
атрибут, определяющий время, за либо на которое зафиксирована информация, содержащаяся в документе;
атрибут, значение которого является классификационным признаком, определяющим некоторую сторону описания объекта или сферу его деятельности.
Следует иметь в виду, что все атрибуты также составляют ключ отношения, поэтому в качестве первичного ключа выбирается минимальное число атрибутов, при котором сохраняются свойства ключа. В отношении может быть более одного ключа (например, номер зачетной книжки), тогда в качестве первичного ключа выбирается наиболее компактная запись или атрибуты, в большей степени отражающие специфику ПрО.
2. Уточнение множества исходных отношений состоит из:
свертка атрибутов в новое отношение;
нормализация отношений;
выявление отношений типа кодификатор.
Свертка подмножества атрибутов некоторого отношения в дополнительное отношение осуществляется в том случае, если в именах атрибутов этого подмножества просматриваются значения одного классификатора. В результате свертки - получаем следующие два отношения, связанные по типу иерархии:
новое отношение, состоящее из ключа исходного отношения плюс атрибут, образованный на основе классификатора, полученного из названий атрибутов и также входящий в состав ключа этого отношения плюс неключевой атрибут (возможно несколько атрибутов), соответствующий значению свернутых атрибутов из исходного отношения;
из исходного отношения исключается множество «свернутых» атрибутов и это усеченное отношение будет старшим в связи с новым отношением, соответствующим «свернутым» атрибутам.
При нормализации отношения, не удовлетворяющего одной из нормальных форм, получаем два отношения, связанные по типу 1 :М.
При нормализации отношения, не удовлетворяющего 1НФ по множественности значений атрибута, получаем два отношения, связанные по типу 1:М, причем:
старшим становится исходное отношение за исключением атрибута с множественными значениями;
подчиненным становится отношение, состоящее из ключа исходного и атрибута с множественными значениями, причем подчиненное отношение состоит только из ключевых атрибутов;
получается простая структура типа иерархия.
При нормализации отношения, не удовлетворяющего 2НФ, получаем два отношения, связанные по типу 1 :М, причем:
старшим становится отношение, содержащее неключевые атрибуты, зависящие от части ключа, и ту часть ключа, от которой они зависят;
подчиненным становится исходное отношение, за исключением атрибутов, зависящих от части ключа;
получается простая структура типа иерархия.
При нормализации отношения, не удовлетворяющего ЗНФ, получаем два отношения, связанные по типу 1 :М, причем:
старшим становится отношение, состоящее из неключевых атрибутов, транзитивно зависящих от ключа исходного отношения, плюс неключевой атрибут исходного отношения, от которого (через который) зависят упомянутые выше атрибуты;
ключом старшего отношения становится атрибут, неключевой в исходном отношении, но от которого зависят неключевые атрибуты, вызвавшие неудовлетворение исходного отношения 3-ей нормальной форме;
подчиненным является исходное отношение, за исключением атрибутов, транзитивно зависящих от ключа; неключевой атрибут, от которого зависят другие неключевые атрибуты, вызвавшие неудовлетворение третьей нормальной форме, остается в «подчиненном» отношении;
получается простая структура типа комментарий.
2.3. Выявление отношений типа кодификатор В общем-то вопрос о кодировании значений атрибутов, т.е. о представлении информации в памяти компьютера относится к проектированию физической структуры БД. Однако кодификатор является дополнительным отношением, которое необходимо отобразить в концептуальной модели, поэтому решение о целесообразности кодирования атрибута необходимо и возможно принять уже на этапе определения КИМПО.
Полагаем, что использование кодификатора целесообразно, если объем некодированного представления больше, чем объем кодированного, что может быть представлено следующим выражением
nlt>nlk + m{l, + lk) ^
где п - число кортежей в отношении;
т - число элементов в словаре возможных значений (в кодификаторе);
- размер не кодированного (текстового) значения;
h
к - размер кода,
Если принять ^t - ^ 1к ^эт0 заниженная граница, на самом деле соотношение от 5 до 10,) то
5 nlk > nlk + 6 mlk
п/т > 6/4
т.е. значения атрибута, домен которого есть словарь, целесообразно кодировать, если число кортежей в исходном отношении в полтора раза больше числа возможных значений атрибута.
Если в КИМПО есть несколько (S) атрибутов, определенных на одном и том же домене, то условие принимает вид:
.У S
(2)
где T2j- количество кортежей в отношении, в который входит i-й атрибут
положим,
где d - среднее количество кортежей в отношениях, в которых находятся кодируемые атрибуты, тогда: ltSri > lkSn + m(lt + lk) .
5
Если ^ 5/£,to:
т.е. даже при двукратном использовании такого атрибута, как Ф.И.О., целесообразно использовать кодификатор (при условии, что среднее количество кортежей (рассчитываемое по формуле (3)) в отношениях, в
3_
которых находятся кодируемые атрибуты, больше, чем 4 * кол-во кор-
2
тежей в кодификаторе ).
