
- •Конспект лекций
- •Раздел «бд. Субд. Основные понятия» 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 Транзакции
3 Источники данных для концептуального проектирования
Исходя из сказанного выше, концептуальное проектирование может рассматриваться как определение сущностей, атрибутов и связей. Для решения этой задачи необходимо найти источники сведений о бизнес – процессах моделируемой предметной области.
Основные источники:
- сведения, полученные от экспертов;
- документальные источники.
Работа с экспертами.
Необходимо собеседование с несколькими экспертами, так как один человек не может оценить потребности всей организации в данных.
Необходимо уметь задавать экспертам нужные вопросы, ответы на которые помогут, например, отличить сущности от атрибутов.
Терминология, используемая экспертами, может не подходить для целей моделирования данных. Часто возникает необходимость обобщения и уточнения терминов.
Эксперты должны участвовать в проверке построенной концептуальной модели данных, т.к. только они смогут проверить модель на соответствие реальным процессам предметной области.
Работа с документальными источниками.
В качестве документальных источников может использоваться различная справочная, учебная и методическая литература. Данные источники не отменяют работу с экспертами, но дополняют и уточняют сведения, полученные из других источников.
При осуществлении сбора данных необходимо помнить, что концептуальная модель отражает самое общее представление о процессах, происходящих в предметной области. Поэтому нет необходимости обнаруживать и документировать каждый атрибут каждой сущности, точно определять типы данных и т.п.
4 Построение концептуальной схемы
В настоящее время не существует единственного стандартного набора графических символов для построения концептуальной схемы.
Предлагается
использовать учебный вариант графической
нотации в виде следующего набора условных
обозначений (рисунок 1).
Рисунок 1- Условные обозначения
Рассмотрим пример концептуальной схемы для следующей предметной области: в базе данных хранится информация о сотрудниках, аспирантах и студентах некоторого учебного заведения, видах спорта (бег на 100м у мужчин, прыжки в длину у женщин и т.д.), категории вида спорта (лёгкая атлетика и т.д.) и соревнованиях, в которых участвуют сотрудники, аспиранты и студенты.
Рисунок 2 – Пример концептуальной схемы
На рисунке показаны не все атрибуты и связи. Данный рисунок демонстрирует способы использования графических символов.
5 Анализ концептуальной модели
Концептуальная модель данных должна пройти рецензирование всеми заинтересованными участниками разработки проекта.
Важно проверить возможность выполнения тех запросов, которые разные группы пользователей могут использовать на этапе эксплуатации базы данных.
Полезно определить, какие фрагменты концептуальной модели представляют интерес для каждой выделенной группы пользователей. В дальнейшем эта информации может быть использована для определения прав доступа к объектам базы данных и создания представлений.
Вернуться в содержание
Раздел «Логический уровень проектирования бд»
Лекция №6
Модели данных логического уровня. Введение
1 Исходные данные для проектирования
Минимальный набор исходных данных для проектирования модели данных логического уровня включает:
концептуальную модель данных;
тип СУБД (поддерживаемая модель данных);
2 Результаты проектирования
СУБД-ориентированная модель данных.
Подсхемы БД – представления разных групп пользователей.
Требования для физического проектирования.
3 Модели данных логического уровня
Модели данных логического уровня отличаются друг от друга по тем структурам данных, которые используются для хранения данных.
В настоящее время известны следующие модели данных:
- иерархическая;
- сетевая;
- реляционная;
- постреляционная или объектно-реляционная;
- объектная;
- на основе XML.
Каждая СУБД поддерживает определенную модель данных, поэтому модели данных логического уровня называют СУБД-ориентированными.
3.1 Иерархическая модель
Основной структурой данных в иерархической модели является дерево. Пример модели приведен на рисунке 1.
Рисунок 1 - Иерархическая модель данных
3.2 Сетевая модель
В сетевой модели основной структурой данных является граф, на который накладываются определенные ограничения.
Теоретически в сетевой модели любой элемент данных может быть связан с любым другим элементом. Практически допустимость тех или иных связей зависит от возможностей СУБД.
Принято различать простые и сложные сетевые структуры, двухуровневые, многоуровневые структуры и структуры с циклами. Некоторые варианты сетевых структур приведены на рисунке 2.
На рисунке 3 приведен пример конкретной сетевой модели, которая построена в предположении, что одни и те же виды работ могут выполняться
а) древовидные двухуровневые структуры (наборы CODASYL);
б) древовидные многоуровневые структуры;
в) простые сетевые структуры;
г) сложные сетевые структуры.
Рисунок 2 - Категории сетевых моделей
Рисунок 3 - Сетевая модель данных
в разных отделах, один и тот же служащий может выполнять разные виды работ и один вид работ может выполняться разными служащими.
Классическое описание простой сетевой структуры содержится в предложениях CODASYL (ассоциация, разработавшая язык КОБОЛ). В соответствии с этими предложениями различают понятия тип записи и набор. Запись трактуется как классическая структура данных - запись, а под набором понимается экземпляр поименованной совокупности записей. В наборе выделяется одна запись – владелец и одна или несколько записей – членов набора. По своей сути набор – это поименованное двухуровневое дерево. Пример такого набора приведен на рисунке 4.
Рисунок 4 - Пример набора
Используя наборы можно описывать более сложные структуры данных.
Дерево строится путем объединения нескольких наборов: тип записи – владельца на нижнем уровне дерева должен быть объявлен членом набора более высокого уровня.
Простая сетевая структура строится путем объединения наборов по следующему правилу: запись может быть членом любого количества наборов.
Сложная сетевая структура преобразуется к более простому виду (рисунок 5).
а) фрагмент концептуальной модели;
б) преобразование к простой сетевой структуре.
Рисунок 5 - Пример реализации сложной сетевой структуры