Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей. Атрибуты используются для определения того, какая информация должна быть собрана о сущности.
Абсолютное различие между типами сущностей и атрибутами отсутствует. Атрибут является таковым только в связи с типом сущности. В другом контексте атрибут может выступать как самостоятельная сущность.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.
При определении инфологической модели необходимо принимать во внимание следующее:
· База данных должна удовлетворять актуальным информационным потребностям организации. Получаемая информация должна по структуре и содержанию соответствовать решаемым задачам.
· База данных должна обеспечивать получение требуемых данных за приемлемое время, то есть отвечать заданным требованиям производительности.
· База данных должна удовлетворять выявленным и вновь возникающим требованиям всех пользователей.
· База данных должна легко расширяться приреорганизации и расширении предметной области.
· База данных должна легко изменяться при изменении программной и аппаратной среды.
Инфологическая модель отображает реальный мир в некоторые понятные человеку концепции, полностью независимые от параметров среды хранения данных. Существует множество подходов к построению таких моделей: графовые модели, семантические сети, модель "сущность-связь" и т.д. Наиболее популярной из них оказалась модель "сущность-связь" или называемая ещё ER-моделью (от англ. Entity-Relationship, т.е. сущность-связь).
Инфологическая модель применяется после словесного описания предметной области.
Между сущностями могут быть установлены связи – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). Она показывает, как связаны экземпляры сущностей между собой. Если связь устанавливается между двумя сущностями, то она определяет взаимосвязь между экземплярами одной и другой сущности
Связи делятся на три типа по множественности: один-ко-одному (1:1), один-ко-многим (1:М), многие-ко-многим (М:М).
Связь один-ко-одному означает, что экземпляр одной сущности связан только с одним экземпляром другой сущности.
Связь один-ко-многим (1:М) означает, что один экземпляр сущности, расположенный слева по связи, может быть связан с несколькими экземплярами сущности, расположенными справа по связи.
Связь «многие-ко-многим (М:М) означает, что несколько экземпляров первой сущности могут быть связаны с несколькими экземплярами второй сущности, и наоборот. Между двумя сущностями может быть задано сколько угодно связей с разными смысловыми нагрузками.
Связь любого из этих типов может быть обязательной, если в данной связи должен участвовать каждый экземпляр сущности, необязательной – если не каждый экземпляр сущности должен участвовать в данной связи. При этом связь может быть обязательной с одной стороны и необязательной с другой стороны.
Проведем инфологическое проектирование базы данных технологического процесса.
Сущность «Продукция» имеет присущие ей экземпляры сущности: код продукции, наименование, срок изготовления, код номенклатуры (рис.1).
Рис.1. Сущность «Продукция»
Модель базы данных предназначена для получения достоверной и оперативной информации, формирования выходных документов.
Представим предметную область как взаимодействие двух сущностей – «Продукция» и «График выпуска продукции».
«Продукция» состоит в «Номенклатуре продукции». Сущность «Номенклатура продукции» имеет следующие экземпляры сущности: код номенклатуры, наименование, количество продукции в номенклатуре (рис.2).
Рис. 2. Сущность «Номенклатура продукции»
Сущность «График выпуска продукции» для обеспечения выполнения объявленных функций должна характеризоваться следующими экземплярами: код графика, код продукции, период выпуска, количество продукции (рис.3).
Рис.3. Сущность «График выпуска продукции»
Взаимодействие сущностей «Продукция» и «График выпуска продукции» реализуется с помощью отношения «Номенклатура продукции» (рис.4). Мощность связи – один-ко-многим (1:М).