Файл: Теория баз данных в экономических системы.doc

Добавлен: 15.11.2018

Просмотров: 2777

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


OR

Истина

Ложь

Истина

Истина

Истина

Ложь

Истина

(значение выбирается)

Ложь

(значение отвергается)


Кроме логических операторов могут использоваться операторы сравнения<,>, <=, >=, <>, =. А также операторы BEETWEN, LIKE, IN. Запросы, которые используют операторы сравнения и логические операторы, называют запросами на условие.


Условия отбора для дат и времени (запросы на время).


Microsoft Access хранит значения дат и времени, как числа с плавающей точкой двойной точности. Значения слева от десятичной точки соответствуют дате, а дробная часть числа соответствует времени суток (час, минута, секунда). Microsoft Access предоставляет несколько функций для задания условия отбора для дат и времени.

  1. День ( Day ).

Эта функция выдает значение дня месяца в общем случае от 1 до 31.

Пример: Day [(название поля)] >10.

  1. Месяц ( Month ).

Выдает значение месяца года от 1 до 12.

  1. Год (Year).

Выдает значение года в диапазоне от 100 до 9999.

  1. Неделя (Weekday).

Выдает значение, соответствующие дням недели в интервале от 1 до 7.

  1. Интервал (Datepart).

Используется с ключами ww и q. Выдает номер квартала при наличии (значение от 1 до 4) и значение номера недели года при наличии ww (от 1 до 52).

Пример: Datepart [“q”; (название поля)].

  1. час (Hour).

Выдает значение времени суток в диапазоне от 0 до 23.


Вычисляемые поля (запросы на вычисление).


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

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

Вычисляемое выражение может использовать следующие функции:

  1. «+» - складываются два числовых выражения.

  2. «-» - вычитается из первого числового выражения второе.

  3. «*» - перемножение двух числовых выражений.

  4. «/» - деление первого на второе.

  5. «\» - округляет два числовых выражения до целых значений и делит первое на второе, результат также округляется до целого.

  6. «^» - возводит первое числовое выражение в степень, задаваемую вторым числовым выражением.

  7. «mod» - округляет оба числовых выражения до целых, делит первое на второе и выдает остаток.

  8. «&» - создает новую текстовую строку, присоединяя вторую строку к концу первой. Если один из операндов является числом, Microsoft Access перед проведением объединения преобразует его в строку символов.

Для создания сложных выражений Microsoft Access предоставляет специальную программу, называемую « Построитель выражений », которая содержит целый ряд встроенных функций: математических, статистических, логических, временных.


Итоговые и перекрестные запросы.


Часто необходимо бывает узнать данные не по отдельным записям таблицы, а итоговые значения по группам данных. Пример показан на рис.7 .




Таблица:


ФИО студента

Номер группы

Стипендия


1076/1

400


1076/2

200


1076/2

300


1076/1

300



Запрос:


Номер группы

Стипендия группы

1076/1

700

1076/2

500


Рис.7 Пример итогового запроса.


Итоговый запрос создается с помощью команды, называемой « Групповые операции » - .

Microsoft Access предоставляет следующие функции, обеспечивающие выполнение групповых операций:

  1. Sum – выдает сумму всех значений в данной группе. Используется только для числовых или денежных полей.

  2. Arg – выдает среднее арифметическое значение данного поля в каждой группе. Используется для числовых или денежных полей.

  3. Min – выдает наименьшее значение, найденное в данном поле внутри каждой группы. Может использоваться для числовых, денежных и текстовых полей.

  4. Max – выдает наибольшее значение в каждой группе.

  5. Count – выдает число записей, в которых значение каждого поля отличны от “ null ”.

  6. St Dev – выдает стандартное отклонение (корень квадратный из дисперсии) всех значений данного поля в каждой группе. Применяется только к числовым и денежным полям.

  7. Var – выдает дисперсию среднего значения в каждой группе. Используется в числовых и денежных полях.

  8. First – выдает первое значение данного поля в группе.

  9. Last – последнее значение данного поля в группе.

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

Пример такого определения показан на рис.8


Таблица данных:

Строки Столбцы

Значение (Sum)

Ф амилия

Года

С умма заработка

Сидоров

1998

20000

Сидоров

1998

30000

Сидоров

1998

40000

Сидоров

1999

30000

Сидоров

1999

40000

Сидоров

1999

50000

Петров

1998

10000

Петров

1999

50000

Петров

1999

60000


Перекрестный запрос: Столбцы

Ф амилия

1998

1999

С идоров

90000

120000

П етров

10000

110000

Строки

Значение (Sum)


Рис.8 Пример перекрестного запроса.



2.2.10.2. Многотабличные запросы.


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


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

