Вопрос 8. Системы управления базами данных (СУБД)
8.1 Использование транзакций
8.2 Управление доступом к данным
8.3 Понятие алгоритма
8.4 Типы алгоритмических процессов
Список использованных источников
Список иллюстраций
8.1 Использование транзакций
Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. Таким образом, поддержание механизма транзакций является обязательным условием даже однопользовательских СУБД (если, конечно, такая система заслуживает названия СУБД). Но понятие транзакции гораздо более важно в многопользовательских СУБД.
То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый из пользователей может в принципе ощущать себя единственным пользователем СУБД (на самом деле, это несколько идеализированное представление, поскольку в некоторых случаях пользователи многопользовательских СУБД могут ощутить присутствие своих коллег).
8.2 Управление доступом к данным
Управление данными не сводится только к их рациональному хранению и обработке – актуальными остаются и вопросы информационной безопасности. Перевод информации в электронную форму делает ее более чувствительной к внешним и внутренним угрозам. В первом случае необходимо защищать информацию от вторжения извне (из-за периметра корпоративной сети). Во втором случае важным аспектом является управление доступом к данным со стороны сотрудников собственной компании.
Для СУБД важны все три основных аспекта информационной безопасности - конфиденциальность, целостность и доступность.
Пользователей СУБД можно разбить на три категории:
• администратор сервера баз данных. Он ведает установкой, конфигурированием сервера, регистрацией пользователей, групп, ролей и т.п. Администратор сервера имеет имя ingres. Прямо или косвенно он обладает всеми привилегиями, которые имеют или могут иметь другие пользователи.
• администраторы базы данных. К этой категории относится любой пользователь, создавший базу данных, и, следовательно, являющийся ее владельцем. Он может предоставлять другим пользователям доступ к базе и к содержащимся в ней объектам. Администратор базы отвечает за ее сохранение и восстановление. В принципе в организации может быть много администраторов баз данных. Чтобы пользователь мог создать базу и стать ее администратором, он должен получить (вероятно, от администратора сервера) привилегию creatdb.
8.3 Понятие алгоритма
Любая задача перед решением на ЭВМ требует формализованной подготовки, включающей совокупность решений по составу и содержанию входных и выходных данных, а также процедурам преобразования входных сообщений в выходные, которые описываются алгоритмом решения задачи с наиболее рациональным использованием технических, информационных, программных и организационных (человеческих) ресурсов.
В формулировке задачи должны присутствовать: характеристика задачи, описание входной и выходной информации, математическое описание задачи, описание алгоритма решения задачи и разработка контрольного примера.
Если задача не имеет математической формулировки ее решения, используется описание логики последовательных действий в виде выполняемых функций обработки информации по задаче. Математическая или логическая модель решения задачи должны быть достаточно детализированы, чтобы можно было составить алгоритм и программу решения задачи.
Алгоритм решения задачи - это система точно сформулированных правил, определяющих процесс преобразования входной информации в выходную за конечное число шагов. Он отражает последовательность и логику выполнения операций обработки информации.
Алгоритм является основой программы, обеспечивающей машинную реализацию решения задачи.
8.4 Типы алгоритмических процессов
Алгоритмы в зависимости от цели, начальных условий, путей решения задачи, последовательности действий исполнителя подразделяются следующим образом.
1. Механические или жесткие алгоритмы, например, алгоритм работы двигателя внутреннего сгорания.
2. Гибкие алгоритмы, например, вероятностные или эвристические:
• Вероятностные (стохастические) алгоритмы определяют про-грамму решения задачи несколькими путями, каждый из которых дает достижение результата с некоторой вероятностью.
• Эвристический алгоритм не имеет определенной последовательности действий, достижение конечного результата алгоритма однозначно не предопределено. В эвристических алгоритмах используют логические процедуры и способы принятия решений, основанные на аналогиях, ассоциациях и прошлом опыте решения задач.
3. Линейные алгоритмы состоят из набора команд, которые выполняют последовательно друг за другом. Линейные алгоритмические процессы являются составной частью любого алгоритма и включает
1. Змитрович, А. И. Базы данных и знаний: учеб. пособие для студ. учреждений, обеспечивающих получение высш. образования по спец. управления / А. И. Змитрович, В. В. Апанасович, В. В. Скакун. - Минск: Издательский центр БГУ, 2007
2. Малыхина М.П. Базы данных: основы, проектирование, использование. Спб.: BHV, 2006
3. К.Дж.Дейт Введение в системы баз данных (6 изд.). Киев, Диалектика, 1998
4. http://www.intuit.ru/department/database/rdbintro/ - «Введение в реляционные базы данных» Кузнецов С.Д.
5. http://www.intuit.ru/department/database/rdbdev/ - «Основы проектирования реляционных баз данных» Туманов В.Е.
6. http://citforum.ru/database/dblearn/index.shtml - «Введение в системы управления базами данных» Пушников А.Ю.
7. http://citforum.ru/database/osbd/contents.shtml - «Основы современных баз данных» Кузнецов С.Д.
8. http://www.citforum.ru/database/kbd96/49.shtml - «Информационная безопасность систем управления базами данных» Вьюкова Н.В.
9. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений/Под ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 2002. – 672с
10. Хансен Г., Хансен Д. Базы данных. Разработка и управление. – М.: Бином, 2000. – 704 с.