- •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. Защита бд, методы обеспечения защиты данных.
33. Структурированный язык запросов sql, определение пользовательских представлений.
VIEW – некоторое подобие таблицы, содержание которой выбирается с помощью выполнения запроса. Причем при изменении значения в этих таблицах автоматически меняется их представление.
Представление создается командой CREATE VIEW, после которого указывается его имя, а далее следует запрос, формирующий тело представления. Поля представления могут иметь свои имена, полученные из имен полей основной таблицы. Представления могут также использовать подзапросы, в том числе и соотнесенные.
Вывести все оценки по дисциплине, которые больше средней оценки по этой дисциплине.
CREATE VIEW AVG OC AS;
SELECT * FROM USP FIRST;
WHERE OCENKA > (SELECT AVG (OCENKA)
FROM USP SECOND;
WHERE SECOND.PNUM=FIRST.PNUM)
__________________
Вывести фамилии, шифр, предмет, который студент сдал.
SELECT STUD.FAM, STUD.SNUM, USP.PNUM, USP.SNUM;
FROM STUD INNER JOIN USP;
ON STUD.SNUM=USP.SNUM
CREATE VIEW <имя>
(<имя поля>, <тип>[(<размер>,…)[,<имя поля>]])
/FROM ARRAY <массив>
INSERT INTO <имя файла>[(<поле1>[,<поле2>])]
VALUES <выражение1>[,<выражение2>]
Добавление записей в конец существующего файла, используя выражения, перечисленные после слова VALUES.
Если опущены имена полей, выражения будут записываться в последовательные поля базы данных в соответствии с ее структурой.
INSERT INTO <имя> FROM ARRAY <имя>
34. Файловые структуры для хранения информации в базах данных
Классификация
Файлы:
прямого доступа
последовательного доступа
индексные
плотный индекс (индексно-прямые)
В – деревья
Индексно-последовательные
инвертированные списки
взаимосвязанные файлы
с однонаправленными цепочками
с двунаправленными цепочками
Прямого доступа на устройствах прямого доступа. Имеют фиксированную длину записи, и обеспечивают более быстрый доступ. Адрес м.б. вычислен по номеру записи. Однако поиск по номеру неэффективен. Лучше искать по ключам, поэтому есть ф-я преобразования ключа в номер.(например – хеширование(рассказать))
С переменной длиной записи – последовательного доступа. Тогда конец записи отмечается специальным маркером, либо в начале каждой записи дана ее длина.
Плотный индекс: данные в области данных одинаковой длины. В индексной области все записи упорядочены по значению ключа.
Неплотный индекс – ключ указывает не на запись, а на страницу записей. Внутри страниц записи упорядочены.
Б деревья – построение индекса по индексу
Инвертированные списки: ведется поиск по вторичным ключам. Они м.б. одинаковыми. Инвертированный список – двухуровневая индексная структура. На первом уровне расположены значения вторичных ключей. На втором – блок указателей на записи с таким значением ключа. На третьем – собственно данные.
Деревья – ежику понятно.(LPTR,DATA,RPTR)
35. Файлы прямого и последовательного доступа
Файлы прямого доступа – файлы с постоянной длиной записи, расположенные на устройствах прямого доступа. Обеспечивают наиболее быстрый доступ к произвольным записям и их использование – наиболее перспективное в системах баз данных
Файлы последовательного доступа организованы на устройствах последовательного доступа.
Файлы последовательного доступа могут быть организованы двумя способами.
конец записи отмечается специальным маркером
в начале каждой записи записывается ее длина
В файлах последовательного доступа физический адрес расположения нужной записи может быть вычислен по номеру записи, но такой доступ в базах данных неэффективный.
Чаще всего необходим поиск по первичному ключу или выборка по внешним ключам. Во всех этих случаях известно значение ключа, но неизвестен номер записи. В некоторых случаях возможно построение функций, которые по значению ключа однозначно вычисляют адрес.
NZ=F(k)
NZ – номер записи
k – значение ключа
F - функция
Функция должна быть линейной, чтобы обеспечивать взаимнооднозначное соответствие.
Когда это не удается, применяются методы хэширования и создаются специальные хэш-функции.
Суть: берется значение ключа и используется для начала поиска, то есть вычисляется некоторая хэш-функция, и полученное значение берется в качестве адреса начала поиска. То есть не требуется такого соответствия, но для увеличения скорости ограничивается время этого поиска. Поэтому допускается, что нескольким разным ключам может соответствовать одно значение хэш-функции, то есть один адрес. Это коллизии. Значения ключей, которые имеют одно и то же значение хэш-функции – синонимы. При использовании хэширования как метода доступа необходимо выбрать хэш-функцию и метод разрешения коллизии.
Существуют разные методы:
использование сгенерированного адреса в качестве начальной точки для последовательного просмотра. С этого адреса начинается поиск свободного места в памяти
сгенерированный адрес считается при этом адресм хранения не одной конкретной записи, а области памяти, в пределах которой размещаются все записи, получившие этот адрес. В пределах страницы записи могут размещаться в последовательном порядке поступления. Если со временем структура окажется заполненной, в памяти выделяется новая страница, связываемая с предыдущей указателем. Хэш-функция может генерировать абсолютный адрес страницы и ее номер.
