
- •Конспект лекций
- •Раздел «бд. Субд. Основные понятия» 8
- •2. Жизненный цикл баз данных
- •3 Эксплуатационные характеристики базы данных
- •Раздел «бд. Субд. Основные понятия»
- •4. Управление параллельным доступом.
- •Раздел «бд. Субд. Основные понятия» Лекция №3 Место баз данных в архитектуре ис
- •1 Локальные ис
- •2 Ис в файл-серверной архитектуре
- •3 Ис в клиент-серверной архитектуре
- •4 Двухзвенные модели архитектуры
- •5 Трехзвенные модели
- •6 Монитор транзакций
- •7 Ис в Internet и intranet
- •Раздел «Концептуальный уровень проектирования бд» Лекция №4 Концептуальная модель данных. Сущности, атрибуты, ключи
- •1 Основные понятия
- •2 Задачи моделирования данных
- •3 Сущности
- •4 Атрибуты
- •5 Ключи
- •Раздел «Концептуальный уровень проектирования бд» Лекция №5 Концептуальная модель данных. Связи. Классы и подклассы. Концептуальная схема
- •1 Связи
- •2 Классы и подклассы
- •3 Источники данных для концептуального проектирования
- •4 Построение концептуальной схемы
- •5 Анализ концептуальной модели
- •Раздел «Логический уровень проектирования бд»
- •3.3 Реляционная модель
- •3.4 Объектно-реляционная модель
- •3.5 Объектно-ориентированная модель данных
- •3.6 Модель данных на основе xml
- •Раздел «Реляционная теория бд» Лекция №7 Реляционная модель данных. Основные понятия
- •1 Словарь терминов
- •2 Целостность реляционной модели
- •3 Математическое описание реляционной модели
- •Раздел «Реляционная теория бд» Лекция №8 Реляционная алгебра и реляционное исчисление
- •1 Реляционная алгебра. Теоретико-множественные операции
- •2 Реляционная алгебра. Специальные реляционные операции
- •3 Дополнительные реляционные операции
- •4 Примеры записи запросов
- •5 Реляционное исчисление
- •Раздел «Реляционная теория бд» Лекция №9 Нормализация реляционной модели. Функциональные зависимости
- •1 Что такое нормализация?
- •2 Функциональная зависимость
- •3 Теоремы о функциональных зависимостях
- •5 Алгоритм нормализации отношений. Метод декомпозиции
- •6 Другие нормальные формы
- •Раздел «Реляционная теория бд»
- •1.2 Связь частичная для одной из сущностей
- •1.3 Связь частичная для обеих сущностей
- •2 Реализация бинарной связи 1:m («один-ко-многим»)
- •2.1 Связь обязательная для m-связной сущности
- •2.2 Связь частичная для m-связной сущности
- •3 Бинарная связь n:m («многие-ко-многим»)
- •4 Связи более высокого порядка (n-арные)
- •5 Классы и подклассы
- •Раздел «Реляционная теория бд» Лекция №12 Стандарт idef1x
- •1 Стандарты моделирования данных
- •2 Основные понятия стандарта idef1x
- •3 Графический язык idef1x
- •Раздел «Физический уровень проектирования бд» Лекция №13 Физическая модель данных
- •1 Исходные данные для физического проектирования
- •2 Возможная методика перехода к физической модели на примере реляционной модели
- •2.1 Преобразование отношений в таблицы
- •2.2 Преобразование атрибутов в поля (столбцы) таблиц
- •2.3 Преобразование доменов в типы данных
- •2.4 Первичные ключи
- •2.5 Порядок расположения столбцов
- •2.6 Создание ссылочных ограничений
- •3 Факторы, влияющие на производительность бд
- •3.1 Индексы
- •3.2 Денормализация
- •Раздел «Язык sql» Лекция №14 Введение в язык sql. Команда Select
- •1 Стандарты
- •2 Возможности sql
- •3 Запросы на выборку данных
- •4 Примеры запросов
- •Раздел «Язык sql» Лекция №15 Команды определения данных
- •1 Команда create table
- •2 Команда alter table
- •3 Поддержка ограничений целостности
- •4. Редактирование записей в таблице
- •Раздел «Язык sql» Лекция №16 Дополнительные аспекты реляционной технологии
- •1 Проблемы, требующие решения
- •2 Запросы
- •3 Представления
- •4 Курсоры
- •5 Хранимые процедуры
- •6 Триггеры
- •7 Функции, определяемые пользователем
- •8 Транзакции
Раздел «Концептуальный уровень проектирования бд» Лекция №4 Концептуальная модель данных. Сущности, атрибуты, ключи
1 Основные понятия
Концептуальный уровень проектирования – выявление и описание взаимосвязей между элементами данных, вытекающее из взаимосвязей в реальном мире предметной области.
Сущности – личности, факты, объекты реального мира, имеющие отношение к некоторой предметной области.
Атрибуты – данные, описывающие сущности.
Связи – взаимодействия (отношения) между несколькими сущностями; связь может иметь атрибуты.
Концептуальная модель – модель данных концептуального уровня.
Концептуальная схема – графическое представление концептуальной модели.
ER–модель (модель «сущность - связь») - одно из альтернативных названий модели данных концептуального уровня.
Инфологическая модель – одно из альтернативных названий модели данных концептуального уровня.
2 Задачи моделирования данных
Цель построения модели: документирование требований к данным со стороны бизнес – процессов.
Назначение модели: основа для создания логической и физической базы данных.
Преимущества правильно спроектированной базы:
1) минимальная избыточность данных;
2) максимальная целостность данных;
3) стабильность структуры БД;
4) эффективное совместное использование данных;
5) своевременность доступа к данным;
6) удобство и простота использования данных;
7) возможность разработки новых приложений без изменения структуры данных и др.
Альтернативный подход к проектированию базы данных можно назвать чисто "программистским", когда начинающий проектировщик базы данных быстро и приближенно проектирует базу под конкретную задачу аналогично разработке программ для работы с двумерными файлами. Однако, большинство разработчиков, использующих этот подход, быстро сталкивается с проблемами на этапе эксплуатации базы данных, в том числе: низкая производительность и нарушения целостности базы данных.
Можно утверждать, что правильный проект базы данных не может быть быстро составлен новичками. От проектировщика требуется знание формализованных подходов к сбору требований к данным, обнаружению и идентификации логических объектов и элементов данных. Приобретение мастерства и изучение всех нюансов может занять много времени.
3 Сущности
Сущность – это человек, место, предмет, понятие или событие, то есть то, что существует и что можно описать. Например: Студент, Преподаватель, Дисциплина, Заказчик, Товар и т.д. Сущность всегда обладает каким-то набором характеристик (свойств, признаков). Конкретное сочетание значений характеристик сущности описывает конкретный экземпляр сущности.
Как выявить сущности?
Информация о сущностях используется в описании бизнес – процессов организации и представлена, как правило, именами существительными. Например: «обучить студентов», «продать товар» и т.п. Кроме того, такие участники описания предметной области обычно входят в список ответов на вопрос: «Информация о ком или о чём должна храниться в базе данных?».
Ещё один важный критерий – это наличие у сущности характеристик, значение которых не зависит от других сущностей в границах моделируемой предметной области.
Например, процесс «принимать экзамен» содержит в своём описании существительное Экзамен. Информацию об экзамене необходимо хранить в базе данных. Проверим, есть ли у этого кандидата на роль сущности собственные характеристики, которые имеют смысл независимо от существования других характеристик. Пусть о конкретном экзамене надо знать следующее: предмет, по которому сдаётся экзамен; студент, который сдаёт экзамен; преподаватель, который принимает экзамен; дата, когда проходит экзамен; оценка как результат сдачи экзамена. Удалим из этого списка характеристики, которые указывают на другие сущности предметной области: Предмет, Студент, Преподаватель. Остаются Дата и Оценка, которые сами по себе никакой полезной информации об экзамене не несут. Следовательно, Экзамен не имеет собственных характеристик и не является сущностью в рамках рассматриваемого подхода к построению концептуальной модели.
Полученный в результате анализа предметной области список сущностей рекомендуется расширить специальной сущностью ДАТА, которая позволит моделировать процессы и отношения предметной области, протекающие во времени, данные о которых в базе должны быть обязательно привязаны к конкретному моменту времени. В общем случае такая сущность может появиться в модели, например, потому, что имеет свои собственные атрибуты, такие, как температура воздуха, или какой-нибудь показатель рыночной активности. Но очень часто в базе нужна только сама дата в одном из возможных форматов, поэтому будем считать , что ДАТА – это сущность по умолчанию.
С чего начать поиск сущностей?
С изучения основных видов деятельности в моделируемой предметной области и способов их осуществления.
Как правильно описать сущности?
После выявления сущностей необходимо четко определить их названия.
Требования к имени сущности: имя должно быть стандартным, хорошо определенным и постоянным.
Правило задания имени сущности: имя сущности должно быть существительным в единственном числе, допускается сочетание с прилагательным. Желательно записывать имя заглавными буквами, например, СТУДЕНТ.
Проблема выбора имени: наличие синонимов, используемых разными категориями пользователей, например, СТУДЕНТ, УЧАЩИЙСЯ, ОБУЧАЕМЫЙ.
Решение проблемы: выбрать наиболее популярное название или принять волевое решение по этому поводу. Выбранное название должно быть единственным в базе данных.