
- •Обмен данными с внешними системами
- •Текстовые и двоичные типы
- •Перечисления
- •Механизм хранения MylSam
- •Механизм хранения InnoDb
- •Механизм хранения Archive
- •Механизм хранения Federated
- •Механизм хранения Memory
- •Механизм хранения csv
- •Механизм хранения merge
- •Индекс fulltext
- •Компоненты sql Server 2005
- •Microsoft sql Server 2005. Объекты базы данных
- •InnoDb - основной движок для MySql, который с версии 5.5 наконец-то сделали дефолтным. Поддерживает транзакции, репликацию, построчную блокировку. Достаточно устойчив к сбоям.
- •XtraDb - расширенная и исправленная в некоторых проблемных местах InnoDb от компании Percona.
Первая нормальная форма.
Основной пример. Отношение (Сотрудники-Отделы-Проекты)
Анмалии вставки. Аномалии обновления. Аномалии удаления.
Функциональные зависимости отношений.
Функциональные зависимости отношений и математическое понятие функциональной зависимости
Вторая нормальная форма.
Анализ декомпозированных отношений
Оставшиеся аномалии вставки (INSERT)
Оставшиеся аномалии обновления (UPDATE)
Оставшиеся аномалии удаления (DELETE)
Третья нормальная форма.
Алгоритм приведения к 3НФ.
Сравнение нормализованной и ненормализованной модели.
Корректность процедуры нормализации - декомпозиция без потерь.
Теорема Хеза.
.НФБК
Четвертая нормальная форма.
Многозначные зависимости.
Теорема Фейджина.
Пятая нормальная форма.
Зависимости соединения.
Приведение от 3НФ к 5НФ.
Информационная система. Состав и свойства.
Функциональные части ИС. Обеспечивающие части ИС.
Средства структурного анализа и их взаимоотношения.
Диаграммы потоков данных.
Основные компоненты диаграммы потоков данных.
Контекстная диаграмма DFD и детализация процессов.
Процесс построения модели DFD
Модель <сущность-связь>
Триггеры и ограничения. События, условия и действия.
Объявление и открытие курсора.
Оператор FETCH.
Предметная область и ее модель.
Физическое проектирование БД.
Процедурные и декларативные языки манипулирования данными.
Потребительские свойства ИС.
Характерные особенности современных крупных проектов ИС.
Основополагающие принципы создания ИС.
Частные принципы создания ИС.
Организационно-технологические принципы создания ИС.
Аспекты описания ИС.
Стадии проектирования ИС.
Предпроектная стадия проектирования ИС.
Этап проектирования ИС.
Этап внедрения ИС.
Анализ информационных потребностей ИС.
Жизненный цикл программного обеспечения ИС.
Модели жизненного цикла ПО ИС.
Каскадная модель жизненного цикла ПО ИС.
Спиральная модель жизненного цикла ПО ИС.
Итерационная модель жизненного цикла ПО ИС.
Этап определения стратегии.
Принципы структурного анализа.
Словарь данных DFD.
Спецификации управления.Диаграммы переходов состояний (STD).
Из каких объектов состоит STD.
Основные понятия ER-диаграмм: сущности, экземпляры, атрибуты, связи.
Типы и модальности связей.
Более сложные элементы ER-модели.
Подтипы и супертипы.
Связь <многие-ко-многим>.
Получение реляционной схемы из ER-диаграммы.
Пример разработки простой ER-модели.
Проектирование баз данных.
Концептуальное и логическое проектирование БД.
ER-модель и ее отображение на схему данных.
Денормализация для оптимизации
Физическое проектирование БД. Типы данных.
Физическое проектирование БД. Индексы, кластеры.
Физическое проектирование БД. Временные данные.
Физическое проектирование БД. Хранение объектов данных.
Оптимизация запросов, основные понятия.
Синтаксическая оптимизация
Оптимизация, основанная на правилах
Оптимизация, основанная на вычислении стоимости
Последовательность шагов оптимизации запросов
Физические операции манипулирования данными.
Фактор селективности
Анализ запросов с целью повышения скорости их выполнения
использование базовых переменных, понятие курсора
Базовая переменная SQLSTATE.
Операции встроенного SQL, не использующие курсоров.
Операции, использующие курсоры.
Операторы позиционного удаления и модификации данных.
Понятие, назначение и структура хранимых процедур.
Использование хранимых процедур.
Операторы окончания транзакции.
Встроенный SQL в VBA.
Уровни моделирования выделяемые при разработке базы данных.
Принципы проектирования реляционных баз данных
Критерии оценки качества логической модели данных. Адекватность базы данных предметной области
Назначение нормализации отношений.
Приведение к 5НФ.
Этапы разработки проекта: стратегия и анализ.
Этапы проектирования.Стратегия.
Этап анализа.
Основные методологии структурного анализа.
Сильные и слабые сущности.
Некоторые принципы проверки качества и полноты информационной модели.
Методология IDEF1Х.
Идентифицирующие и неидентифицирующие связи.
Мощность связи.
за Защита данных
Обычно СУБД предоставляют набор пакетированных привилегий для управления данными, например:
connect, которая разрешает соединение с базой данных;
resource, которая дополнительно разрешает создание собственных объектов базы данных,
dba, которая позволяет выполнять функции администратора конкретной базы данных, и др.
Дискреционная защита предполагает разграничение доступа к объектам данных (таблиц, представлений, и т.п.), а не собственно к данным, которые хранятся в этих объектах. Дискреционная защита также обеспечивает создание пользовательских пакетированных привилегий — ролей или групп привилегий. В этом случае набор привилегий на те или иные объекты данных назначается группе или роли, а затем эта группа или роль назначается пользователю;
К сфере защиты данных относятся также сохранность данных и восстановление их после сбоя системы. Для обеспечения бесперебойной работы часто применяют архивирование (в том числе инкрементное) базы данных и журнала транзакций, а в случае отказа системы при следующем старте операции над данными восстанавливают по журналу транзакций (например, производят их откат до определенного момента времени). Применяют также методы горячего резервирования, когда работают два сервера: основной, обрабатывающий запросы пользователей, и резервный, который продолжает работу основного сервера в случае его отказа. Состояние хранилищ данных на основном и резервном серверах согласовано и поддерживается СУБД автоматически, что позволяет проектировщикам не разрабатывать собственные механизмы репликации данных.
Обмен данными с внешними системами
Интерфейсы обмена с внешними системами можно разбить на следующие категории:
одноразовый импорт данных, унаследованных, как правило, из старой системы;
периодический обмен данными между узлами информационной системы (внутренний обмен);
периодический обмен данных с другими информационными системами (внешний обмен).
Если обмен данными должен осуществляться в режиме, близком к реальному времени, то это будет задача о распределенной базе данных, а не о простой передаче данных.
При анализе задач загрузки и выгрузки данных проектировщик должен рассмотреть:
каким подсистемам нужен интерфейс выгрузки данных и каков должен быть интерфейс загрузки данных из внешней системы;
каковы периодичность обмена данными и объем передаваемых данных;
какая требуется степень синхронизации двух систем;
каковы возможные методы транспортировки данных;
а также:
согласовать формат данных для обмена;
определить зависимости загрузки и выгрузки, например порядок выполнения операций;
определить мероприятия, которые необходимо выполнить при сбое во время загрузки и выгрузки данных;
сформулировать правила определения ошибочных записей (при загрузке);
определить правила регистрации операций передачи и приема данных;
определить график передачи данных (в большинстве информационных систем эти операции выполняются в ночное время);
составить график разработки и тестирования собственных утилит или скриптов обмена данными;
составить график разовой загрузки данных, наследуемых из старой системы, и подготовить методику проверки корректности этой операции.
Дерево запроса
Одним из способов представления запроса, которое обеспечивает понимание механизма его выполнения, является дерево запроса (query tree). Дерево запроса представляет собой древовидную структуру, в которой окончательный результат запроса находится на вершине дерева (в его корне) и таблицы БД, участвующие в запросе, являются листьями этого дерева. Промежуточные узлы дерева представляют физические операции, которые должны выполняться во время запроса. Когда план запроса выполняется, то последовательность обхода узлов осуществляется снизу вверх и слева направо.
SELECT А.NАМЕ
FROM AUTHORS А, BOOCKS В
WHERE (В.DАТЕ_PUBLISHED=‘1993') АND (А. NАМЕ = В. NАМЕ);
Использование эвристических правил для увеличения эффективности запроса
Принятие решений при проектировании БД для MySQL
Текстовые и двоичные типы
MySQL дает возможность сохранять строки длиной более 255 символов как TEXT либо BLOB. Разница между типами TEXT и BLOB минимальна: типы TEXT сравниваются нечувствительным к регистру образом а типы BLOB — чувствительным. По этой причине графы BLOB обычно используются для хранения двоичных данных, а графы TEXT — ASCII-данных.
В зависимости от размера строки, которую вы попытаетесь сохранить, MySQL предложит на выбор следующие типы: TINYTEXT, TEXT, MEDIUMTEXT и L0NGTEXT (для текстовых ASCII-блоков), а также TINYBLOB, BLOB, MEDIUMBLOB и L0NGBL0B (для двоичных данных).
DATE и TIME
Для простых значений дат и времени MySQL предусматривает такие типы данных, как DATE и TIME. Тип DATE используется для сохранения значений дат, включающих такие компоненты, как год, месяц и день, а тип TIME — для сохранения значений времени, состоящих из следующих компонентов: час, минута и секунда. Оба типа DATE и TIME, могут применяться для значений в числовом (YYYYMMDD и HHMMSS) либо строковом (' YYYY-MM-DD' и ' НН: ММ: SS') формате.
Если вам потребуется комбинация этих двух типов, можете воспользоваться такими типами, как DATETIME и TIMESTAMP, каждый из которых позволяет размещать значения даты и времени в одной графе. Разница между ними заключается в том, как сохраняются значения: в графах DATETIME они сохраняются в формате ' YYYY-MM-DD НН: ММ: SS', а в графах TIMESTAMP - в формате YYYYMMDDHHMMSS.