Для внешнего объединения характерно два случая:

  1. объединяются все записи из таблицы « Клубы » и только те записи из таблицы «Контракты », в которых связанные поля совпадают, т.е. в запросе выведется таблица 10.








Таблица. Клубы. Таблица. Клубы и контракты.

Клубы

Грибоедов

Money Honey

La Plage

Барометр

Havana Club

Plaza

Контракты

Клубы

Контракт 1

Грибоедов

Контракт 2

Money Honey

Контракт 3

La Plage

Контракт 4

Барометр

Контракт 5

Havana Club

Контракт 6


Контракт 7









Запрос.


Контракт

Клуб

Контракт1

Грибоедов

Контракт2

Money Honey

Контракт3

La Plage

Контракт4

Барометр

Контракт5

Havana Club


Рис.9 Пример симметричного объединения.



Таблица 10. Первый случай внешнего объединения.


Контракт

Клуб

Контракт 1

Грибоедов

Контракт 2

Money Honey

Контракт 3

La Plage

Контракт 4

Барометр

Контракт 5

Havana Club


Plaza


  1. Объединяются все записи из таблицы « Контракты » и только те записи из таблицы «Клубы», в которых связанные поля совпадают, как в таблице 11.


Таблица 11. Второй способ внешнего объединения.


Контракт

Клуб

Контракт 1

Грибоедов

Контракт 2

Money Honey

Контракт 3

La Plage

Контракт 4

Барометр

Контракт 5

Havana Club

Контракт 6


Контракт 7



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

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


2.2.11 Ограничения при использовании запросов на выборку для обновления данных


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

  1. В вычисляемых полях, т.к. Microsoft Access не может понять в каком из вычисляемых полей производить изменения.

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

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

  4. В полях с типом данных “ Счетчик ”.

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

  6. В любом поле запроса, которое выдает только уникальное значение.

  7. В любом поле запроса, в котором используется операция языка SQLUNION”, создающая результирующую таблицу по выбранным строкам.



2.2.12 Модификация данных с помощью запросов на изменение


Виды запросов на изменение.


Второй тип запросов – это запросы на изменение, с помощью которых можно трансформировать информацию в таблицах.

Существуют следующие виды запросов:

  1. Запрос на обновление.

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

  1. Запрос на создание таблицы.

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

  1. Запрос на добавление

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

  1. Запрос на удаление.

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




Ошибки при выполнении запросов на изменение.


Во время выполнения запроса на изменение Microsoft Access различает следующие ошибки:

  1. Дубликаты первичных ключей.

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

  1. Ошибки преобразования данных.

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

  1. Заблокированные записи.

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

  1. Нарушение условий на значение.

Если вставляемые или обновляемые записи не удовлетворяют условию на значение для некоторого поля или таблицы в целом, Microsoft Access сообщает об этой ошибке и исключает записи, которые не удовлетворяют условию на значение при вставке или обновлении.

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


2.2.13 Импорт, экспорт и связывание данных


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


Стандарт ODBC.


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


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

В связи с этими проблемами в 1992 году был создан стандартный интерфейс языка CLI, позволяющий обеспечить взаимосвязь различных программных продуктов, написанных на диалектах языка SQL. Фирма Microsoft упростила интерфейс CLI, создав свой стандарт, который получил название ODBC – что означает открытый доступ к данным.

Архитектура данного стандарта может быть представлена в виде, показанном на рис.10.

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





SQL – приложение

Например, Microsoft Access





Администратор ODBC




драйверыODBC











Рис. 10. Архитектура стандарта ODBC.


Сравнение импорта и связывания.


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

Импорт – это внесение данных непосредственно в базу данных Microsoft Access.

Связывание – это возможность работы с данными, находящимися в другой базе данных, без непосредственного внесения в базу данных Microsoft Access.

Следует отдать предпочтение импорту в следующих случаях:

  1. необходимый файл сравнительно невелик и пользователи исходной базы данных редко меняют его содержимое.

  2. Данные исходного файла не используются совместно с пользователями других приложений.

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

  4. Необходимо обеспечить максимальную эффективность работы приложения.

Связывание используется в следующих случаях:

  1. Файл превышает максимально возможный размер базы данных Microsoft Access.

  2. Данные будут использоваться в режиме коллективного доступа.

  3. Данные часто меняются пользователями исходной базы данных.

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


Импорт и экспорт данных.


Импортировать данные в Microsoft Access можно из следующих источников:

  1. База данных dBase.

  2. База данных Paradox.

  3. База данных FoxPro.

  4. База данных SQL.

  5. Электронные таблицы, созданные в Excel от второй версии и выше, а также в Lotus.

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

  7. Можно импортировать любой объект из любой базы данных Microsoft Access.

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