Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
12.65 Mб
Скачать

1.3.2. Порядок взаимодействия пользователя, субд и ос

Приведем порядок взаимодействия пользователя, СУБД и ОС при обработке запроса на получение данных (рисунок 1.3.2.1).

Рисунок 1.3.2.1. Схема взаимодействия пользователя, СУБД и ОС

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

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

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

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

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

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

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

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

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

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

В процессе взаимодействия используется база метаданных с информацией (БМД) об используемых структурах данных, логической организации данных, правах доступа пользователей и физическом расположении данных. Для управления БМД существует специальное программное обеспечение администрирования баз данных.

Если пользователь повторно обратится к СУБД с новым запросом, то для него уже не будут проверяться внешняя модель и права доступа, а если дальнейший анализ запроса покажет, что данные могут находиться в системном буфере, то СУБД осуществит только 11 и 12 шаги в обработке запроса.

1.3.3. Типы связей между объектами

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

При связывании объектов используются следующие понятия:

Корневые узлы ‑ узлы без исходных уз­лов.

Терминальные узлы (листья) ‑ узлы без под­чи­нен­ных узлов.

Подобные узлы ‑ подчиненные узлы с одним ис­ход­ным узлом.

Се­мей­ство ‑ множество подобных узлов.

Размерность исходного узла ‑ число подобных узлов.

Первичный ключ ‑ уникальный ключ, используемый для связи с другим объектом. Та­кой ключ может быть только один на объект.  В качестве первичного ключа выбирают тот, который имеет наименьший размер и редко меняется.

Вторичный ключ (кандидат) ‑ ключ, который может быть первичным.

Внешний ключ ‑ атрибут или группа атрибутов до­чер­него объекта, которые являются первичным ключом в родительском объекте (атрибут “Код подразделения” в объекте “СОТРУДНИК” является внеш­ним ключом, так как он является первичным ключом в родительском объекте “ПОДРАЗДЕЛЕНИЕ”).

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

Класс принадлежности объекта (КП) ‑ обязательный (все экзем­п­ля­­ры объ­екта участвуют в рассматриваемой связи) и необязательный.

Типы (степени) связей между объектами

Тип связи “Один-к-одному”, или бинарная связь (1:1). Полями связи явля­ют­ся клю­че­вые поля. Одной записи родительского объекта “A” соот­вет­ст­ву­ет только одна запись дочернего объекта “B” и наоборот (A<-->B).

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­Т” по полям связи “Табельный номер преподавателя” и “Код пред­мета”.

Связь типа “Один-ко-многим” (1:М). Полями связи являются клю­че­вое поле родительского объекта и неключевое поле дочернего объекта. Одной записи родительского объекта “A” соот­вет­ст­ву­ет несколько записей дочернего объекта “B” (A-->>B). Объект “A” называют односвязанным, а “B” ‑ многосвязанным.

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­­Т”, если допускается преподавание одним преподавателем несколь­ких предметов, но один предмет не может преподаваться несколькими пре­по­давателями.

Связь типа “Многие-к-одному” (М:1). Полями связи являются неклю­че­вое поле родительского объекта “А” и ключевое поле дочернего объекта ‘B” (A<=B).

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­­Т”, если допускается преподавание одним преподавателем не более одного предмета, но один предмет может преподаваться несколькими пре­по­давателями.

Связь типа “Многие-ко-многим” (М:М). Полями связи являются неключевые поля родительского и дочернего объектов. Одной запи­си ро­дительского объекта “A” соот­вет­ст­ву­ют несколько записей дочернего объек­та “B” и наоборот (A<=>B).

Пример. Связь между объектами “ПРЕПОДАВАТЕЛЬ” и “ПРЕД­МЕ­­­Т”, если допускается преподавание одним преподавателем несколь­ких предметов и один предмет может преподаваться несколькими пре­по­да­ва­те­лями.

Тип связи обычно указывается над линией связи между объектами символами “1”, “M”. Для наглядности связи типа “M” на схеме она мо­жет быть указана в виде линии с двумя стрелочками или “гусиной лап­кой”, а отношение 1 ‑ в виде линии с вертикальной чертой.