- •1. Общее представление о базе данных. Примеры.
- •2. Назначение и основные элементы бд.
- •3. Назначение, основные функции и понятие субд.
- •4. Логическая структура субд.
- •5. Трёхуровневая архитектура бд.
- •6. Жизненный цикл базы данных.
- •7. Архитектура субд, как комплекса программ.
- •8. Краткий обзор dbf–ориентированных локальных субд.
- •9. Краткий обзор серверов баз данных. Informix, Sybase, ms sql, Oracle.
- •10. Модель субд типа «Файл–Сервер». Распределение функций.
- •11. Модель субд типа «Клиент/Сервер». Распределение функций.
- •12. Двухуровневая архитектура «Клиент/Сервер». "Толстый" и "тонкий" клиенты.
- •13. Трехуровневая архитектура «Клиент/Сервер». Api–компонент системы.
- •14. Типы моделей бд. Иерархическая и сетевая модели данных.
- •15. Реляционная модель данных. Структура. Общее представления.
- •16. Понятие домена.
- •17. Отношения, атрибуты и кортежи.
- •18. Формализация отношений в виде таблиц. Сравнение отношений и таблиц.
- •19. Единство трёхуровневой структуры бд.
- •20. Потенциальные ключи. Первичные и альтернативные ключи.
- •21. Null–значения. Целостность сущностей.
- •22. Внешние ключи. Ссылочная целостность. Родительские и дочерние отношения.
- •23. Индексные файлы. Сортировка файлов бд.
- •24. Поиск записей в файле бд. Индексные ключи. Алгоритмы поиска.
- •25. Стратегии ссылочной целостности.
- •26. Основы реляционной алгебры. Операции «Объединение», «Пересечение», «Вычитание», «Де–картово произведение». Примеры.
- •27. Специальные реляционные операции: «Выборка», «Проекция», «Соединение», «Деление». Примеры.
- •28. Понятие о sql и pl/sql. Типы команд sql.
- •29. Типы данных в sql.
- •30. Команды языка определения данных. Create table.
- •31. Команда select. Примеры. Формальное описание.
- •32. Предложение union.
- •33. Предложения where, having, group by
- •34. Команды insert, update, delete.
- •35. Команды управления доступа к данным. Grant, revoke, set role.
- •36. Управление транзакциями с помощью sql.
- •37. Процедурное расширение sql. Структура программы в pl/sql.
- •38. Типы данных определяемые пользователем record и table.
- •39. Предложение into для присваивания переменным значений бд.
- •40. Курсоры.
- •41. Операторы управления if. . . Then. . . , go to.
- •42. Циклы loop, while, for.
- •43. Обработка ошибок в pl/sql. Встроенные исключительные ситуации.
- •44. Процедура Raise_Application_Error.
- •45. Исключительные ситуации, определяемые пользователем.
- •46. Анонимные блоки pl/sql. Процедуры, функции и пакеты.
- •47. Триггеры базы данных. Операторные и строчные триггеры. Примеры.
- •48. Представления.
- •49. Снимки.
- •50. Последовательности.
- •51. Библиотечные функции sql. Числовые функции.
- •52. Библиотечные функции sql. Функции символьного типа.
- •53. Библиотечные функции sql. Функции для работы с датой и временем.
- •54. Библиотечные функции sql. Функции преобразования типов.
- •55. Библиотечные функции sql. Групповые функции.
- •56. Теория проектирования реляционных баз данных. Избыточность. Аномалии обновления, включения и удаления.
- •57. Функциональные зависимости. Примеры.
- •58. Аксиомы Армстронга функциональных зависимостей.
- •59. Замыкания множества зависимостей. Примеры.
- •60. Замыкания множества атрибутов. Примеры
- •61. Неприводимое множество зависимостей.
- •62. Понятие нормальной формы. Иерархия нф.
- •63. Первая нормальная форма. Примеры.
- •64. Декомпозиция без потерь. Теорема Хеза.
- •65. Вторая нормальная форма. Примеры.
- •66. Третья нормальная форма. Примеры.
- •67. Сохранение зависимостей.
- •68. Нормальная форма Бойса–Кодда. Примеры.
- •69. Многозначные зависимости.
- •70. Четвертая нормальная форма. Примеры.
- •71. Зависимости соединения.
- •72. Пятая нормальная форма. Примеры.
- •73. Итоговая схема процедуры нормализации.
- •74. Альтернативные нормальные формы.
- •75. Основные понятия семантического моделирования. Er–диаграммы. Сущность.
- •76. Экземпляр, атрибут, ключ и связи сущностей. Определения и обозначения.
- •77. Пример проектирования простой er–модели.
- •78. Концептуальные и физические er–модели. Примеры.
- •79. Понятие экспертной системы (эс), как специального типа информационной системы.
- •80. Обобщенная модель экспертной системы.
- •81. Основные характеристики эс.
- •82. Базовые функции эс. Приобретение знаний. Представление знаний.
- •83. Управление процессом поиска решений. Разъяснение принятого решения.
- •84. Понятие знания. Основные признаки знания.
- •85. Типы эс.
- •86. Представление знаний в эс. Сетевое представление знаний.
- •87. Представление знаний в эс. Фреймовая модель представление знаний.
- •88. Представление знаний в эс. Продукционная модель знаний. Стратегия управления
- •89. Методология разработки эс.
- •90. Понятие объектно – ориентированной бд.
- •91. Языки программировния ообд.
- •92. Языки запросов ообд.
69. Многозначные зависимости.
Рассмотрим отношение
CTX (Course, Teacher, teXts)
CTX (C, T, X)
Очевидно, что это ненормализованное отношение, т.к. Teacher, Texts – массивы. Очевидно, что в этом отношении никаких ФЗ кроме тривиальных (С –> С) нет. Поэтому перепишем данное отношение в 1 НФ.
Нормальное отношение СТХ означает, что любой кортеж {C, T, X} принадлежит телу отношения СТХ тогда и только тогда когда выполняются следующие ограничения:
IF
THEN
.
Очевидно, что отношение СТХ, несмотря на отсутствие ФЗ характеризуется значительной избыточностью и приводит к многочисленным аномалиям обновления.
Например, чтобы добавить информацию о том, что курс алгебры может читаться новым преподавателем, необходимо создать два или три новых кортежа по одному для каждого учебника.
Но самое удивительное, что отношение СТХ формально находится в НФБК поскольку является полностью ключевым.
Возникает вопрос: какой же тип ограничений указанный выше в форме IF THEN необходимо ввести чтобы понять источник указанных аномалий. Оказывается в 1971 году Фейгином строго было доказано, что подобные проблемы в НФБК могут быть описаны с помощью многозначных зависимостей. Действительно в отношении СТХ можно выделить такие многозначные зависимости как:
Course –>–> Teacher
Course –>–> Texts
Т.е. многозначные зависимости можно рассматривать как обобщение ФЗ в том смысле, что любая ФЗ автоматически является многозначной, когда правая часть является одноэлементной. Обратное не верно, т.е. существуют МЗ, которые не являются функциональными, например МЗ Course –>–> Teacher означает, что с одной стороны для любого курса не существует одного преподавателя, т.е. ФЗ С–>T не выполняется, тем не менее, для любого курса существует вполне определенное множество преподавателей.
Интуитивное определение многозначной зависимости позволяет легко избавиться от указанных выше аномалий с помощью декомпозиций:
CT <– CTX (C, T, X) –> CX
Будем иметь:
Однако формальное определение многозначной зависимости основано на гораздо более строгих терминах, чем интуитивное понятие.
Действительно, когда мы утверждаем, что любому курсу соответствует вполне определенное множество преподавателей, мы тем самым имеем ввиду, что для данного курса с и данного учебника x существует множество преподавателей t обязательно соответствующих паре {c,x}, т.е. с одной стороны любой кортеж {ctx} зависит от значения с и не зависит от значения x. А из второй многозначной зависимости следует, что, любой кортеж отношения СТХ зависит от с и совершенно не зависит от t. Именно поэтому формальное определение многозначной зависимости имеет вид
R(A,B,C) подмножества тогда и только тогда когда множество значений из В соответствующее любой паре {a,c} зависит только от а и не зависит от с.
Фейгином было показано, что если отношение R в точности состоит из атрибутов АВС, то МС А –>–> B выполняется тогда и только тогда когда выполняется A –>–> С.
Доказанная теорема позволяет утверждать, что МЗ всегда образует связанные пары, вот почему определение МЗ в символическом виде обычно записывают A –>–> B/C, например Course –>–> Teacher/Texts.
Рассматривая формальное определение МЗ, мы снова можем утверждать, что МЗ является обобщением ФЗ в том смысле, что всякая ФЗ является многозначной.
Наконец возвращаясь, к примеру СТХ можно констатировать что именно отсутствие ФЗ а точнее присутствие МЗ которые не являются ФЗ и есть источник аномалий.
