Файл: Учебное пособие в оронеж 2015 фгбоу во Воронежский государственный технический университет.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 249
Скачиваний: 1
СОДЕРЖАНИЕ
1.4. Концептуальная модель базы данных
1.5. Физическая реализация базы данных (БД)
ГЛАВА 2 Базы данных в автоматизированном проектировании
2.1. Роль и место базы данных в системах автоматизированного проектирования
2.2. Построение информационного обеспечения САПР
2.3. Проектирование баз данных
2.4. Работа с элементами данных в САПР
2.5. Проектирование реляционных баз данных с использованием семантических моделей
ГЛАВА 3 Базы данных в ИНЖЕНЕРНЫХ РАСЧЕТАХ
3.2. Единые базы данных - управленцу, конструктору, технологу, снабженцу
3.3. Электронные справочники - экономически выгодно, быстро, удобно
3.4. САПРы разные - справочники единые
3.5. Инженерная база данных для SolidWorks
ГЛАВА 4 БАЗЫ ДАННЫХ В АВТОМАТИЗИРОВАННОМ ПРОИЗВОДСТВЕ
4.1. Перспективы применения CALS-технологий
4.2. Этапы жизненного цикла изделий и промышленные автоматизированные системы
4.3. Возникновение концепции CALS и ее эволюция
4.4. Концептуальная модель CALS
4.5. Базовые управленческие технологии
4.6. Интегрированная логистическая поддержка (ИЛП)
4.7. Базовые технологии управления данными и информационные модели
2.4. Работа с элементами данных в САПР
При создании системы трехмерного моделирования с использованием элементов баз данных возникает проблема разработки простых и естественных средств создания и модифицирования трехмерных моделей деталей и сборочных единиц. Основным требованием к системе трех
Как правило, в конструкторской базе одновременно используются несколько равноправных определений одних и тех же элементов данных. В некоторых случаях одно из определений объявляется основным, а остальные - вспомогательными. Вспомогательные определения вводятся в систему с помощью тех же средств описания данных, что и основные.
Основное преимущество использования вспомогательных определений заключается в том, что в каждом конкретном случае нет необходимости описывать структуру данных целиком – достаточно описать лишь ту часть, которая используется прикладной программой, причем в той форме, в которой данные необходимы этой программе.
Методы работы с элементами данных должны обеспечивать быстрое исправление обнаруженных ошибок и эффективную модификацию хранящихся в базе данных при внесении частичных изменений в модель проектируемого изделия.
Эти характеристики определяют общее быстродействие САПР и эффективность ее использования, особенно в случае работы с трехмерными объектами.
Таким образом, что при разработке структуры конструкторской базы данных следует иметь в виду, что графическое редактирование многогранника, входящего в дерево иерархии, разрушает все ранее построенные многогранники более высокого уровня иерархии. При этом пользователь должен иметь возможность сохранения или уничтожения многогранника более высокого уровня. Для этого может использоваться переименовывание объектов. Возможно определение таких объектов, как цилиндры, конусы и полусферы.
Такие процессы можно распределить по следующим трем уровням:
- на первом уровне создаются файлы, этот процесс предполагает составление описаний файла и структуры элементов данных, а так же разработку структуры записи;
- на втором уровне создается программное обеспечение, формирующее изображения на экране графического дисплея;
- на третьем уровне создается прикладное программное обеспечение, выполняющее графические операции, необходимые для решения прикладных задач.
2.5. Проектирование реляционных баз данных с использованием семантических моделей
Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования разнообразных предметных областей. Однако проектирование реляционной базы данных в терминах отношений на основе кратко рассмотренного нами в двух предыдущих лекциях механизма нормализации часто представляет собой очень сложный и неудобный для проектировщика процесс. При использовании в проектировании ограниченность реляционной модели проявляется в следующих аспектах.
Модель не обеспечивает достаточных средств для представления смысла данных. Семантика реальной предметной области должна независимым от модели способом представляться в голове проектировщика. В частности, это относится к отмечавшейся нами ранее проблеме представления ограничений целостности, выходящих за пределы ограничений первичного и внешнего ключа.
Во многих прикладных областях трудно моделировать предметную область на основе плоских таблиц). В ряде случаев на самой начальной стадии проектирования дизайнеру приходится нелегко, поскольку от него требуется описать предметную область в виде одной (возможно, даже ненормализованной) таблицы.
Хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не предоставляет какие-либо формализованные средства для представления этих зависимостей. Несмотря на то, что процесс проектирования начинается с выделения некоторых существенных для приложения объектов предметной области («сущностей») и выявления связей между этими сущностями, реляционная модель данных не предлагает какого-либо механизма для разделения сущностей и связей).
Потребность проектировщиков баз данных в более удобных и мощных средствах моделирования предметной области вызвала к жизни направление семантических моделей данных. Хотя любая развитая семантическая модель данных, как и реляционная модель, включает структурную, манипуляционную и целостную части, главным назначением семантических моделей является обеспечение возможности выражения семантики данных.
Прежде чем мы коротко рассмотрим особенности двух распространенных семантических моделей, остановимся на возможных областях их применения. Чаще всего на практике семантическое моделирование используется на первой стадии проектирования базы данных. При этом в терминах семантической модели
производится концептуальная схема базы данных, которая затем вручную преобразуется к реляционной (или какой-либо другой) схеме.
Этот процесс выполняется под управлением методик, в которых достаточно четко оговорены все этапы такого преобразования. Основным достоинством данного подхода является отсутствие потребности в дополнительных программных средствах, поддерживающих семантическое моделирование. Требуется только знание основ выбранной семантической модели и правил преобразования концептуальной схемы в реляционную схему.
Следует заметить, что многие начинающие проектировщики баз данных недооценивают важность семантического моделирования вручную. Зачастую это воспринимается как дополнительная и излишняя работа. Эта точка зрения абсолютно неверна. Во-первых, построение мощной и наглядной концептуальной схемы БД позволяет более полно оценить специфику моделируемой предметной области и избежать возможных ошибок на стадии проектирования схемы реляционной БД. Во-вторых, на этапе семантического моделирования производится важная документация (хотя бы в виде вручную нарисованных диаграмм и комментариев к ним), которая может оказаться очень полезной не только при проектировании схемы реляционной БД, но и при эксплуатации, сопровождении и развитии уже заполненной БД. Неоднократно приходилось и приходится наблюдать ситуации, в которых отсутствие такого рода документации существенно затрудняет внесение даже небольших изменений в схему существующей реляционной БД. Конечно, это относится к случаям, когда проектируемая БД содержит не слишком малое число таблиц.
Скорее всего, без семантического моделирования можно обойтись, если число таблиц не превышает десяти, но оно совершенно необходимо, если БД включает более сотни таблиц. Для справедливости заметим, что процедура создания концептуальной схемы вручную с ее последующим преобразованием в реляционную схему БД затруднительна в случае больших БД (содержащих несколько сотен таблиц). Причины, по всей видимости, не требуют пояснений. История систем автоматизации проектирования баз данных (CASE-средств) началась с автоматизации процесса рисования диаграмм, проверки их формальной корректности, обеспечения средств долговременного хранения диаграмм и другой проектной документации. Конечно, компьютерная поддержка работы с диаграммами для проектировщика БД очень полезна.
Наличие электронного архива проектной документации помогает при эксплуатации, администрировании и сопровождении базы данных. Но система, которая ограничивается поддержкой рисования диаграмм, проверкой их корректности и хранением, напоминает текстовый редактор, поддерживающий ввод, редактирование и проверку синтаксической корректности конструкций некоторого языка программирования, но существующий отдельно от компилятора.
Кажется естественным желание расширить такой редактор функциями компилятора, и это действительно возможно, поскольку известна техника компиляции конструкций языка программирования в коды целевого компьютера. Но коль скоро имеется четкая методика преобразования концептуальной схемы БД в реляционную схему, то почему бы не выполнить программную реализацию соответствующего «компилятора» и не включить ее в состав системы проектирования баз данных?
Эта идея, естественно, показалась разумной производителям CASE-средств проектирования БД. Подавляющее большинство подобных систем, представленных на рынке, обеспечивает автоматизированное преобразование диаграммных концептуальных схем баз данных, представленных в той или иной семантической модели данных, в реляционные схемы, специфицированные чаще всего на языке SQL.
В типичной схеме SQL-ориентированной БД могут содержаться определения многих объектов (ограничений целостности общего вида, триггеров и хранимых процедур и т. д.), которые невозможно сгенерировать автоматически на основе концептуальной схемы. Поэтому на завершающем этапе проектирования реляционной схемы снова требуется ручная работа проектировщика.
О возможности автоматизации процесса преобразования концептуальной схемы БД в реляционную схему. Если создатели семантической модели данных предоставляют методику преобразования концептуальных схем в реляционные, то почему бы не реализовать программу, которая производит те же преобразования, следуя той же методике? Зададимся теперь другим, но, по существу, схожим вопросом.
Если создатели семантической модели данных предоставляют язык (например, диаграммный), используя который проектировщики БД на основе исходной информации о предметной области могут сформировать концептуальную схему БД, то почему бы не реализовать программу, которая сама генерирует концептуальную схему БД в соответствующей семантической модели, используя исходную информацию о предметной области?
Хотя нам не известны коммерческие CASE-средства проектирования БД, поддерживающие такой подход, экспериментальные системы успешно существовали. Они представляли собой интегрированные системы проектирования с автоматизированным созданием концептуальной схемы на основе интервью с экспертами предметной области и последующим преобразованием концептуальной схемы в реляционную.
Как правило, CASE-средства, автоматизирующие преобразование концептуальной схемы БД в реляционную, производят реляционную схему базы данных в третьей нормальной форме. Нормализация более высокого уровня усложняет программную реализацию и редко требуется на практике.
Наконец, третья возможность, которую следует упомянуть, хотя она еще не вышла (или только выходит, а может быть, так никогда и не выйдет) за пределы исследовательских и экспериментальных проектов, – это работа с базой данных в семантической модели, т. е. СУБД, основанные на семантических моделях данных.
При этом снова рассматриваются два варианта: обеспечение пользовательского интерфейса на основе семантической модели данных с автоматическим отображением конструкций этого интерфейса в реляционную модель данных (это задача примерно того же уровня сложности, что и автоматическая компиляция концептуальной схемы базы данных в реляционную схему) и прямая реализация СУБД, основанная на какой-либо семантической модели данных.
Многие авторитетные специалисты полагают, что ближе всего ко второму подходу объектно-ориентированные СУБД, чьи модели данных по многим параметрам близки к семантическим моделям (хотя в некоторых аспектах они более мощны, а в некоторых – более слабы).