Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_-_-_м TИ_м_-TАTЛ _Ъ_Ш_в.doc
Скачиваний:
2
Добавлен:
26.09.2019
Размер:
298.5 Кб
Скачать

24.Физич. Модели данных.

После построения логической модели данных и проведения процедур нормализации можно переходить к построению физ. модели, при этом сущностям, кортежам и атрибутам ставятся в соотв. таблицы, строки и столбцы БД, домены отображается в типы данных. Таблицы снабжаются первичными и внешними ключами и объединяются между собой с помощью связей типа 1:1 и 1:M. Связь М:М может исп-ся в логич. моделях и не может исп-ся в физических. Она преобразуется в пары связей типа1:M и связующий таблицы.

Переход к физической модели значительно упрощается, если логическая модель представляется в виде ER – диаграммы. В этом случае с помощью CASE- средства, например ER-WIN можно выбрать нужную СУБД и автоматически создать соответствующую физическую модель данных. Затем на ее основе ER-WIN позволяет сгенерировать системный каталог БД или соответствующий SQL скрипт. (Описание в БД на языке SQL). Этот процесс называется прямым проектированием. При этом, создав 1 раз логическую модель можно генерировать физические модели под любую СУБД, поддерживающую ER-WIN.

Возможна и обратная операция: по системному каталогу БД или соответствующему SQL скрипту воссоздать физическую или логическую модель. Это обратное проектирование.

25. Целостность и непротиворечивость данных для пользователей информационной системы не достаточно, чтобы БД просто отражала объекты и процессы предметной области. Важно, чтобы при выполнении любой операции с данными была обеспечена их целостность и непротиворечивость.

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

1) целостность таблиц обеспечивается тем, что все поля, входящие в состав первичных ключей не смогут принимать неограниченных или так наз. Null-значений. Фактически Null-значения не явл значением, а представл собой некий невидимый барьер, показывающий, что значение поля не известно.

2)целостность внешних ключей обеспечивается тем, что внеш-е ключи не могут ссылаться на строки отсутствие в родительских таблицах. Ссылочная целостность может быть нарушена след. операциями: изменение состояния БД: обновление ключевых полей в строке родительской табл.; удаление строки родительской табл.; восстановление строки в дочерней табл.; обновление внешних ключей в строке дочерней таблицы. Для поддержания ссылочной целостности обычно использования 2-е основные стратегии.

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

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

Дополнительные стратегии поддержания ссылочной целостности является следующие:

SET NULL (установить в NULL) - разрешить выполнение требуемой операции, однако все некорректные значения внешних ключей изменить на NULL-значения.

SET DEFAULT (установить по умолчанию) - разрешить выполнение требуемой операции, однако все некорректные значения внешних ключей изменить на некоторые значение, принятое по умолчанию.

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

3)целостность типов данных обеспечивается тем, что создается и интегрируются СУБД новые типы данных для тех доменов логической модели, для которых в физической модели не существуют эквивалентные типы данных.

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