- •Базы данных: основные понятия и определения. Требования, предъявляемые к базам данных.
- •Выбор хранимых данных.
- •Реляционная модель данных.
- •Реляционная алгебра.
- •Методология проектирования баз данных. Основные задачи проектирования баз данных.
- •Основные этапы проектирования баз данных.
- •Концептуальное (инфологическое) проектирование бд.
- •Логическое (даталогическое) проектирование бд.
- •Принципы и средства структурного подхода к разработке по.
- •Методология структурного анализа и проектирования sadt.
- •Диаграммы потоков данных: внешние сущности, системы и подсистемы, процессы, хранилища данных, потоки данных. Нотация Гейна – Сарсона.
- •Сравнительный анализ sadt-моделей и диаграмм потоков данных.
- •Функциональные модели, используемые на стадии проектирования.
- •Методология моделирования idef3: составные элементы, объекты ссылок, перекрестки.
- •Подходы к моделированию в базах данных.
- •Анализ предметной области. Описание объектов и их свойств. Связи между элементами моделей данных. Описание сложных объектов.
- •Проблема целостности базы данных.
- •Даталогическое проектирование. Нотация Питера Чена. Нотация idef 1х.
- •Проектирование реляционных баз данных на основе принципов нормализации. Правила технической нормализации.
- •Алгоритм процесса нормализации схем отношений.
- •Нормализация. Функциональная зависимость. Первая, вторая, нормальные формы.
- •Нормализация. Функциональная зависимость. Третья нормальная форма.
- •Нормализация. Функциональная зависимость. Нормальная форма Бойса – Кодда.
- •Разработка реляционных баз данных на основе принципов нормализации.
- •Основные аксиомы Армстронга. Замыкание.
- •Нормальные формы высших порядков.
- •Методологии проектирования.
- •Инфологическое моделирование данных: модель «сущность-связь».
- •Принципы поддержки целостности в реляционной модели данных.
- •Моделирование данных. Метод Баркера.
- •Моделирование данных. Метод idef1x.
- •Case-средство для концептуального моделирования данных на стадии формирования требований к ис – Silverrun.
- •Нормализация. Функциональная зависимость. Первая, вторая, третья нормальные формы. Нормальная форма Бойса – Кодда.
- •Инструментальные средства моделирования. Проектирование баз данных с использованием са erWin Data Modeler (erWin).
- •Алгоритм перехода от er – модели к реляционной схеме данных.
- •Основные принципы объектно-ориентированного моделирования.
- •Сущность методологии объектно-ориентированного анализа и проектирования.
- •Язык объектного моделирования uml. Виды диаграмм uml. Последовательность построения диаграмм.
- •Модель прецедентов (вариантов использования, use-cases).
- •Моделирование статической структуры системы с помощью диаграммы классов: стереотипы классов.
- •Моделирование статической структуры системы с помощью диаграммы классов: механизм пакетов.
- •Моделирование статической структуры системы с помощью диаграммы классов: атрибуты.
- •Моделирование статической структуры системы с помощью диаграммы классов: основные и вспомогательные операции.
- •Моделирование статической структуры системы с помощью диаграммы классов: типы связей.
- •Инкапсуляция, наследование, полиморфизм.
- •Моделирование поведения системы.
- •Использование диаграммы последовательностей для упорядочивания сообщений во времени.
- •Использование диаграммы кооперации для описания структурной организации объектов.
- •Моделирование физических аспектов функционирования системы с помощью диаграмм развертывания.
- •Особенности построения физической модели базы данных.
- •Ограничения ссылочной целостности.
- •Моделирование процессов обработки данных.
- •Индексирование.
- •Методы совместного доступа к базам данных.
- •Транзакции и блокировки.
- •Типы параллелизма.
- •Вертикальный гибридный
- •Свойства транзакций. Способы завершения транзакций.
- •Проблемы параллельного выполнения транзакций.
- •Методы сериализации транзакций. Механизм блокировок. Типы конфликтов.
- •Если одна транзакция заблокировала данные, то остальные транзакции при обращении к данным обязаны ждать разблокировки
- •Взаимоблокировкой считается ситуация когда транзакции оказываются в режиме ожидания, длящемся бесконечно долго
- •Оптимистическое решение проблемы взаимоблокировок позволяет взаимоблокировке произойти, но затем восстанавливает систему откатывая одну из транзакций, участвующих во взаимоблокировке
- •Правила совместимости захватов. Проблема тупиковых ситуаций и её решение.
- •Уровни изолированности пользователей.
- •Гранулированные синхронизационные захваты.
- •Метод временных меток. Более старая транзакция откатывается при попытке доступа к данным, задействованным более молодой транзакцией
- •Предикатные синхронизационные захваты.
Нормализация. Функциональная зависимость. Первая, вторая, третья нормальные формы. Нормальная форма Бойса – Кодда.
Инструментальные средства моделирования. Проектирование баз данных с использованием са erWin Data Modeler (erWin).
Под инструментальным средством для моделирования баз данных понимается компьютерная программная реализация, реализующая одну определенную или множество нотаций представления структур данных и связей между ними в рамках некоторой методологии проектирования.
На рынке информационных продуктов для моделирования баз данных существует достаточно большое количество специализированных инструментальных средств, среди которых можно выделить следующие:
ERwin Data Modeler предоставляет графический интерфейс пользователя для создания ER-диаграммы, который позволяет пользователям визуализировать структуру базы данных, ее связи между объектами и управлять ее элементами (таблицами, отношениями, атрибутами, индексами, ограничениями целостности и т.д.). Средство автоматически проверяет правильность моделирования и предоставляет пользователю информацию об ошибках и недочетах в модели.
Дополнительно: ERwin Data Modeler мы использовали при построении ER-диаграммы в нотации IDEF1X
Алгоритм перехода от er – модели к реляционной схеме данных.
Шаг 1. Каждая простая сущность превращается в таблицу. Имя сущности становится именем таблицы.
Шаг 2. Каждый атрибут становится возможным столбцом с тем же именем. Столбцы, соответствующие необязательным атрибутам, могут содержать неопределенные значения.
Шаг 3. Компоненты уникального идентификатора сущности превращаются в первичный ключ таблицы.
Шаг 4. Связи многие-к-одному и один-к-одному становятся внешними ключами. Необязательные связи соответствуют столбцам, допускающим неопределенные значения.
Шаг 5. Индексы создаются для первичного ключа (уникальный индекс), внешних ключей и тех атрибутов, на которых предполагается базировать запросы.
Шаг 6. Если в концептуальной схеме присутствовали подтипы, то возможны два способа:
все подтипы в одной таблице (а);
для каждого подтипа - отдельная таблица (б) .
Шаг 7. Имеется два способа работы при наличии исключающих связей:
общий домен (а)
явные внешние ключи (б)
Если остающиеся внешние ключи все в одном домене (способ (а)) - создаются два столбца:
идентификатор связи;
и идентификатор сущности.
Если результирующие внешние ключи не относятся к одному домену (способ (б)) - для каждой связи создаются явные столбцы внешних ключей.
Основные принципы объектно-ориентированного моделирования.
Основные элементы объектной модели:
абстрагирование
Абстрагирование в ООП позволяет выделить основные элементы предметной области, обладающие одинаковой структурой и поведением.
инкапсуляция
Инкапсуляция - это принцип объектно-ориентированного моделирования, который заключается в том, что данные и методы, которые работают с этими данными, объединяются в единый объект. Такой объект скрывает свою внутреннюю реализацию от других объектов и предоставляет только интерфейс для работы с ним.
(вариант 2 ниже)
(на самом деле нету единого определения для этой хрени, ее трактуют как угодно) - это заключение данных и функциональности в оболочку (классы). Методы позволяют контролировать обращение к данными и предотвратить их удаление или некорректное изменение. (короче +- из ооп)
модульность
Модульность в объектно-ориентированном моделировании означает разбиение программы на небольшие, независимые модули, каждый из которых выполняет определенную функцию. Эти модули могут быть реализованы в виде классов или пакетов, и каждый модуль может иметь свою собственную внутреннюю реализацию, которая скрыта от других модулей.
иерархия
Иерархия упорядочивает абстракции, помогает разбить задачу на уровни и постепенно ее решать по принципу "сверху – вниз" или "от общего – к частному", увеличивая детализацию ее рассмотрения на каждом очередном уровне.
Дополнительные элементы (не являются строго обязательными)
типизация
Типизация - определение типов данных, которые могут быть использованы в программе. Каждый объект имеет свой тип, который определяет его свойства и методы.
параллелизм
Параллелизм в объектно-ориентированном моделировании означает возможность использования нескольких потоков выполнения для одновременного выполнения различных операций (Поток выполнения - независимая последовательность инструкций, которые выполняются в рамках одного процесса)
устойчивость
Устойчивость - способность системы или компонента сохранять свою работоспособность и корректность работы в случае возникновения ошибок или изменений в окружающей среде.
