Модель справочной технологической БД

Информационное обеспечение САПР ТП.

Понятия СУБД И БД.

Ключевым понятием лекции является СУБД.

СУБД (DBMS-database management system - программный комплекс, обеспечивающий создание структуры данных, их модификацию, удаление, поиск и формирование отчетов по результатам поиска, а также язык программирования, с помощью которого формируются перечисленные операции.

БД (база данных) - совокупность структурированных данных, используемых многими прикладными программами в том числе и САПР ТП.

Большинство современных САПР ТП используют для хранения справочной информации и проектирования ТП реляционные БД (т.е. основанные на отношениях между ключевыми полями - связях). В целом реляционные БД получили широкое распространение на ПЭВМ вследствие своей простоты и гибкости. Средствами СУБД можно описать и более сложные модели данных: сетевые и иерархические, но в САПР ТП они менее распространены.

В Вертикаль и Technologics используются клиент-серверные реляционные СУБД (Interbase - Borland, Firefox – бесплатная с открытым кодом, Microsoft SQL Server) для ведения коллективной обработки данных. При инсталляции САПР ТП в компьютерной сети на компьютере, выполняющем роль сервера, устанавливается сервер БД (серверная СУБД), на прочие - клиентские рабочие места.

После инсталляции пользователи могут:

  • подключиться к серверу;
  • в зависимости от настроек, получить те или иные права по работе с БД;
  • в зависимости от своих прав, могут обращаться к БД с запросами и видеть результаты поиска или изменения, которые были произведены СУБД на клиентских рабочих местах.

Следует отметить, что клиент-серверные СУБД не позволяют пользователю изменять файлы БД напрямую. Хотя дополнительно разработчиками САПР ТП предусматривается программирование новых возможностей использования СУБД и БД для опытных пользователей.

Клиент-серверная СУБД используется САПР ТП по следующей схеме:

В соответсвии со схемой выделяются три уровня (слоя) программного обеспечения:

Слой данных, на котором осуществляются базовые операции по работе с данными

Слой бизнес-логики (логики приложения), выполняющий собственно обработку данных БД в соответствии с логикой прикладной задачи

Слой представления данных, на котором происходит взаимодействие с пользователем и представление данных в доступной ему форме.

Программно указанные слои могут быть реализованы самым разнообразным образом.

Так в файл-серверных системах на СУБД возлагаются функции хранения данных, а бизнес-логика реализуется на рабочем месте пользователя («толстом» клиенте)

Другая крайность – сосредоточение логики на сервере БД (через хранимые процедуры и запросы SQL). В этом случае клиент (рабочее место пользователя) может использоваться только для просмотра данных («тонкий» клиент). Примером может служить веб-интерфейс через Интернет-браузер.

Современные сложные информационные системы зачастую используют трехзвенную архитектуру (когда каждый слой реализуется в виде отдельного компонента) и даже многоуровневую архитектуру.

Кроме того, часто слой логики приложения «размывается» и реализуется частично на сервере БД, частично – на клиентском рабочем месте, а частично и как самостоятельный компонент.

Плюсы многоуровневой архитектуры Минусы многоуровневой архитектуры
Каждый слой логики реализуется независимым компонентом Относительная сложность реализации
Высокая производительность Недостаточная эффективность при малом количестве пользователей или малом объеме данных
Расширяемость системы Как правило – более высокая стоимость
Независимость от СУБД  
Разнообразные решения клиентских рабочих мест под любую аппаратуру  

 

Основные функции СУБД:

· хранение и выдача данных;

· ввод и редактирование данных и структуры данных на базовом уровне;

· поиск данных;

· формирование отчета

вызываются подпрограммами САПР ТП с помощью заранее сформулированных разработчиками ПО запросов, параметры которых задаются пользователем в процессе проектирования или настройки справочников.

Например, поиск модели станка, состоящий из нескольких этапов: оборудование Þметаллорежущий станокÞ токарно-винторезныйÞ 16К20 будет представлять собой последовательность из:

1. запроса на поиск в таблице «Виды оборудования» справочной БД «Оборудование»;

2. проверки правильности запроса и прав доступа пользователя к БД (в соответствии с бизнес-логикой);

3. формирование сетевого пакета по протоколу (TCP IP) для передачи серверу;

4. преобразование сетевого пакета в команды СУБД на сервере;

5. выдача СУБД сегмента данных, отвечающих запросу пользователя;

6. формирование сетевого пакета по протоколу (TCP IP) для передачи клиенту;

7. преобразование сетевого пакета в отображение данных на рабочем месте клиента.

Результаты поиска отображаются на рабочем месте пользователя на каждом промежуточном этапе работы системы и оцениваются им, поскольку влияют на конечный результат – технологический процесс. Далее осуществляется запрос к таблице «Типы металлорежущих станков» и пункты с 1 по 7 повторяются.

Для правильной работы САПР ТП пользователь должен выполнять основное требование, какие бы действия с данными он не производил: информация в электронном ТП и справочных БД должна сохранять свою структурную целостность.

Для этого при корректировке и заполнении электронного технологического процесса и справочных БД требуется учитывать, что СУБД и САПР ТП ориентирована на использование определенных моделей данных.

Принято два представления данных:

· Логическое представление;

· Физическое представление.

Логическое представление обусловлено принятой моделью (схемой) данных, отражающих их структуру (например, в виде модели «сущность» - «отношение»). Модель не содержит конкретных значений данных, она описывает структуру.

В дальнейшем структура, как правило, остается неизменной, а данные могут изменяться при вводе и редактировании информации электронного технологического процесса и справочных БД (далее технологическая БД).

Разработчики САПР ТП стремятся свести к минимуму возможное вмешательство пользователей в структуру, поскольку такое вмешательство может привести к нарушениям в работе всей системы.

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

БД, представленная на физическом уровне - набор файлов определенного формата (.db,.str,.mdldb), в которых сущностям, обычно, соответствуют таблицы, а отношениям – внешние ключи.

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

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

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

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

рис.1 Таблица КТЭ.

 

 

 

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

**Разработчики САПР могут выводить для просмотра и/или редактирования не все поля таблицы БД, пользователю предлагается список доступных полей выбранной таблицы.

Основной объект БД таблица состоит из полей и записей.

Запись - аналог строки в таблице. Запись является стандартным блоком для хранения данных в таблице, выборки данных в запросе, вывода на экран.

Поле - элемент таблицы, имеющий имя и формат, элемент, который с точки зрения пользователя, соответствует колонке в обычной таблице.

Ключевое поле - поле, позволяющее идентифицировать записи таблицы или организовать связи между таблицами. При взаимодействии с БД пользователь САПР использует его при переходе от одной связанной таблицы к другой, но видит только в режиме просмотра и редактирования структуры (только в Вертикаль).

Форма - средство отображения данных на экране и управления ими (например, таблица - визуальный компонент интерфейса)

Запрос на поиск - средство отбора данных из одной или нескольких таблиц по определенному пользователем условию (например, выбор пользователем альтернативы токарно-винторезный приведет к активизации запроса на выборку всех моделей станков, обладающих данным свойством). Запросы также бывают на вставку, замену, удаление.

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

Возможности редактирования зависят от формата данных, помещаемых в поля таблицы БД.

Различные форматы данных позволяют хранить в БД самую разнообразную информацию и использовать возможности других приложений (не обязательно графических).

 

Текстовый формат - размер текстового поля находится в пределах от 1 до 256 символов (На практике ограничивается программистом.). Формат поля используется в формах и запросах.

Числовой формат - тип числового поля может принимать значения из следующего списка:

байт (0; 255);

целое (-32768; 32767);

с плавающей точкой (-3,4 E38 до 3,4 E38).

Формат счетчик - служит для автоматической идентификации записей таблицы (наращивание происходит автоматически от 1,79 E309 до 1,79 E309).

Логический формат - ячейка в поле логического типа может содержать только одно из двух значений:

Да или нет; истина - ложь; вкл. - выкл.

BLOB - Поле объекта OLE (Object Linking and Endedding) - поля данного типа не хранят информацию как таковую, а содержат ссылки на объекты, которые могут быть включены в БД с использованием OLE-протокола обмена данными. Такими объектами, например, могут быть графические файлы (операционные эскизы, эскизы инструмента). СУБД достаточно осуществить связь с приложением, работающим с тем или иным типом файлов. Например, эскизы, выполненные в системе Компас График, доступны для вставки в карту эскиза в системе Автопроект благодаря интерфейсу OLE Automation.

Использование функции OLE Automation для графических пакетов, позволяет применять чертежи объекта изготовления при идентификации обрабатываемой поверхности (технология механообработки), деталей и сборочных единиц (технология сборки), заполнении таблиц для проектирования ТП, проектирования эскизов.

Чтобы правильно выполнить корректировку БД, необходимо придерживаться как модели справочных данных, так и модели электронной технологии, куда выполняется подстановка.

Модель справочной технологической БД

Рассмотрим основные аспекты логического моделирования БД. Как правило, для каждой БД определяются:

1. Имя информационного массива справочной технологической БД в справочнике метаданных;

2. Состав таблиц БД;

3. Типы хранимых данных (состав содержательных полей каждой таблицы);

4. Система собственных и внешних ключей для организации отношений между таблицами внутри БД и с таблицами других БД;

5. Способы отображения хранимой информации.

Итак, решение проблемы хранения данных существует — это реляционные системы управления базами данных, и языки программирования SQL. В тоже время при создании САПР используются объектно-ориентированные языки программирования, заставляя программистов писать программное обеспечение, которое должно уметь, как обрабатывать данные в объектно-ориентированном виде, так и уметь сохранить эти данные в реляционной форме. Все это создает трудности для программистов, так как обе формы данных накладывают ограничения друг на друга.

В УТС Вертикаль осуществлен подход, в котором СУБД выступает лишь в роли хранилища, с минимальным количеством хранимых процедур или полном отказе от них. При этом используется отображение программных сущностей бизнес-логики на хранилище данных ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение).

