- •Национальный исследовательский ядерный университет «мифи» Волгодонский инженерно-технический институт – филиал нияу мифи
- •Определение базы данных (бд) и банка данных (БнД)
- •Основные признаки классификации банка данных (БнД).
- •Основные этапы эволюции систем обработки данных
- •Взаимосвязь этапов создания базы данных (бд) и используемых моделей предметной области. Классификационная схема моделей базы данных (бд).
- •Первичный и вторичный ключ записи
- •Понятие ключа и индекса. Прямая и инвертированная формы индекса. Примеры.
- •Сходство и отличие процессов обработки данных средствами файловой системы и системы управления (су) базы данных (бд).
- •Характерные свойства и отличия линейных и нелинейных структур. Нелинейные структуры. Примеры.
- •Типология простых запросов
- •Назначение и особенности этапов проектирования базы данных (бд)
- •Концептуальные модели данных
- •Реляционная модель данных. Получение реляционной схемы из er-диаграммы.
- •Классификация режимов работы с базой данных (бд)
- •Технологии обработки данных
- •Целостность базы данных (бд). Понятие транзакции.
- •Виды конфликтов при параллельном выполнении транзакций
- •Сериализация транзакций. Захват и освобождение объекта.
- •Язык определения данных и язык манипулирования данными
- •Команды языка sql
- •Sql. Изменение структуры таблицы.
- •Добавление столбца.
- •2. Модификация столбца.
- •4. Добавление ограничений на уровне таблицы.
- •6. Удаление таблиц.
- •Sql. Ограничения целостности.
- •Импорт таблицы в приложение Microsoft Access
- •Создайте запрос.
- •Укажите альтернативные наборы условий с помощью оператора or.
- •Сценарии извлечения данных сразу из нескольких таблиц.
- •Использование данных из связанных таблиц для повышения информативности запроса
- •Использование мастера запросов для построения запроса на основе главной и связанной таблицы
- •Пример, использующий учебную базу данных «Борей»
- •Использование мастера запросов для построения запроса
- •Построение запроса на выборку с использованием таблиц, связанных отношением «многие-ко-многим»
- •Пример, использующий учебную базу данных «Борей»
- •Построение запроса в режиме конструктора
- •Создание запроса на объединение с использованием двух таблиц
Укажите альтернативные наборы условий с помощью оператора or.
Предположим, что требуется включить в результаты все записи, в которых поле «Город» имеет значение «Тверь», и указаны сведения о контакте — адрес или номер телефона. Чтобы совместить условия, можно использовать оператор OR, например:
Чтобы задать взаимоисключающие условия, используйте строки Условия и Или в бланке запроса. В этом случае результаты запроса будут содержать все записи, удовлетворяющие одному из условий, определенных в строке Условия или Или.
Теперь необходимо изменить запрос, задав взаимоисключающие условия в строках Условия и Или.
Переключитесь в режим конструктора.
Удалите запись Is Not Null AND <>"" из строки Условия поля «Телефон».
В строке Или поля «Телефон» введите значение Is Not Null AND <>"".
В строке Или поля «Город» введите его название — Тверь.
Переключитесь в режим таблицы, чтобы просмотреть результаты. Результаты запроса содержат все записи, в которых указан либо адрес, либо номер телефона, либо и то, и другое, а поле «Город» имеет значение «Тверь».
Примечание. Чтобы задать более двух наборов взаимоисключающих условий, используйте строку ниже строки Или. Каждая строка содержит независимый набор условий.
Просмотр SQL-выражения с измененным условием
Нажмите кнопку Режим SQL в строке состояния приложения Access либо щелкните правой кнопкой мыши ярлык документа запроса, а затем выберите команду Режим SQL. В приложении Access отображается следующий SQL-код:
SELECT Customers.[Contact], Customers.[Address], Customers.[Phone], Customers.[City]
FROM Customers
WHERE (((Customers.[Address]) Is Not Null And (Customer.[Address])<>"") AND ((Customer.[City])="london"))
OR (((Customers.[Phone]) Is Not Null And (Customers.[Phone])<>"") AND ((Customers.[City])="london"));
Обратите внимание на то, что произошли два изменения: условие, определяющее значение «Тверь» в поле «Город» теперь указано дважды, а условия в операторе WHERE теперь связаны оператором OR.
Добавление операций в запрос
В таблицах хорошо структурированной базы данных хранятся простые вычисляемые значения. Например, в таблицах можно хранить даты рождения сотрудников, но не их возраст. Хранить такие данные в таблицах нет необходимости, т. к. если известна дата рождения и текущая дата, возраст нетрудно вычислить. Для этого необходимо создать запрос для расчета и отображения нужного значения. Вычисления выполняются при каждом запуске запроса, поэтому в случае изменения данных в базе изменяются и результаты вычислений.
Цель данного упражнения — изменить запрос «Контакты в Твери» таким образом, чтобы он отображал дату рождения и возраст каждого из контактных лиц.
Откройте запрос в режиме конструктора.
Из окна таблицы «Клиенты» перетащите поле «ДатаРождения» в первый пустой столбец бланка запроса. Можно также дважды щелкнуть имя поля, чтобы автоматически добавить его в первый пустой столбец.
В следующем столбце введите в строку Поле выражение для расчета возраста по каждой записи: Возраст: DateDiff ("yyyy", [ДатаРождения], Date())).
«Возраст» — это имя вычисляемого поля. Если имя не указано пользователем, в приложении Access используется общее имя, например Выражение1. Строка после двоеточия (:) представляет собой выражение, которое служит для получения значений для каждой записи. С помощью функции DateDiff рассчитывается разница между двумя датами, после чего это значение возвращается в заданном формате. Формат yyyy указывает на значение в годах, а элементы выражения «[ДатаРождения]» и «Date()» служат для получения двух значений дат. Функция Date возвращает текущую дату, а «[ДатаРождения]» — это ссылка на поле «ДатаРождения» в базовой таблице.
Примечание. Используемая в этом примере методика расчета возраста зависит от текущего месяца и может быть неточной.
Переключитесь в режим таблицы. В результатах запроса отображаются два дополнительных поля: «ДатаРождения» и «Возраст».
Просмотр SQL-выражения с вычислениями
Нажмите кнопку Режим SQL в строке состояния приложения Access либо щелкните правой кнопкой мыши ярлык документа запроса, а затем выберите команду Режим SQL. В приложении Access отображается следующий SQL-код:
SELECT Customers.[Contact], Customers.[Address], Customers.[Phone], Customers.[City], Customers.[BirthDate],
DateDiff("yyyy",[BirthDate],Date()) AS Age
FROM Customers
WHERE (((Customers.[Address]) Is Not Null And (Customer.[Address])<>"") AND ((Customer.[City])="london"))
OR (((Customers.[Phone]) Is Not Null And (Customers.[Phone])<>"") AND ((Customers.[City])="london"));
Обратите внимание на то, что Клиенты.[ДатаРождения] и рассчитанное поле «Возраст» теперь отражаются в операторе SELECT. Ключевое слово AS используется для указания имени рассчитанного поля.
Вычисление итоговых значений запроса
Вычисление итога для столбцов запроса в приложении Office Access 2007 упростилось по сравнению с предыдущими версиями приложения Access. В новой версии можно добавлять, подсчитывать или рассчитывать другие статистические значения, а также отображать их в специальной строке «Итог», которая отображается под строкой со знаком звездочки (*) в режиме таблицы.
Для каждого столбца можно использовать отдельную статистическую функцию. Можно также отменить вычисление итога для столбца.
Цель этого упражнения — изменение запроса «Контакты в Твери» для отображения в нем строки Итог.
Откройте запрос в режиме таблицы.
На вкладке Начальная страница в группе Записи выберите команду Итоги.
Щелкните строку Итог в столбце «Контакт».
В раскрывающемся списке выберите одно из значений: Нет и Количество значений. Поскольку столбец «Контакт» содержит текстовые значения, другие функции, такие как Сумма и Среднее не используются и поэтому недоступны.
Выберите функцию Количество значений для подсчета числа контактов, отображаемых в результатах запроса.
В строке Итог будет отображено число 5.
В поле «Возраст» выберите функцию Среднее. Поскольку поле «Возраст» содержит числовое значение, в нем поддерживаются функции Сумма,Среднее, Количество значений, Максимальное значение, Минимальное значение, Стандартное отклонение и Дисперсия.
В строке Итог будет отображен средний возраст.
Чтобы очистить итоговое значение для столбца, щелкните строку Итог в этом столбце, а затем выберите из раскрывающегося списка значение Нет. Чтобы скрыть строку Итог, на вкладке Главная в группе Тип данных и форматирование снимите флажок Итоги.
