Ответственный подход к денормализации 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Ответственный подход к денормализации



Денормализация, разрушающая нормальные формы, реализует технологию дублирования данных, чтобы упростить их извлечение. Некоторые разработчики регулярно денормализуют части базы данных в попытке увеличить производительность. Несмотря на то что количество объединений, необходимых в запросах, уменьшается, такая методика может существенно замедлить работу базы данных, так как для поддержания синхронизации дублирующихся данных потребуются дополнительные триггеры, а поддержание целостности данных усложнится.

Нормализация гарантирует целостность данных при их вводе и обновлении. Таким образом, рекомендации к денормализации некоторых частей базы данных зависят от цели, для которой создается эта база:

¾ Если данные используются для постоянных преобразований — не нужно заниматься денормализацией.

¾ Денормализовать рекомендуется итоговые данные, такие как балансы счетов или количество выданных на руки складских товаров, несмотря на то, что их можно вычислить с помощью таблицы складских транзакций.

¾ Если данные не являются исходными и в основном предназначены для отчетов, то целостность данных не так важна. В этом случае денормализация будет лучшим способом повышения производительности.

Архитектура базы данных и то, какие таблицы для каких целей в ней использовать, являются движущей силой в принятии решения относительно денормализации части базы данных.

 

 

Создание базы данных. Команда DDLCreate. Концепции файлов базы данных. Автоматизация роста размера файла. Использование множества файлов. Планирование нескольких файловых групп.

База данных является физическим контейнером для всех схем данных, а также для серверных программ. База данных SQL Server представляет собой одну логическую единицу, даже несмотря на то, что физически может размещаться в нескольких файлах. Операция создания базы данных с использованием параметров, заданных по умолчанию, крайне проста.

CREATE DATABASE CHA2

Инструкция CREATE создает файл данных с заданным именем и расширением.mdf, а также файл журнала транзакций с расширением.ldf. Команда CREATE поддерживает множество параметров:

¾ Порядок символов по умолчанию — принятый на сервере.

¾ Исходный размер.

¾ Размещение.

Создание баз данных в окне Object Explorer требует только ввода ее имени в форме. Данное окно открывается после щелчка правой кнопкой мыши на узле Database и выбора в контекстном меню пункта New Database.

 

База данных состоит из двух наборов файлов: файлов данных и журнала транзакций. Файл данных содержит системные и пользовательские таблицы, индексы, представления, хранимые процедуры, пользовательские функции, триггеры и разрешения системы безопасности. Журнал транзакций с последовательной записью является “центром” SQL Server. Журнал транзакций содержит не только пользовательские записи, но и индексные записи, разбиения страниц, реорганизации таблиц и многое другое. Так как файл транзакций содержит не только текущую информацию, но и все обновления файла данных, он, как правило, все время разрастается.

Ранее приходилось вручную управлять объемом файлов данных, чтобы иметь возможность добавления данных. К счастью, в новых версиях SQL Server этот процесс автоматизирован, при этом можно установить следующие параметры:

a) Enable Autogrowth. По мере того как база наполняется данными, размер файла должен увеличиваться. Если этот параметр установлен, то эту задачу берет на себя SQL Server, учитывая следующие параметры.

¾ File growth in megabytes. Когда файл данных требует расширения, он автоматически увеличивается на заданное количество мегабайт..

¾ File grouth by percent. В случае необходимости размер файла данных автоматически увеличивается на заданный процент. Этот вариант лучше использовать в небольших базах данных.

b) Maximum file size (не позволит переполниться дисковой подсистеме).

Количество файлов, используемых текущей базой данных, можно легко изменить. Если данные заполнили устройство, можно добавить новый файл в таблице Database Files. Если некоторый файл больше не требуется он может быть удален. Для этого его нужно вначале сжать с помощью функции DBCC ShrinkFile, а затем удалить в утилите Management Studio.

