Главная страница
Навигация по странице:

  • Ответ

  • запроса

  • Важные термины, используемые в хешировании

  • Хеш-функция

  • Квадратичное зондирование

  • Индекс хеша

  • Переполнение корзины

  • Student_ID = 10

  • INFORMATION_SCHEMA

  • DESCRIBE

  • Ерл. 1 Пул вопросов Иерархические базы данных


    Скачать 0.66 Mb.
    Название1 Пул вопросов Иерархические базы данных
    Дата19.10.2022
    Размер0.66 Mb.
    Формат файлаdocx
    Имя файлаEkzamen1.docx
    ТипДокументы
    #741967
    страница3 из 5
    1   2   3   4   5

    Ответ: SQL — это язык структурированных запросов (Structured Query Language), позволяющий хранить, манипулировать и извлекать данные из реляционных баз данных (далее — РБД, БД).

    Требование поддержания согласованности данных в нескольких файлах не

    позволяет при построении информационной системы обойтись простой библиотекой функций: такая система должна обладать некоторыми собственными данными (их принято называть метаданными), определяющими целостность данных. Именно наличие метаданных позволяет СУБД описывать и использовать произвольные данные сначала в рамках навигационной, а затем реляционной модели.

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

    Было бы гораздо проще, если бы СУБД предоставляла в распоряжение пользователей язык, который позволял сформулировать соответствующий запрос, в ответ на который СУБД выдавала требуемый результат. В составе современных реляционных СУБД такие языки имеются и называются языками запросов к базам данных.

    Самое примечательное то, что эти языки разрабатываются в соответствии со стандартным интерфейсом SQL, который, в настоящее время, де факто является обязательным для всех разработчиков СУБД. Это приводит к тому, что внутренне строение СУБД может быть любым, но ее интерфейс, с которым имеет дело пользователь, будет единым, и пользователю не придется переписывать код всякий раз, когда в информационной системе меняется СУБД.

    Мощность языка SQL такова, что позволяет сформулировать любой запрос для получения необходимой информации, в то время как в навигационных СУБД для этого пришлось бы писать программный код.


    1. Где применяется протокол WAL (Write Ahead Log)?

    Ответ: Ведение журнала с опережающей записью (WAL) является стандартным методом обеспечения целостности данных. Короче говоря, основная концепция WAL заключается в том, что изменения в файлах данных (где находятся таблицы и индексы) должны записываться только после того, как эти изменения были зарегистрированы, то есть после того, как записи журнала, описывающие изменения, были сброшены в постоянное хранилище. Если мы следуем этой процедуре, нам не нужно сбрасывать страницы данных на диск при каждой фиксации транзакции, потому что мы знаем, что в случае сбоя мы сможем восстановить базу данных с помощью журнала: любые изменения, которые не были применены к страницам данных, могут быть переделаны из записей журнала. (Это восстановление с откатом вперед, также известное как REDO.)

    Поскольку WAL восстанавливает содержимое файла базы данных после сбоя, журналируемые файловые системы не требуются для надежного хранения файлов данных или WAL-файлов. Фактически, накладные расходы на ведение журнала могут снизить производительность, особенно если журналирование приводит к сбросу данных файловой системы на диск. К счастью, очистка данных во время журналирования часто может быть отключена с помощью опции монтирования файловой системы, например, в файловой системе Linux ext3. Журналируемые файловые системы улучшают скорость загрузки после сбоя.data=writeback

    Использование WAL приводит к значительному сокращению числа операций записи на диск, поскольку на диск необходимо сбрасывать только файл журнала, чтобы гарантировать фиксацию транзакции, а не каждый файл данных, измененный транзакцией. Файл журнала записывается последовательно, и поэтому стоимость синхронизации журнала намного меньше, чем стоимость очистки страниц данных. Это особенно актуально для серверов, обрабатывающих множество небольших транзакций, затрагивающих различные части хранилища данных. Кроме того, когда сервер обрабатывает множество небольших одновременных транзакций, одного файла журнала может быть достаточно для фиксации многих транзакций.fsync

    WAL также позволяет поддерживать оперативное резервное копирование и восстановление на определенный момент времени, как описано в разделе 26.3. Архивируя данные WAL, мы можем поддерживать возврат к любому моменту времени, охватываемому доступными данными WAL: мы просто устанавливаем предварительную физическую резервную копию базы данных и воспроизводим журнал WAL до желаемого времени. Более того, физическая резервная копия не обязательно должна быть мгновенным снимком состояния базы данных — если она сделана в течение некоторого периода времени, то повторное воспроизведение журнала WAL за этот период исправит любые внутренние несоответствия.


    1. Какие функции выполняет в СУБД процессор запросов?

    Ответ: Следующий компонент называется процессором (менеджер) запроса. Название не совсем точное, поскольку этот элемент не только обрабатывает запросы, но и запрашивает изменения данных или метаданных. Его задача — найти лучший способ выполнения требуемой операции и дать соответствующие команды менеджеру памяти.

    Основной функцией процессора запросов БД является компиляция операторов языка БД в некоторую выполняемую программу. Основной проблемой реляционных СУБД является то, что языки этих систем (а это, как правило, SQL) являются непроцедурными, т.е. в операторе такого языка специфицируется некоторое действие над БД, но эта спецификация не является процедурой, а лишь описывает в некоторой форме условия совершения желаемого действия. Поэтому компилятор должен решить, каким образом выполнять оператор языка прежде, чем произвести программу. Применяются достаточно сложные методы оптимизации операторов. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки (времени) выполнения, представляющей собой, по сути дела, интерпретатор этого внутреннего языка.

    Задача процессора запросов — превращать запрос или действие с БД, которые могут быть выражены на очень высоком уровне (например, в виде запроса SQL), в последовательность запросов на хранимые данные типа отдельных кортежей отношения или частей индекса на отношении. Иногда самой трудной частью обработки запроса является его организация — выбор хорошего плана запроса или последовательности запросов к системе памяти, отвечающей на запрос.


    1. Что представляют собой метаданные БД?

    Ответ: Метаданные — это субканальная информация об используемых данных. Структурированные данныепредставляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими. набор допустимых структурированных описаний, которые доступны в явном виде и предназначение которых может помочь найти объект. Метаданные используются для повышения качества поиска. Поисковые запросы, использующие метаданные, могут спасти пользователя от лишней ручной работы по фильтрации. Информируя компьютер о том, какие элементы данных связаны и как эти связи учитывать, становится возможным осуществлять достаточно сложные операции по фильтрации и поиску.

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

    Некоторые виды метаданных предназначены для обеспечения возможности различных видов представления некоторых данных. Например, если к изображению прилагаются метаданные, содержащие информацию о том, какая часть изображения наиболее важная (допустим, изображение человека), то программа для просмотра изображений на маленьком экране (таком, как на мобильном телефоне), может отобразить только эту наиболее важную часть изображения. Аналогично используются метаданные, позволяющие сделать доступными для слепых диаграммы и изображения, путём их преобразования для вывода на специальные устройства, либо чтения их описания с использованием программного обеспечения, преобразующего текст в речь.

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

    Метаданные можно классифицировать по:

    -Содержанию. Метаданные могут либо описывать сам ресурс (например, название и размер файла), либо содержимое ресурса (например, «в этом видеофайле показано как парень играет в футбол»).

    -По отношению к ресурсу в целом. Метаданные могут относиться к ресурсу в целом или к его частям. Например, «Title» (название фильма) относится к фильму в целом, а «Scene description» (описание эпизода фильма) отдельное для каждого эпизода фильма.


    1. Какие возможности СУБД не обеспечиваются в полной мере использованием файловых структур?




    1. Для чего используется хеш-функция?

    Ответ: Хэш-функция — это основной инструмент хэширования. Именно хэш-функция занимается преобразованием и сокрытием какой-то информации. По сути, хэш-функция — это математический алгоритм «сжатия» любой информации, который в результате собственной работы выдает сообщение определенной длины. Такое сообщение состоит из набора специальных символов, букв и чисел. Идеальная хэш-функция должна соответствовать следующим свойствам:

      1. Одна и та же информация, поступающая в обработку, всегда дает один и тот же результат хэширования.

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

      3. После выполнения хэш-функции невозможно определить, какая информация была на входе.

      4. Хэш-функция не должна выдавать одинаковое хэш-значение для разной информации на входе.

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

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

    Результат, производимый хеш-функцией, называется «хеш-суммой» или же просто «хешем», а входные данные часто называют «сообщением».
    Применение хеш-функций
    Рассмотрим несколько достаточно простых примеров применения хеш-функций:

    • Проверка целостности сообщений и файлов
    Сравнивая хеш-значения сообщений, вычисленные до и после передачи, можно определить, были ли внесены какие-либо изменения в сообщение или файл.

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

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


    1. Что такое хеширование?

    Ответ: В СУБД хеширование – это метод прямого поиска местоположения нужных данных на диске без использования структуры индекса. Данные хранятся в форме блоков данных, адрес которых генерируется путем применения хеш-функции в ячейке памяти, где хранятся эти записи, известной как блок данных или блок данных .

    Зачем нам хеширование? Вот ситуации в СУБД, где вам нужно применить метод хеширования:

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

    • Метод хеширования используется для индексации и извлечения элементов в базе данных, поскольку более быстрый поиск этого конкретного элемента выполняется с использованием более короткого хешированного ключа вместо использования его исходного значения.

    • Хеширование является идеальным методом для вычисления прямого расположения записи данных на диске без использования структуры индекса.

    • Это также полезный метод для реализации словарей.

    Важные термины, используемые в хешировании

    Здесь приведены важные термины, которые используются в хешировании:

    • Контейнер данных – Контейнеры данных – это области памяти, в которых хранятся записи. Это также известно как Единица Хранения.

    • Ключ : ключ СУБД – это атрибут или набор атрибутов, которые помогают идентифицировать строку (кортеж) в отношении (таблице). Это позволяет найти связь между двумя таблицами.

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

    • Линейное зондирование – Линейное зондирование – это фиксированный интервал между зондами. В этом методе следующий доступный блок данных используется для ввода новой записи вместо перезаписи более старой записи.

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

    • Индекс хеша – это адрес блока данных. Хеш-функция может быть простой математической функцией даже сложной математической функции.

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

    • Переполнение корзины : условие переполнения корзины называется столкновением. Это смертельная стадия для любой статики, которая должна функционировать.

    • Существует в основном два типа методов хеширования SQL:

    Статическое хеширование

    Динамическое хеширование

    При статическом хешировании результирующий адрес блока данных всегда будет оставаться неизменным.

    Следовательно, если вы сгенерируете адрес, скажем Student_ID = 10, используя хеш-функцию mod (3) , результирующий адрес сегмента всегда будет равен 1 . Таким образом, вы не увидите никаких изменений в адресе корзины.

    Следовательно, в этом методе статического хеширования количество сегментов данных в памяти всегда остается постоянным.

    Открытое Хеширование

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

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

    1. Что такое метаданные?

    Ответ: База данных – это набор каких-то структурированных данных. Метаданные – это описание баз данных, таблиц и других объектов, находящихся под управлением MySQL сервера. Иногда метаданные называют “данными о данных” (“data about data”). MySQL обеспечивает доступ к метаданным следующими методами:

    – INFORMATION_SCHEMA: MySQL сервер имеет словарь данных, содержащий метаданные, в виде базы данных (схемы) с именем INFORMATION_SCHEMA. Информационная схема появилась в MySQL, начиная с версии 5.0. В ней содержатся объекты, к которым можно обратиться, как к обычным таблицам.

    – Команда SHOW: встроенная команда, которая возвращает информацию о базах данных, таблицах и т.д.Например: SHOW DATABASE или SHOW TABLES вернут соответственно список баз данных или имен таблиц, SHOW COLUMNS – вернет описание столбцов в таблице. Для того, чтобы использовать команду SHOW необходимо иметь привелегию SELECT.

    – DESCRIBE: команда SQL, с помощью которой можно просмотреть структуру таблицы и свойства столбцов.

    – mysqlshow: клиентская программа, запускаемая из командной строки. Может вывести результаты, аналогичные команде SHOW.


    1. Какие способы доступа к данным можно реализовать при помощи индекса?

    Ответ: Задачей разработчика является определение соответствующей структуры БД, в данном случае — определение ключей и индексов. Так, если для поля создан индекс, то при поиске записей по этому полю автоматически используется индексно-последовательный метод доступа, в противном случае — последовательный метод. При выполнении операций с таблицами используется один из следующих способов доступа к данным:

    • навигационный;

    • реляционный.

    Навигационный способ доступа заключается в обработке каждой отдельной записи таблицы. Этот способ обычно используется в локальных БД или в удаленных БД небольшого размера. Если необходимо обработать несколько записей, то все они обрабатываются поочередно.

    Реляционный способ доступа основан на обработке сразу группы записей, при этом если необходимо обработать одну запись, то обрабатывается группа, состоящая из одной записи. Так как реляционный способ доступа основывается на SQL-запросах, то его также называют SQL-ориентированным. Этот способ доступа ориентирован на выполнение операций с удаленными БД и является предпочтительным при работе с ними, хотя его можно использовать также и для локальных БД.

    Способ доступа к данным выбирается программистом и зависит от средств доступа к БД, используемых при разработке приложения. Например, в приложениях, создаваемых в Delphi, реализацию навигационного способа доступа можно осуществить посредством компонентов Table или Query, а реляционного — с помощью компонента Query.

    Таким образом, методы доступа к данным определяются структурой БД, а способы доступа — приложением.

    P.s. Возможность быстрого поиска и сортировки. Индексы полезны, только когда данные не изменяются.


    1. Какие значения содержат записи индексного файла?
    1   2   3   4   5


    написать администратору сайта