ПРИМЕР ИНФОЛОГИЧЕСКОГО ПРОЕКТА БАЗЫ ДАННЫХ
В [5] приведен отличный («классический») пример построения инфологической модели базы данных «Питание», где должна храниться информация о блюдах (рис.П.4.1), их ежедневном потреблении, продуктах, из которых приготавливаются эти блюда, и поставщиках этих продуктов. Информация предназначена для использования поваром и руководителем небольшого предприятия общественного питания, а также его посетителями.
1. Лобио по грузински Ломаную очищенную фасоль, нашинкованный лук посолить, посыпать перцем и припустить в масле с небольшим количеством бульона; добавить кинзу, зелень петрушки, рейган (базилик) и довести до готовности. Затем запечь в духовке. Фасоль стручковая (свежая или консервированная) 200, Лук зеленый 40, Масло сливочное 30, Зелень 10. Выход 210. Калорий 725. |
Рис. П.4.1 Пример кулинарного рецепта
С помощью потенциальных пользователей выделены следующие объекты и характеристики проектируемой базы данных.
1. Блюда, для описания которых нужны данные, входящие в их кулинарные рецепты: номер блюда (например, из книги кулинарных рецептов), название блюда, вид блюда (закуска, суп, горячее и т. п.), рецепт (технология приготовления блюда), выход (вес порции), название, калорийность и вес каждого продукта, входящего в блюдо.
2. Для каждого поставщика продуктов: наименование, адрес, название поставляемого продукта, дата поставки и цена на момент поставки.
3. Ежедневное потребление блюд (расход): блюдо, количество порций, дата.
Анализ объектов позволяет выделить:
– стержни Блюда, Продукты и Города;
– ассоциации Состав (связывает Блюда с Продуктами) и Поставки (связывает Поставщиков с Продуктами);
– обозначение Поставщики;
– характеристики Рецепты и Расход.
ER-диаграмма модели показана на рис. П.4.2 а модель на языке ЯИМ имеет следующий вид.
БЛЮДА (БЛ, Блюдо, Вид)
ПРОДУКТЫ (ПР, Продукт, Калорийность)
Поставщики (ПОС, Город, Поставщик) [ГородА]
Состав [Блюда М, Продукты N] (БЛ, IIP, Вес (г))
Поставки [Поставщики М, Продукты И] (ПЯС, ПР, Дата П, Цена, Вес (кг))
ГОРОДА (Город, Страна)
Рецепты (БЛ, Рецепт) {Блюда}
Расход (БЛ, Лата Р, Порций) {Блюда}
В этих моделях Блюдо, Продукт и Поставщик – наименования, а БЛ, ПР и ПОС – цифровые коды блюд, продуктов и организаций, поставляющих эти продукты.
Рис. П.4.2. Инфологическая модель базы данных «Питание»