Главная » Просмотр файлов » Диго С.М. Базы данных проектирование и использование

Диго С.М. Базы данных проектирование и использование (1084447), страница 33

Файл №1084447 Диго С.М. Базы данных проектирование и использование (Диго С.М. Базы данных проектирование и использование) 33 страницаДиго С.М. Базы данных проектирование и использование (1084447) страница 332018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 33)

Работоспособность программы может нарушиться не только при изменении структуры БД, но и при перемещении тех или иных фай­лов, используемых ею, в другую директорию. Это также необходимо учитывать при проектировании ИС.

Задание ограничений целостности и их проверка - важная часть проектирования и функционирования банков данных. Ограничения целостности, присущие той или иной предметной области, должны быть выявлены при обследовании и зафиксированы в инфологической модели. Вопрос о необходимости проверки ограничений цело­стности при функционировании БнД должен решаться на основе ана­лиза эффективности проекта, так как в некоторых случаях для ее реа­лизации требуются значительные затраты ресурсов.

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

Разные СУБД обладают различным набором средств для обеспе­чения целостности данных. При проектировании БнД необходимо изучить, какие возможности по контролю целостности предоставля­ет используемая СУБД. Если СУБД автоматически не поддерживает то или иное нужное ограничение, то обеспечение его соблюдения ста­новится заботой пользователя (проектировщика).

В СУБД семейства xBASE основная масса ограничений целост­ности должна была быть определена на ЯМД, так как в ЯОД практи­чески отсутствовали средства определения ограничений целостно­сти данных. Часть ограничений целостности можно было задавать при создании экранных форм.

В современных СУБД многие ограничения можно описать на ЯОД. Они хранятся в схеме данных и при работе с БД поддерживаются ав­томатически.

Для контроля целостности БД применяется также механизм триг­геров. Триггер - это действие, которое активизируется при наступле­нии указанного события (вставки, удаления, обновления записи). Триг­геры специфицируются в схеме базы данных.

Более широким понятием по отношению к триггеру является по­нятие хранимая процедура. Хранимые процедуры описывают фраг­менты логики приложения, хранятся и исполняются на сервере, что позволяет улучшать характеристики производительности.

4.2. ER-модели и ограничения целостности

Некоторые ограничения целостности видны из описания предмет­ной области в виде ER-модели.

1. Ограничение на уникальность - уникальные идентификаторы объектов являются ключами таблиц, соответствующих этим объек­там. Если идентификаторов несколько, то для СУБД, поддерживающих концепцию ключа, нужно определить первичный ключ (Primary Key) и вероятные ключи (Alternate Key, Unique).

2. Между уникальным идентификатором объекта и полями, соот­ветствующими единичным свойствам объекта, существует функцио­нальная зависимость.

3. Если объекты связаны между собой, то соответствующие таб­лицы БД могут иметь ограничение целостности по связи.

Тип связи между объектами (1:1, 1:М, М:М) определяет, что бу­дет первичным, а что - внешним ключом в этих связях. Если отноше­ние между объектами 1:М, то очевидно, что первичным будет ключ основной таблицы (объект, который стоит со стороны единичной свя­зи), внешним - соответствующее ему поле в таблице, отображающей объект, стоящий на стороне множественной связи.

В случае, если связь 1:1, объекты относительно связи являются равноправными, и для определения, какой из файлов БД будет играть ведущую роль, необходимо рассматривать дополнительные характе­ристики. Например, если класс членства с одной стороны связи нео­бязательный, а с другой - обязательный, то идентификатор объекта, имеющего необязательный класс членства, помещается в таблицу, соответствующую объекту с обязательным классом членства, и имен­но он будет внешним ключом.

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

4. Если при наличии связи типа 1:М класс членства в связи - нео­бязательный для объектов, стоящих со стороны множественной свя­зи, то могут быть «пустые» значения внешнего ключа. В противном случае они должны иметь ограничение целостности «NON NULL».

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

6. При наличии связи 1:1 следует проверять количество элемен­тов в связи.

