- •Базы данных: основные понятия и определения. Требования, предъявляемые к базам данных
- •Выбор хранимых данных
- •Реляционная модель данных
- •Реляционная алгебра
- •Операция выборка
- •Операция проекция
- •Операция естественное соединение
- •Операция соединение по условию (θ – соединение)
- •Операция деления
- •Методология проектирования баз данных. Основные задачи проектирования баз данных
- •Основные этапы проектирования баз данных
- •Концептуальное (инфологическое) проектирование бд
- •Логическое (даталогическое) проектирование бд
- •Принципы и средства структурного подхода к разработке по
- •Методология структурного анализа и проектирования sadt
- •Диаграммы потоков данных: внешние сущности, системы и подсистемы, процессы, хранилища данных, потоки данных. Нотация Гейна – Сарсона
- •Сравнительный анализ sadt-моделей и диаграмм потоков данных
- •Функциональные модели, используемые на стадии проектирования
- •14. Методология моделирования idef3: составные элементы, объекты ссылок, перекрестки.
- •15. Подходы к моделированию в базах данных
- •16. Анализ предметной области. Описание объектов и их свойств. Связи между элементами моделей данных. Описание сложных объектов
- •17. Проблема целостности базы данных
- •18. Даталогическое проектирование. Нотация Питера Чена. Нотация idef 1х
- •Нотация Питера Чена.
- •Нотация idef 1x
- •19. Проектирование реляционных баз данных на основе принципов нормализации. Правила технической нормализации
- •20. Алгоритм процесса нормализации схем отношений
- •21. Нормализация. Функциональная зависимость. Первая, вторая, нормальные формы
- •22. Нормализация. Функциональная зависимость. Третья нормальная форма
- •23. Нормализация. Функциональная зависимость. Нормальная форма Бойса – Кодда
- •24. Разработка реляционных баз данных на основе принципов нормализации
- •25. Основные аксиомы Армстронга. Замыкание
- •26. Нормальные формы высших порядков
- •27. Методологии проектирования
- •28. Инфологическое моделирование данных: модель «сущность-связь»
- •29. Принципы поддержки целостности в реляционной модели данных
- •30. Моделирование данных. Метод Баркера
- •31. Моделирование данных. Метод idef1x
- •32. Case-средство для концептуального моделирования данных на стадии формирования требований к ис – Silverrun
- •33. Нормализация. Функциональная зависимость. Первая, вторая, третья нормальные формы. Нормальная форма Бойса – Кодда
- •34. Инструментальные средства моделирования. Проектирование баз данных с использованием са erWin Data Modeler (erWin)
- •35. Алгоритм перехода от er – модели к реляционной схеме данных
- •36. Основные принципы объектно-ориентированного моделирования
- •37. Сущность методологии объектно-ориентированного анализа и проектирования
- •38. Язык объектного моделирования uml. Виды диаграмм uml. Последовательность построения диаграмм
- •Диаграмма состояний
- •Диаграмма последовательностей
- •Диаграмма активности
- •39. Модель прецедентов (вариантов использования, use-cases)
- •40. Моделирование статической структуры системы с помощью диаграммы классов: стереотипы классов
- •41. Моделирование статической структуры системы с помощью диаграммы классов: механизм пакетов
- •42. Моделирование статической структуры системы с помощью диаграммы классов: атрибуты
- •43. Моделирование статической структуры системы с помощью диаграммы классов: основные и вспомогательные операции
- •44. Моделирование статической структуры системы с помощью диаграммы классов: типы связей
- •45. Инкапсуляция, наследование, полиморфизм
- •46. Моделирование поведения системы
- •47. Использование диаграммы последовательностей для упорядочивания сообщений во времени
- •48. Использование диаграммы кооперации для описания структурной организации объектов
- •49. Моделирование физических аспектов функционирования системы с помощью диаграмм развертывания
- •50. Особенности построения физической модели базы данных
- •51. Ограничения ссылочной целостности
- •52. Моделирование процессов обработки данных
- •53. Индексирование
- •54. Методы совместного доступа к базам данных
- •55. Транзакции и блокировки
- •56. Типы параллелизма
- •57. Свойства транзакций. Способы завершения транзакций
- •58. Проблемы параллельного выполнения транзакций
- •59. Методы сериализации транзакций. Механизм блокировок. Типы конфликтов
- •60. Правила совместимости захватов. Проблема тупиковых ситуаций и ее решение
- •61. Уровни изолированности пользователей
- •62. Гранулированные синхронизационные захваты
- •63. Метод временных меток
- •64. Предикатные синхронизационные захваты
Выбор хранимых данных
Информационные элементы - различные типы входных, промежуточных и выходных данных, которые составляют наборы входных N1, промежуточных N2 и выходных N3 элементов данных.
Матрица смежности (В) - квадратная бинарная матрица, проиндексированная по обеим осям множеством информационных элементов D = {c} где s- число этих элементов:
Наличие отношения между di и dj: di Ro dj, где qij =1.
Отсутствие отношения между di и dj: di Ro dj, где qij = 0.
Принимают - каждый элемент недостижим из самого себя: di Ro dj; i=0, S.
Матрице В ставится в соответствие информационный граф G - (D, Ro).
Множество вершин графа G = (D, Ro) - множество D информационных элементов.
Дуга (di, dj) соответствует условию di Ro dj (записи 1 в позиции (ij) матрицы В).
Например: D = {d1, d2, d3, d4}.
Пусть матрица смежности В этих элементов имеет вид:
Информационный граф в этом случае:
Матрица достижимости (М) - квадратная бинарная матрица, проиндексированная по обеим осям множеством информационных элементов D.
Элемент di достижим из элемента dj, если выполняется условие di R0 dj и на графе G = (D,R0) существует направленный путь от вершины di к вершине dj - в позиции (ij) матрицы М записывают 1.
Отношение достижимости между элементами di и dj отсутствует, если di R0 dj, то и в позиции (ij) матрицы М записывают 0.
Отношение достижимости транзитивно, т.е. если diRodk и dkRоdj, то diR0dj; i,j,k=1,S.
Для полученного графа матрица М будет выглядеть следующим образом:
Выходные информационные элементы - элементы, строки которых в матрице М не содержат единиц (нулевые строки).
Входные информационные элементы - элементы, столбцы которых в матрице М не содержат единиц (нулевые столбцы).
Промежуточные информационные элементы – элементы, не имеющие нулевой строки или столбца.
На основе матрицы М строится информационный граф Gs (D,R) системы, структурированный по входным (N1), промежуточным (N2) и выходным (N3) наборам информационных элементов и полученный из анализа множества элементов предшествования A(di) и достижимости R (dj):
Информационный граф системы Gs (D.R), получаемый после структуризации по наборам информационных элементов и удаления избыточных элементов и связей, определяет каноническую структуру информационной базы.
Реляционная модель данных
Реляционная БД - база данных, организованная в виде набора отношений ее компонентов.
Реляционная БД - связанная между собой совокупность таблиц, где:
таблица (отношение) - совокупность строк и столбцов;
строки (кортежи/записи) - экземпляры объекта, конкретное событие или явление;
столбцы (атрибуты/домены/поля) - признаки, характеристики, параметры объекта, события, явления.
Свойства реляционных таблиц:
каждый элемент таблицы - один элемент данных;
все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
каждый столбец имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным.
Первичный ключ - поле или набор полей, однозначно идентифицирующий запись.
Первичный ключ – уникален и минимально достаточен.
Разновидности связей между таблицами БД:
-«один-ко-многим»;
-«один-к-одному»;
-«многие-ко-многим».
Отношение «один-ко-многим» - одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице.
Связь "один-ко-многим" является самой распространенной для реляционных баз данных.
Отношение «один-к-одному» - одной записи родительской таблицы соответствует одна запись в дочерней таблице.
Данное отношение используют, если не хотят, чтобы таблица БД «не распухала» от второстепенной информации.
Отношение «многие-ко-многим»:
записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;
записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.
Многие СУБД (в частности Access) не поддерживают связи «многие-ко-многим» на уровне индексов и ссылочной целостности. Считается, что всякую связь «многие-ко-многим» можно заменить на одну или более связей «один-ко-многим».
Внешний ключ - поля связи дочерней таблицы.
Внешний ключ по составу полей должен совпадать с первичным ключом или с частью первичного ключа родительской таблицы.
Индексы и методы доступа
Индексы – это механизмы быстрого доступа к данным в таблицах БД.
Последовательный метод доступа к данным в таблицах БД:
просматриваются все записи таблицы, от первой к последней.
Индексно-последовательный метод доступа к данным в таблицах БД:
поиск ведется по индексу, а не по самой таблице;
поиск в индексе начинается только с первой строки, удовлетворяющей, условию запроса или его части («прямой доступ»);
строки в индексе, начиная с такой записи, просматриваются последовательно.
