Я перечитал книгу и некоторые статьи в Интернете и создал короткий список шагов для разработки достойной базы данных (конечно, сначала вам нужно понять основы дизайна базы данных) Ste ps описаны более подробно ниже:
(Многочисленные шаги описаны в книге: Database Systems - Design, Implementation and Management (9th Edition)
и это то, что ссылаются на номера страниц, но я попытаюсь описать столько, сколько я могу здесь, и отредактировать этот ответ в следующие дни, чтобы сделать его более полным)
- Создайте подробный рассказ об описании деятельности организации.
- Определите бизнес-правила, основанные на описании операций.
- Определите основные сущности и отношения из бизнес-правил.
- Перевести лица/отношения к EER модели
- Проверить именования
- Карта ERR модель логической модели (стр 400) *
- Нормализовать логическая модель (стр 179)
- Улучшить дизайн DB (стр 187)
- Validate Логическая модель Ограничения целостности (стр 402) (например, длина и т.д.)
- Проверка логической модели от требований пользователя
- Перевести таблицы в MYSQL код (в workbench переведите EER в файл SQL с помощью функции экспорта, а затем на mySQL)
* вы можете пропустить этот шаг, если вы используете рабочую станцию и работу модели ER, которую вы там проектируете.
1. Опиши выводы в деталях. Если вы создаете персональный проект, подробно описывайте его, если вы работаете с компанией, просите документы, описывающие их компанию, а также собеседование с сотрудниками для получения информации (интервью могут генерировать непоследовательную информацию, не забудьте проверить с надзорными органами, какая информация более важна для проектирования)
2. Посмотрите собранную информацию и начните генерировать правила от них, не забудьте заполнить любые информационные пробелы в ваших знаниях. Перед тем, как приступить к работе, подтвердите с руководителями в компании.
3. Определите основные сущности и отношения из бизнес-правил. Имейте в виду, что во время процесса проектирования разработчик баз данных не зависит просто от интервью, чтобы определять сущности, атрибуты и отношения. Удивительный объем информации может быть собран путем изучения бизнес-форм и отчетов, которые организация использует в своей повседневной деятельности. (Стр 123)
4. Если база данных является сложной можно разбить дизайн ERD в followig субшаги
я) Создание внешних моделей (стр 46)
б) Объединить внешние модели для формирования концептуальной модели (стр 48)
Follow the following recursive steps for the design (or for each substep)
I. Develop the initial ERD.
II. Identify the attributes and primary keys that adequately describe the entities.
III. Revise and review the ERD.
IV. Repeat steps until satisfactory output
You may also use entity clustering to further simplify your design process.
Описание базы данных с помощью ERD: Используйте сплошные линии для подключения Слабые сущности (Слабые сущности являются те, которые не могут существовать без родительского объекта и содержат родители ПК в своем ПК). Используйте пунктирные линии для подключения Сильных Entities (сильные сущности являются те, которые могут существовать независимо от любого другого лица)
5. Проверьте, если ваши имена следуют вашим соглашениям об именах. Раньше у меня были предложения о назначении имен, но людям это действительно не нравилось. Я предлагаю следовать вашим собственным стандартам или искать некоторые соглашения об именах в Интернете. Пожалуйста, напишите комментарий, если вы нашли некоторые соглашения об именах, которые очень полезны.
6. Логический дизайн обычно включает перевод модели ER в набор определений отношений (таблиц), столбцов и ограничений.
Перевести ER в логическую модель, используя следующие шаги:
- Карты сильных субъект (субъекты, не нужно другие объекты существует)
- Карты супертипа/подтипы отношение
- Карты слабых Entities
- Карта бинарных отношений
- Карта отношений с более высокой степенью
7. Нормализовать логическую модель. Вы можете также денормализовать логическую модель, чтобы получить некоторые желаемые характеристики. (Например, повышение производительности)
8.
Уточнить Атрибут Атомарность - Это, как правило, хорошая практика, чтобы обратить внимание на требования атомарности. Атомный атрибут - это тот, который не может быть разделен на . Говорят, что такой атрибут проявляет атомарность. Улучшая степень атомарности, вы также получаете гибкость запросов.
Уточнить основные ключи, необходимые для гранулярности данных. Гранулярность относится к уровню детализации, представленному значениями, хранящимися в строке таблицы. Данные, хранящиеся на их самом низком уровне детализации зернистости, называются атомными данными, как объяснялось ранее. Например, представляйте атрибут ASSIGN_HOURS для представления часов, отработанных данным сотрудником по данному проекту. Однако есть ли значения, записанные на самом низком уровне детализации? ? Другими словами, делает ли ASSIGN_HOURS почасовое общее количество, общее количество, еженедельное общее количество, ежемесячный итог или годовое общее количество часов? ? Очевидно, что ASSIGN_HOURS требует более тщательного определения. В этом случае соответствующий вопрос будет следующим: за какое время кадр-час, день, неделя, месяц и так далее: хотите ли вы записать данные ASSIGN_HOURS? Например, предположим, что комбинация EMP_NUM и PROJ_NUM является приемлемым (составным) первичным ключом в таблице ASSIGNMENT. Этот первичный ключ полезен для представления только общего количества часов, с которого работник работал с проектом с самого начала. Использование суррогатного первичного ключа, такого как ASSIGN_NUM, обеспечивает более низкую степень детализации и обеспечивает большую гибкость. Например, предположим, что комбинация EMP_NUM и PROJ_NUM используется в качестве первичного ключа , а затем сотрудник делает две записи «отработанные часы» в таблице ASSIGNMENT. Это действие нарушает требование целостности объекта. Даже если вы добавите ASSIGN_DATE как часть составного PK, нарушение целостности объекта по-прежнему генерируется, если любой сотрудник делает две или несколько записей для одного и того же проекта в тот же день. (Возможно, работник работал над проектом несколько часов утром, а затем снова работал над ним позже в тот же день.) Такая же запись данных не вызывает проблем, когда ASSIGN_NUM используется в качестве первичного ключа.
Постарайтесь ответить на вопросы: «Кому разрешено использовать таблицы и какие части (-ы) таблицы (-ов) будут доступны для пользователей?» И Т.П.
Пожалуйста, не стесняйтесь оставлять предложения или ссылки на лучшие описания в комментариях ниже я добавлю его к моему ответу
Проверьте следующую информацию и введите 20-этапный список для вашего первого вопроса: http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx – MicSim