Построение концептуальных моделей 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Построение концептуальных моделей



с использованием ER-диаграмм

ER-диаграмма (диаграмма "Сущность-Связь")

Показывает данные из предметной области в виде графа:

• Сущности (Entities) вместе с их атрибутами

• Связи (Relationships)

 

Рисунок 3 Элементы ER-диаграмм

 

Пример построения концептуальной (инфологической) модели базы данных

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

2. Анализ предметной области:

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

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

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

Пример рецепта

Блюдо. Лобио по грузински

Ломаную очищенную фасоль, нашинкованный лук посолить, посыпать перцем и припустить в масле с небольшим количеством бульона; добавить кинзу, зелень петрушки, рейган (базилик) и довести до готовности. Затем запечь в духовке.

Состав

Фасоль стручковая (свежая или консервированная) 200, Лук зеленый 40, Масло сливочное 30, Зелень 10.

Выход 210. Калорий 725.

Рисунок 4ER-диаграмма

(на экзамене проще предоставить упрощенный пример без расхода, рецептов и поставщиков)

(ЯИМ) Язык инфологического моделирования

Концептуальную (инфологическую) модель можно записать в виде формализованного текста. Это менее наглядно, чем ER-диаграмма. Но часто более удобно для «черновых» вариантов модели и для больших предметных областей. Формализованный текст записывается на так называемом языке инфологического моделирования (ЯИМ). Существует много вариантов ЯИМ, рассмотрим один из них.

 

Рисунок 5 Предложения ЯИМ

Рисунок 6Модель предприятия питания на языке ЯИМ

Логическая модель. Виды логических моделей.

Логическая (даталогическая) модель. Виды логических моделей: иерархические, сетевые, модели на основе инвертированных список, реляционные, постреляционные, объектно-ориентированные.

Логические (даталогические) модели данных

Типы даталогических моделей:

Общие характеристики ранних систем

• Эти системы активно использовались в течение многих лет.

 

• Все ранние системы не основывались на каких-либо абстрактных моделях. Понятие модели данных вошло в обиход только вместе с реляционным подходом. Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у различных конкретных систем.

 

• В ранних системах доступ к БД производился на уровне записей. Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.

 

• Навигационная природа ранних систем и доступ к данным на уровне записей заставляли пользователя самого производить всю оптимизацию доступа к БД, без какой-либо поддержки системы.

 

• После появления реляционных систем большинство ранних систем было оснащено "реляционными" интерфейсами. Однако в большинстве случаев это не сделало их по-настоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме.

Иерархические модели

• Сначала стали использовать иерархические модели.

• Простота организации, наличие заранее заданных связей между сущностями, сходство с физическими моделями данных позволяли добиваться приемлемой производительности иерархических СУБД на медленных ЭВМ с весьма ограниченными объемами памяти.

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

Иерархические модели

Структуры данных

Рисунок 7 структура данных иерархической модели

 

Рисунок 8 Фрагмент базы вместе с данными

Манипулирование данными

Примерами типичных операторов манипулирования иерархически организованными данными могут быть следующие:

• Найти указанное дерево БД (например, отдел 310);

• Перейти от одного дерева к другому;

• Перейти от одной записи к другой внутри дерева (например, от отдела - к первому сотруднику);

• Перейти от одной записи к другой в порядке обхода иерархии;

• Вставить новую запись в указанную позицию;

• Удалить текущую запись.

Ограничения целостности

Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя.

Сетевые модели

• Также создавались для мало ресурсных ЭВМ.

• При разработке сетевых моделей было выдумано множество "маленьких хитростей", позволяющих увеличить производительность СУБД, но существенно усложнивших последние. Прикладной программист должен знать массу терминов, изучить несколько внутренних языков СУБД, детально представлять логическую структуру базы данных для осуществления навигации среди различных экземпляров, наборов, записей и т.п.

 

• Один из разработчиков операционной системы UNIX сказал "Сетевая база – это самый верный способ потерять данные".

Структуры данных

Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.

Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно, из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи.

Рисунок 9 Структура семантических сетей

Манипулирование данными

Примерный набор операций может быть следующим:

• Найти конкретную запись в наборе однотипных записей (инженера Сидорова);

• Перейти от предка к первому потомку по некоторой связи (к первому сотруднику отдела 310);

• Перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);

• Перейти от потомка к предку по некоторой связи (найти отдел Сидорова);

• Создать новую запись;

• Уничтожить запись;

• Модифицировать запись;

• Включить в связь;

• Исключить из связи;

• Переставить в другую связь и т.д.



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 1732; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.84.155 (0.008 с.)