Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК активный раздаточный материал СУБД.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
797.7 Кб
Скачать

Дополнительная литература 9[159:164], 10[81:83,792:794].

Контрольные вопросы:

1. По каким критериям возможна классификация СБД.

2. В чем отличие файл-серверной технологии обработки данных от клиент-серверной технологии.

3. В чем заключается основное преимущество клиент-серверной технологии обработки данных.

4. В чем отличие двухзвенной от трехзвенной модели клиент-серверной технологии.

5. Перечислите требования, предъявляемые к разрабатываемому приложению.

Тема 14. Архитектура сбд.

Существует большое разнообразие сложных типов данных, но исследования, проведенные на большом практическом материале, показали, что среди них можно выделить несколько наиболее общих. Обобщенные структуры называют также моделями данных, т.к. они отражают представление пользователя о данных реального мира.

Совокупность свойств, присущих данному типу структуры данных, задаёт схема структуры данных. Построение структур данных в каждой конкретной модели данных выполняется по определённым правилам. Схемы структур данных используются для описания типов групп и групповых отношений, т.е. описание структуры БД задаётся её схемой.

Для представления схемы данных используются чаще всего две формы представления данных: графовая форма, табличная форма.

При графовой форме представления схемы типы групп изображаются вершинами графа, а групповые отношения – соответствующими дугами.

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

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

При работе с БД разные люди и разные программы, запускаемые этими людьми, видят БД по-разному.

Конечный пользователь работает в каком-то приложении и скорее всего ничего не знает о внутренней структуре. Программа, которую использует этот пользователь и, соответственно, программист, написавший эту программу, видят и используют ту часть базы данных, которую им разрешено видеть.

Администратор, позволяющий тем или иным пользователям видеть те или иные данные, видит всю схему базы данных.

Группа программистов, разработавшая ядро СУБД, и предоставившая администратору возможность создавать схему базы данных, реализовала отображение базы данных на внешние устройства и в память.

Поэтому используются три вида представления моделей данных:

  • Концептуальное – охватывающее всю задачу с точки зрения администратора информационной системы, т.е. лица, ответственного в целом за работу с БД;

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

  • Внутреннее – отражает представление об информационной задаче разработчика (программиста) с учётом особенностей и возможностей конкретной СУБД и компьютеров, на которых будет реализовываться решаемая задача.

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

Стандартная архитектура системы баз данных (стандарт ANSI – American National Standart Institut, затем ISO – International Standart Organization) имеет три уровня архитектуры: внешний, концептуальный, внутренний. На каждом уровне используется своя модель (представление), состоящая из записей (каждая запись состоит из данных об одном экземпляре объекта).

1. Уровень внешних моделей – самый верхний уровень, где каждая модель име­ет свое «видение» данных. Этот уровень определяет точку зрения на БД от­дельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению.

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

3. Физический уровень – собственно данные, расположенные в файлах или в страничных структурах, расположенных на внешних носителях информации.

Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Ло­гическая независимость предполагает возможность изменения одного приложе­ния без корректировки других приложений, работающих с этой же базой дан­ных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.

Выделение концептуального уровня позволило разработать аппарат централи­зованного управления базой данных.

Процесс прохождения пользовательского запроса:

1. Пользователь посылает СУБД запрос на получение данных из БД.

2. Анализ прав пользователя и внешней модели данных, соответствующей дан­ному пользователю, подтверждает или запрещает доступ данного пользовате­ля к запрошенным данным.

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

4. СУБД получает информацию о запрошенной части концептуальной модели.

5. СУБД запрашивает информацию о местоположении данных на физическом уровне (файлы или физические адреса).

6. В СУБД возвращается информация о местоположении данных в терминах операционной системы.

7. СУБД просит операционную систему предоставить необходимые дан­ные, используя средства операционной системы.

8. Операционная система осуществляет перекачку информации из устройств хра­нения и пересылает ее в системный буфер.

9. Операционная система оповещает СУБД об окончании пересылки.

