Опубликован: 02.08.2007 | Доступ: свободный | Студентов: 3890 / 753 | Оценка: 4.55 / 4.39 | Длительность: 27:09:00
ISBN: 978-5-9556-0111-3
Лекция 13:

Создание физической модели базы данных. Подготовка скрипта для создания базы данных

Проверка физической модели реляционной базы данных

Перед созданием физической базы данных проектировщик базы данных должен проверить созданную им модель физической структуры базы данных на полноту и корректность.

Полнота в данном случае означает, что следует убедиться в том, что:

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

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

Заметим, что наших лекциях не нашли своего отражения ряд вопросов проектирования базы данных, а именно - связанных с выбором программно-аппаратной архитектуры (например, трехзвенная архитектура "клиент-сервер"), настройкой производительности, работой с физическим пространством базы данных и т.д. Как правило, эти вопросы, по большей части связанные с конкретной реализацией базы данных, решаются непосредственно администраторами баз данных, а проектировщики редко привлекаются к решению, в том числе и этих задач, на стадии управления изменениями в процессе начального, тестового, опытного этапов эксплуатации базы данных. В наших лекциях мы акцентировали внимание на тех задачах проектировщика базы данных, которые в основном не зависят от учета конкретной программно-аппаратной среды функционирования базы данных.

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

После разработки или генерирования скрипта создания физической базы данных, загрузки в нее реальных или тестовых данных, проектировщик базы данных обязан с помощью средств СУБД получить информацию о параметрах объектов базы данных, чтобы сопоставить ее с предполагаемыми параметрами, и при необходимости выполнить их корректировку (не забывая отразить эти действия в отчете). Основные параметры объектов, которые следовало бы проконтролировать после создания физической базы данных, приведены в таблицах 13.9.- 13.14. Это касается основных объектов - таблиц, индексов, представлений, синонимов, ролей и пользователей.

