- •Содержание
- •1.1. Основные понятия
- •1.2. Компоненты БнД
- •1.3. Классификация БнД и бд
- •1.4. Этапы проектирования бд
- •1.5. Взаимосвязь этапов проектирования бд
- •Вопросы для самоконтроля
- •Раздел 2. Проектирование баз данных. Тема 2. Инфологическое моделирование (начало)
- •2.1. Необходимость инфологического моделирования
- •2.1.1. Виды ограничений целостности
- •2.1.2. Причины, приводящие к нарушению ограничений целостности
- •2.2. Описание объектов и их свойств
- •Тема 3. Инфологическое моделирование (окончание)
- •3.1. Описание связей между объектами.
- •3. 2. Описание сложных объектов
- •Вопросы для самоконтроля
- •Тема 4. Даталогическое проектирование
- •4.1. Общие сведения
- •4.2. Подход к даталогическому проектированию
- •4.3. Определение состава бд
- •4.4. Разновидности даталогических моделей
- •Вопросы для самоконтроля
- •Тема 5. Реляционная даталогическая модель базы данных
- •5.1. Основные понятия
- •5.2. Цели проектирования рбд
- •5.2.1. Возможность хранения всех необходимых данных в бд
- •5.2.2. Исключение избыточности данных
- •5.2.3. Сведение числа хранимых в бд отношений к минимуму
- •5.2.4. Нормализация отношений
- •Вопросы для самоконтроля
- •Тема 6. Метод проектирования реляционной базы данных на основе илм
- •Вопросы для самоконтроля
- •Тема 7. Пример проектирования реляционной базы данных на основе илм
- •7.6. Определение состава бд
- •7.7. Определение отношений, включаемых в бд
- •7.8. Описание логической структуры бд на языке субд (схема бд)
- •7.9. Сравнение спроектированной рбд с однотабличной бд
- •Вопросы для самоконтроля
- •Раздел 3. Описание информационных потребностей пользователей базы данных. Тема 8. Информационные потребности пользователей базы данных.
- •8.1. Типы и языки запросов
- •8.2. Реляционная алгебра (алгебра отношений)
- •8.2.1. Проекция
- •8.2.2. Выборка
- •8.2.3. Соединение
- •8.2.4. Объединение
- •8.2.5. Пересечение
- •8.2.6. Вычитание
- •8.2.7. Умножение
- •8.2.8. Деление
- •8.3. Примеры запросов на реляционном языке
- •Вопросы для самоконтроля
- •Раздел 4. Использование языкаSql для работы с базами данных. Тема9. Структурированный язык запросов sql
- •9.1. Стандарт и разновидности языка sql
- •9.2. Краткое введение в sql
- •Тема 10. Основные элементы языка sql. Использование языка sql для выборки данных
- •10.1. Оператор select
- •Тема 11. Отбор строк из таблиц. Условия поиска строк
- •Вопросы для самоконтроля
- •Тема 12. Сортировка таблиц
- •Тема 13. Использование псевдонимов для обозначения таблиц базы данных. Самосоединение таблиц. Итоговые запросы и агрегатные функции
- •Вопросы для самоконтроля
- •Тема 14. Запросы с группировкой
- •Тема 15. Вложенные запросы
- •Вопросы для самоконтроля
- •Тема 16. Изменение данных в базе данных
- •16.1. Корректировка таблиц бд
- •16.2. Создание объектов бд
- •16.3. Создание представлений
- •Вопросы для самоконтроля
- •Рекомендуемая литература
4.3. Определение состава бд
При переходе от ИЛМ к ДЛМ следует иметь в виду, что ИЛМ включает в себя всю информацию и достаточную для проектирования БД. Но это не означает, что все объекты, зафиксированные в ИЛМ, должны в явном виде отражаться в ДЛМ. Прежде чем строить ДЛМ, необходимо решить, какая информация будет храниться в БД. Например, ИЛМ может содержать вычисляемые показатели. Но вовсе не обязательно хранить их в БД.
Один из подходов к определению состава показателей, хранимых в БД, основан на принципе синтезирования: в БД должны храниться только исходные показатели, все производные показатели должны вычисляться в момент выполнения запроса.
Достоинства такого подхода:
1) простота и однозначность в принятии решения о том, “что хранить”;
2) отсутствие явного дублирования информации со всеми из этого последствиями (меньше объем памяти, проще проблемы контроля целостности БД);
3) потенциальная возможность получить любой расчетный показатель, а не только те, которые хранятся в БД.
Несмотря на эти достоинства, в каждом конкретном случае нужно оценивать целесообразность хранения вычисляемых показателей в БД с учетом частоты использования и трудоемкости вычисления этих показателей.
При отображении объекта в БД идентификатор объекта будет атрибутом, который в большинстве случаев используется для однозначной идентификации объекта. Однако может появиться необходимость введения искусственных идентификаторов или кодов. Это нужно, когда:
1) в ПО наблюдается омонимия, т.е. естественный идентификатор объекта не обладает уникальностью. например, среди студентов могут быть однофамильцы и полные тезки. В этом случае для обеспечения однозначной идентификации объектов необходимо использовать коды;
2) если объект участвует во многих связях, то для идентификации связи удобнее использовать короткий код объекта, чем длинный естественный идентификатор объекта;
3) если естественный идентификатор может со временем изменяться, то при отсутствии кода это может вызвать много проблем, с поиском нужных сведений.
4.4. Разновидности даталогических моделей
По способу установления связей между данными различают реляционную, иерархическую и сетевую модели.
Реляционная модель (РМ) является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин “отношение”, который и дал название модели. Достоинством РМ является сравнительная простота инструментальных средств ее поддержки,. Недостатком- жесткость структуры данных и зависимость скорости выполнения операций от размера таблиц
Иерархическая (ИМ) и сетевая (СМ) модели предполагают наличие связей между данными, имеющими какой-либо общий признак. В ИМ такие связи могут быть отражены в виде дерева, где возможны только односторонние связи от старших вершин к младшим. Это облегчает доступ к необходимой информации, но только если все возможные запросы отражены в структуре дерева. Никакие другие запросы удовлетворены быть не могут. Указанный недостаток снят в СМ, где, по крайней мере теоретически, возможны связи “всех со всеми“. Использование ИМ и СМ ускоряет доступ к информации в БД. Но поскольку каждый элемент данных должен содержать ссылки на некоторые другие элементы, требуются значительные ресурсы как дисковой, так и основной памяти компьютера. Кроме того для этих моделей характерна сложность реализации.