- •Информационное обеспечение систем управления
- •Содержание
- •1 Архитектуры обработки данных. 8
- •2 Способы организации данных. 10
- •3 Язык sql как язык работы с реляционными базами. 12
- •4 Данные и взаимосвязи. 13
- •5 Основы методологии idef1x 19
- •Insert into тклиент 46
- •1Архитектуры обработки данных.
- •1.1Архитектура хост/терминал.
- •1.2А рхитектура файл/сервер.
- •1.3Архитектура клиент/сервер.
- •1.4Многозвенная архитектура.
- •2Способы организации данных.
- •2.1Сетевая модель данных
- •2.2Реляционная модель данных.
- •3Язык sql как язык работы с реляционными базами.
- •4Данные и взаимосвязи.
- •4.1Объекты.
- •4.2Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц?
- •4.3Нормализация данных.
- •4.3.1Первая нормальная форма.
- •4.3.2 Вторая нормальная форма.
- •4.3.3Третья нормальная форма.
- •4.4Типы данных.
- •4.4.1Числовые целые типы данных.
- •4.4.2Числовые типы данных с плавающей точкой.
- •4.4.3Символьные типы данных.
- •4.4.4. Типы данных date, time и datetime.
- •4.4.5Специальные типы данных.
- •5Основы методологии idef1x
- •5.1Предназначение idef1x
- •5.2Сущности в idef1x и их атрибуты.
- •5.3Связи между сущностями
- •5.4Идентификация сущностей. Представление о ключах.
- •5.5Классификация сущностей в idef1x. Зависимые и независимые сущности.
- •5.6Типы связей между сущностями. Идентифицирующие и неидентифицирующие связи.
- •5.7Преимущества idef1x
- •5.8Модель «склад» в нотации idef1x
- •6.1Структура запроса, основные ключевые слова и операторы
- •6.1.1 Список основных операторов sql
- •6.1.2 Список основных ключевых слов sql
- •6.2Оператор select
- •6.2.1Предложение select
- •6.2.2Предложение from
- •6.2.2.1Повторяющиеся строки (ключевое слово distinct).
- •6.2.3Предложение where
- •6.2.4Условия поиска.
- •6.2.4.2Составные условия поиска (and, or и not)
- •6.2.4.3Проверка на принадлежность диапазону значений (between)
- •6.2.4.4Проверка на членство в множестве (in)
- •6.2.4.5Проверка на равенство значению null (is null)
- •6.2.4.6Проверка на соответствие шаблону (like)
- •6.2.4.7Подстановочные знаки
- •6.2.5Сортировка результатов запроса (предложение order by)
- •6.2.6 Агрегатные функции
- •6.2.6.1Вычисление суммы столбца (sum)
- •6.2.6.2Вычисление экстремумов (min и max)
- •6.2.6.3Вычисление среднего значения (avg)
- •6.2.6.4Вычисление количества значений в столбце (count)
- •6.2.7Запросы с группировкой (предложение group by)
- •6.2.8Условия поиска групп having
- •6.3Работа с несколькими таблицами
- •6.3.1Объединение при помощи оператора where
- •6.3.2Внутренние и внешние объединения
- •6.4 Вложенные запросы
- •6.4.1Исходная база данных
- •6.4.2Вложение запросов.
- •6.4.3Оператор exists
- •6.5Объединение множества запросов в один
- •6.5.1Когда можно выполнить объединение запросов ?
- •6.5.2Использование union с order by.
- •6.6Команды модификации данных
- •6.6.1Ввод значений (insert)
- •6.6.1.1Вставка пустых указателей (null)
- •6.6.1.2Именование названий столбцов для вставки
- •6.6.1.3Вставка результатов запроса
- •6.6.2Удаление строк из таблиц (delete)
- •6.6.3Изменение значений поля (update)
- •6.6.4Использование подзапросов для команд модификации данных
- •6.6.4.1Использование подзапросов в insert
- •6.6.4.2Использование подзапросов с delete
- •6.7Модификация структуры данных
- •6.7.1Команда сreate table
- •6.7.2Команда alter table.
- •6.7.3Команда drop table
6.2.4.2Составные условия поиска (and, or и not)
Простые условия поиска, описанные выше, после применения к некоторой строке возвращают значения TRUE, FALSE или NULL. С помощью правил логики эти простые условия можно объединять в более сложные, как показано ниже. Обратим внимание на то, что условия поиска, объединенные с помощью ключевых слов AND, OR и NOT, сами могут быть составными.
W
HERE
условие
поиска
NOT
AND
OR
Таблица истинности операции AND.
AND |
TRUE |
FALSE |
NULL |
TRUE |
TRUE |
FALSE |
NULL |
FALSE |
FALSE |
FALSE |
FALSE |
NULL |
NULL |
FALSE |
NULL |
Таблица истинности операции OR.
OR |
TRUE |
FALSE |
NULL |
TRUE |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
NULL |
NULL |
TRUE |
NULL |
NULL |
Таблица истинности операции NOT.
NOT |
TRUE |
FALSE |
NULL |
|
FALSE |
TRUE |
NULL |
Предположим, что нам нужно достать все документы за определенные промежутки времени, исключая 8 марта.
SELECT *
FROM ДОКУМЕНТ
WHERE (ДАТА>’1.03.2000’ AND ДАТА<’13.03.2000’)
OR (ДАТА=’18.01.2000’) AND NOT (ДАТА=’8.03.2000’)
Вывести все документы за восьмое число января, февраля, и марта.
SELECT *
FROM ДОКУМЕНТ
WHERE ДАТА=’8.01.2000’ OR ДАТА=’8.02.2000’ OR ДАТА=’8.03.2000’
6.2.4.3Проверка на принадлежность диапазону значений (between)
Другой формой условия поиска является проверка на принадлежность диапазону значений (ключевое слово BETWEEN), схематически показанная ниже. При этом проверяется, находится ли значение данных между двумя определенными значениями. В условие поиска входят три выражения. Первое выражение определяет проверяемое значение; второе и третье выражения определяют верхний и нижний пределы проверяемого диапазона. Типы данных трех выражений должны быть сравнимыми.
Синтаксическая диаграмма проверки на принадлежность диапазону (BETWEEN).
П
роверяемое
выр-е
BETWEEN
нижнее
выр-е AND
верхнее
выр-е
NOT
Найти все документы за последний квартал 2000 года.
SELECT *
FROM ДОКУМЕНТ
WHERE ДАТА BETWEEN ’01.10.2000’ AND ’31.12.2000’
Вывести все перемещения для первых пяти номеров.
SELECT *
FROM ПЕРЕМЕЩЕНИЕ
WHERE ПОРЯДКОВ№ BETWEEN ‘1’ AND ‘5’
6.2.4.4Проверка на членство в множестве (in)
Еще одним распространенным условием поиска является проверка на членство в множестве (IN), схематически показанная ниже. В этом случае проверяется, соответствует ли значение данных какому-либо значению из заданного списка.
Синтаксическая диаграмма проверки на членство в множестве (IN)
П
роверяемое
выражение IN
(
константа
)
NOT ,
Вывести все документы за восьмое число января, февраля, и марта. (5.2.4 - 1)
SELECT *
FROM ДОКУМЕНТ
WHERE ДАТА IN (‘8.01.2000’, ‘8.02.2000’, ‘8.03.2000’,)
Вывести все перемещения, у которых цена равна 2000, 3000, 4000.
SELECT *
FROM ПЕРЕМЕЩЕНИЕ
WHERE ЦЕНА IN (‘2000’,’3000’,’4000’)
С помощью формы NOT IN можно убедиться в том , что значение данных не является членом заданного множества. Поверяемое выражение в проверке IN может быть любым допустимым выражением, однако обычно оно представляет собой короткое имя столбца.
