Проектирование структуры базы данных — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Проектирование структуры базы данных

2020-04-01 159
Проектирование структуры базы данных 0.00 из 5.00 0 оценок
Заказать работу

 

       Построим информационную модель системы расчета с абонентами.

В ходе исследования существующей схемы расчетов были выявлены следующие основные сущности:

 

· Клиент (абонент, владелец телефона)

· Услуга

· Подразделение

· Начисление

· Телефонный разговор, подлежащий повременной тарификации

· Начисление за повременные разговоры (за один день)

· Оплата

· Категория клиента

· Проведенные расчеты

 

IDEF1X-диаграмма взаимодействия между этими сущностями представлена в Приложении 6.

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

Постановка задачи требует наличия механизма поддержки истории для сущностей, влияющих на результаты расчетов. К сущностям, для которых должен поддерживаться механизм регистрации изменений относятся:

 

· Клиент (владелец телефона)

· Услуга

· Подразделение

· Начисление

· Постоянное начисление

· Категория клиента

 

       Для регистрации изменений используется структура данных, представленная на рис.2.5.

 

 

Рис.2.5. Структура данных для поддержки механизма регистрации изменений

 


       Суть данной модели такова:

 

1. Каждая сущность характеризуется набором состояний, изменяющихся во времени.

2. Каждое состояние характеризуется набором атрибутов сущности, а также датой начала и датой окончания состояния.

3. Сущность однозначно идентифицируется своим внешним ключом и актуальной датой.

4. Дочерние таблицы ссылаются на сущность по её внешнему ключу.

5. При смене состояния внешний ключ не меняется.

 

Целостность данных обеспечивается с помощью триггеров на сервере.

 

Для дальнейшего анализа выделим в структуре базы данных несколько подсистем:

 

· Картотека абонентов

· Начисления

· Повременный учет

 

После определения атрибутов сущностей схема данных с учетом механизма поддержки истории принимает вид, приведенный в Приложении 6.

SQL-скрипт для генерации базы данных представлен в Приложении 1.

 


Схема репликации данных

 

Тиражирование данных в системе построено по схеме с одним сервером подписки (центральный сервер) и множеством серверов репликации (районы).

 

 

Рис.2.6. Организация репликации данных.

 

Данные на центральном сервере доступны только для чтения чтобы избежать конфликтов по модификации записи.

 

 

Рис.2.7. Подробная схема репликации данных.

 

Схема репликации приведена на рис.2.7. Рассмотрим процесс передачи изменений подробнее:

 

1. При изменении данных в реплицируемой таблице новые данные через триггер записываются в журнал изменений. Кроме того, туда заносится имя таблицы, код сделанного изменения и первичный ключ измененной записи.

2. При возникновении в базе определенного события (например при большом количестве записей в журнале изменений) или в определенный момент времени коммуникационный сервис запускает процесс репликации.

3. Процесс репликации устанавливает соединение с сервером подписки и начинает синхронизацию данных.

4. Сервер подписки принимает измененную запись и модифицирует соответствующим образом таблицу на своей стороне.

5. Если в процессе изменения записи был сгенерирован новый ключ, то он передается на сервер репликации.

6. Сервер репликации заменяет первичный ключ реплицируемой записи на ключ, возвращаемый с сервера подписки и удаляет соответствующую запись из журнала изменений.

 

       При передаче изменений коммуникационным сервисом используется протокол двухфазной фиксации транзакций (Two-phase commit transactions), что позволяет застраховаться от ошибок.

       При синхронизации данных подобным методом процесс репликации может быть прерван в любой момент времени и продолжен позднее с той же точки. Данная особенность позволяет использовать такую схему тиражирования даже на очень плохих каналах связи.

 


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.