2.4. Проектирование баз данных


Существуют различные подходы к проектированию баз данных. В любом случае при проектировании разрабатывается база данных не сама по себе, "вещь в себе", а с учетом тех задач, для решения которых она будет использоваться. 

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

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

Выявляются и описываются объекты (object) или сущности (entity) предметной области, их свойства, атрибуты (attribute), определяются связи, отношения (relationship) между сущностями, определяется список задач обработки данных, фиксируются требования к временным и иным характеристикам системы.

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

На втором логическом уровне создается логическая модель базы данных. В первую очередь создаются все таблицы с использованием операторов Transact-SQL. Создаются необходимые триггеры, хранимые процедуры, представления, пользовательские функции. Часто этого бывает достаточно для получения хорошо спроектированной базы данных.

Третий физический уровень проектирования используется для настройки физических характеристик базы данных. Возможность влиять на физические аспекты хранения данных может привести к повышению производительности и даже надежности всей системы. MS SQL Server предоставляет средства тонкой настройки физических характеристик базы данных, позволяя для одной базы данных создавать несколько файлов данных, файловые группы, указывая, какие данные и в каком порядке должны размещаться в отдельных файловых группах, в конкретных файлах. Можно создавать секционированные таблицы, дающие возможность повысить производительность системы, ее отказоустойчивость.

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

Похожие новости

Комментариев 0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.