
1. Определение сущностей
Сущность – это реальный или представляемый объект, информация о котором должна сохраняться и быть доступной. Сущность – это особый класс реальных вещей или явлений, например, «Автомобили», «Доходы» и «Клиенты», о которых что-то известно. Сущностью может быть и нечто нематериальное, например, «Кредитная история» и «Репутация», при том условии, что если она существует, то у нас есть о ней какие-нибудь сведения.
Сущность – это субъект, место, вещь, событие или понятие, содержащее информацию. Точнее, сущность – это набор (объединение) объектов, называемых экземплярами. Например, сущность «CUSTOMER» (клиент) представляет всех возможных клиентов. Каждый экземпляр сущности обладает набором характеристик. Так, каждый клиент может иметь имя, адрес, телефон и т.д. В логической модели все эти характеристики называются атрибутами сущности.
Рассмотрим на примере следующую предметную область – «Сведения о товарах и заказах».
В нашем случае можно выделить следующие сущности: «Товары», «Заказы» и, например, «Сотрудники» (составляющие заказы). Можно было бы еще выделить множество других сущностей – «Клиенты» (осуществляющие заказ), «Поставщики» (того или иного товара) и так далее – количество и состав сущностей определяется проектировщиком модели данных.
Экземпляр сущности – это конкретный экземпляр класса сущности. Например, «Ручка» – экземпляр сущности «Товары». Важно различать классы сущностей («Товары», «Заказы») и их экземпляры («Ручка», «Карандаш», «Заказ №1», «Заказ №2»).
Перед тем, как перейти к изображению сущности в диаграмме «сущность–связь», необходимо запустить CASE-средство: выберите Пуск | Программы | Computer Associates ERwin 4.0 | ERwin 4.0.
При запуске ERWin появляется основная панель инструментов и палитра инструментов. Для изображения сущности необходимы следующие кнопки:
– кнопка указателя
(режим мыши) – в этом режиме можно
установить фокус на каком-либо объекте;
– кнопка внесения
сущности «Сущность» (рисунок 1) – для
внесения сущности нужно щелкнуть левой
кнопкой мыши по кнопке внесения сущности
и один раз по свободному пространству
на модели. Повторный щелчок приведет к
внесению в модель еще одной новой
сущности. Для редактирования сущностей
или других объектов модели необходимо
перейти в режим указателя.
Рисунок 1 – Инструмент для изображения сущности
Сущность изображается в виде прямоугольника с именем над ним. Для наименования сущности используют имена существительные в единственном числе. Таким образом, выделенные нами сущности будут иметь вид, представленный на рисунке 2.
Рисунок 2 – Изображение сущностей
Именование сущности в единственном числе облегчает в дальнейшем чтение модели. Фактически имя сущности дается по имени ее экземпляра (например, «Товар», а не «Товары»).
2. Определение атрибутов
Свойство сущности, представляющее интерес, называется атрибутом. Каждая сущность должна иметь свойства, которые ее описывают; в противном случае она не может существовать.
Каждая сущность является множеством подобных индивидуальных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных экземпляров. Атрибут выражает определенное свойство объекта.
Т
ак,
для нашей сущности «Товар» можно выделить
следующие атрибуты (описывающие ее
свойства) – «Наименование товара»,
«Цена», «Единица измерения». Для
добавления атрибута необходимо двойным
щелчком по сущности открыть окно,
представленное на рисунке 3.
Рисунок 3 – Создание атрибутов сущности
Д
алее
после нажатия кнопки «New»,
в открывшемся окне необходимо записать
имя атрибута (Attribute
Name)
– «Наименование товара», в поле с выбором
типов атрибута – отметить строковый
тип (String)
– рисунок 4.
Рисунок 4 – Определение характеристик атрибута
Д
ля
точной настройки характеристик атрибута
используют закладки «General»,
«Datatype»,
«Definition»,
«Note»
и др., представленные на рисунке 3. На
данном этапе мы можем воспользоваться
также закладкой «Datatype»,
где можно выбрать конкретный тип данных,
входящих в понятие «строковый» – в
нашем случае это текст (Text)
– рисунок 5.
Рисунок 5 – Задание типа данных атрибута
А
налогично
добавляем атрибуты – «Цена» (типа
Number)
и «Ед измерения» (типа String).
После добавления всех атрибутов, сущность
«Товар» примет вид, представленный на
рисунке 6.
Рисунок 6 – Атрибуты сущности «Товар»
Д
ля
придания сущности желаемого вида можно
воспользоваться следующими опциями:
щелкая правой клавишей по прямоугольнику сущности, выбираем из контекстного меню пункт AutoResize, в результате чего горизонтальный размер прямоугольника изменится автоматически в соответствие с наибольшей длиной атрибутов (рисунок 7а).
для размещения атрибутов в желаемом порядке, необходимо «взять» атрибут левой клавишей и перетащить в желаемое место (рисунок 8). Тогда наша сущность примет вид, представленный на рисунке 7б.
а) б)
Рисунок 7 – Форматирование внешнего вида сущности
Рисунок 8 – Перемещение атрибутов в желаемом порядке
Д
ля
сущности «Заказ» выделим такие свойства
как «Сотрудник» (составляющий заказ) и
«Дата размещения». Свойство «Сотрудник»
будет типа String
(а именно – Text),
«Дата заказа» – типа DateTime
(а именно – Date).
Таким образом, наша сущность примет
вид, представленный на рисунке 9.
Рисунок 9 – Атрибуты сущности «Заказ»
Д
ля
сущности «Сотрудник» выделим атрибуты
«Фамилия», «Номер и серия паспорта»,
«Адрес». Атрибут «Фамилия» – типа String
(Text),
«Номер и серия паспорта» – типа String
(Char),
«Адрес» – String
(Text).
Сущность примет вид, представленный на
рисунке 10.
Рисунок 10 – Атрибуты сущности «Сотрудник»