Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информация и данные предметных областей.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.32 Mб
Скачать
  1. Построение инфологической модели базы данных.

Процесс проектирования БД начинается с создания инфологической модели.

Инфологическая модель данных - обобщенное неформальное описание создаваемой базы данных, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающих над проектированием базы данных..

или по-другому

Инфологическая модель данных - обобщенное, непривязанное к каким-либо СУБД описание предметной области.

Инфологическая модель отображает реальный мир в некоторые понятные человеку концепции, полностью независимые от параметров среды хранения данных. Поэтому инфологическая модель не должна изменяться до тех пор, пока какие-то изменения в реальном мире не потребуют изменения в ней некоторого определения, чтобы эта модель продолжала отражать предметную область.

Существует множество подходов к построению таких моделей: графовые модели, семантические сети, модель «сущность-связь» и др.

Рассмотрим пример построения инфологической модели базы данных «Питание», где должна храниться информация о блюдах (рис. 3.1), их ежедневном потреблении, продуктах, из которых приготавливаются эти блюда, и поставщиках этих продуктов. Информация будет использоваться поваром и руководителем небольшого предприятия общественного питания, а также его посетителями.

Лобио по-грузински

Ломаную очищенную фасоль, нашинкованный лук посолить, посыпать перцем и припустить в масле с небольшим количеством бульона; добавить кинзу, зелень петрушки, рейган (базилик) и довести до готовности. Затем запечь в духовке. Фасоль стручковая (свежая или консервированная) 200 гр., Лук зеленый 40 гр., Масло сливочное 30 гр., Зелень 10 гр. Выход 210 гр. Калорий 725.

Рис. 3.1. Пример кулинарного рецепта

С помощью указанных пользователей выделены следующие объекты и характеристики проектируемой базы:

Блюда, для описания которых нужны данные, входящие в их кулинарные рецепты: номер блюда (например, из книги кулинарных рецептов), название блюда, вид блюда (закуска, суп, горячее и т.п.), рецепт (технология приготовления блюда), выход (вес порции), а также название, калорийность и вес каждого продукта, входящего в блюдо;

Для каждого поставщика продуктов: наименование, город и страна, название поставляемого продукта, дата поставки и цена на момент поставки.

Ежедневное потребление блюд (расход): блюдо, количество порций, дата.

Анализ позволяет выделить:

независимые сущности – Продукты, Блюда, Поставщики, Города;

зависимые сущности – Состав блюд, Поставки, Рецепты, Расход блюд.

Рис. 3.2. Модель базы данных «Питание»

В этих моделях Блюдо, Продукт и Поставщик – наименования, а БЛ, ПР и ПОС – цифровые коды блюд, продуктов и поставщиков продуктов.

  1. Построение семантических сетей базы данных.

Семантическая сеть (СС) – это граф, дуги которого есть отношения между вершинами (значениями). Семантические сети появились при решении задач разбора и понимания смысла естественного языка. Пример семантической сети для предложения типа "Поставщик осуществил поставку изделий по заказу клиента до 1 июня 2004 года в количестве 1000 штук" приведен на рис. 1.

Рис. 1. Пример семантической сети

На этом примере видно, что между объектами Поставщик и Поставка определено отношение "агент", между объектами Изделие и Поставка определено отношение "объект" и т.д.

Число отношений, используемых в конкретных семантических сетях, может быть самое разное. Неполный список возможных отношений, используемых в семантических сетях для разбора предложений, выглядит следующим образом.

Агент - это то, что (тот, кто) вызывает действие. Агент часто является подлежащим в предложении, например, "Робби ударил мяч".

Объект - это то, на что (на кого) направлено действие. В предложении объект часто выполняет роль прямого дополнения, например, "Робби взял желтую пирамиду ".

Инструмент - то средство, которое используется агентом для выполнения действия, например, "Робби открыл дверь с помощью ключа".

Соагент служит как подчиненный партнер главному агенту, например, "Робби собрал кубики с помощью Суззи".

Пункт отправления и пункт назначения - это отправная и конечная позиции при перемещении агента или объекта: "Робби перешел из комнаты в библиотеку".

Траектория - перемещение от пункта отправления к пункту назначения: "Они прошли через дверь по ступенькам на лестницу".

Средство доставки - то в чем или на чем происходит перемещение: "Он всегда едет домой на метро".

Местоположение - то место, где произошло (происходит, будет происходить) действие, например, "Он работал за столом".

Потребитель - то лицо, для которого выполняется действие: "Робби собрал кубики для Суззи".

Сырье - это, как правило, материал, из которого что-то сделано или состоит. Обычно сырье вводится предлогом из, например, "Робби собрал Суззи из интегральных схем".

Время - указывает на момент совершения действия: "Он закончил свою работу поздно вечером".

Наиболее типичный способ вывода в семантических сетях (СС) - это способ сопоставления частей сетевой структуры. Это видно на следующем простом примере, представленном на рис. 2.

Рис. 2. Процедура сопоставления в СС

Куб Cube принадлежит миру BlockWorld.

Куб Cube_001 есть разновидность куба Cube.

Легко сделать вывод:

Куб Cube_001 есть часть мира BlockWorld.

Еще один пример поиска в СС. Представим вопрос "какой объект находится на желтом блоке?" в виде подсети, изображенной на рис. 3. Произведем сопоставление вопроса с сетью, представленной на рис. 4. В результате сопоставления получается ответ - "Пирамида".

Рис. 3. Вопрос в виде CC

Рис. 4. Процедура сопоставления в СС