паспорта работника и т.д. Фамилия работника, тип установки и т.д.
первичными ключами являться не могут, т.к., например, на предприятии
могут работать несколько работников с одинаковыми фамилиями или
функционировать несколько однотипных установок. Т.е. первичный ключ
должен быть уникальным и, по возможности, целочисленным. Первичный
ключ может состоять из нескольких полей (составной первичный ключ).
Связи между таблицами осуществляются посредством первичных
ключей. На рисунке 3.12 приведен пример БД, состоящей из трех таблиц
(«Технологические объекты», «Датчики» и «Измерения»).
Связи (отношения между таблицами) могут быть идентифицирующие и
неидентивицирующие. Если запись в таблице-потомке однозначно
определяется своей связью с таблицей-родителем, то отношение между этими
таблицами является идентифицирующим. В этом случае первичный ключ
таблицы-родителя становится первичным ключом (или частью первичного
ключа) таблицы-потомка. Например, отношение «производят» на рис. 14
является идентифицирующим для таблицы-родителя «Датчики» и таблицы-
потомка «Измерения», поэтому первичный ключ таблицы-родителя (поле
«№_дтч») становится частью составного ключа таблицы-потомка. Отношение
«содержат» является неидентифицирующим, поэтому первичный ключ
таблицы-родителя «Технологические объекты» (поле «№_об») становится
обычным полем таблицы-потомка «Датчики».
3.3.2 Обеспечение безопасности баз данных.
При работе СУБД возникает необходимость защиты БД от возможных
случайных или преднамеренных ситуаций, когда существует вероятность
потери данных. Например, при доступе к БД одновременно нескольких
пользователей возможна неправильная запись данных. Для ликвидации
возможностей этого используется механизм транзакций.
Транзакция – неделимая с точки зрения воздействия на БД
последовательность операторов манипулирования данными такая, что
возможны два итога [41]:
- результаты транзакции отображаются в БД,
- воздействие транзакции на БД полностью отсутствует.
В СУБД транзакция начинается с оператора BEGIN. Если она завершена
оператором COMMIT, то результаты фиксируются в БД, если ROLLBACK –
отсутствуют.
Оператор COMMIT устанавливает т.н. точку фиксации, т.е. момент,
когда заканчивается единица работы, следовательно, БД будет находится в
целостном состоянии как в начале, так и в конце транзакции.
Восстановление БД – процесс, подразумевающий возвращение БД в
правильное (целостное) состояние, если какой-либо процесс вызвал сбой
данных. Восстановление базируется на принципе избыточности БД, при этом
по части хранимых данных имеется возможность восстановления всей
информации полностью.