
- •Содержание
- •5.1 Вопросы для самопроверки. 91
- •6.4 Контрольные вопросы 97
- •7.2 Контрольные вопросы: 102
- •Лабораторная работа № 1. Построение информационно - логической модели «Поставка товаров»
- •1.1Изучение предметной области
- •1.1.1Общие сведения
- •1.1.2Описание предметной области «Склад»
- •1.1.3Список вопросов, на которые должна отвечать информационная система
- •1.1.4Описание первичных документов
- •1.2Определение логической структуры данных
- •1.2.1Объекты справочной и учетной информации
- •1.2.2 Выявление функциональной зависимости
- •1.2.3Требования нормализации
- •1.3Построение связей информационных объектов
- •1.3.1Тип связи информационных объектов
- •1.3.2Определение связей предметной области Склад
- •1.4Построение информационно-логической модели базы данных.
- •1.4.1Матрица смежности илм
- •1.4.2Логическая модель предметной области
- •1.4.3Логическая структура реляционной базы данных
- •1.5Самостоятельная работа
- •1.6Контрольные вопросы:
- •Лабораторная работа № 2.- введение в субд access
- •2.1Создание базы данных
- •2.2Создание таблиц базы данных
- •2.3Создание таблицы товар
- •2.4Создание маски ввода
- •2.5Создание домена
- •2.6Ввод данных в бд "Склад" таблицу товар
- •2.7Использование данных типа Поле объекта ole.
- •2.8Самостоятельная работа
- •Контрольные вопросы
- •Лабораторная работа № 3. Поля со списком, схема данных
- •3.1Использование поля со списком при вводе записей.
- •3.2Использование поля со списком ключевым столбцом.
- •3.3Создание схемы базы данных "Склад".
- •3.4Создание связей между таблицами схемы данных
- •3.5Обеспечение целостности данных
- •3.6Каскадное обновление и удаление связанных записей
- •3.7Проверка поддержания целостности в базе данных
- •3.8Самостоятельная работа
- •3.9Контрольные вопросы
- •Запросы
- •Назначение и виды запросов
- •Конструирование запросов
- •Вычисляемые поля.
- •Использование групповых операций в запросах
- •Запрос с функцией Count
- •Самостоятельная работа
- •Организация запросов на выборку с использованием языка sql
- •Синтаксис оператора select
- •Простейшие запросы Запросы на выборку столбцов
- •Запрос на выборку с упорядочиванием всех полей.
- •Простейшие запросы с условием
- •Групповые функции и агрегирование
- •Подзапрос
- •Вложенный подзапрос
- •Связный подзапрос
- •Самостоятельная работа
- •Вопросы для самопроверки
- •Многотабличные запросы
- •Многотабличный запрос
- •Формирование записей результата при выполнении запроса
- •Параметрические запросы
- •Ссылки на имена полей различных таблиц в условии отбора
- •Решение задач на основе нескольких запросов
- •3.10Самостоятельная работа
- •Контрольные вопросы по запросам на выборку
- •Диалоговый графический интерфейс для работы с базой данных через формы
- •3.11Создание форм с использованием мастера форм
- •3.11.1Однотабличные формы
- •Разработка многотабличной формы
- •Режим конструктора для создания и корректировки форм
- •Вставка в форму элемента ActiveX
- •Извлечение данных из списка в несвязный элемент управления
- •Создание формы с автоматическим подбором кодов товара соответствующего указанному договору
- •Вычисляемые поля формы Вычисляемое поле
- •Вычисление итоговых значений
- •Задание для самостоятельной работы
- •Вопросы для самопроверки.
- •Разработка отчетов
- •Создание отчетов в режиме мастера Однотабличные отчеты
- •Многотабличные отчеты
- •Создание и корректировка отчетов в режиме конструктора Корректировка отчета в режиме конструктора
- •Определение параметров в отчете
- •Задания для самостоятельной работы
- •Отгрузка товара
- •Контрольные вопросы
- •Интерфейс приложений
- •Создание кнопочной формы
- •Контрольные вопросы:
- •Список литературы
Запрос на выборку с упорядочиванием всех полей.
Записи в таблице базы данных не упорядочены. Для упорядочивания записей можно воспользоваться оператором ORDER BY
7.5. Выбрать из таблицы поставки первых пять записей отсортированных по дате поставки. (Сортировка ORDER BY записывается в конце запроса. При сортировке по убыванию, используется ключевое слово DESC. Сортировка по возрастанию ведется по умолчанию или с использованием ключевого слова ASC.
SELECT TOP 5 НАКЛАДНАЯ*
FROM НАКЛАДНАЯ
ORDER BY НАКЛАДНАЯ.ДАТА_ОТГ;
Простейшие запросы с условием
В предложении SELECT после предложения WHERE задаются условия выборки. В условиях выборки используются логические операторы = , <,>, <>,>=, ,<=, AND – логическое и, OR–логическое или, NOT – отрицание. Для построения условий могут использоваться операторы: LIKE – сравнение строковых значений. Если необходимо отобрать данные совпадение которых определяется частью строки, оставшиеся символов заменяем знаком *, например Принтер*. Для замены одного символа используется знак ?, для замены цифры #, например (918)???-????. BETWEEN …AND IN IS Null
7.8. Из таблицы товары выбрать все товары, стоимость которых больше 1000.
Запрос будет иметь вид:
SELECT ТОВАР.КОД_ТОВ, ТОВАР.НАИМ_ТОВ, ТОВАР.ЦЕНА
FROM ТОВАР
WHERE ТОВАР ЦЕНА>1000;
Групповые функции и агрегирование
Агрегирующие функции позволяют получить из таблицы сводную информацию, выполняя операции над группой строк таблицы. В запросе после оператора SELECT указывается поля, выводимые в виде таблицы. В примере 7.16. первое поле выводится наименование товара (не повторяющиеся записи), во второй столбец выводится среднее значение цены по объединенным товара имя поля указывается после служебного слова AS. Далее указывается имя таблицы, и после служебного слова GROUP BY записывается имя столбца по которому ведется группировка записей, далее после служебного слова HAVING указывается условие отбора. В запросе с группировкой условие отбора всегда указывается после слова HAVING а не после WHERE.
7.16..Вычислить среднюю стоимость поставляемых товаров. Выберете товары, средняя стоимость которых больше 5000.
SELECT ТОВАР.НАИМ_ТОВ, Avg(ТОВАР.ЦЕНА) AS СРЕДНЯЯ
FROM ТОВАР
GROUP BY ТОВАР.НАИМ_ТОВ
HAVING Avg(ТОВАР.ЦЕНА)>5000;
Подзапрос
SQL позволяет использовать один запрос внутри другого. Подчиненный запрос можно использовать вместо выражения в списке полей инструкции SELECT или в предложениях WHERE и HAVING. Существует три типа подчиненных запросов:
Сравнение выражения с результатом подчиненного запроса. Ключевые слова: ANY – каждый; ALL – все; SOME – некоторые.
Выражение, которое должно быть найдено в наборе записей, являющихся результатом выполнения подчиненного запроса [NOT] IN.
Инструкция SELECT, заключенная в круглые скобки, с предикатом [NOT] EXISTS в логическом выражении для определения, должен ли подчиненный запрос возвращать какие – либо записи.
Вложенный подзапрос
7.24. Выбрать данные обо всех поставках FDD 3,5 и их количестве, дате и коде покупателя.
SELECT ПОСТАВКА_ПЛАН.КОД_ТОВ, ПОСТАВКА_ПЛАН.КОЛ_ПОСТ,
ПОСТАВКА_ПЛАН.НОМ_ДОГ
FROM ПОСТАВКА_ПЛАН
WHERE ПОСТАВКА_ПЛАН.КОД_ТОВ IN
(SELECT ТОВАР.КОД_ТОВ FROM ТОВАР
WHERE ТОВАР.НАИМ_ТОВ ='FDD 3,5');