- •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. Языки запросов ообд.
55. Библиотечные функции sql. Групповые функции.
работают над мн–ом сторок и выдают один результат на группу. Исп–ть в select и having.
AVG(DISTINCT|ALL|n) – Среднее значение n без учета неопределенных значений, COUNT(DISTINCT|ALL|выражение|*) – Количество строк только с определенными результатами вычисления выражения. По "*" подсчитываются все строки, включая повторяющиеся и строки с неопределенными значениями, MAX(DISTINCT|ALL| выражение) – Максимальное значения выражения , MIN(DISTINCT|ALL| выражение) – Минимальное значения выражения выражения, STDDEV(DISTINCT|ALL|n) – Стандартное отклонение n без учета неопределенных значений, SUM(DISTINCT|ALL|n) – Сумма значений n без учета неопределенных значений, VARIANCE(DISTINCT|ALL|n) – Дисперсия n без учета неопределенных значений.
56. Теория проектирования реляционных баз данных. Избыточность. Аномалии обновления, включения и удаления.
Рассмотрим отношение FIRST (S#, STATUS, CITY, P#, Q). отношение FIRST является «плохим» в смысле наличия избыточности и аномалий. Действительно рассмотрим произвольное тело отношения FIRST
Очевидная избыточность в отношении FIRST приводит к различным аномалиям обновления. Для определенности рассмотри избыточность типа поставщик – город, которая очевидно вытекает из ФЗ S#–>CITY
1. INSERT (аномалия вставки)
Ограничение S#–>CITY означает, что нельзя вставить данные о том, что некоторый поставщик находится в некотором городе до тех пор, пока этот поставщик не поставит хотя бы один товар (P# не NULL).
2. DELETE. Если удалить один из кортежей для некоторого поставщика в связи с отменой поставки товара, то может удалиться не только поставка товара, но и поставщик.
3. UPDATE. Название города для одного поставщика повторяется множество раз, т.е. данное повторение приводит к возникновению проблем при обновлении данных. Например, если поставщик S1 переходит из Самары в Томск, система вынуждена переправлять все строки. Либо эту проблему нужно искать с помощью поисковой системы либо вручную. Таким образом, решение рассмотренных выше проблем заключается в декомпозиции исходного отношения FIRST на несколько проекций.
Например:
SECOND (S#, STATUS, CITY) <– FIRST –> SP (S#, P#, Q)
Действительно, если рассмотреть теперь тело отношения SECOND
Легко проверить что отношение SECOND не испытывает тех проблем какие были отмечены в отношении FIRST. Действительно:
1. INSERT. Теперь любой поставщик, в любом городе может быть вставлен в SECOND без нарушения целостности.
2. DELETE. Можно любую поставку из SP удалить и это же отразится в SECOND.
3. UPDATE. – любой поставщик, переехавший в другой город, потребует редактирования только одной строки.
57. Функциональные зависимости. Примеры.
Многочисленные примеры реализации связей между отношениями типа многие–к–одному (один–ко–многим)это по сути взаимодействие между множествами атрибутов.
Любое отношение, по определению характеризуется заголовком и телом отношения. При этом одно из уникальных свойств отношения как структуры данных – это статичность и неизменность заголовка и динамичность тела, т е применительно к телу отношения необходимо различать значение этого отношения в какой то конкретный момент времени и набор всех возможных допустимых значений этого отношения. 2 случай – отношение–переменная. Тогда можно дать следующее определение. Пусть R(A1,A2...An) – произвольное отношение с атрибутами A1,A2...An. X,Y принадлежат подмножеству атрибутов A1,A2...An. Тогда Y функционально зависит от X, если каждое значение из множества X в точности связано только с одним значением из множества Y. Функциональная зависимость обозначается XY : Y функционально зависит от X или X функционально определяет Y.
Например: отношение
SCP(S#,City,P#,Q),
тогда подмножества
,
аналогично можно сказать что в этом
отношении выполняются след фз:
....................
Определение функциональной зависимости говорит о том, что если 2 кортежа относительно R совпадают по атрибутам из Х, то они однозначно совпадают по атрибутам из Y. Связь между определением потенциального ключа и определением функциональной зависимости: левая и правая части функциональной зависимости принято называть детерминантом и зависимой частью. Неплохо было бы чтобы детерминант был ключом. В записи функциональной зависимости подмножество, которое включает один атрибут называется одноэлементный.
Определение 2. (отношения–переменные). Пусть R(A1,A2...An) –отношение–переменная, X,Y – произвольное подмножество атрибутов, тогда Х будет функционально зависеть от Y т и т т к для любого допустимого значения R каждое значение из Х в точности связано с одним значением из Y, т е для любого допустимого значения отношения R, если 2 кортежа совпадают по значению Х, они совпадают и по значению Y.
Из определения следует, если Х – потенциальный ключ, то все остальные атрибуты отношения R автоматически должны быть функционально зависимы от Х. учитывая это ФЗ фактически означает механизм задания ограничения целостности на отношение. Если отношение R удовлетворяет ФЗ АВ и одновременно при этом А – не потенциальный ключ, то R однозначно характеризуется некоторой избыточностью данных.
Опр. ФЗ тривиальна т и т т к зависимая часть является подмножеством детерминанта.
