- •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. Языки запросов ообд.
21. Null–значения. Целостность сущностей.
Целостность данных имеет огромное значение для БД не только в семантическом смысле, но и в структурном. В любой РБД существует множество ограничений.
Целостность сущностей:
Главное назначение любой БД состоит в
хранении больших массивов
сложноструктурированных данных и
мгновенного доступа к ним, причем эти
данные должны представлять информацию
по конкретной предметной области
реального мира. Однако на практике часто
встречаются ситуации, когда часть
сложноструктурированных данных либо
не известна, либо не полна. Для того
чтобы решить проблему неполноты данных
в БД ввели специальный тип данных Null –
значение. Т е Null – значение – это не
значение а маркер, указатель, показывающий,
что данное значение не определено.
Допущение Null – значения приводит к
тому, что любое алгебраическое выражение,
использующее в качестве операнда Null –
значения, имеет по определению
неопределенное значение. Поэтому СУБД
определения истинности логических
выражений используют вместо традиционной
двухзначной матлогики нетрадиционную
трехзначную: TRUE, FALSE, NILL. По определению
тело отношения не может включать в себя
одинаковые кортежи, это означает, что
каждый кортеж каким либо образом должен
обладать свойством уникальности, однако
хорошо известно, что свойством уникальности
могут обладать и отдельные атрибуты
отношения, вот почему эти атрибуты можно
использовать для идентификации кортежа.
Опр. Пусть
,
подмножество атрибутов. Тогда К называется
потенциальным ключом, если это подмножество
обладает 2 свойствами: Уникальности,
неизбыточности. Уникальность означает,
что в отношении не может быть 2 одинаковых
значений из К или не может быть двух
кортежей с одинаковым значением из К.
неизбыточность означает, что никакое
подмножество в К не должно обладать
свойством уникальности. Потенциальный
ключ, состоящий из одного атрибута,
называется простым. Потенциальный ключ,
состоящий из нескольких атрибутов,
называется составным .Отношение может
иметь несколько потенциальных ключей.
Традиционно, один из потенциальных
ключей объявляется первичным, а остальные
– альтернативными. Различия между
первичным и альтернативными ключами
могут быть важны в конкретной реализации
реляционной СУБД, но с точки зрения
реляционной модели данных, нет оснований
выделять таким образом один из
потенциальных ключей. На практике
большинство отношений имеют единственный
потенциальный ключ, который по определению
является первичным. Теперь можно
однозначно утверждать, что потенц ключи
служат средством идентификации не
только объектов предметной области, но
и единственным средством адресации в
отношениях на уровне кортежей. Свойство
потенциального ключа приводит к тому
что его атрибуты не могут содержать
неопределенные значения – это и есть
правило целостности сущностей: атрибуты,
входящие в состав некоторого потенц
ключа не могут принимать Null – значения.
22. Внешние ключи. Ссылочная целостность. Родительские и дочерние отношения.
Различные объекты предметной области всегда взаимосвязаны друг с другом. Поэтому естественно ожидать, что РМД сможет учесть и реализовать эти взаимосвязи. В РМД такие взаимосвязи реализуются с помощью механизма внешних ключей. Если взять РМД в которой используются несколько отношений, то в них легко можно выделить взаимосвязи типа: Один–ко–многим, многие–к–одному (одно и то же), многие–ко–многим, один–к–одному. Взаимосвязь многие–ко–многим в РМД реализовать нельзя, они реализуются косвенно, как множество взаимосвязей один–ко–многим. Отношение входящее во взаимосвязь со стороны «Один» называют родительским отношением. Механизм создания родительского отношения очень прост, если в родительском отношении выделить атрибуты потенциального ключа, т е в дочернее отношение достаточно механически добавить атрибуты потенциального ключа родительских отношений, чтобы превратить в дочернее. Причем добавленные атрибуты потенциального ключа и будут называться внешним ключом дочернего отношения. В результате этого механизма внешние ключи однозначно определяют связь кортежей дочернего отношения с родительскими. Внешний ключ, так же как и потенциальный может быть простым или составным. Главное, что внешний ключ, а точнее его атрибуты должен быть определен на тех же доменах, что и соответствующий первичный ключ родительского отношения. Внешний ключ не должен обладать свойством уникальности, если же он уникален, то связь между отношениями имеет тип один–к–одному. Т к по определению внешние ключи служат для взаимосвязи дочернего и родительского отношения, они не должны указывать на несуществующие объекты родительского отношения. Это и есть правило целостности внешних ключей: внешние ключи всегда должны быть согласованными, т е для каждого значения внешнего ключа дочернего отношения всегда должно существовать соответствующее значение первичного ключа родительского отношения. Очевидно, что ссылочная целостность может быть нарушена в результате операций по изменению состояния БД, т е вставка, редактирование и удаление кортежей в отношении. Существует 4 типа таких критических операций: 1. Изменение кортежей в родительском отношении 2. удаление кортежей в родительском отношении 3. вставка нового кортежа в дочернее отношение 4. обновление кортежей в дочернем отношении.
