Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по курсу ИСиТ.docx
Скачиваний:
6
Добавлен:
07.02.2024
Размер:
1.07 Mб
Скачать

Лекция №6

Определение ЯМД, основанного на ИО.

Исчисление отношений (ИО) – это совокупность обозначений и правил (формула) для описания результирующего отношения, выводимого из РМД. Эта формула называется -выражением:

{ (t1, t2, …, tn): W}

целевой список предикат

Этот ЯМД в нашем курсе не рассматривается.

ЯМД, основанный на операции отображения.

Эти языки занимают промежуточное положение между РА и ИО. Под отображением в данном случае понимают операцию выбора данных, которая имитирует действия человека при поиске данных в таблице.

r

ФАМ

Г_Р

Группа

Пол

Действия:

  1. Пример столбца: группа

  2. Выделение в нем некоторого элемента (аргумент отображения) А8-97

  3. Просмотр строки, содержащей аргумент отображения

  4. Выделение из строки значений, которые входят в столбцы ФАМ, Г_Р

Таким образом, главная конструкция этого языка – это операция отображения, например:

Язык SQL

SELECT ФАМ, Г_Р FROM r WHERE Группа = ‘А8-97’

аргумент отображения

Здесь нет ничего от РА; только исчисление отношений. В языке SQL есть блочная структура, т.е. возможно вложение одного элементарного блока в другой.

Пример: Сотрудники_ЗИЛ (ФАМ, Г_Р)

ВУЗ (ФАМ, Н_ВУЗА)

Выдать года рождения сотрудников ЗИЛа, которые учатся в МЭИ.

SELECT Г_Р FROM СОТР_ЗИЛ WHERE ФАМ IN (SELECT ФАМ FROM ВУЗ WHERE

Н_ВУЗА = ‘МЭИ’)

Запрос реализуется в 2 этапа: сначала – внутренний блок SELECT: из отношения ВУЗ извлекается множество ФАМ, которые учатся в МЭИ; затем полученный список ФАМ используется в условиях внешнего SELECT. Это вносит определенную процедурность в формулировку запросов и приближает рассмотренную группу языков к алгебраическим языкам.

Язык QBE (Query by Example)

Язык, сходный с SQL, однако QBE разработан специально для работы с терминала.

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

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

R

A

B

C

D

P.ax

P.bx

C1

условие запроса

Пользователь формулирует запрос, заполняя три позиции в таблице. P. – означает печать. P указывает цель запроса (результат), которая должна быть выведена.

Q = AB (C=C1(r))

Нормализация отношений

Нормализацией называется процесс приведения отношения к одной из нормальных форм (НФ). Отношения могут находиться в следующих состояниях: ненормализованное отношение, 1НФ, 2НФ, 3НФ, 4НФ, 5НФ. Однако 5НФ практического значения не нашла. Нормализация используется на этапе концептуального проектирования РМД.

Для чего вводится нормализация:

  1. минимизация избыточности хранения данных;

  2. обеспечение непротиворечивости данных;

  3. расширение возможностей БД по добавлению, удалению и обновлению;

  4. сделать БД более наглядной, семантически выразительной.

1НФ

Отношение, которое состоит из простых атрибутов, называется нормализованным и находится, по меньшей мере, в 1НФ.

Любое ненормализованное отношение можно привести к 1НФ.

Пример: Служ (#служ, ФИО, дети(имя, Г_Р))

составной атрибут

служ

# служ ФИО дети

корневое отношение имя Г_Р

подчиненное отношение

Существует алгоритм приведения к 1НФ:

  1. Корневое отношение помещается в результирующее отношение.

  2. Подчиненное отношение помещается в результирующее отношение вместе с атрибутами ключа корневого отношения.

  3. Этот процесс продолжается до удаления всех деревьев из исходного отношения.

Т аким образом, в нашем случае в результирующее отношение попадут 2 отношения:

Служ(#служ, ФИО)

Дети(#служ, имя, Г_Р) 1НФ

При анализе нормализации важную роль играет понятие функциональной зависимости (ФЗ).

Соседние файлы в предмете Информатика