Введение в системы БД (542480), страница 10
Текст из файла (страница 10)
Технический специалист, ответственный за реализацию решений администратора данных, — это администратор базы данных, или АБД. Администратор базы данных, в отличие от администратора данных, должен быть профессиональным специалистом в области информационных технологий. Работа АБД заключается в создании самих баз данных и организации технического контроля, необходимого для осуществления решений, принятых администратором данных. АБД также несет ответственность за обеспечение необходимого быстродействия системы и ее техническое обслуживание. Обычно у АБД есть штат из системных программистов и технических ассистентов (т.е.
на практике функции АБД выполняются командой нз нескольких человек, а не одним служащим). Однако для простоты удобнее считать, что администратор базы данных — один человек. Более подробно функции АБД обсуждаются в главе 2. Преимущества централизованного подхода к управлению данными В заключение отметим преимушества использования баз данных, связанные с наличием централизованного управления. ° Возможность совместного доступа к данным Этот вопрос уже обсуждался в разделе 1.2, но для полноты обсудим его еще раз. Совместный доступ к данным означает не только возможность доступа к ним нескольких существующих приложений базы данных, но и возможность разработки новых приложений для работы с этими же данными Другими словами, требования новых приложений по доступу к данным могут оыть удовлетворены без необходимости добавления новых данных в базу.
° Сокращение избыточности данных В системах, не использующих базы данных, каждое приложение имеет свои файлы. Это часто приводит к избыточности хранимых данных н, следовательно, к расточительству пространства вторичной памяти. Например, как приложение, связанное с учетом персонала, так и приложение, связанное с учетом обучения служащих, могут иметь собственные файлы с ведомственной информацией о служащих. Как отмечено выше, этн два файла можно объединить с устранением избыточности (одинаковой информации) при условии, что администратор данных знает о том, какие данные нужны для каждого приложения, т.е.
что на предприятии осуществляется необходимое общее управление. 47 Глава 1. Базы данных и управление ими В данном случае мы не имеем в виду, что избыточность данных может или должна быть устранена полностью. Иногда веские практические нли технические причины требуют наличия нескольких копий хранимых данных. Однако такая избыточность должна строго контролироваться, т.е. учитываться в СУБД. Кроме того, в подобном случае должна быть предусмотрена возможность "распространения обновлений" (подробности приводятся ниже). ° Устранение противоречивости данных (до некоторой степени) В действительности это следствие предыдущего пункта. Возьмем пример из жизни.
Пусть служащий с номером 'Е3', работающий в отделе с номером 'РЕ', представлен двумя различными записями в базе данных. Предположим, что в СУБД не учтено это раздвоение (т.е, избыточность данных не контролируется). Тогда рано или поздно обязательно возникнет ситуация, при которой эти две записи перестанут быть согласованными, когда одна из них будет изменена, а другая — нет. В этом случае база данных станет противоречивой. Ясно, что противоречивая база данных способна предоставлять пользователю неправильную, противоречивую информацию. Также очевидно, что если какой-либо факт представлен одной записью (т.е.
при отсутствии избыточности), то противоречий возникнуть не может. Противоречий можно также избежать, если не удалять избыточность, а контролировать ее (соответствующим образом известив об этом СУБД). Тогда СУБД сможет гарантировать, что, с точки зрения пользователя, база данных никогда не будет противоречивой. Данная гарантия обеспечивается тем, что если обновление вносится в одну запись, то оно автоматически будет распространено на все остальные. Этот процесс называется распространением обновлений (ргорайайпЕ црцагез).
° Возыажность поддержки транзакций Транзакция (ггапзасйоп) — это логическая единица работы, обычно включающая несколько операций базы данных (в частности, несколько операций изменения). Стандартный пример — передача суммы денег со счета А на счет В. Очевидно, что в данном случае необходимы два изменения: изьятие денег со счета А и их внесение на счет В. Если пользователь укажет, что оба изменения входят в одну и ту же транзакцию, то система сможет реально гарантировать, что либо оба эти изменения будут выполнены, либо не будет выполнено ни одно из них, даже если до завершения процесса изменений в системе произойдет сбой (скажем, из-за перерыва в подаче электроэнергии).
Замечание. Упомянутое выше свойство атомарности (неделимости) транзакций— это не единственное преимушество от поддержки транзакций. Однако в отличие от прочих оно вполне применимо даже в однопользовательской средез. Полное описание различных преимушеств поддержки транзакций и способы их достижения обсуждаотся в главах 14 и 15. С другой стороны, часто в однопользовательских системах поддержка транзакций совсем не предоставляется, а подобные проблемы просто перекладываются на плечи пользователя.
48 Часть 1. Основные понятия ° Обеспечение целостности данных Задача обеспечения целостности заключается в гарантированной поддержке корректности данных в базе. Противоречивость между двумя записями, представляющими один "факт", является примером утраты целостности данных (см. обсуждение этого вопроса выше в данном разделе).
Конечно, эта конкретная проблема может возникнуть лишь при наличии избыточности в хранимых данных. Но даже если избыточность отсутствует, база данных может содержать некорректную информацию. Например, в базе данных может быть указано, что сотрудник отработал 400 рабочих часов в неделю вместо 40, или зафиксирова,а его принадлежность к отделу, которого не существует. Централизованное управление базой данных позволяет избежать подобных проблем (насколько их вообще возможно избежать). Для этого администратор данных определяет (а АБД реализует) ограничения целостности (шге8Пгу сопззга|пгз), иначе называемые бизнес-правилами, которые будут применяться при любой попытке внести какие-либо изменения в соответствующие данные.
Отметим также, что целостность данных для многопользовательских систем баз данных даже более важна, чем для среды с "частными файлами", причем именно по той причине, что такая база данных поддерживает совместный доступ. При отсутствии должного контроля один пользователь вполне может некорректно обновить данные, от чего пострадают многие другие ни в чем не повинные пользователи. Следует также сказать, что в большинстве существующих коммерческих СУБД поддержка ограничений целостности развита слабо, хотя в настоящее время в этом направлении наблюдаются некоторые улучшения.
Приходится констатировать тот печальный факт, что, как мы увидим в главе 8, ограничения целостности имеют значительно более фундаментальное и критически важное значение, чем это обычно признается на текущий момент. ° Организация зтциты данных Благодаря полному контролю над базой данных АБД (безусловно, в соответствии с указаниями администратора данных) может обеспечить доступ к ней только через определеннь1е каналы. Для этой цели могут устанавливаться ограничения защиты (зесцгйу сопзпа(пгз) или правила, которые будут проверяться при любой попытке доступа к уязвимым данным.
Можно установить различные правила для разных типов доступа (выборка, вставка, удаление и т.д.) к каждому из элементов информации в базе данных. Однако следует заметить, что при отсутствии таких правил безопасность данных подвергается большему риску, чем в обычной (разобщенной) файловой системе. Следовательно, централизованная природа системы баз данных в определенном смысле требует наличия надежной системы защиты. ° Возможность балансировки противоречивых требований Зная общие требования всего предприятия (а не требования каждого отдельного пользователя), АБД (опять же, в соответствии с указаниями администратора данных) может структурировать базу данных таким образом, чтобы обслуживание было наилучшим для всего предприятия.
Например, он может выбрать такое физическое представление данных во вторичной памяти, которое обеспечит быстрый доступ к информации для наиболее важных приложений (возможно, с потерей производительности для некоторых других приложений). Глава 1. Базы данньп и управление ими ° Возможность введения стандартизации Благодаря централизованному управлению базой данных АБД (по указаниям администратора данных) может обеспечить соблюдение всех подходящих стандартов, регламентирующих представление данных в системе.
Стандарты могут быть частными„корпоративными, ведомственными, промышленными, национальными и интернациональными. Стандартизация представления данных наиболее важна с точки зрения обмена и пересылки данных между системами. (Наибольшую актуальность этот вопрос приобретает в случае распределенных систем, речь о которых пойдет в главах 2 и 20.) Кроме того, стандарты именования и документирования данных важны как в отношении их совместного использования, так и в отношении их углубленного понимания. Большинство перечисленных выше преимушеств достаточно очевидно.