Скачиваний:
58
Добавлен:
01.04.2014
Размер:
657.92 Кб
Скачать

1.2. Что такое система баз данных

Как уже отмечалось выше, система баз данных — это компьютеризированная система хранения записей; т.е. это компьютеризированная система, основная цель которой— содержать информацию и предоставлять ее по требованию. К информации может от­носиться все, что заслуживает внимания отдельного пользователя или предприятия, использующего систему; иначе говоря, все необходимое для текущей работы данного пользователя или предприятия.

Замечание. Термины "данные" и "информация" трактуются в этой книге как си­нонимы. Некоторые авторы предпочитают отличать эти два понятия, используя тер­мин "данные" для ссылки на значения, которые реально сохранены в базе данных, а термин "информация" для пояснения смысла этих значений пользователю. Разница, безусловно, существенная, но предпочтительнее сделать ее более определенной там, где это уместно, вместо того чтобы полагаться на различные понятия между двумя, по существу, одинаковыми терминами.

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

Рис. 1.4. Упрощенная схема системы баз данных

Данные

Системы баз данных существуют как на малых компьютерах (даже переносных ПК), так и на больших машинах. Нет необходимости говорить, что средства, предоставляемые каж­дой конкретной системой, в некоторой мере зависят от мощности и возможностей базовой машины. В частности, системы на больших машинах ("большие системы") в основном многопользовательские, тогда как системы на малых машинах ("малые системы"), как правило, однопользовательские. Однопользовательская система (single-user system) — это система, в которой в одно и то же время к базе данных может получить доступ не более одного пользователя; многопользовательская система (multi-user system)— это система, в которой к базе данных могут получить доступ сразу несколько пользователей. Как и в схеме на рис. 1.4, мы для общности будем подразумевать, как правило, второй вид систем, хотя на самом деле, с точки зрения пользователей, между этими системами не су­ществует большого различия. Основная задача большинства многопользовательских сис­тем — позволить каждому отдельному пользователю работать с системой как с однополь­зовательской. Различия между многопользовательской и однопользовательской системами проявляются в их внутренней структуре и потому практически не видны конечному поль­зователю (это будет описано далее в книге).

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

В общем случае данные в базе данных (по крайней мере, в больших системах) яв­ляются интегрированными и общими. Эти два аспекта, интеграция и разрешение об­щего доступа, представляют собой наиболее важное преимущество использования систем баз данных на "большом" оборудовании; и по меньшей мере один из них — интеграция — является преимуществом их использования на "малом" оборудовании. Конечно, есть множество других преимуществ (даже на "малом" оборудовании), но о них речь пойдет позже. Сначала следует объяснить, что понимается под терминами "интегрированные" и "общие".

• Под понятием интегрированные данные подразумевается возможность предста­вить базу данных как объединение нескольких отдельных файлов данных, полно­стью или частично не перекрывающихся. Например, база данных может содержать файл EMPLOYEE, включающий имена сотрудников, адреса, отделы, зарплату и т.д., и файл ENROLLMENT, представляющий регистрацию сотрудников на курсах обу­чения (рис. 1.5). Допустим, что для контроля процесса обучения необходимо знать отдел каждого зачисленного на курсы студента. Совершенно очевидно, что нет не­обходимости включать такую информацию в файл ENROLLMENT, поскольку ее всегда можно получить путем обращения к файлу EMPLOYEE.

EMPLOYEE ENROLLMENT

NAME