ORM— технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».

Ввод и редактирование данных УТС Вертикаль и структуры данных на уровне администрирования БД обеспечивается специальным программным приложение, реализующим идею «виртуальной объектной базы данных». Взаимодействие с объектами осуществляется с помощью визуальных компонентов.

Хранимая процедура – применительно к базе данных, представляет собой набор SQL-инструкций, которая компилируется один раз и хранится на сервере. У них могут быть входные и выходные параметры и локальные переменные, в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам. В хранимых процедурах могут выполняться стандартные операции с базами данных (изменение, удаление), в них могут использоваться инструкции управления процессом исполнения.. Один-единственный оператор позволяет вызвать сложный сценарий, который содержится в хранимой процедуре

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

Хранимые процедуры позволяют обеспечить безопасность.

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

«Виртуальная объектная база данных» УТС Вертикаль.

Элементы объектной модели существенно облегчают проектирование индивидуальных пользовательских приложений, реализующих обработку данных из единого информационного хранилища (например, инженерные расчеты, нормирование, разработку документации и др.). Рассмотрим основные термины, используемые в объектной модели данных и в справке по администрированию УТС Вертикаль.

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

атрибуты — именованные характеристики объекта, определяющие его значимые (для пользователя) свойства.

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

В объектной модели УТС несколько классов, содержащих объекты одной практической области, объединяются в справочник.

