- •Базы Данных
- •1.Понятие банка данных. Компоненты банков данных и их краткая характеристика
- •2.Языковые средства субд
- •3.Классификация баз данных
- •4.Этапы проектирования баз данных
- •Тсп для даталогического проектирования
- •Тсп для физического проектирования
- •5.Инфологическое (концептуальное) моделирование
- •7.Case -средства проектирования бд
- •9.Реляционные модели. Основные понятия
- •10.Реляционные модели. Нормальные формы отношений
- •5Nf. Декомпозиция без потерь
- •11.Реляционные модели. Нормализация отношений
- •12.Реляционные алгебры
- •13.Факторы, влияющие на проектирование баз данных
- •1. Специфика предметной области:
- •2. Особенности требуемой обработки информации:
- •3. Характеристика пользователей системы:
- •14.Алгоритм перехода от er-модели к реляционной модели данных
- •15.Ограничения целостности. Понятие и классификация
- •16.Возможности задания ограничений целостности в современных субд
- •17.Языки запросов. Понятие. Классификация
- •18.Классификация запросов. Особенности реализации запросов разных классов
- •19.Табличные языки запросов. Общая характеристика
- •20.Язык sql. Общая характеристика
- •21.Общая структура команды Select языка sql. Корректировка данных в sql
- •22.Sql. Создание объектов
- •23.Sql. Встроенный join
- •24.Sql. Понятие курсора. Использование курсоров
- •25.Sql. Группировка данных. Использование обобщающих функций
- •26.Sql. Создание и использование представлений
- •27.Генераторы экранных форм. Назначение. Классификация
- •28.Генераторы отчетов. Назначение. Классификация
- •29.Классификация распределенных банков данных
- •30.Проблемы обеспечения целостности в распределенных бд
- •31.Сравнение централизованных и распределенных систем
- •32.Распределенные бд. Технологии файл-сервер и клиент-сервер
- •33.Распределенные базы данных. Технология тиражирования
- •34.Проблемы, возникающие при параллельном доступе, и пути их решения
17.Языки запросов. Понятие. Классификация
Запрос – специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.
Языки запросов — это искусственные языки, на которых делаются запросы к базам данных и другим информационным системам, особенно к информационно-поисковым системам.
Языки запросов – языки высокого уровня, ориентированные на конечного пользователя и предназначенные для формирования запросов к БД.
Примеры:
SQL — де-факто стандартный язык запросов к реляционным базам данных.
Language Integrated Query — расширение для некоторых языков программирования в .NET Framework, добавляющее к ним SQL-подобный язык запросов.
XQuery — язык запросов, разработанный для обработки данных в формате XML.
XPath — язык запросов к элементам XML-документа.
Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка описания запросов:
Табличные – язык QBE (Query By Example) – язык запросов по образцу. Часто используется не только как самостоятельный ЯЗ, но и как построитель запросов на SQL.
Аналитические – язык SQL (Structurend Query Language) – структурированный язык запросов. Графические элементы используются частично. Использование дополнительных возможностей, выходящих за рамки языка данного класса.
По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие между ними существует в способе формирования запросов: язык QBE предлагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса.
Разделение SQL (это не различные языки, а разделы команд SQL сгруппированных по их функциям):
DDL (Язык Определения Данных) — так называемый Язык Описания Схемы в ANSI, состоит из команд, которые создают объекты (таблицы, индексы, просмотры, и так далее) в базе данных.
DML (Язык Манипулирования Данными) — это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени.
DCD (Язык Управления Данными) состоит из средств, которые определяют, разрешить ли пользователю выполнять определенные действия или нет. Они являются составными частями DDL в ANSI.
ЯЗ используются: в интерактивном режиме; встраиваются в программы.
* ЯЗ обычно не являются функционально-полными языками.
* Возможности языка зависят то его типа.
* Часто включают в себя дополнительные возможности: определения данных; корректировки данных.
ЯЗ зависят от СУБД: реляционные языки запросов; объектные языки запросов. В реляционных языках запросов источниками данных являются плоские таблицы (реальные или виртуальные (запросы, представления)) и результатом является плоская таблица.
Любой запрос определяет: - источник(и) информации; - поля, выводимые в ответ (обязательно); - условие отбора (не обязательно).
Дополнительно может быть задано: - упорядочение данных в ответе (упорядочение ответа может участвовать не только для вывода результата в определенной последовательности, но и для формирования специфических запросов); - число записей, выводимых в ответ (все, заданное число, заданный процент).
Процедурные языки обработки данных. Требуют от программиста кодирования программной логики, необходимой для навигации по физической структуре данных для идентификации и доступа к требуемым данным. Например, при использовании ADABAS программист должен написать код для спецификации записей данных (FIND), получить специфицированное множество данных и организовать цикл его просмотра (GET), а также предоставить код для актуализации полученных данных для пользователя.
Кроме того, процедурные языки обработки данных обычно являются контекстно-зависимыми в реализации. Следовательно, прикладные программы становятся полностью привязанными к конкретной системе БД, для которой они и были разработаны. Такая привязка прикладных программ к конкретным системам БД значительно ограничивает их мобильность.
Декларативные языки обработки данных. Дают возможность разрушить взаимосвязь между прикладными программами и физическими структурами данных. Декларативные языки обработки данных только специфицируют, какие данные необходимы прикладной программе, оставляя за СУБД привилегию определять, как осуществлять навигацию по физической структуре данных для доступа к требуемым данным. SQL есть пример декларативного языка обработки данных (уменьшается сложность прикладной программы и число ошибок в прикладной программе).
Язык поисковых запросов (информационно-поисковый язык) – язык, на котором формулируются запросы к поисковым системам.
Язык поисковых запросов состоит из логических операторов, префиксов обязательности, возможности учета расстояния между словами, морфологии языка, регистра слов, расширенных операторов, возможностей расширенного поиска, уточнения поиска.