- •1. Информационные системы и технологии
- •1.1. Информационные системы
- •1.1.1. Общее представление
- •1.1.2. Роль структуры управления в информационной системе
- •1.2. Структура и классификация информационных систем
- •1.2.1. Структура информационной системы
- •1.2.2. Классификация информационных систем по признаку структурированности задач
- •1.2.3. Прочие классификации информационных систем
- •1.3. Информационные технологии
- •1.3.1. Понятие информационной технологии
- •1.3.2. Этапы развития информационных технологий
- •1.3.3. Проблемы использования информационных технологий
- •1.4. Виды информационных технологий
- •1.4.1.Информационная технология обработки данных
- •1.4.2. Информационная технология управления
- •1.4.3. Информационная технология поддержки принятия решений
- •1.4.5. Информационная технология экспертных систем
- •2. Основы построения баз данных
- •2.1. Базы данных и информационные системы
- •2.1.1.Архитектура информационной системы
- •2.1.2. Модели данных
- •2.1.3. Системы управления базами данных
- •2.2. Реляционная модель данных
- •2.2.1 Элементы реляционной модели
- •2.2.2 Ограничения и операции над отношениями
- •2.3. Проблемы проектирования реляционных бд
- •2.3.1 Избыточное дублирование данных и аномалии
- •2.3.2 Формирование исходного отношения
- •2.4. Проектирование бд методом нормальных форм
- •2.4.1.Зависимости между атрибутами
- •2.4.2. Выявление зависимостей между атрибутами
- •2.4.3. Нормальные формы
- •2.5. Обеспечение целостности бд
- •2.6. Языки запросов qbe и sql
- •2.6.1. Язык запросов по образцу
- •2.6.2. Структурированный язык запросов
- •3. Информационные технологии совместной работы
- •3.1. Локальные вычислительные сети
- •3.1.1. Аппаратные средства лвс
- •3.1.2. Классификация и архитектура локальных сетей
- •3.2. Региональные сети
- •3.2.1. Оборудование для создания региональных сетей
- •3.2.2. Коммутация пакетов и стандарт X.25
- •3.2.3. Цифровые каналы связи
- •3.2.4. Новейшие технологии связи
2.6.1. Язык запросов по образцу
Язык QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции — достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE
С помощью языка QBE можно задавать запросы однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц).
При задании запросов с помощью языка QBE допустимы следующие операции: выборка, вычисление и модификация данных; вставка и удаление записей. Результатом выполнения запроса может быть новая таблица или обновленная исходная таблица.
Выборка, вставка, удаление и модификация данных и записей могут выполняться с использованием условий, задаваемых с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые — вычисляемые поля.
Во многих современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши, В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто «протаскиванием» мышью поля одной таблицы к полю другой.
2.6.2. Структурированный язык запросов
Структурированный язык запросов SQL основан на реляционном исчислении с переменными кортежами. Язык имеет несколько стандартов, наиболее распространенными из которых являются SQL-89 и SQL-92.
SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит имеющихся в обычных языках программирования операторов управления, организации подпрограмм, ввода-вывода и т. п. В связи с этим SQL автономно не используется, а обычно погружен в в среду встроенного языка программирования СУБД (например, языка FoxPro СУБД Visual FoxPro) или даже процедурного языка типа C++ или Pascal.
В современных СУБД с интерактивным интерфейсом можно создавать запросы, не применяя SQL. Однако его применение в некоторых случаях позволяет расширить возможности использования СУБД. К примеру, при подготовке запроса в среде Access можно перейти из окна конструктора запросов (задания запроса по образцу) в окно с эквивалентным оператором SQL; Подготовку нового запроса путем редактирования уже имеющегося в ряде случае проще выполнить путем изменения оператора SQL.
К числу основных операторов усеченного подмножества SQL относятся следующие:
CREATE TABLE -создание таблицы;
DROP TABLE — удаление таблицы;
CREATE INDEX - создание индекса;
DROP INDEX — удаление индекса;
ALTER TABLE - изменение структуры таблицы;
SELECT, UPDATE, INSERT, DELETE — выборка, изменение, вставка и удаление записей.
К дополнительным операторам SQL относятся следующие:
CREATE DATABASE, SHOW DATABASE, START DATABASE, STOP DATABASE,
DROP DATABASE — создание, просмотр, активизация, закрытие, удаление БД;
CREATE VIEW, DROP VIEW — создание, удаление выборки (представления);
CREATE SYNONYM — создание синонима;
GRANT, REVOKE — назначение, удаление привилегии для работы с выборками и таблицами.
Рассмотрим подробнее важнейший из перечисленных операторов — оператор SELECT. В упрощенном виде оператор имеет следующий формат:
SELECT [ALL|DISTINCT] <список данных>
FROM <список таблиц>
[WHERE <условие выборки>]
[GROUP BY <имя столбца> [, <имя столбца>]...]
[HAVING <условие поиска>]
[ORDER BY Спецификация сортировки>[,<спецификация сортировки>]„.]
Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL) или не иметь (DISTINCT) повторяющиеся строки.
В списке данных можно задавать имена столбцов и выражения над ними, к примеру арифметические. Если записи отбираются из нескольких таблиц, то используют составные имена <имя таблицы>.<имя столбца>.
Пример. Имеется таблица Goods (товары) с полями: Code (код), Name (наименование) и Cost (стоимость). Требуется вывести стоимости и коды товаров, стоимость которых не превышает 500 единиц.
Для решения поставленной задачи можно записать оператор SELECT следующим образом:
SELECT Code, Cost FROM Goods WHERE Cost<=500