
- •Информационное обеспечение систем управления
- •Содержание
- •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
4Данные и взаимосвязи.
Мы начинаем рассмотрение структуры базы данных с построения простой модели взаимосвязи объектов. В самых общих чертах такое моделирование (иногда называемое объектным моделированием) подразумевает определение:
Объектов, информация о которых будет содержаться в базе данных
Свойств этих объектов
Взаимосвязей между ними
4.1Объекты.
Сначала рассмотрим объекты, на основе которых будет построена наша база данных. Без учета финансовой информации список объектов будет выглядеть так:
Клиенты, с которыми мы имеем дело
Документы, в которых числятся данные о клиентах и их товарах
Склады, в которых располагаются товары
Каждый пункт в этом списке описывает объект, существующий независимо от других объектов в мире нашей базы. Каждый такой объект представляется отдельной таблицей. (Ряд других объектов также представлен в этой базе данных отдельными таблицами, но пока не будем забегать вперед).
Каждый из этих объектов обладает собственными свойствами, которые также записаны в базе данных. Среди них:
Название (имя) клиента
Реквизиты клиента
Реквизиты банка
Тип документа
Город, в котором расположен клиент
Название материальной ценности (товара)
Цена товара
Группа, в которую входит материальная ценность.
Каждый пункт этого списка описывает отдельное свойство или атрибут рассматриваемого объекта («клиент», «документ», «город» или «склад») и является потенциальным столбцом в базе данных. Названия столбцов должны быть предельно ясными (назначение столбца должно быть понятно из названия) и кратким (чтобы упростить ввод названий и уменьшить их ширину).
Создание списка объектов и их свойств должно помочь вам решить, какие таблицы и столбцы нужно включить в базу данных.
В результате вы можете получить, например, следующий макет базы:
Т
аблица
Документ
Код дата номер Idn_клиента Idn_склада
Таблица Клиент
I
dn
Idn_города
название(имя) реквизиты Idn_банка
Таблица Склад
I
dn
Idn_мат.отв
реквизиты название
Таблица Перемещение
I
dn
порядков№ код_док дата_док номер_док
Idn_группы
Idn_мат.цен
кол-во цена
Таблица Остатки
I
dn
Idn_группы
Idn_мат.цен
кол-во
цена Idn_склада
Idn_перемещения
Т
аблица
Города Таблица
Группы Таблица
Банки
I
dn
название Idn
название Idn
реквизиты
Т
аблица
Мат.
ценности Таблица
Типы_документо
I
dn_группы
Idn_мат.цен
название код название вид
Чтобы избежать повторения столбцов, мы используем ядро базы (главную таблицу) и справочник (вспомогательную таблицу, которая поддерживает информацию по отдельным позициям). (Подробнее см. нормализация данных).
В вышеприведенной базе данных ядром являются таблицы Документ, Перемещение и Остатки. К справочным таблицам относят все остальные (выделенные жирным шрифтом с подчеркиванием).
Одна из задач проектирования базы данных состоит в обеспечении способа идентификации различных объектов. Другими словами, система должна уметь отличать друг от друга отдельные строки и таблицы. Строки можно различать по значению первичного ключа таблицы. Неформально, первичный ключ- это столбец, однозначно определяющий строку.