Сверху вниз против снизу вверх - нормализация
Может ли кто-нибудь описать для меня различия между нормализацией сверху вниз и нормализацией снизу вверх в отношении баз данных, а именно реляционных баз данных.
2 ответа
Я предполагаю, что вы имеете в виду дизайн сверху вниз против дизайна снизу вверх - нормализация - это лишь один из аспектов методов и принципов, которые вы бы использовали для завершения проектирования базы данных.
Сверху вниз означает, что вы начинаете с набора требований. Обычно вы начинаете с определения типов вещей, о которых вам нужно представлять данные, а затем идентифицируете атрибуты этих вещей, которые станут атрибутами в таблицах.
Восходящий дизайн означает, что вам даны некоторые виды структур данных для начала, например, список атрибутов или таблиц и атрибутов, которые вы должны включить в проект. Обычно это может происходить, когда у вас есть база данных или источник данных, как это обычно бывает в проектах по бизнес-аналитике или интеграции данных.
Существует два подхода к разработке любой базы данных: метод сверху вниз и метод снизу вверх. Хотя эти подходы кажутся радикально разными, они разделяют общую цель объединения системы путем описания всего взаимодействия между процессами.
Нисходящий метод начинается с общего и переходит к конкретному. По сути, вы начинаете с общего представления о том, что нужно для системы, а затем спрашиваете конечных пользователей, какие данные им нужно хранить. Затем аналитик будет работать с пользователями, чтобы определить, какие данные должны храниться в базе данных. Использование нисходящего метода требует от аналитика детального понимания системы. Нисходящий метод также может иметь недостатки. В некоторых случаях нисходящий дизайн может привести к неудовлетворительным результатам, поскольку аналитик и конечные пользователи могут упустить что-то важное и необходимое для системы.
Восходящий подход начинается с конкретных деталей и переходит к общему. Чтобы начать проект "снизу вверх", системный аналитик проверит все интерфейсы системы, проверит отчеты, экраны и формы. Аналитик будет работать в обратном направлении через систему, чтобы определить, какие данные должны храниться в базе данных.
Чтобы понять различия между этими подходами, давайте рассмотрим некоторые задания, которые восходят по своей природе. В статистическом анализе аналитиков учат брать выборку из небольшой совокупности, а затем выводить результаты для всей совокупности. Врачи также обучены восходящему подходу. Врачи изучают конкретные симптомы, а затем определяют общее заболевание, которое вызывает симптомы.
Примером заданий, требующих нисходящего подхода, являются управление проектом и инженерные задачи, в которых общие требования должны быть определены, прежде чем можно будет понять детали. Например, производитель автомобилей должен следовать нисходящему подходу, чтобы соответствовать общим спецификациям для автомобиля. Если автомобиль требует менее 15 000 долларов, он получает 25 миль за галлон и рассчитан на пять человек. Чтобы соответствовать этим требованиям, проектировщики должны сначала создать документ спецификации, а затем выполнить детализацию, чтобы удовлетворить этим требованиям.
У аналитика не будет иного выбора, кроме как поговорить и поработать с пользователями, чтобы определить, что важно для пользователей, и в результате определить, какие данные должны храниться в базе данных. Обычно аналитик создает несколько прототипных отчетов, экранов и форм, чтобы помочь пользователям визуально представить, как будет выглядеть система и как она будет работать.