Создание и внедрение программного продукта "Объектно-ориентированный менеджер структуры универсальной системы хранения данных"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
вателя, и помещается в пакет задач Oracle.
В обоих случаях пользователь, запускающий программу, должен быть подключен к корпоративной сети предприятия и зарегистрирован в сетевых задачах Oracle.
Вызов любого окна приложения (основного окна, окна генерации, справочников, регистрации пользователей и групп) осуществляется соответствующим пунктом главного меню, встроенного в оболочку.
2.3.6 Входные данные
Входные данные поступают в программу от пользователя в ходе диалога. При вызове определенной функции (например Создание класса объектов) открывается соответствующее диалоговое окно. Логика программы отслеживает обязательность и корректность заполнения необходимых данных.
Входными данными являются классы объектов и связей с атрибутами, возможные этапы жизненного цикла экземпляров классов объектов, виды и правила вычисления эффективных версий.
Для корректного внесения данных рекомендуется заранее подготовить описание структуры, выделить основные классы, определить атрибуты мастер-объектов и версий, назначить связи. Данная предварительная подготовка данных (которая может быть произведена на этапе постановки задачи) позволит максимально сократить процесс формирования структуры базы данных. Хотя на этапе до генерации класса пользователь может сколь угодно много раз менять описание, после генерации изменение и перегенерация класса выполняется только при определенных условиях (для данного класса не должно существовать реальных объектов - его экземпляров).
2.3.7 Выходные данные
Результатом работы программы будут реальные таблицы переменной части базы данных, с которой работает менеджер, созданные в процессе генерации.
Генерируемая часть содержит следующие объекты БД:
-таблицы для хранения мастер-объектов для каждого класса;
-таблицы для хранения версий объектов для каждого класса;
-таблицы для хранения связей для каждого класса логических связей;
-таблицы для хранения мастер-объектов на время редактирования их атрибутов;
-таблицы для хранения версий объектов на время редактирования их атрибутов;
-таблицы для хранения связей на время редактирования их атрибутов.
Таким образом, для каждого класса объектов создаются 4 таблицы, а для класса связей - 2 таблицы. На момент окончания генерации таблицы пусты.
Структура таблицы для каждого класса индивидуальна. Она зависит от количества и типа определенных для класса атрибутов. Очевидно, что сгенерированные таблицы для классов объектов по структуре значительно отличаются от сгенерированных таблиц для классов связей.
Структуры таблиц переменной части БД представлена в таблицах 2.3 - 2.8.
Используемые сокращения:
PK (primary key) - первичный ключ;
FK (foreign key) - внешний ключ; (unique) - значение поля уникально внутри таблицы;
M (mandatory) - поле, обязательное для заполнения;
default - значение по умолчанию.
Таблица 2.3 - Отношение для хранения мастер-объектов
ОбозначениеНаименованиеОграничения целостностиТип данныхIDУникальный код записиPKNumber (15,0)OBJ_CODEКод объектаM, IVarchar2 (70)IS_FROZENПризнак замороженности (0-нет, 1-да)M, default=0Integer (2)ID_OWNERСсылка на пользователя-владельца объектаM, FKNumber (15,0)READ_OWNERРазрешения READ владельца (0-нет, 1-да)M, default=1Integer(2)WRITE_OWNERРазрешения WRITE владельца (0-нет, 1-да)M, default=1Integer(2)CH_STAT_OWNERРазрешения CHANGE STATUS владельца (0-нет, 1-да)M, default=0Integer(2)READ_MAIN_GRРазрешения READ главной группы (0-нет, 1-да)M, default=1Integer(2)WRITE_MAIN_GRРазрешения WRITE главной группы (0-нет, 1-да)M, default=1Integer(2)CH_STAT_MAIN_GRРазрешения CHANGE STATUS главной группы (0-нет, 1-да)M, default=0Integer(2)READ_OTHER_GRРазрешение READ других групп (0-нет, 1-да)M, default=1Integer(2)WRITE_OTHER_GRРазрешения WRITE других групп (0-нет, 1-да)M, default=0Integer(2)CH_STAT_OTHER_GRРазрешения CHANGE STATUS других групп (0-нет, 1-да)M, default=0Integer(2)CREATE_DATEДата созданияMDateCREATE_USERАвтор созданияMVarchar2 (40)CHANGE_DATEДата измененияDateCHANGE_USERАвтор измененияVarchar2 (40)
Таблица 2.4 - Отношение для хранения редактируемых мастер-объектов
ОбозначениеНаименованиеОграничения целостностиТип данныхIDУникальный код записиPKNumber (15,0)CREATE_DATEДата созданияMDateCREATE_USERАвтор созданияMVarchar2 (40)CHANGE_DATEДата измененияDateCHANGE_USERАвтор измененияVarchar2 (40)
Таблица 2.5 - Отношение для хранения версий
ОбозначениеНаименованиеОграничения целостностиТип данныхIDУникальный код записиPKNumber (15,0)ID_MASTER_OBJСсылка на мастер-объектM, FKUNumber (15,0)VERSIONНомер версииMNumber (15,0)IS_FROZENПризнак замороженности (0-нет, 1-да)M, default=0Integer (2)IS_CHECKПризнак check-in/check-out (0 - check-in, 1 - check-out)M, default=0Integer (2)ID_LC_STAGEСсылка на стадию жизненного циклаM, FKNumber (15,0)CREATE_DATEДата созданияMDateCREATE_USERАвтор созданияMVarchar2 (40)CHANGE_DATEДата измененияDateCHANGE_USERАвтор измененияVarchar2 (40)
Таблица 2.6 - Отношение для хранения редактируемых версий
ОбозначениеНаименованиеОграничения целостностиТип данныхIDУникальный код записиPKNumber (15,0)ID_MASTER_OBJСсылка на мастер-объектM, FKUNumber (15,0)VERSIONНомер версииMNumber (15,0)ID_LC_STAGEСсылка на стадию жизненного циклаM, FKNumber (15,0)CREATE_DATEДата созданияMDateCREATE_USERАвтор созданияMVarchar2 (40)CHANGE_DATEДата измененияDateCHANGE_USERАвтор измененияVarchar2 (40)
Таблица 2.7 - Отношение для хранения логических связей
ОбозначениеНаименованиеОграничения целостностиТип данныхIDУникальный код записиPKNumber (15,0)LINK_CODEКод связиM, IVarchar2 (70)PARENT_OBJ_CODEКод объекта-родителяMUVarchar2 (70)ID_VERSIONУникальный код записи - версии родителяMNumber (15,0)CHILD_OBJ_CODEКод подчиненного объектаMVarchar2 (70)IS_CHECKПризнак check-in/check-out (0 - check-in, 1 - check-out)M, default=0Integer (2)CREATE_DATE