Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
221.91 Кб
Скачать

33. Структурированный язык запросов sql, определение пользовательских представлений.

VIEW – некоторое подобие таблицы, содержание которой выбирается с помощью выполнения запроса. Причем при изменении значения в этих таблицах автоматически меняется их представление.

Представление создается командой CREATE VIEW, после которого указывается его имя, а далее следует запрос, формирующий тело представления. Поля представления могут иметь свои имена, полученные из имен полей основной таблицы. Представления могут также использовать подзапросы, в том числе и соотнесенные.

 

  1. Вывести все оценки по дисциплине, которые больше средней оценки по этой дисциплине.

CREATE VIEW AVG OC AS;

SELECT * FROM USP FIRST;

WHERE OCENKA > (SELECT AVG (OCENKA)

FROM USP SECOND;

WHERE SECOND.PNUM=FIRST.PNUM)

__________________

  1. Вывести фамилии, шифр, предмет, который студент сдал.

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. Файловые структуры для хранения информации в базах данных

Классификация

 

Файлы:

  1. прямого доступа

  2. последовательного доступа

  3. индексные

    • плотный индекс (индексно-прямые)

    • В – деревья

    • Индексно-последовательные

  4. инвертированные списки

  5. взаимосвязанные файлы

         с однонаправленными цепочками

         с двунаправленными цепочками

 

Прямого доступа на устройствах прямого доступа. Имеют фиксированную длину записи, и обеспечивают более быстрый доступ. Адрес м.б. вычислен по номеру записи. Однако поиск по номеру неэффективен. Лучше искать по ключам, поэтому есть ф-я преобразования ключа в номер.(например – хеширование(рассказать))

С переменной длиной записи – последовательного доступа. Тогда конец записи отмечается специальным маркером, либо в начале каждой записи дана ее длина.

Плотный индекс: данные в области данных одинаковой длины. В индексной области все записи упорядочены по значению ключа.

Неплотный индекс – ключ указывает не на запись, а на страницу записей. Внутри страниц записи упорядочены.

Б деревья – построение индекса по индексу

Инвертированные списки: ведется поиск по вторичным ключам. Они м.б. одинаковыми. Инвертированный список – двухуровневая индексная структура. На первом уровне расположены значения вторичных ключей. На втором – блок указателей на записи с таким значением ключа. На третьем – собственно данные.

Деревья – ежику понятно.(LPTR,DATA,RPTR)

35. Файлы прямого и последовательного доступа

 

Файлы прямого доступа – файлы с постоянной длиной записи, расположенные на устройствах прямого доступа. Обеспечивают наиболее быстрый доступ к произвольным записям и их использование – наиболее перспективное в системах баз данных

 

Файлы последовательного доступа организованы на устройствах последовательного доступа.

 

Файлы последовательного доступа могут быть организованы двумя способами.

  1. конец записи отмечается специальным маркером

  2. в начале каждой записи записывается ее длина

 

В файлах последовательного доступа физический адрес расположения нужной записи может быть вычислен по номеру записи, но такой доступ в базах данных неэффективный.

Чаще всего необходим поиск по первичному ключу или выборка по внешним ключам. Во всех этих случаях известно значение ключа, но неизвестен номер записи. В некоторых случаях возможно построение функций, которые по значению ключа однозначно вычисляют адрес.

NZ=F(k)

NZ – номер записи

k – значение ключа

F - функция

 

Функция должна быть линейной, чтобы обеспечивать взаимнооднозначное соответствие.

Когда это не удается, применяются методы хэширования и создаются специальные хэш-функции.

Суть: берется значение ключа и используется для начала поиска, то есть вычисляется некоторая хэш-функция, и полученное значение берется в качестве адреса начала поиска. То есть не требуется такого соответствия, но для увеличения скорости ограничивается время этого поиска. Поэтому допускается, что нескольким разным ключам может соответствовать одно значение хэш-функции, то есть один адрес. Это коллизии. Значения ключей, которые имеют одно и то же значение хэш-функции – синонимы. При использовании хэширования как метода доступа необходимо выбрать хэш-функцию и метод разрешения коллизии.

Существуют разные методы:

  1. использование сгенерированного адреса в качестве начальной точки для последовательного просмотра. С этого адреса начинается поиск свободного места в памяти

  2. сгенерированный адрес считается при этом адресм хранения не одной конкретной записи, а области памяти, в пределах которой размещаются все записи, получившие этот адрес. В пределах страницы записи могут размещаться в последовательном порядке поступления. Если со временем структура окажется заполненной, в памяти выделяется новая страница, связываемая с предыдущей указателем. Хэш-функция может генерировать абсолютный адрес страницы и ее номер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]