Таблица 13.9. Параметр реляционной таблицы
Параметр Описание Значение по умолчанию
Таблица Имя таблицы
Столбец Имя столбца
Default Устанавливает для столбца значение по умолчанию, которое будет использоваться при отсутствии значения в операторе insert
Ограничение_столбца_ref Содержит ссылку на ограничение другого столбца, которое должно применяться к данному столбцу
Ограничение_столбца Устанавливает ограничения целостности как часть определения столбца
Тип_данных Задает тип данных - числовой, символьный, большой объем и т.д.
Ограничение_таблицы Устанавливает ограничения целостности для все таблицы
Ограничение_таблицы_ref Содержит ссылку на ограничение другой таблицы, которое должно применяться к данной таблице
Tablespace Табличное пространство, в которое должна быть помещена таблица Табличное пространство по умолчанию, назначенное владельцу таблицы
Logging/NoLogging Указывает, должна ли информация об объекте отслеживаться в файле журнала повтора Logging
Petfree Указывает, сколько процентов свободного пространства должно сохраняться в каждом блоке данных для будущих обновлений строк таблицы Диапазон 1-99, по умолчанию 10 %
Petused Задает минимальный объем использованного пространства, поддерживаемый в каждом блоке данных таблицы Диапазон 1-100, по умолчанию 40 %
Initrans Задает начальное количество транзакционных записей, выделяемых в каждом блоке данных таблицы Диапазон 1-255, по умолчанию 1 (2 для кластера или индекса)
Maxtrans Задает максимальное количество параллельных транзакций, которые могут обновлять блок данных таблицы (не применяется к запросам) Диапазон 1-255, значение по умолчанию зависит от размера блока данных
Конструкция_хранения Те же параметры, что и для табличного пространства
Таблица 13.10. Параметры создания индекса
Параметр Описание Значение по умолчанию
Unigue Указывает, что значения столбца (столбцов) индекса должны быть уникальны Nonunigue
Bitmap Указывает, что будет битовым, а не индексом В-дерева (используется для столбцов с низкой кардинальностью) В-дерево
Схема Указывает имя владельца таблицы Схема создателя индекса
Имя_индекса Задает имя индекса
Конструкция кластерного индекса Указывает, что индекс должен быть построен для кластера, и содержит список кластерных атрибутов
Конструкция индекса таблицы Указывает таблицу, для которой строится индекс, в том числе любые псевдонимы таблицы, список индексных выражений, а также является ли индекс локальным или глобальным (для разделенных индексов) По умолчанию используется схема создателя индекса, индекс создается как глобальный
Список индексных выражений Определяет либо столбцы, по которым выполняется индексирование, либо список выражений для создания функционального индекса Для регулярного индекса не более 32 столбцов; для битового индекса не более 30
ASC/DESC Указывает, в каком порядке будет создаваться индекс - возрастающем или убывающем По возрастанию
Список физических атрибутов Те же атрибуты, что и для таблицы: pctfree, pctused, initrans, maxtrans, конструкция_хранения
Logging/Nologging Указывает, будет ли информация об объекте отслеживаться в файле журнала повтора Logging
Online Указывает, должен ли индекс быть доступен сразу после создания Online
Compute statistics Указывает, должна ли генерироваться статистика по индексу
Tablespace Указывает табличное пространство, в котором будет храниться индекс Табличное пространство по умолчанию, назначенное создателю индекса
Compress/Nocompress Позволяет исключить повторяющиеся ключевые слова Nocompress
Nosort Указывает, что значения должны вставляться в порядке возрастания, - Oracle не будет сортировать строки при вставке
Reverce Сохраняет байты индекса в обратном порядке, за исключением идентификатора строки (row ID) - не может использоваться совместно с nosort
Таблица 13.11. Параметры создания представления
Параметр Описание Значение по умолчанию
create or replace Указывает, будет ли создаваемое представление новым или модификацией уже существующего create
Force/Noforce Указывает, нужно ли создавать представление даже при возникновении ошибок (например, если в данный момент отсутствует основной столбец) Noforce
Схема Имя схемы, которой будет принадлежать представление Схема создателя представления
Имя_представления Задает имя представления
Alias Определяет псевдонимы для выражений, используемых в представлении (количество псевдонимов должно совпадать с количеством выражений) По умолчанию Oracle создает псевдоним на основе имени выражения
As Указывает столбцы и строки, на которых основано представление
Конструкция_with Задает одно или несколько ограничений: with read only, with check option (название для контрольного ограничения)
Таблица 13.12. Параметры создания синонима
Параметр Описание Значение по умолчанию
Public Указывает, что синоним будет виден всем пользователям Private
Имя_синонима Задает имя синонима
For Указывает объект, для которого создается синоним
Dblink Указывает полную или частичную связь баз данных для создания синонима объекта, расположенного в удаленной базе данных
Таблица 13.13. Параметры создания роли
Параметр Описание Значение по умолчанию
Имя_роли Задает имя роли
Not identified Указывает, что для роли не требуется пароль
Identified Указывает, что для разрешения доступа к роли должна использоваться команда set role
Identified by <пароль> Задает пароль, используемый для разрешения доступа к роли
identified externally Указывает, что для разрешения доступа к роли должна использоваться аутентификация на уровне операционной системы
Таблица 13.14. Параметры создания пользователя
Параметр Описание Значение по умолчанию
Имя_пользователя Задает имя пользователя
By <пароль> Создает пароль учетной записи
Externally Указывает, что должна использоваться аутентификация операционной системы
Globally as Указывает, что пользователь должен быть "глобальным", и задает имя, идентифицирующее этого пользователя
Default tablespace Указывает, где должны храниться объекты, созданные пользователем, если для них не было указано табличное пространство SYSTEM
Temporary Tablespace Указывает временное табличное пространство для пользовательских операций сортировки SYSTEM
Quota <размер> on <табличное_пространство> Определяет квоту, которую будет иметь пользователь (целое число с буквой К для Кбайт и М для Мбайт), табличное пространство, к которому отнгосится эта квота Квота отсутствует
Profile Указывает имя профиля для пользователя Профиль по умолчанию
Default Role - all, except, none Указывает роль по умолчанию для пользователя: "все роли", "все, кроме указанных" или вообще отсутствие роли по умолчанию None
Password expire Устанавливает срок, по истечении которого пароль станет недействительным Not expired
Account Lock/Unlock Указывает, должна ли учетная запись быть первоначально заблокирована и недоступна или разблокирована Unlocked
Александра Каева
Александра Каева
Михаил Забелкин
Михаил Забелкин