Например, справочник Вспомогательный инструмент (VI) объединяет классы, характеризующие вид (VID), группу (GROUP), марку (MARKA) и типоразмеры (TYPESIZE) вспомогательного инструмента.

Справочники, классы и их атрибуты имеют уникальные имена. Для идентификации какого либо элемента модели используется его «полное» имя, состоящее из имени самого элемента и имен всех вышестоящих (по иерархии) элементов, разделенных точкой. Именование начинается с элемента, стоящего на самом верху иерархии — с имени справочника. Таким образом, полное имя класса формируется по шаблону:

{имя справочника}.{имя класса}

Информационная база УТС имеет табличное представление. Так как вся информация в модели используются терминология теории баз данных.

Структура справочников представлена в виде компонента «дерево» и содержит иерархический список групп справочников, справочников и классов.

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

Собственно администрирование УТС Вертикаль заключается в:

· Создании группы справочников (например, какого то предприятия)

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

· Создание нового справочника

· Редактирование параметров справочника, в том числе изменить права доступа к справочнику, то установите соответствующие параметры безопасности на одноименной вкладке

· Управление классами

Процедура регистрации нового класса включает следующие действия:

1. В дереве справочников установите курсор на справочник, в котором требуется создать новый класс.

2. Из контекстного меню вызовите команду «Добавить класс»

 