Файловая группа представляет собой расширенный механизм организации объектов базы данных. По умолчанию база данных имеет всего одну файловую группу — первичную. При конфигурировании базы данных для использования нескольких файловых групп конкретные объекты (таблицы, индексы и т.п.) могут создаваться в заданных группах. Эта методика может поддерживать две основные стратегии: 1)использование нескольких файловых групп способно повысить производительность за счет разделения таблиц и индексов на разные дисковые подсистемы 2)использование нескольких файловых групп может помочь организовать план резервирования и восстановления, помещая статические данные в одну файловую группу и активизированные данные — в другую.

 

Создание таблиц. Создание таблиц в ManagementStudio. Работа со сценариями SQL. Схемы. Имена таблиц и столбцов. Файловые группы.

Подобно всем реляционным СУБД, SQL Server является таблично ориентированной. После создания базы данных следующим действием является наполнение ее таблицами.

Создание таблиц в ManagementStudio.

Утилита Management Studio предлагает две рабочие области для создания и модификации таблиц:

¾ Конструктор таблиц (Table Designer)

¾ Конструктор баз данных (Database Designer)

Конструктор таблиц отображает только имена столбцов и их тип данных (вместе с длиной), а также допустимость пустых значений. Как только редактирование структуры таблицы будет выполнено, активизируется кнопка Save Change Script панели инструментов, позволяющая сохранить сценарий в файле. sql, чтобы его можно было повторить на другом сервере.

Работа со сценариями SQL

Преимущества реализации схемы в сценариях:

¾ Код сценария находится в одном месте.

¾ Сценарии могут храниться в узлах решений и проектов в Solution Explorer, а также в Microsoft Source Safe или в другой системе управления изменениями.

¾ Если базовый сценарий базы данных содержит весь код, необходимый для ее создания, то самая современная версия базы данных может быть установлена без необходимости запуска сценариев изменений или запуска процесса восстановления из резервной копии.

¾ Установка, которая освежает новую базу данных, в противоположность резервной копии имеет то преимущество, что не содержит каких-либо устаревших данных.

В то же время работа со сценариями имеет и свои недостатки:

¾ Инструкции Т-SQL могут оказаться незнакомыми, а размер сценария может быть запредельно большим.

¾ Если ограничения внешнего ключа внедрены в таблицу, то порядок операций при создании таблицы может оказаться критичным. Если ограничения применяются уже после создания таблиц, то этот порядок может быть несущественным.

¾ Диаграммы базы данных Management Studio не являются частью сценария.

Схемы

Схема представляет собой объект, который служит исключительно для того, чтобы владеть другими объектами базы данных. Она сегментирует крупные базы данных на управляемые модули, а также может реализовывать сегментированную стратегию защиты данных.Обычно объекты принадлежат схеме dbo. Имя схемы является третьей частью четырехкомпонентного имени:

Сервер.база_данных.схема.объект

Если используются пользовательские схемы, отличные от dbo, то в каждом запросе должны указывать их в явном виде.

Имена таблиц и столбцов

SQL Server допускает использование в именах таблиц и столбцов до 128 символов Unicode, включая пробелы, а также символы верхнего и нижнего регистров. При проектировании базы данных необходимо учитывать: 1)В именах таблиц используется единственное число без чисел, но с префиксом; 2)В связывающих таблицах, разрешающих отношения “многие ко многим”, используются имена типа таблица_таблица; 3)В именах для разделения слов используется смешанный регистр символов без подчеркиваний и пробелов; 4)Для первичных ключей используется имя таблицы, дополненное символами ID.

Файловые группы

Таблицы можно создавать в конкретных файловых группах, если в базе данных существует несколько таких групп. В организационных целях база данных OBXKites использует две файловые группы. Все данные, которые изменяются на регулярной основе, вынесены в файловую группу primary. Эта файловая группа часто резервируется. Данные, которые изменяются достаточно редко, вынесены в файловую группу static.



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 88; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.187.199 (0.011 с.)