Автор работы: Пользователь скрыл имя, 22 Октября 2013 в 22:28, курсовая работа
В данной работе я рассмотрела проектирование фактографических баз данных и хранилищ данных. Классифицировала различные подходы к проектированию БД, а так же рассмотрела этапы нисходящего подхода к проектированию БД. Целью данной работы является так же рассмотрение проектирования схем разных типов. В данной работе не акцентирую своё внимание на фактографических ИС.
1. Подходы к проектированию баз данных 3стр.
2. Фактографические базы социальных данных 4стр.
3. Этапы нисходящего подхода к проектированию баз данных 9стр.
3.1. Методология концептуального проектирования базы данных 9стр.
3.2. Методы логического проектирования баз данных реляционного типа 15стр.
3.3. Методология физического проектирования баз данных реляционного типа 23стр.
4. Проектирование хранилищ данных 35стр.
5. Проектирование схем типа „звезда" 40 стр.
6. Проектирование схем типа „звезда-снежинка" 40стр.
7. Проектирование схем типа „снежинка" 40стр.
Этап 1.1. Определение типов сущностей
Первый этап в построении локальной концептуальной модели данных состоит в определении основных объектов, которые могут интересовать пользователя. Эти объекты являются типами сущностей, входящих в модель.
Этап 1.1.1. Выявление типов сущностей
Один из методов идентификации сущностей состоит в изучении спецификаций по выполнению конкретных функций пользователя на данном предприятии. Из этих спецификаций следует извлечь все используемые в них существительные или сочетания, среди них выбираются самые крупные объекты или представляющие интерес концепции и исключаются все существительные, которые просто определяют другие объекты.
Альтернативный способ идентификации сущностей состоит в поиске объектов, которые существуют независимо от других.
Этап 1.1.2. Документирование типов сущностей
После выделения каждой сущности ей следует присвоить некоторое осмысленное имя, которое обязательно должно быть понятно пользователям. Выбранное имя и описание сущности помещается в словарь данных. Если это возможно, следует установить и внести в документацию ожидаемое количество экземпляров каждой сущности. Если сущность известна пользователям под разными именами, все дополнительные имена рекомендуется определить как алиасы (синонимы) и также занести в словарь данных.
Этап 1.2. Определение типов связей
После выделения сущностей следующим этапом разработки будет установление всех существующих между ними связей.
Этап 1.2.1. Определение связей
В этом случае выбираются все выражения, в которых содержатся глаголы. Интерес представляют только те связи между сущностями, которые необходимы для удовлетворения требований к проекту.
В большинстве случаев связи являются парными — другими словами, связи существуют только между двумя сущностями. Однако следует тщательно проверять наличие в проекте комплексных связей, объединяющих более двух сущностей различных типов, а также рекурсивных связей.
Этап 1.2.2. Определение кардинальности связей и ограничений, накладываемых на его участников
Установив связи, которые
будут иметь место в
Этап 1.2.3. Документирование типов связей
После определения отдельных типов связей им присваиваются осмысленные имена, которые должны быть понятны пользователям. Кроме того, рекомендуется помещать в словарь данных развернутое описание каждой связи, включающее сведения о кардинальности и степени участия ее членов.
Этап 1.3.
Определение атрибутов и
На следующем этапе
необходимо выявить все данные, описывающие
сущности и связи, выделенные в создаваемой
модели базы данных. Необходимо выбрать
все существительные и
Самым простой метод выделения
атрибутов — после
Этап 1.3.1. Выявление простых и составных атрибутов
Выбор способа представления составного атрибута в виде простого или составного атрибута определяется требованиями, предъявляемыми к приложению пользователем.
На данном этапе важно идентифицировать все простые атрибуты, которые должны быть представлены в концептуальной модели базы данных, включая и те, которые впоследствии будут использованы для создания составных атрибутов.
Этап 1.3.2. Выявление производных атрибутов
Очень часто подобные атрибуты вообще не отображаются в концептуальной модели данных. Однако в некоторых случаях может иметь место риск удаления или модификации атрибута или атрибутов, значения которых используются для вычисления значения производного атрибута. В этом случае производный атрибут должен быть представлен в модели данных, что позволит предупредить нежелательную потерю информации. Однако, если производный атрибут показан в модели данных, следует непременно указать, что он является именно производным.
Этап 1.3.3. Документирование атрибутов
Каждому выявленному атрибуту следует присвоить осмысленное имя, понятное пользователям. О каждом атрибуте в документацию помещаются следующие сведения:
Этап 1.4. Определение доменов атрибутов
Задача этого этапа состоит в определении доменов атрибутов для всех атрибутов, присутствующих в модели. Доменом называется некоторый пул значений, элементы которого выбираются для присвоения значений одному или более атрибутам.
Этап 1.4.1. Определение доменов
Полностью разработанная модель данных должна включать домены для каждого из присутствующих в ней атрибутов. Домены должны содержать следующие данные:
• набор допустимых значений для атрибута;
• сведения о размере и формате каждого из полей атрибутов.
Этап 1.4.2. Документирование доменов атрибутов
После определения доменов
атрибутов их имена и характеристики
помещаются в словарь данных. Одновременно
обновляются записи словаря данных,
относящиеся к атрибутам, — в
них заносятся имена
Этап 1.5. Определение атрибутов, являющихся потенциальными и первичными ключами
Этап 1.5.1. Определение потенциальных ключей
Для некоторых сущностей возможно наличие нескольких потенциальных ключей.
Этап 1.5.2. Выбор первичного ключа
При выборе первичного ключа среди нескольких потенциальных следует руководствоваться приведенными ниже рекомендациями.
Этап 1.5.3. Документирование первичных и альтернативных ключей
После выбора первичных и альтернативных (если они существуют) ключей сущностей сведения о них необходимо поместить в словарь данных.
Этап 1.6.
Специализация или
При проведении специализации предпринимается попытка выделить различия — путем определения одного или более подклассов некоторой сущности, которая в этом случае называется суперклассом специализации. При проведении генерализации предпринимается попытка выделить общие свойства некоторых сущностей — путем определения обобщающей сущности, называемой суперклассом генерализации.
Этап 1.7. Создание диаграммы „сущность-связь"
На этом этапе создаются окончательные варианты ER-диаграмм, отображающих локальные концептуальные модели данных, характеризующие представления отдельных пользователей о предметной области приложения.
Этап 1.8. Обсуждение локальных концептуальных моделей данных с конечными пользователями
Прежде чем завершить
первый этап разработки, необходимо обсудить
созданные локальные
3.2 Методы логического проектирования баз данных реляционного типа
Логическое проектирование баз данных - Процесс конструирования общей информационной модели предприятия на основе отдельных моделей данных пользователей, которая является независимой от особенностей реально используемой СУБД и других физических условий.
Этап 2. Построение и проверка локальной логической модели данных для отдельных представлений каждого из типов пользователей
Этап 2.1. Преобразование локальной концептуальной модели данных в локальную логическую модель
Концептуальные модели данных
могут содержать некоторые
Этап 2.2. Определение набора отношений исходя из структуры локальной логической модели данных
Связи, которые сущность имеет с другими типами сущностей, представляются с помощью механизма первичных и внешних ключей. Для принятия решения о том, откуда взять и куда поместить значения атрибута(ов) внешнего ключа, предварительно следует установить, какая из участвующих в связи сущностей является родительской, а какая — дочерней. Родительской считается сущность, которая передает копию набора значений своего первичного ключа в отношение, представляющее дочернюю сущность, где эти значения будут играть роль внешнего ключа. Операции пересылки внешних ключей проверяются для связей 1:1, 1:М, суперклассподкласс
Этап 2.3. Проверка модели с помощью правил нормализации.
Нормализация используется
для улучшения модели данных, для
того чтобы она удовлетворяла
различным ограничениям, позволяющим
исключить нежелательное
Этап 2.4. Проверка модели в отношении транзакций пользователей
Целью выполнения данного этапа является проверка локальной логической модели данных на возможность выполнения всех транзакций, предусмотренных данным представлением пользователя. Транзакция - это неделимая, с точки зрения воздействия на СУБД, последовательность операций манипулирования данными. Для пользователя транзакция выполняется по принципу "все или ничего", т.е. либо транзакция выполняется целиком и переводит базу данных из одного целостного состояния в другое целостное состояние, либо, если по каким-либо причинам, одно из действий транзакции невыполнимо, или произошло какое-либо нарушение работы системы, база данных возвращается в исходное состояние, которое было до начала транзакции (происходит откат транзакции).
Перечень транзакций определяется в соответствии со спецификациями, описывающими действия, выполняемые данным пользователем..
Рассмотрим два возможных подхода. Первый подход предусматривает выполнение проверки того, что данная логическая модель предоставляет всю информацию (сущности, связи и их атрибуты) необходимую для выполнения каждой из транзакций. Практически это реализуется при подготовке описания требований, выдвигаемых каждой из транзакций.
Второй подход к проверке модели данных на соответствие требуемым транзакциям заключается в нанесении непосредственно на ER-диаграммы всех путей, которые потребуются для выполнения каждой из транзакций.
Этап 2.5. Создание диаграмм „сущность-связь"
Создание окончательного варианта диаграмм "сущность-связь" (ER-диаграмм), являющихся локальным логическим представлением данных, используемых отдельными пользователями приложения.
Этап 2.6. Определение требований поддержки целостности данных
Ограничения целостности данных представляют собой такие ограничения, которые вводятся с целью предотвратить помещение в базу противоречивых данных.
Этап 2.6.1. Обязательные данные