- •Предисловие
- •1. Основы информационного обеспечения процессов и систем
- •1.1. Понятие и содержание информационного обеспечения
- •1.2. Структура и классификация информационных систем
- •1.3. Система представления и обработки данных фактографических аис
- •Вопросы и упражнения
- •2. Системы управления базами данных фактографических информационных систем
- •2.1. Функции, классификация и структура субд
- •2.2. Модели организации данных
- •2.2.1. Иерархическая и сетевая модели организации данных
- •2.2.2. Реляционная модель организации данных
- •2.3. Внутренняя схема баз данных фактографических аис
- •2.3.1. Физические структуры данных
- •2.3.2. Индексирование данных
- •2.3.3. Расстановка (хеширование) записей
- •Вопросы и упражнения
- •3. Основы создания автоматизированных информационных систем
- •3.1. Общие положения по созданию автоматизированных систем
- •3.2. Проектирование банков данных фактографических аис
- •3.2.1. Концептуальное проектирование
- •3.2.2. Проектирование схем реляционных баз данных
- •3.2.2.1. Проектирование и создание таблиц
- •3.2.2.2. Нормализация таблиц
- •Вопросы и упражнения
- •4. Ввод, обработка и вывод данных в фактографических аис
- •4.1. Языки баз данных
- •4.2. Ввод, загрузка и редактирование данных
- •4.2.1. Ввод и редактирование данных в реляционных субд
- •4.2.2. Особенности ввода и загрузки данных в субд с сетевой моделью организации данных
- •4.3. Обработка данных
- •4.3.1. Поиск, фильтрация и сортировка данных
- •4.3.2. Запросы в реляционных субд
- •4.3.2.1. Запросы на выборку данных
- •4.3.2.1.1. Запросы на выборку данных из одной таблицы
- •4.3.2.1.2. Запросы на выборку данных из нескольких таблиц
- •4.3.2.1.3. Вычисления и групповые операции в запросах
- •4.3.2.2. Запросы на изменение данных
- •4.3.2.3. Управляющие запросы
- •4.3.2.4. Подчиненные (сложные) запросы
- •4.3.2.5. Оптимизация запросов
- •4.3.3. Процедуры, правила (триггеры) и события в базах данных
- •4.3.4. Особенности обработки данных в субд с сетевой моделью организации данных
- •4.4. Вывод данных
- •Вопросы и упражнения
- •5. Распределенные информационные системы
- •5.1. Понятие распределенных информационных систем, принципы их создания и функционирования
- •5.2. Технологии и модели «Клиент-сервер»
- •5.2.1. Модель файлового сервера
- •5.2.2. Модель удаленного доступа к данным
- •5.2.3. Модель сервера базы данных
- •5.2.4. Модель сервера приложений
- •5.2.5. Мониторы транзакций
- •5.3. Технологии объектного связывания данных
- •5.4. Технологии реплицирования данных
- •Вопросы и упражнения
- •6. Документальные информационные системы
- •6.1. Общая характеристика и виды документальных информационных систем
- •6.2. Информационно-поисковые каталоги и тезаурусы
- •6.2.1. Классификационные системы поиска документов
- •6.2.2. Координация понятий в классификационных системах
- •6.2.3. Информационно-поисковые тезаурусы
- •6.2.4. Автоматизация индексирования документов
- •6.3. Полнотекстовые информационно-поисковые системы
- •6.3.1. Информационно-технологическая структура полнотекстовых ипс
- •6.3.2. Механизмы поиска документов в полнотекстовых ипс
- •6.3.3. Методы количественной оценки релевантности документов
- •6.4. Гипертекстовые информационно-поисковые системы
- •6.4.1. Гипертекст
- •6.4.2. Структура, принципы построения и использования гипертекстовых ипс
- •6.4.3. Модель организации данных в гипертекстовых ипс
- •6.4.4. Формирование связей документов в гипертекстовых ипс
- •Вопросы и упражнения
- •7. Администрирование информационных систем и защита данных
- •7.1. Администрирование информационных систем
- •7.2. Разграничение доступа и защита данных
- •7.2.1. Понятие и модели безопасности данных
- •7.2.2. Технологические аспекты защиты информации
- •7.2.2.1. Идентификация и аутентификация
- •7.2.2.2. Языки безопасности баз данных
- •7.2.2.3. Безопасность повторного использования объектов
- •7.2.2.4. Надежное проектирование и администрирование
- •7.2.3. Требования и классы защищенности автоматизированных (информационных) систем в «Руководящих документах...» Государственной технической комиссии при Президенте рф
- •Вопросы и упражнения
- •Литература
- •Алфавитно-предметный указатель Содержание
4.3.2.1.1. Запросы на выборку данных из одной таблицы
Запросы на выборку данных из одной таблицы по смыслу и назначению сходны с фильтрацией данныхв открытой таблице. Различие заключается лишь в форме представления результата (в частности, запросом на выборку можно отображать не просто подмножество записей исходной таблицы, но иподмножество полейисходной таблицы) и в технологии последующей работы с результатом (над набором данных, как уже отмечалось, можно исполнить другой запрос).
Различают запросы на выборку всех записей с произвольным набором полейи запросына выборку подмножества записей.
На рис. 4.9 приведен пример запроса, формирующего полный список сотрудников организации из таблицы «Сотрудники», но с сокращенным набором полей («Таб. №», «Фамилия», «Имя», «Отчество»), а также представлен вариант SQL-инструкции, реализующий данный запрос.
Рис 4.9. Пример запроса на выборку всех записей по группе полей
В запросах на отбор подмножества записейв SQL-инструкции SELECT через предложение WHEREпомещается выражение, определяющее условие отбора данных. На рис. 4.10 приведен пример реализации запроса на отбор подмножества записей из таблицы «Сотрудники» для сформирования списка работников инженерно-технического и экономического профиля.
Рис. 4.10. Пример запроса на выборку подмножества записей
В запросах на выборку данных широко применяются предикаты отбора ALL, DISTINCT, DISTINCTROW и TOPn.Предикат ALLиспользуется по умолчанию и устанавливает вывод в наборе данных всех записей, формируемых по условию отбора, задаваемого предложением WHERE,и в большинстве случаев в инструкции SELECT опускается.
Предикат DISTINCT используется для исключения в наборе отбираемых данных тех записей, значения которых по определенному полю повторяются, т. е. уже раз вошли в набор.
На рис. 4.11 приведен пример запроса, отбирающего из таблицы «Сотрудники» данные по полю «Должность» без предиката отбора (т.е. с предикатом ALL)и с предикатом DISTINCT. В данном случае использование предиката DISTINCT позволяет сформировать простой список должностей без повторов.
Рис. 4.11. Пример запросов с предикатами ALL, DISTINCT и TOPn.
Предикат DISTINCTROWимеет аналогичное предикатуDISTINCT назначение для исключения из набора тех записей, значения которых повторяются по всем полям, включенным в набор данных.
Предикат TOP nобеспечивает включение в набор данных первыхпзаписей, сформированных по условию отбора. Пример запроса с предикатомТОРптакже приведен на рис. 4.11.
В запросах на выборку помимо предложений FROMиWHEREиспользуются предложения GROUP ВY, НАVINGиORDER ВYдля дополнительной обработки отбираемых записей.
Предложение GROUP ВY объединяет (группирует) записи с одинаковыми значениями определенных полей в одну запись. ПредложениеНАVINGвыполняет функцию предложенияWHERE,позволяя задавать дополнительные условия для отбора сгруппированных предложением GRОUP BY записей. Предложение ORDER BYобеспечивает сортировку отобранных записей в зависимости от способа ASC(по возрастанию) илиDESC(по убыванию). На рис. 4.12 приведен пример запроса, формирующего в порядке убывания список сгруппированных по полям «Категория» и «Профиль» записей из таблицы «Подразделения» при условии отбора подразделений с категорий выше третьей и отбора сгруппированных записей при условии основного профиля подразделений.
Рис. 4.12. Пример запроса на выборку данных с предложениями GROUP BY, HAVINGи ORDER BY
Определенную специфику имеет отбор записей с «пустыми»значениями определенных полей. В трактовке реляционных СУБД и языка SQL«пустых», т.е. неопределенных, значений полей не бывает. Иначе говоря, значением числового поля может быть число, равное «0», а значением других типов полей (текстовые, дата) может быть нулевое значение— «Null».
Отбор записей с пустыми значениями может применяться для решения некоторых тематических и технологических задач, когда нужно отдельно сформировать и проанализировать набор данных с записями, содержащими нулевые для числовых полей, или не имеющие в силу каких-либо причин определенного значения, для других типов полей. На рис. 4.13 представлен пример запроса, отбирающего данные из таблицы «Сотрудники», приведенной на рис. 4.10, с «пустыми» значениями по полю «Ученая степень», иначе говоря, формирующий список сотрудников, не имеющих ученых степеней.
Рис. 4.13. Пример запроса по поиску данных с пустыми значениями определенного поля