Язык QBE

Автор работы: Пользователь скрыл имя, 26 Октября 2011 в 17:03, курсовая работа

Описание

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

Содержание

Введение…………………………………………………………………………….……..3
1 База данных………………………………………………………………………….…..5
1.1 Основные модели данных…………………………………………………..10
2 средства генерации и использование запросов ……………………………………12
2.1 Более сложные типы QBE запросов……………………………………..…18
2.2 Активные запросы…………………………………………………………..20
Заключение………………………………………………………………………………24
Глоссарий ………………………………………………………………………………26
Список использованных источников………………………………………………….27
Приложения……………………………………………………

Работа состоит из  1 файл

Базы данных.docx

— 226.04 Кб (Скачать документ)

     • появление проблем с производительностью (поскольку центральный сайт превращается в узкое место всей системы);

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

     Альтернативное  решение состоит в использовании  префиксов, помещаемых в имена объектов в качестве идентификатора сайта, создавшего этот объект. Например, отношение Branch, созданное на сайте S1, могло бы получить имя Sl.BRANCH. Аналогичным образом, необходимо иметь возможность идентифицировать каждый фрагмент и каждую его копию. Поэтому второй копии третьего фрагмента отношения Branch, созданного на сайте Si, можно было бы присвоить имя Sl.BRANCH.F3.C2. Однако подобный подход приводит к утрате прозрачности распределенности.

     Подход, который позволяет преодолеть недостатки, свойственные обоим упомянутым методам, состоит в использовании алиасов, создаваемых для каждого из объектов базы данных. В результате объект Sl.BRANCH.F3.C2 пользователям сайта Si может быть известен под именем local branch. Задача преобразования алиаса в истинное имя соответствующего объекта базы данных возлагается на СУРБД.

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

     1.1 Основные модели  данных

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

  • иерархическая,
  • сетевая,
  • реляционная.

     Кроме того, в последние годы появились  и стали более активно внедряться на практике следующие модели данных:

  • постреляционная,
  • многомерная,
  • объектно-ориентированная.

     Разрабатываются также всевозможные системы, основанные на других

     моделях данных, расширяющих известные модели. В их числе можно назвать

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

     В некоторых СУБД поддерживается одновременно несколько моделей

     данных.

     Рассмотрим  реляционную и объектно-ориентированную  модель данных.

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

     Реляционная модель 2данных некоторой предметной области представляет собой набор отношений, изменяющихся во времени.

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

     Атрибуты  представляют собой свойства, характеризующие сущность.

     В структуре таблицы каждому атрибуту соответствует заголовок некоторого столбца таблицы.

     Каждому экземпляру сущности соответствует  строка таблицы – кортеж.

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

     Схема отношения (заголовок отношения) представляет собой список имен атрибутов. Множество кортежей отношения часто называют содержимым (телом) отношения.

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

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

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

     2 Средства генерации и использование запросов

     Средства генерации  запросов MS Access. Язык QBE использует визуальный подход для организации доступа  к информации в базе данных, построенный  на применении шаблонов запросов, предложенных в 1977 г. Работа в QBE – задание образцов значений в шаблоне запроса, предусматривающем  тот тип доступа к базе данных, который требуется в данный момент, например, получение ответа на некоторый  вопрос.

     Язык QBE был разработан компанией IBM в 1970-е  годы. Он предназначался для пользователей, заинтересованных в выборке информации из баз данных. Этот язык получил  у пользователей столь широкое  признание, что в настоящее время  в той или иной мере он реализован практически во всех популярных СУБД, включая и Microsoft Access. Средства поддержки  языка QBE в СУБД Microsoft Access весьма просты в эксплуатации и в то же время  доставляют пользователям достаточно широкий спектр возможностей работы с данными.

     Средства  языка QBE 3могут быть использованы для ввода запросов к информации,  сохраняемой в одной или более таблицах, а также для определения набора полей, которые должны присутствовать в результирующей таблице. Отбор записей может проводиться по конкретному или общему критерию и предусматривать выполнение необходимых вычислений на основе сохраняемой в таблицах информации. Кроме того, средства языка QBE можно использовать для выполнения различных операций с таблицами, например, для вставки и удаления записей, модификации значений полей или создания новых полей и таблиц. Продемонстрируем эти возможности.

     При создании или открытии базы данных в среде СУБД Microsoft Access в окне Database отображаются все объекты этой базы данных – таблицы, формы, запросы  и отчеты. Так, при открытии базы данных пользователя DreamHome в этом окне будет представлен набор таблиц, входящих в упомянутую базу данных.

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

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

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

     В начале процедуры создания нового запроса  СУБД Microsoft Access выводит диалоговое окно New Query. Представленный в этом окне перечень доступных вариантов дальнейших действий позволяет либо приступить к созданию нового запроса с нуля и выполнить все требуемые  действия собственными силами (вариант Design View), либо воспользоваться для  создания запроса помощью одного из мастеров СУБД Access, названия которых  составляют оставшуюся часть списка.

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

     Использование QBE для создания запросов на выборку  данных. Запросы на выборку являются самым распространенным типом запросов. В начале создания нового запроса  к базе данных открывается окно, которое будет содержать список таблиц и запросов, существующих в  базе данных. В этом окне пользователю необходимо указать таблицы и/или  запросы, содержащие интересующие его  данные.Окно Select Query  представляет собой  графический инструмент языка QBE. Для  определения образца  интересующих нас записей в графической  среде этого окна для выборки, перетаскивания или манипулирования  содержащимися в нем объектами  можно использовать мышь. Определение  полей и записей, которые должны быть включены в результаты запроса, производится в сетке языка QBE. При  создании запроса в сетке конструирования QBE-запроса  МS Access неявно генерирует для него эквивалентный SQL-оператор. Посмотреть и отредактировать этот оператор можно в окне SQL.

     Критерием отбора называют ограничения, которые  накладываются на результаты выполнения запроса с целью выборки только тех полей или записей данных, которые представляют интерес для  пользователя. Например, для извлечения из таблицы Property_for_Rent  только столбцов номера объекта (Pno), города (city), типа объекта (Type) и суммы арендной платы (Rent) в  сетке QBE может быть подготовлен  запрос.

     После выполнения этого запроса, полученные результаты будут отображены в результирующей сетке данных, содержащей только указанные  столбцы таблицы Property_for_Rent. Эквивалентный SQL-onepaтop запроса будет выглядеть следующим образом:

     SELECT PROPERTY_FOR_RENT.Pno, PROPERTY_FOR_RENT.City, PROPERTY_FOR_RENT_Type, PROPERTY_FOR_RENT.Rent FROM PROPERTY_FOR_RENT;

     Можно продолжать усложнять условия отбора, вводя дополнительные критерии  для полей. Если поместить некоторые  выражения в более чем одну ячейку строки Criteria, СУБД Access соединит их, используя логический оператор AND (И) или OR (Или). Если выражения в  разных ячейках будут введены  в одну и ту же строку сетки QBE, СУБД Access использует для их соединения оператор AND. Это означает, что в результирующий набор будут помещены только те записи, которые отвечают одновременно всем указанным критериям отбора. Если выражения будут помещены в разные строки сетки QBE, СУБД Microsoft Access использует для соединения логический оператор OR. В этом случае в результирующий набор попадут любые записи, отвечающие хотя бы одному из указанных условий  отбора.

     Например, для вывода сведений о расположенных  в городе Глазго объектах недвижимости, у которых ежемесячная арендная плата находится в диапазоне  от 350 до 450 фунтов стерлингов, достаточно поместить значение ‘Glasgow’ в  ячейку Criteria стол City и ввести выражение  ‘Between 350 And 450’ в ячейку Criteria столбца Rent.

     Сетка QBE

     SELECT PROPERTY_FOR_RENT. Pno, PROPERTY_FOR_RENT.CIty, PROPERTY_FOR_RENT .Type,

     PROPERTY_FOR_RENT.Rent

     FROM PROPERTY_FOR_RENT

     WHERE (((PROPERTY_FOR_RENT.City)=”GlasgoW) AND ((PROPERTY_FOR_RENT.Rent) Between

     350 And 450));

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

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

Информация о работе Язык QBE