
- •Техническое задание на курсовой проект:
- •Содержание
- •3.1. Сопровождение баз данных…………………………………...15 стр.
- •3.3. Применение языка sql в ms Access……………………………………..25 стр.
- •1Введение
- •2 Анализ предметной области
- •3 Предпосылки создания бд
- •3.1 Цель создания бд «Организация дисциплин»
- •3.2. Планирование процесса разработки
- •3.3 Требования, предъявляемые к проектируемой субд
- •3.4 Методы и этапы проектирования
- •3.4.1 Инфологическое проектирование
- •1. Функциональный подход к проектированию
- •2. Предметный подход к проектированию.
- •3.4.4 Проектирование с использованием метода "сущность-связь"
- •Классификация связей
- •Определение требований к операционной обстановке.
- •Выбор субд и других программных средств
- •Часть 2. Проектирование соДиЗ Проектирование бд Логическое проектирование бд
- •Физическое проектирование бд
- •Простой запрос:
- •Фильтрация данных. Предложение where.
- •Расширенная фильтрация данных.
- •Порядок отбора.
- •Создание групп. Предложение группы by.
- •Обновление данных.
- •Выборка данных.
- •Создание макросов. Ход выполнения работы:
- •Создание групп макросов. Ход выполнения работы:
- •Условные выражения в макросе.
- •«Использование гиперссылок для связывания объектов бд»
- •Добавление гиперссылок.
- •Организация связи объектов бд на основе гиперссылок.
Порядок отбора.
Комбинируя операторы ANDиORможно создать сложные фильтры.
SELECT [Заказано датчиков], [Количество датчиков на складе]
FROM ЗаказДатчиков
WHERE ([Заказано датчиков]=2 Or [Заказано датчиков]>4) And [Количество датчиков на складе]>3;
При такой комбинации могут быть ошибки в выводе результатов, поскольку SQLвыбирает сначала операторENO, а затемOR, поэтому необходимо использовать прямые скобки, так как они имеют больший приоритет.
Те же функции, что и ORвыполняет ключевое словоIN. Однако при использованииINоблегчается чтение данных, предложение управляется порядком отбора за счет уменьшения количества операторов, повышается быстрота обработки, а также может содержаться еще одна инструкцияSELECT.
SELECT [Ответственный за обслуживание датчика], [Важность]
FROM [Обслуживание датчиков]
WHERE [Ответственный за обслуживание датчика] In ("Тишин С.М.","Холопов В.А.");
Логический оператор NOTпредложенияWHEREотрицает се предложения, следующие за ним.
SELECT [Ответственный за обслуживание датчика], [Важность]
FROM [Обслуживание датчиков]
WHERE NOT [Ответственный за обслуживание датчика]="Холопов В.А.";
Предложения оператора SELECTи последовательность их использования:
SELECT– столбцы или предложения, которые должны быть возвращены.
FROM– таблица для возвращения данных
WHERE– фильтрация на уровне строк
GROUPBY– определенные группы (для таблиц)
HAVING– фильтрация на уровне групп
Создание групп. Предложение группы by.
Для подсчета числа строк, вычисления суммы и среднего значения, а также для получения наибольшего и наименьшего значения не прибегая к выборке всех данных используют предложение групп BY.
SELECT[Назначение датчика],COUNT(*)ASОбщее
FROM[Технические данные датчиков]
GROUPBY[Назначение датчика];
SELECTвыводит 2 столбца. ФункцияCOUNT(*) подсчитывает все строки.
Использование предложения HAVING.
Все типы выражений в предложении WHERE, могут использоваться в предложенииHAVING. Разница состоит в том, чтоWHEREфильтрует строки, аHAVINGгруппы.
SELECT [Назначение датчика], COUNT(*) AS Общее
FROM [Технические данные датчиков]
GROUP BY [Назначение датчика]
HAVING COUNT(*)>=4;
HAVINGфильтрует группы с помощьюCOUNT(*)>=2.
Совместное использование WHERE и HAVING.
Предложение WHEREфильтрует до того, как данные будут сгруппированы, аHAVINGфильтрует после того, как данные были разделены на группы. Таким образом строки, выброшенные по предложениюWHEREне будут включены в группу.
SELECT [Назначение датчика], COUNT(*) AS Общее
FROM [Технические данные датчиков]
WHERE [Длина зоны обнаружения, м]="120"
GROUPBY[Назначение датчика]
HAVINGCOUNT(*)>=2;
Объединение таблиц.
Реляционные базы данных предполагают наличие механизма объединения хранящихся в нескольких таблицах данных, число таблиц связанных между собой может быть от двух и более.
SELECT *
FROM ЗаказДатчиков INNER JOIN [Технические данные датчиков] ON [ЗаказДатчиков].[Серийный номер датчика на складе]=[Технические данные датчиков].[Код датчика];
Конструкция INNERJOINпозволяет возвратить все записи, для которых выполняется условие равенства столбцов, объединение таблиц.
Добавление записи INSERT INTO.
1 способ: Добавление данных в указанные поля.
INSERT INTO ЗаказДатчиков ( [Серийный номер датчика на складе], [Цена датчика], [Количество датчиков на складе], [Заказано датчиков], [Организация-заказчик] )
VALUES ([11], [1000], [5], [3], [ФБУ ИК-3]);
После фразы INSERTINTOуказывается имя таблицы, за которой следует список полей, список может содержать только те поля, в которых необходимо занести значения. Количество значений указывается после служебного словаVALUESи их типы должны соответствовать содержимому списка полей.
2 способ: Добавление записей с помощью SELECT.
В этом случае данные копируются из одной таблицы в другую.
INSERT INTO ЗаказДатчиков ( [Серийный номер датчика на складе], [Цена датчика], [Количество датчиков на складе], [Заказано датчиков], [Организация-заказчик] )
SELECT [Технические данные датчиков].Код, [Название датчика], [Назначение датчика], [Рабочая температура, С], [Назначение датчика]
FROM [Технические данные датчиков];