10. СУБД выбирает из доставленной информации, находящейся в системном бу­фере, только то, что нужно пользователю, и пересылает эти данные в рабо­чую область пользователя.

Разумеется, механизм прохождения запроса в реальных СУБД гораздо сложнее, но и эта упрощенная схема показывает, насколько серьезными и сложными долж­ны быть механизмы обработки запросов, поддерживаемые реальными СУБД.

Каждая конкретная СУБД поддерживает определенную модель данных. Основными компонентами модели данных являются структуры данных, операции над данными, ограничения целостности данных. Они тесно взаимосвязаны между собой и в различных конкретных моделях могут быть реализованы разными способами. Ниже рассматриваются общие принципы структуризации данных, правила построения структур, основные операции и понятие ограничения целостности, используемые при создании и ведении БД, независимо от типа модели данных.

Несмотря на большое разнообразие терминов, используемых для обозначения определённых типов структур данных, в настоящее время наиболее распространена терминология, предложенная КОДАСИЛ (CODASYL – the Conference on Data Systems Languages) – Ассоциацией по языкам систем обработки данных: элемент данных, группа (агрегат) данных, запись, набор, файл, база данных.

Элемент данных – наименьшая поименованная единица данных (аналог поля в файловых системах). Элемент данных – минимальная единица данных, к которой может непосредственно адресоваться СУБД и с помощью которой осуществляется построение всех остальных структур. Обычно элемент данных используется для обозначения свойства (атрибута) объекта. Значение элемента данных может быть любого типа: символьным, числовым, типа дата/время, логического типа и т.д. Например, объект – студент, свойство – дата рождения, значение элемента данных - 20.07.1982.

Группа (агрегат) данных – поименованная совокупность элементов данных и (или) других групп внутри записи, которую можно рассматривать как единое целое.

Запись – поименованная совокупность элементов или элементов и групп, которые не входят ни в какую другую группу. Обычно запись отображает данные о свойствах экземпляра объекта.

Набор – поименованная совокупность записей двух типов, образующих двухуровневую иерархическую структуру. Каждый тип набора представляет собой отношение между двумя или несколькими типами записей. Основное назначение набора – представление связей между записями.

Файл данных – упорядоченная совокупность записей. База данных – поименованная совокупность экземпляров записей различного типа, содержащая ссылки между записями, представленные экземплярами наборов. База данных может состоять из одного или нескольких файлов данных.

В БД используются групповые отношения, которые служат для задания связей между группами в базе данных. Можно сказать, что БД – поименованная совокупность экземпляров групп и групповых отношений. В групповом отношении один тип группы – владелец отношения, а другой – член отношения. Тип группового отношения задаётся между двумя типами групп. По характеру бинарных связей между экземплярами рассматриваемых групп различают групповые отношения вида: 1:1 (один-к-одному), 1:M (один-к-многим), M:1 (многие-к-одному), M:M (многие-к-многим).

Любая операция над данными включает в себя: селекцию (выделение искомых данных) и операцию над выделенными данными.

Селекция выполняется с использованием одного из следующих значений: с использованием логической позиции данного, с использованием значения данного, с использованием связей между данными.

Все операции над выделенными данными могут быть разделены на основные и вспомогательные.

К основным операциям относятся:

- идентификация данных и нахождение их позиции в БД;

- выборка (чтение) данных из БД;

- включение (запись) данных в БД;

- уничтожение (удаление) данных в БД;

- изменение, модификация данных в БД.

К вспомогательным операциям относятся установление и разрыв связей между структурами данных.

Существенным компонентом модели данных является ограничение целостности. Под ограничениями целостности понимаются логические ограничения, накладываемые на данные, с целью сохранения непротиворечивости данных и соответствия структурным спецификациям конкретных СУБД.

Ограничения целостности бывают:

- внутренние (представляются в модели данных правилами композиции структуры данных в конкретной схеме БД и описываются в структурных спецификациях);

- явные или внешние (ограничения задаются в явном виде администратором БД или программистом).

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

Основная литература: 1[7:11].