
- •Информационное обеспечение систем управления
- •Содержание
- •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
1.3Архитектура клиент/сервер.
Рис.3. Архитектура клиент/сервер.
При такой архитектуре персональные компьютеры объединены в локальную сеть, в которой имеется сервер содержащий общие базы данных. В этой архитектуре мы имеем дело с сервером баз данных. Функции СУБД разделены на две части. Пользователь формирует запрос к БД. При помощи клиентской части СУБД запрос передается к серверу БД (ядро СУБД). Сервер БД выполняет запрос и при необходимости возвращает результат запроса клиенту. Пользовательские запросы объединяются в транзакции. Транзакция - логически связанная последовательность трансляции данных (запросов). Средством написания запросов является язык SQL, который является стандартным языком, обеспечивающим взаимодействие между клиентскими приложениями. Синтаксис и правила выполнения запросов SQL стандартизированы. В настоящее время этим занимается американский национальный институт стандартизации ANSI. Помимо стандартных возможностей каждый производитель СУБД может расширять свою версию SQL дополнительными возможностями, которые впоследствии могут стать частью стандарта.
Преимущества: использование ресурса, как клиента, так и сервера.
Недостатки: при очень большой загрузке (при высоком трафике) падает производительность.
Данная архитектура применяется в масштабе предприятия.
В настоящее время на рынке имеются огромное количество СУБД, применяющих данную архитектуру. Перечислим наиболее популярные: ORACLE, Sy Base, MS SQL, InterBase.
1.4Многозвенная архитектура.
Рис.4.Многозвенная архитектура.
При такой архитектуре персональные компьютеры взаимодействуют с сервером приложений через тонкий клиент. Когда тонкому клиенту, работающему на ПК, требуется получить данные из совместно используемого файла, сервер приложений автоматически считывает требуемый блок данных с SQL-сервера и, преобразуя их в формат HTML, выдает тонкому клиенту.
Данная архитектура является гибридной. Тонкий клиент позволяет в стандартном формате работать с любыми данными. Сервер приложений является инструментом для отображения данных в формате HTML. Эта архитектура применяется в таких сетях, как Internet (всемирная сеть), Intranet (внутренняя сеть). В сервере приложений запускается столько копий приложений, сколько пользователей требует информацию. Широко применяется программное обеспечение для серверов приложений, называемое Apache.
Преимущества: удобство и гибкость (при замене модификации приложения достаточно заменить его только на сервере приложений), невысокие требования для клиентского компьютера.
Недостатки: ограничение возможностей, тонкий клиент имеет ограниченные возможности.
2Способы организации данных.
2.1Сетевая модель данных
Сетевая модель организована на принципе соответствия логической и физической структурах данных. Связи между сущностями базы данных указаны непосредственно. Прикладная программа может:
найти конкретную запись предка по ключу (например, номер клиента);
перейти к первому потомку в конкретном множестве (первый заказ, размещенный клиентом);
-перейти в сторону от одного потомка к другому в конкретном множестве (следующий заказ, сделанный этим же клиентом);
-перейти вверх от потомка к его предку в другом множестве (служащий, принявший заказ).
Сетевые базы данных обладают рядом преимуществ:
Гибкость. Множественные отношения предок/потомок позволяют сетевой базе данных хранить данные, структура которой сложнее простой иерархии.
Стандартизация. Появление стандарта CODASYL увеличило популярность сетевой модели, а такие поставщики мини-компьютеров, как Digital Equipment Corporation и Data General, реализовали сетевые СУБД.
Быстродействие. Вопреки своей большой сложности, сетевые базы данных достигли быстродействия, сравнимого с быстродействием иерархических баз данных. Множества представляются указателями на физические записи данных, и в некоторых системах администратор может задать кластеризацию данных на основе множества отношений.
Рассмотрим сетевую модель на примере.
Рассмотрим систему получения, отпуска товара на склад. Отпуск товара по расходным или приходным документам . Каждый документ имеет реквизиты (ДАТА,НОМЕР), НАЗВАНИЕ и НОМЕР СКЛАДА , НАЗВАНИЕ ПОСТАВЩИКА или ПОЛУЧАТЕЛЯ . Кроме этого документ имеет список получаемых или отпускаемых материальных ценностей . На основании данного документа осуществляется перемещение материальных ценностей . Итоговые данные о всех перемещениях фиксируются в сущности ОСТАТОК. Один документ связан с одним клиентом .
Рис.5.Структура сущность-связь.
Если один документ связан со многими перемещениями (например, один товар и несколько цен) то связь называется один ко многим.
Если материальная ценность связана со многими перемещениями, то связь называется многие к одному.
Кроме того, существуют следующие связи: один к одному и многие ко многим.
Достоинства: наглядность, быстрая работа с данными.
Недостатки: сложность описания, нет стандартных средств описания сетевой модели.