
- •Инфологическое моделирование в виде er – моделей. Основные понятия, характеристики, свойства и связи.
- •1.Сущность.
- •2.Атрибут.
- •3. Ключ
- •4. Связь
- •2.3.2. Язык инфологического моделирования (яим) "Сущность-связь". Классификация сущностей.
- •2.3.2. Язык инфологического моделирования "Таблица-связь".
- •2.4. Пример построения инфологической модели базы данных "Питание"
- •Операции агрегации, обобщения, ассоциации над единицами информации, их отображение в e-r – моделях.
- •Даталогическая модель данных
- •1.3.1. Иерархическая даталогическая модель
- •1.3.3. Даталогическая модель на основе инвертированных списков
- •1.3.4. Реляционная даталогическая модель
- •1.3.5. Объектно- реляционная даталогическая модель
- •Основные понятия реляционных баз данных: отношения, атрибуты, домены, кортежи, ключи.
- •2.1.1. Тип данных
- •2.1.2. Домен
- •2.1.3. Схема отношения, схема базы данных
- •2.1.4. Кортеж, отношение
- •Основные свойства отношений реляционных баз данных
- •2.3.1 . Отсутствие кортежей-дубликатов
- •2.3.2 . Отсутствие упорядоченности кортежей
- •2.3.3 . Отсутствие упорядоченности атрибутов
- •2.3.4 . Атомарность значений атрибутов
- •Нормализация отношений
- •3.2.1. Пример декомпозиции исходной «универсальной» таблицы на простые отношения.
- •3.2.2. Проблемы, возникающие при использовании универсального отношения
- •3.2.3. Первая нормальная форма (1nf).
- •3.2.4. Вторая нормальная форма (2nf)
- •3.2.5. Третья нормальная форма (3nf)
- •3.2.6. Нормальная форма Бойса-Кодда (bcnf)
- •3.2.7. Четвертая нормальная форма (4nf). Пятая нормальная форма, или нормальная форма проекции-соединения (5nf или pj/nf)
2.3.2. Язык инфологического моделирования "Таблица-связь".
Для наиболее распространенных реляционных баз данных можно предложить язык инфологического моделирования "Таблица-связь", пример использования которого приведен на рис. ниже.
В нем все сущности изображаются одностолбцовыми таблицами с заголовками, состоящими из имени сущности и типа сущности (в скобках). Строки таблицы – это перечень атрибутов сущности, а те из них, которые составляют первичный ключ, распологаются рядом и обводятся рамкой. Связи между сущностями или указываются стрелками, направленными от первичных ключей или их составляющих, или обозначаются явным указанием типа связи (одна ко многим и т.д.)
2.4. Пример построения инфологической модели базы данных "Питание"
1) Анализ предметной области
В БД должна храниться информация о блюдах, рецептах, их ежедневном потреблении, продуктах, из которых приготавливаются эти блюда, и поставщиках этих продуктов. Информация будет использоваться поваром и руководителем небольшого предприятия общественного питания, а также его посетителями.
1. Лобио по грузински Ломаную очищенную фасоль, нашинкованный лук посолить, посыпать перцем и припустить в масле с небольшим количеством бульона; добавить кинзу, зелень петрушки, рейган (базилик) и довести до готовности. Затем запечь в духовке. Фасоль стручковая (свежая или консервированная) 200, Лук зеленый 40, Масло сливочное 30, Зелень 10. Выход 210. Калорий 725. |
Пример кулинарного рецепта
2) Инфологическая модель данных:
С помощью указанных пользователей выделены следующие объекты и характеристики проектируемой базы:
1. Блюда, для описания которых нужны данные, входящие в их кулинарные рецепты: номер блюда (например, из книги кулинарных рецептов), название блюда, вид блюда (закуска, суп, горячее и т.п.), рецепт (технология приготовления блюда), выход (вес порции), название, калорийность и вес каждого продукта, входящего в блюдо.
2. Для каждого поставщика продуктов: наименование, адрес, название поставляемого продукта, дата поставки и цена на момент поставки.
3. Ежедневное потребление блюд (расход): блюдо, количество порций, дата.
Анализ объектов позволяет выделить:
стержни Блюда, Продукты и Города;
ассоциации Состав (связывает Блюда с Продуктами) и Поставки (связывает Поставщиков с Продуктами);
обозначение Блюда и Поставщики;
характеристики Рецепты и Расход.
3) ER-диаграмма модели:
Инфологическая модель базы данных "Питание", построенная с помощью языка ER-диаграмм
4) Модель на языке ЯИМ:
с |
Блюда (БЛ, Блюдо, Вид) |
с |
Продукты (ПР, Продукт, Калорийность) |
о |
Поставщики (ПОС, Город, Поставщик) [Город] |
а |
Состав [Блюда M, Продукты N] (БЛ, ПР, Вес (г)) |
а |
Поставки [Поставщики M, Продукты N] (ПОС, ПР, Дата_П, Цена, Вес (кг)) |
с |
Города (Город, Страна) |
х |
Рецепты (БЛ, Рецепт) {Блюда} |
х |
Расход (БЛ, Дата_Р, Порций) {Блюда} |
В этих моделях Блюдо, Продукт и Поставщик – наименования, а БЛ, ПР и ПОС – цифровые коды блюд, продуктов и организаций, поставляющих эти продукты.
5) Инфологическая модель базы данных "Питание", построенная с помощью языка "Таблицы-связи":