Выбрать таблицу для класса. Включите опцию, если для хранения объектов класса и их атрибутов следует использовать таблицу, уже имеющуюся в SQL"серверной базе данных УТС. В этом случае следует выбрать имя таблицы из раскрывающегося списка.

· Редактирование параметров класса

Все параметры класса (кроме глобального идентификатора и имени таблицы) доступны для редактирования на вкладке Класс.

Регистрация и отладка методов класса

Методы1 — процедуры обработки данных, принадлежащих классу. Применение методов позволяет удобно организовать специализированную обработку атрибутов справочников (по условиям и алгоритмам пользователя) без необходимости правки основного

программного кода.

В модуле администрирования все зарегистрированные методы могут быть реализованы в трех форматах:

▼ VB функция;

▼ атрибуты;

▼ текстовые константы в комбинации с атрибутами.

Информация обо всех зарегистрированных методах класса размещена на вкладке Методы. Чтобы посмотреть текст метода, выберите нужный метод в списке.

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

Например, БД по режущему инструменту (РИ) имеет 4 уровня, на каждом из которых находится таблица «Тип РИ», «Группа РИ», «Подгруппа РИ», «Типоразмер». На уровне «Тип РИ», расположены записи, содержащие наименования типов РИ. Каждой строке этого уровня соответствует свой набор записей в таблице «Группа РИ», которые в свою очередь ссылаются на записи следующего уровня.

База данных «Станки» включает связанные таблицы: «Операция», «Тип станка», «Модель станка», «Паспортные данные». Уровень 1 содержит информацию о типе операции: токарная, сверлильная, фрезерная…. На следующем уровне дается более подробная информация: токарно-револьверная, токарно-винторезная, токарно-универсальная….

Ключ, по которому отсортирован файл данных, называется "Собственным" (СК) или own ключом.

Информация о том, какое поле считать "Собственным" ключом содержится в структуре данных (F3) (см. рис выше). Там же есть указание на поле, которое называется "Выходным" ключом (ВК). СК и ВК служат для связи данных между уровнями по следующей схеме. Текущее значение ВК с уровня К сравнивается с СК на уровне К + 1. Записи, у которых ВК совпадет с СК выводятся в рабочее поле системы. Отсюда, нельзя удалять записи, имеющей подчиненные строки в таблице на нижнем уровне. Необходимо сначала исключить все подчиненные строки.

В базе данных «Станки» уровни связаны между собой ключами по следующему принципу:

У каждой записи Уровня 1 в БД «Станки» есть уникальный ключ - выходной в поле «Код типа» (см. структуру таблицы). При переходе на следующий Уровень 2 у каждой записи имеется аналогичный собственный ключ (тоже в поле «Код типа»). Чтобы на Уровне 2 получить подробную информацию типах станков токарной группы, значения собственного ключа у которых=10, необходимо выбрать на Уровне 1 тип операции – токарная, которой соответствует значение внешнего ключа=10.

Рисунок 2 Собственные и внешние ключи








Дата добавления: 2016-04-14; просмотров: 1205;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.03 сек.