7. Для статических свойств объектов можно предусматривать зап­рет на обновление.

8. Если свойство - условное, то соответствующий атрибут может иметь пустые значения.

4.3. Задание ограничений целостности в ERWin

При построении ER-модели в ERWin можно задавать ограниче­ния целостности.

4.3.1. Обязательный атрибут

Для атрибута можно задавать свойство «Required» (обязательный). Для тех атрибутов, которые выбраны в качестве первичного ключа, это свойство является неактивным, поскольку свойство обязательно­сти и так (по определению ключа) присуще элементам ключа. Свой­ство «Required» следует задать для атрибутов «Фамилия», «Имя», «Отчество» объекта СОТРУДНИК, «Наименование предмета полное» объекта ПРЕДМЕТ и некоторых других атрибутов. Задание этого свой­ства будет означать, что при вводе данных в БД недопустимо пустое значение соответствующего поля.

4.3.2. Ограничения целостности связи

При описании связи можно задать ограничения целостности свя­зи. Для этого следует воспользоваться вкладкой RI Actions (рис. 4.3) в окне редактора связей (Relationship Editor). В этой секции для каж­дой связи можно задать действия, которые будут выполняться при удалении (Delete), вставке (Insert) и обновлении (Update) как порож­денной (Child), так и родительской (Parent) сущности.

Рис. 4.З. Описание целостности связи в ERWin

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

CASCADE (каскад), SET DEFAULT (значение по умол­чанию).

На рис. 4.3 показаны значения RI Actions, задаваемые по умолча­нию. В рассматриваемом примере для операции Parent Delete следует выбрать действие CASCADE. Если «Код_сотрудника» может изме­няться, то для операции Parent Update также следует выбрать дей­ствие CASCADE.

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

Естественно, что выбор режима действий при выполнении кор­ректирующих операций будет зависеть от типа связи между сущнос­тями. В табл. 4.1 приведены возможные режимы для каждого вида связи. Значения по умолчанию выделены полужирным курсивом с подчеркиванием.

Таблица 4.1

Действие

Идентифици­рующая связь

Неидентифици-рующая связь (Nulls Allowed)

Неидентифици-

рующая связь (No Nulls)

Категориаль­ная связь

Child Delete

NONE,

RESTRICT, CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT, CASCADE, SET DEFAULT

NONE,

RESTRICT, CASCADE

Child Insert

NONE,

RESTRICT,

CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT,

CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Child Update

NONE,

RESTRICT,

CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT,

CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Parent Delete

NONE,

RESTRICT,

CASCADE,

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Продолжение таблицы 4.1

Parent Insert

NONE,

RESTRICT, CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT, CASCADE, SET DEFAULT

NONE,

RESTRICT, CASCADE

Parent

Update

NONE,

RESTRICT,

CASCADE

NONE,

RESTRICT, CASCADE,

SET DEFAULT, SET Null

NONE,

RESTRICT,

CASCADE, SET DEFAULT

NONE,

RESTRICT,

CASCADE

Значения ограничений означают следующее:

  • NONE - действие не оказывает влияния на связанные записи;

  • RESTRICT - действие запрещено (при определенных условиях);

  • CASCADE - действие вызывает изменения в связанных записях;

  • SET DEFAULT - устанавливается значение по умолчанию для поля связи;

  • SET Null - устанавливается по умолчанию значение Null для поля связи.

Обычно удаление зависимой записи (Child Delete) при любом типе связи не требует дополнительных проверок на допустимость коррек­тировки и не приводит к каким-либо изменениям в связанных запи­сях. Поэтому режимом по умолчанию для всех типов связи является NONE. Дополнительная проверка может потребоваться, если в пред­метной области невозможно существование главного объекта без связанных с ним подчиненных объектов. Например, не может быть ОТДЕЛА без СОТРУДНИКОВ. В этом случае либо не должна быть допущена попытка удаления последнего сотрудника из отдела, либо при этом должен быть удален отдел.

Характеристики

Тип файла
Документ
Размер
11,48 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее