
- •1 . Архитектуры обработки данных. 1
- •Архитектура файл/сервер.
- •Архитектура клиент/сервер.
- •Многозвенная архитектура.
- •Способы организации данных.
- •Сетевая модель данных
- •Реляционная модель данных.
- •ЯзыкSqLкак язык работы с реляционными базами.
- •Данные и взаимосвязи.
- •Объекты.
- •Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц?
- •Нормализация данных.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма.
- •Типы данных.
- •Числовые целые типы данных.
- •Числовые типы данных с плавающей точкой.
- •Символьные типы данных.
- •. Типы данных date, time и datetime.
- •Специальные типы данных.
- •Структура запроса, основные ключевые слова и операторы
- •Список основных операторовSql
- •Список основных ключевых словSql
- •ОператорSelect
- •ПредложениеSelect
- •ПредложениеFrom
- •Повторяющиеся строки (ключевое слово distinct).
- •ПредложениеWhere
- •Условия поиска.
- •Составные условия поиска (and, or и not)
- •Проверка на принадлежность диапазону значений (between)
- •Проверка на членство в множестве (in)
- •Проверка на равенство значению null (is null)
- •Проверка на соответствие шаблону (like)
- •Подстановочные знаки
- •Сортировка результатов запроса (предложениеOrder by)
- •Агрегатные функции
- •Вычисление суммы столбца (sum)
- •Вычисление экстремумов (min и max)
- •Вычисление среднего значения (avg)
- •Вычисление количества значений в столбце (count)
- •Запросы с группировкой (предложениеGroup by)
- •Условия поиска групп having
- •Работа с несколькими таблицами
- •Вложенные запросы
- •Исходная база данных
- •Вложение запросов.
- •Оператор exists
- •Объединение множества запросов в один
- •Когда можно выполнить объединение запросов ?
- •Использование union с order by.
- •Команды модификации данных
- •Ввод значений (insert)
- •Вставка пустых указателей (null)
- •Именование названий столбцов для вставки
- •Вставка результатов запроса
- •Удаление строк из таблиц (delete)
- •Изменение значений поля (update)
- •Использование подзапросов для команд модификации данных
- •Использование подзапросов в insert
- •Использование подзапросов с delete
- •Модификация структуры данных
- •Команда сreate table
- •Команда alter table.
- •Команда drop table
Данные и взаимосвязи.
Мы начинаем рассмотрение структуры базы данных с построения простой модели взаимосвязи объектов. В самых общих чертах такое моделирование (иногда называемое объектным моделированием) подразумевает определение:
Объектов, информация о которых будет содержаться в базе данных
Свойств этих объектов
Взаимосвязей между ними
Объекты.
Сначала рассмотрим объекты, на основе которых будет построена наша база данных. Без учета финансовой информации список объектов будет выглядеть так:
Клиенты, с которыми мы имеем дело
Документы, в которых числятся данные о клиентах и их товарах
Склады, в которых располагаются товары
Каждый пункт в этом списке описывает объект, существующий независимо от других объектов в мире нашей базы. Каждый такой объект представляется отдельной таблицей. (Ряд других объектов также представлен в этой базе данных отдельными таблицами, но пока не будем забегать вперед).
Каждый из этих объектов обладает собственными свойствами, которые также записаны в базе данных. Среди них:
Название (имя) клиента
Реквизиты клиента
Реквизиты банка
Тип документа
Город, в котором расположен клиент
Название материальной ценности (товара)
Цена товара
Группа, в которую входит материальная ценность.
Каждый пункт этого списка описывает отдельное свойство или атрибут рассматриваемого объекта («клиент», «документ», «город» или «склад») и является потенциальным столбцом в базе данных. Названия столбцов должны быть предельно ясными (назначение столбца должно быть понятно из названия) и кратким (чтобы упростить ввод названий и уменьшить их ширину).
Создание списка объектов и их свойств должно помочь вам решить, какие таблицы и столбцы нужно включить в базу данных.
В результате вы можете получить, например, следующий макет базы:
ТаблицаДокумент
Код дата номер Idn_клиента Idn_склада
Таблица Клиент
Idn
Idn_города
название(имя) реквизиты Idn_банка
Таблица Склад
Idn
Idn_мат.отв
реквизиты название
Таблица Перемещение
Idn
порядков№ код_док дата_док номер_док
Idn_группы
Idn_мат.цен
кол-во цена
Таблица
Остатки
Idn
Idn_группы
Idn_мат.цен
кол-во
цена Idn_склада
Idn_перемещения
ТаблицаГорода Таблица
Группы Таблица
Банки
Idn
название Idn
название Idn
реквизиты
ТаблицаМат.
ценности Таблица
Типы_документо
Idn_группы
Idn_мат.цен
название код название вид
Чтобы избежать повторения столбцов, мы используем ядро базы (главную таблицу) и справочник (вспомогательную таблицу, которая поддерживает информацию по отдельным позициям). (Подробнее см. нормализация данных).
В вышеприведенной базе данных ядром являются таблицы Документ, Перемещение и Остатки. К справочным таблицам относят все остальные (выделенные жирным шрифтом с подчеркиванием).
Одна из задач проектирования базы данных состоит в обеспечении способа идентификации различных объектов. Другими словами, система должна уметь отличать друг от друга отдельные строки и таблицы. Строки можно различать по значению первичного ключа таблицы. Неформально, первичный ключ- это столбец, однозначно определяющий строку.