справочная информация
При использовании PowerDesigner (далее PD) для проектирования баз данных нет фиксированной спецификации. Но цель проектирования базы данных состоит в том, чтобы ускорить обмен информацией между командами, поэтому удобочитаемость проектной документации очень важна. Только когда команда использует единую стандартную спецификацию для проектирования, можно обеспечить высокую удобочитаемость документа и повысить эффективность совместной работы команды.
Эта статья ставит некоторые требования, опыт, навыки на практике, могут использоваться в качестве стандарта моделирования данных для небольших команд.
Основываясь на этих спецификациях, группы моделирования могут:
- Моделирование баз данных на основе модульного мышления;
- Максимальное повторное использование стандартных типов полей и часто используемых полей;
- Оптимизировать компоновку и отображение объектов в интерфейсе для облегчения набора текста и печати;
- Быстро экспортировать проектные документы базы данных;
УведомлениеPD может проектировать различные модели, содержание этой статьи действительно только для проектирования физической модели (модель физических данных).
Модульная структура
Как правило, неопытные разработчики моделей включают все таблицы на один график. Когда количество таблиц превышает 30, все таблицы складываются вместе и выглядят очень беспорядочно и сложно, что серьезно влияет на читабельность pdm.
Ниже плохой пример
Чтобы улучшить удобочитаемость pdm, мы должны использовать модульную структуру для организации pdm, разделить всю систему на несколько модулей с низким уровнем связи в соответствии с их зависимостями, каждый модуль разработан независимо и логически управляется независимо. Модульная структура позволяет нам четко понять, какие модули имеют какие таблицы и каким модулям принадлежит текущая таблица.
Согласно спецификациям, которые мы используем на практике, часто используемые модули включают
- Пакет: может содержать несколько графиков, и его основная функция — логическое разделение системы;
- Диаграмма. По сути, это холст, показывающий взаимосвязь между таблицами;
- Домен (Domain): настройки типа мультиплексированного поля;
- Шаблон документа: Быстро создавайте проектные документы;
Образец показан ниже
повторно использовать объект
Реальный случай, ранний идентификационный номер состоял из 15 цифр, а позже был изменен на 18 цифр. Многие таблицы в системе имеют это поле ID, при изменении длины необходимо модифицировать соответствующий тип поля в каждой таблице, что легко пропустить.
Чтобы избежать этой проблемы, максимально повторно используйте существующие объекты. Например, длина этого удостоверения личности, у нас есть два метода повторного использования
- Атрибуты типов повторно используемых полей
- повторно использовать все поле
поле типа поля
использовать заранееплощадьОпределите общие типы полей и используйте их непосредственно при разработке полей таблицы, что может снизить рабочую нагрузку при изменении.
В процессе определения поля вы можете не только указать такие атрибуты, как тип, длина, ненулевое значение и значение по умолчанию, но также можете ограничить содержимое поля. Как показано ниже
При разработке поля таблицы вы можете напрямую ссылаться на поле на странице свойств поля, как показано ниже.
поле
Если вам нужно повторно использовать все поле, вам нужно только скопировать поле во время разработки таблицы. Копировать здесь не Ctrl-C/V, правильное действие
- Add ColumnsСкопируйте копию исходного поля, имя черное
- Replicate ColumnsОтносится к исходному полю, имя выделено серым цветом
Как показано ниже
ПримечаниеЧтобы облегчить мультиплексирование полей, вы можете заранее сохранить общие общедоступные поля в выделенной таблице (вы также можете установить эту выделенную таблицу без автоматического создания DDL), в противном случае ссылки.
Ассоциация первичного внешнего ключа
Поскольку подтаблица базы данных и подбаза данных становятся все более распространенными, больше не требуется использовать первичные и внешние ключи в базе данных бизнес-систем (учитывая согласованность данных, рекомендуется использовать их как можно больше).
Но в документе pdm должна быть разработана первичная связь внешнего ключа., в противном случае pdm не сможет отразить взаимосвязь таблицы и станет формальным документом, не имеющим никакого эффекта.
Использование замены для стола (Ярлык)
Чтобы поддерживать удобочитаемость, мы будем отображать очень релевантные таблицы на диаграмме и даже искусственно разделять несколько областей на диаграмме для отображения разных тем.
Иногда это происходит:
- Таблица должна ссылаться на таблицу в другом пакете/карте;
- Одна и та же таблица должна отображаться в нескольких областях графика;
Мы используем Shortcut для решения проблемы, связанной с тем, что таблица должна отображаться в нескольких местах.
Сначала нажмите Ctrl-C для исходной таблицы, затем выберите «Вставить как ярлык», как показано ниже.
предупреждатьКогда вам нужно удалить объект с несколькими аватарами, вы должны решить, удалять ли этот аватар или удалить весь объект. Операция удаления аватара выглядит следующим образом
Форма первичного внешнего ключа (физический/логический)
Учитывая особые сценарии в реальной работе, наше требование состоит в том, чтобы убедиться, что в документе pdm есть отношения между первичным и внешним ключами, но не может быть никаких первичных и внешних ключей при создании DDL для создания таблицы. То есть существует логическая связь между первичным и внешним ключами.
Мы можем генерировать первичные и внешние ключи по-разному, как показано ниже.
1 и 2 на приведенном выше рисунке используют ссылку для создания связи между таблицами, но 2 является логическим внешним ключом. Преимущество использования Reference заключается в том, что при соединении двух таблиц PD автоматически генерирует поле внешнего ключа дочерней таблицы. Например, поле vihicle_key двух таблиц t_phy_fk/t_logic_fk создается автоматически.
Разница между ними заключается в том, чтобы выбрать, генерировать ли DDL этого внешнего ключа в свойствах ссылки, как показано ниже.
Глядя на DDL создания двух таблиц, логический внешний ключ не появится в окончательном сценарии базы данных. Как показано ниже
还有另外一种表示表关联关系的办法,就是使用Link来连接两张表(最上面图中标号3的虚线)。这种方式不是真正的主外键关联,不生成DDL,不能自动生成外键字段,并且Properties也不能确定哪些字段是关联字段。如果疏忽就可能遗漏了字段。如标号3的场景中,t_link_fk这张表就遗漏了vehicle_key这个字段!
предложениеИспользуйте ссылку для создания внешних ключей и выберите, следует ли создавать DDL в соответствии с логическими/физическими требованиями.
Методы пакетного изменения эталонных свойств следующие:
Оптимизированное отображение интерфейса
В конфигурации по умолчанию, когда мы создаем широкую таблицу со многими полями, будут отображаться все поля этой таблицы.Размер таблицы на окончательном изображении отличается, и качество чтения очень плохое, как показано на следующем рисунке.
На самом деле цель использования графа — быстро разобраться в отношениях между таблицами, а не заботиться о каждом конкретном поле. Итак, мы настраиваем параметры, чтобы показать несколько полей.
Щелкните правой кнопкой мыши пустую область изображения и выберите «Параметры отображения» во всплывающем меню, как показано на следующем рисунке.
Рисунок после настройки выглядит следующим образом
предложениеВ процессе проектирования, разделив несколько изображений, попытайтесь контролировать содержимое одного изображения на одном экране.
Экспорт таблицы DDL
После разработки pdm нам нужно сгенерировать таблицы базы данных и другие объекты в соответствии с pdm. PD предоставляет два разных метода создания базы данных на основе pdm.
- Экспортировать DDL и выполнить его в базе данных;
- Подключиться напрямую к базе данных для выполнения DDL;
Согласно нормам SCM, мы должны использовать для экспорта DDL. В сочетании с моделированием модульной структуры база данных использует инструменты непрерывной интеграции, мы можем точно контролировать все объекты базы данных. Мы продолжим интеграцию подробно в других статьях, в этой статье только кратко объясняется, как экспортировать, чтобы соответствовать требованиям операторов DDL.
Настроить СУБД
Откройте страницу предварительного просмотра таблицы, вы можете увидеть оператор создания таблицы для текущей таблицы, как показано ниже.
PD предоставляет функции генерации синтаксиса для общих баз данных, которые мы можем настроить в соответствии с реальными потребностями. Конфигурация по умолчанию уже может удовлетворить повседневные потребности, и обычным пользователям не рекомендуется ее настраивать. Пользовательская функция показана ниже.
Пакетный экспорт DDL
Хотя возможно копирование DDL в предпросмотре отдельной таблицы, чаще нам требуется пакетная обработка всех объектов в целом пакете, диаграмме, PDM. В это время вам нужно использовать функцию создания базы данных, как показано ниже.
Наиболее важным шагом здесь является установка и выбор
- Настройки включают, помимо прочего, шрифты, заглавные буквы и физические параметры;
- Выберите объекты базы данных для включения; На обоих этих шагах можно повторно использовать часто используемые операции и конфигурации, сохраняя файлы конфигурации. Сочетание инструментов и процессов SCM может лучше выполнять роль этой функции.
Установите параметры, как показано ниже
Выберите объект, как показано ниже
Вы можете предварительно просмотреть файл перед экспортом, как показано ниже.
Формировать проектную документацию
Хотя удобочитаемость pdm может быть очень хорошей, в некоторых особых случаях нам все еще нужны данные моделирования базы данных в формате Word или HTML (обычно известный как словарь данных). PD предоставляет настраиваемый механизм генерации документов, и мы используем только самые основные части для удовлетворения требований.
Создайте новый шаблон отчета и настройте содержимое, как показано ниже.
Создайте отчет, как показано ниже
Отчет в формате HTML, вы можете перейти к таблице через график, как показано ниже.
Отчет в формате Word, как показано ниже