- •1. Основные требования к организации базы данных
- •2. Основные компоненты субд
- •3. Этапы проектирования баз данных
- •4. Модели данных. Классификация баз данных
- •5. Модель «сущность-связь». Основные понятия, область применения.
- •6. Иерархическая модель данных.
- •7. Сетевая модель данных
- •8. Реляционная модель данных. Элементы модели
- •9. Операции реляционной алгебры
- •10. Реляционное исчисление с переменными кортежами
- •11. Реляционное исчисление с переменными на доменах
- •12. Функциональные зависимости, аксиомы, правила вывода функциональных зависимостей
- •13. Избыточные функциональные зависимости, минимальное покрытие декомпозиции
- •Обобщённый алгоритм декомпозиции:
- •14. Нормальные формы схем отношений. 1нф 2нф.
- •15. 3Я нормальная форма
- •16. Нормальная форма Бойся - Кода(нфбк)
- •17. Многозначная зависимость. Аксиомы многозначной зависимости.
- •18. 4Я нормальная форма
- •19. 5Я нормальная форма
- •20. Соединение без потерь, сохраняющих зависимость
- •21. Условия отсутствия потерь при соединениях
- •22. Метод в Табло
- •23. Создание и модификация, перемещение бд. (FoxPro)
- •24. Создание индексов
- •25. Поиск и сортировка, ускоренный поиск (на примере субд FoxPro).
- •26. Язык запросов sql. Основные категории
- •27. Структурированный язык запросов sql, описание данных, таблиц, типы данных, целостность данных.
- •28. Структурированный язык запросов sql, операторы манипулирования данными, курсор.
- •29. Язык запросов sql. Тип связывания
- •30. Язык запросов sql. Многотабличные запросы
- •31. Структурированный язык запросов sql, операции изменения и обновления бд.
- •32. Структурированный язык запросов sql, индексы.
- •33. Структурированный язык запросов sql, определение пользовательских представлений.
- •34. Файловые структуры для хранения информации в базах данных
- •35. Файлы прямого и последовательного доступа
- •36. Плотный, неплотный индекс
- •37. Инвертированные списки
- •38. Модель «клиент-сервер» в технологии бд.
- •39. Модель файлового сервера
- •40. Модель удаленного доступа к данным (достоинства и недостатки).
- •41. Модель сервера бд (достоинства и недостатки).
- •42. Модель сервера приложений (достоинства и недостатки).
- •43. Транзакции (свойства, способы завершения, журнал).
- •44. Защита бд, методы обеспечения защиты данных.
21. Условия отсутствия потерь при соединениях
Из всех возможных разложений схемы должны использоваться только те, которые обладают свойством соединений без потерь. Пусть в схеме R имеется множество функциональных зависимостей. Говорят, что схема R разложима без потерь на отношения R1,R2,Rk, с сохранением функциональной зависимости, если для каждого кортежа r из R может быть rвосстановлен соединением его проекций.
Условия отсутствия потерь при соединении:
Если R1 и R2 являются разложением R, с сокращением функциональных зависимостей – это разложение обеспечивает соединение без потерь с сохранением функциональной зависимости <=> если R1^R2R1-R2 либо R1^R2R2-R1 при многозначной зависимости R1^R2->>R1-R2, либо R1^R2->>R2-R1
Операции пересечения и разности определены над списками атрибутов отношений.
Пример:
Служащие(№,отдел,город)
1 разложение E1(№, отдел) E2(№, город)
2 разложение E3(№, отдел) E4(отдел, город)
1. E1^E2=№ E1-E2=отдел E2-E1=город. №отдел, №город условие удовлетворяет, разложение без потерь.
2. E3^E4=отдел E3-E4=№ E4-E3=город. отдел№, отделгород эти зависимости в исходном разложении не существуют, а исходные функциональные зависимости утеряны, значит это разложение с потерями.
Для разложений более чем из двух отношений можно использовать метод Табло
22. Метод в Табло
Дано множество функциональных зависимостей, схема отношения полученная в результате разложения. Процедура состоит в построении таблицы, строками которой являются разложенные отношения, а столбцами – список атрибутов этих отношений без повторений. Таблица заполняется символом aj если элементы строки i в столбце j соответствуют атрибуту Aj отношения Ri в противном случае ставится bij. После построения таблицы следует просмотр всех функциональных зависимостей XY если для атрибутов из X найдутся строки, где в соответствующих местах стоят aj, то элементы bij этих строк соответствующие столбцам атрибутов из Y заменяется на aj. Если в результате появляется строка таблицы, полностью заполненная aj, то это соединение без потерь.
Пример: R(A,B,C,D) Ф.З. AC, BC, CD.
Разложили: R1(A,B) R2(B,D) R3(A,B,C) R4(B,C,D)
-
…
A
B
C
D
R1
a
a
b
b
R2
b
a
b
A
R3
a
a
a
B
R4
b
a
a
a
AC
A
B
C
D
R1
a
a
a
b
R2
b
a
b
A
R3
a
a
a
B
R4
b
a
a
a
BC
A
B
C
D
R1
a
a
a
b
R2
b
a
a
A
R3
a
a
a
B
R4
b
a
a
a
CD
A
B
C
D
R1
a
a
a
A
R2
b
a
a
A
R3
a
a
a
A
R4
b
a
a
A
Есть строки со всеми a, разложение без потерь.
