- •Министерство образования и науки рф Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
- •Введение в базы данных
- •Учебное пособие
- •Воронеж 2012
- •Понятие информационной системы
- •Процессы в информационной системе
- •Этапы развития информационных систем
- •Структура информационной системы. Типы обеспечивающих подсистем
- •Математическое и программное обеспечение
- •Правовое обеспечение
- •Классификация информационных систем по признаку структурированности задач
- •Понятие структурированности задач
- •Типы информационных систем, используемые
- •Классификация ис по характеру использования информации
- •Классификация ис по сфере применения
- •Классификация ис по степени автоматизации
- •Контрольные вопросы
- •2. Введение в субд
- •2.1. Понятие базы и банка данных
- •2.2. Средства реализации баз данных
- •2.2.1. Программные средства банка данных
- •2.2.2. Языковые средства
- •2.2.3. Технические и организационно-методические средства
- •2.2.4. Требования к банкам данных
- •2.3. Функции субд
- •2.4. Классификация банков данных
- •2.4.1. Классификация баз данных
- •2.4.2. Классификация субд
- •2.4.3. Классификация БнД по экономико-организационным признакам
- •2.5. Концепция централизованного управления
- •Преимущества централизованного управления данными
- •2.6. Трехуровневая архитектура системы баз данных
- •2.7. Пользователи банков данных
- •2.8. Архитектура клиент/сервер
- •Контрольные вопросы
- •3. Модели и типы данных
- •3.1. Иерархическая модель
- •3.2. Сетевая модель
- •3.3. Реляционная модель
- •3.4. Постреляционная модель
- •3.5. Многомерная модель
- •3.6. Типы данных
- •Контрольные вопросы
- •4. Применение Баз данных в корпоративных информационных системах
- •4.1. Корпоративная информационная система
- •Контуром оперативного управления
- •4.2. Контур административного управления
- •4.2.1. Наполнение баз данных на примере модуля «Управление персоналом»
- •4.3. Контур оперативного управления
- •4.3.1. Пример организации модуля «Управление продажами (сбыт)»
- •Базы данных модуля «Автотранспорт»
- •4.4. Контур бухгалтерского учета
- •Контрольные вопросы
- •5. Справочно-правовые базы данных
- •5.1. Общая характеристика справочно-правовых баз
- •5.2. Наиболее популярные юридические базы данных
- •5.2.1. База юсис
- •5.2.2. Информационно-поисковая система "Кодекс"
- •5.2.3. Справочно-правовая система "Гарант"
- •5.2.4. Справочно-правовая система «Консультант Плюс»
- •5.2.5. Программный комплекс "Эталон"
- •Контрольные вопросы
- •6. Проектирование баз данных
- •6.1. Этапы проектирования
- •6.2. Инфологическое моделирование
- •6.2.1. Компоненты инфологической модели Модель «сущность — связь»
- •6.2.2. Классификация бинарных связей
- •6.2.3. Моделирование локальных представлений
- •6.2.4. Объединение моделей локальных представлений
- •6.3. Даталогическое проектирование
- •6.4. Проектирование реляционных баз данных
- •6.5. Нормализация отношений
- •Контрольные вопросы
- •7. Реляционная модель данных
- •Общие понятия
- •7.2. Реляционные объекты данных
- •7.2.1. Основные понятия
- •7.2.2. Фундаментальные свойства отношений
- •7.2.3. Виды отношений
- •Целостность реляционных данных
- •Реляционные операторы
- •7.4.1. Реляционная алгебра
- •Примеры использования реляционной алгебры для выражения словесных запросов в виде формулы
- •Назначение реляционной алгебры
- •Операции расширения и подведения итогов
- •Операторы обновления
- •7.4.2. Реляционное исчисление
- •Контрольные вопросы
- •8. Язык реляционных баз данных sql
- •8.1. Функции и основные возможности
- •8.2. Средства определения схемы
- •8.2.1. Определение таблицы
- •8.2.2. Определение ограничений целостности таблицы
- •8.2.3. Определение представлений
- •8.3. Структура запросов
- •8.3.1. Спецификация курсора
- •8.3.2. Оператор выборки
- •8.3.3. Подзапрос
- •8.3.4 Табличное выражение
- •Раздел where
- •Предикат сравнения
- •Предикат between
- •Предикат in
- •Предикат null
- •Предикат с квантором
- •Предикат exists
- •Раздел group by
- •Раздел having
- •8.4. Агрегатные функции и результаты запросов
- •8.5. Операторы обновления
- •Оператор изменения записей
- •Контрольные вопросы
- •9. Внутренняя организация реляционных субд
- •9.1. Хранение отношений
- •9.2. Индексы
- •9.3. Журнальная информация
- •9.4. Служебная информация
- •Контрольные вопросы
- •10. Настольные субд
- •10.1. Общие сведения о настольных субд
- •10.2. Наиболее популярные настольные субд
- •Контрольные вопросы
- •11. Серверные субд
- •11.1. Характерные черты современных серверных субд
- •Наиболее популярные серверные субд
- •Контрольные вопросы
- •Заключение
- •Корелина Татьяна Валерьевна введение в базы данных
- •394006 Воронеж, ул. 20-летия Октября, 84
8.3.3. Подзапрос
Подзапрос – это запрос, который может входить в предикат условия выборки оператора SQL. К подзапросам применяется то ограничение, что результирующая таблица должна содержать в точности один столбец. Поскольку подзапрос всегда вложен в некоторый другой оператор SQL, то в качестве констант в арифметическом выражении выборки и логических выражениях разделов WHERE и HAVING можно использовать значения столбцов текущих строк таблиц, участвующих в (под) запросах более внешнего уровня.
8.3.4 Табличное выражение
Вычисление табличного выражения рассматривается как последовательное применение разделов FROM, WHERE, GROUP BY и HAVING к таблицам, заданным в списке FROM.
Раздел FROM
Раздел FROM имеет следующий синтаксис:
<from раздел> ::=
FROM <ссылка таблицы>
({,<ссылка таблицы>}...]
<ссылка таблицы> ::=
<имя таблицы> [<связанное имя>]
Результатом выполнения раздела FROM является расширенное декартово произведение таблиц, заданных списком таблиц раздела FROM.
Связанное имя – это некоторый синоним имени таблицы, который можно использовать в других разделах табличного выражения для ссылки на строки именно этого вхождения таблицы.
Раздел where
Синтаксис раздела WHERE следующий:
<where раздел> ::= WHERE <условие поиска>
Условие поиска содержит предикаты, связанные булевскими операциями AND, OR, NOT. Вычисление раздела WHERE производится по следующим правилам: пусть R – результат вычисления раздела FROM. Тогда условие поиска применяется ко всем строкам R и результатом раздела WHERE является таблица, состоящая из тех строк R, для которых результатом вычисления условия поиска является true. Если условие выборки включает подзапросы, то каждый подзапрос вычисляется для каждого кортежа таблицы R.
Поскольку SQL допускает наличие в базе данных неопределенных значений, то вычисление условия поиска производится не в булевой, а в трехзначной логике со значениями true, false и unknown (неизвестно). Булевские операции AND, OR и NOT работают в трехзначной логике следующим образом:
true AND unknown = unknown
unknown AND true = unknown
unknown AND unknown = unknown
true OR unknown = true
unknown OR true = true
unknown OR unknown = unknown
NOT unknown = unknown
Среди предикатов условия поиска могут находиться следующие предикаты: предикат сравнения, предикат between, предикат in, предикат like, предикат null, предикат с квантором и предикат exists.
Предикат сравнения
Синтаксис предиката сравнения определяется следующими правилами:
<предикат сравнения> ::=
<значение выражения> <операция>
{<значение выражения> | <подзапрос>}
<операция> ::=
= | <> | < | > | <= | >=
Арифметические выражения левой и правой частей предиката сравнения строятся по общим правилам построения арифметических выражений и могут включать в общем случае имена столбцов таблиц из раздела FROM и константы. Типы данных арифметических выражений должны быть сравнимыми.
Если правый операнд операции сравнения задается подзапросом, то мощность результата подзапроса должна быть не более единицы. Если хотя бы один из операндов операции сравнения имеет неопределенное значение или если правый операнд является подзапросом с пустым результатом, то значение предиката сравнения равно unknown.