ADDRESS | DEPARMENT | SALARY ( . . .

NAME

COURSE | ...

Рис. 1.5. Файлы EMPLOYEE и ENROLLMENT

• Под понятием общие данные подразумевается возможность использования отдель­ных областей данных в базе данных несколькими различными пользователями, т.е. каждый из этих пользователей может иметь доступ к одной и той же области данных (причем различные пользователи могут использовать эти данные для разных целей). Как уже упоминалось, различные пользователи могут иметь доступ даже к одной и той же области данных в одно и то же время (одновременный доступ). В приведен­ном выше примере информация об отделе в файле EMPLOYEE может разделяться (совместно использоваться) пользователями отдела кадров и отдела обучения; при­чем, как подчеркивалось выше, эти две группы пользователей могут использовать такую информацию для разных целей, как обычно и происходит.

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

Аппаратное обеспечение

К аппаратному обеспечению системы относятся:

• накопители для хранения информации (обычно диски с перемещаемыми головка­ми» вместе с подсоединенными устройствами ввода-вывода, контроллерами уст­ройств, каналами ввода-вывода и т.д.;

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

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

Программное обеспечение

Между собственно физической базой данных (т.е. данными, которые в действительно­сти сохранены) и пользователями системы располагается уровень программного обес­печения — диспетчер базы данных (database manager) или, что более привычно, система управления базами данных СУБД (database management system(DMBS)). Все запросы пользователей на доступ к базе данных обрабатываются СУБД ; возможно­сти добавления файлов или таблиц), выборки и обновления данных в этих файлах или таблицах также обеспечивает СУБД. Основная функция, выполняемая СУБД,— это предоставление пользователю базы данных возможности работать с ней, не вникая в детали на уровне аппаратного обеспечения (пользователь более отстранен от этих де­талей, чем прикладной программист, использующий среду программирования). Иными словами, СУБД позволяет пользователю рассматривать базу данных как объект более высокого уровня по сравнению с аппаратным обеспечением, а также поддерживает вы­ражаемые в терминах высокого уровня пользовательские операции (например, опера­ции которые можно выполнять с помощью языка SQL, упомянутого ранее). Далее в книге будут обсуждаться эта и другие функции СУБД.

Замечание. СУБД — наиболее важный, но не единственный программный компо­нент системы. Среди других — утилиты, средства разработки приложений, средства проектирования, генераторы отчетов и др. Обсуждение данного вопроса приводится далее в этой книге.

Пользователи

Пользователей можно разделить на три большие группы.

•Первая — прикладные программисты, которые отвечают за написание при­кладных программ, использующих базу данных. Для этих целей применимы языки СОВОL, РL/1 или более современные, такие как С или Раsса1. Прикладные про­граммы выполняют над данными все стандартные операции; выборку сущест­вующей информации, вставку новой информации, удаление или обновление суще­ствующей информации. Все эти функции выполняются через соответствующий запрос к СУБД. Эти программы могут быть простыми программами пакетной об­работки или оперативными приложениями, функция которых — поддержка рабо­ты конечного пользователя (см ниже), имеющего непосредственный оперативный доступ к базе данных через рабочую станцию или терминал. Большинство совре­менных приложений относится к оперативным.

• Вторая — конечные пользователи, которые работают с системами баз данных не­посредственно через рабочую станцию или терминал. Конечный пользователь мо­жет получить доступ к базе данных, используя одно из оперативных приложений, упомянутых выше, или же воспользоваться интегрированным интерфейсом про­граммного обеспечения самой системы баз данных. Такой интерфейс также поддер­живается оперативным приложением, но это приложение не создается пользовате­лем, оно является встроенным в систему баз данных. В большинстве систем есть, по крайней мере, одно такое встроенное приложение, а именно: процессор языка запросов, который позволяет пользователю указывать команды или выражения вы­сокого уровня (такие как select или insert) для данной СУБД. Язык SQL, упомяну­тый выше, — типичный пример языка запросов для базы данных.

Замечание. Общепринятый термин "язык запросов" не совсем точно отражает рассматриваемое понятие, поскольку слово "запрос" подразумевает лишь выборку, в то время как с помощью этого языка выполняются также операции об­новления, вставки и удаления (а возможно, и многие другие).

Кроме языка запросов, в большинстве систем также предоставляются дополни­тельные встроенные интерфейсы, в которых пользователь в явном виде не исполь­зует команд, таких как select. Для работы с базой данной пользователь, например, выбирает необходимые команды меню или заполняет поля в формах. Такие ин­терфейсы, основанные на меню и формах, облегчают работу с базами данных тем, кто не имеет опыта работы с информационными технологиями (ИТ; часто упот­ребляется также сокращение ИС — информационные системы, эти понятия прак­тически эквивалентны). Командный интерфейс, т.е. язык запросов, напротив, требует некоторого опыта работы с ИТ (возможно, не очень большого). Однако командный интерфейс обычно более гибок, чем основанный на меню и формах; кроме того, в языках запросов обычно есть определенные функции, которые не поддерживаются интерфейсами, основанными на меню и формах.

• Третья группа (не показана на рис. 1.4) — администраторы базы данных, или АБД. Функции администраторов мы будем обсуждать далее в этой и следующей главе.

На этом закончим предварительное описание основных аспектов систем баз дан­ных и приступим к более детальному изучению идей.

Соседние файлы в папке Дейтл Введ в БД