6040

Модели данных: реляционная модель данных. Реляционная алгебра

Контрольная

Математика и математический анализ

Модели данных: реляционная модель данных. Реляционная алгебра. Определение модели данных предусматривает указание множества допустимых информационных конструкций, множества допустимых операций над данными и множества ограничений для хранимых значени...

Русский

2012-12-27

96.5 KB

11 чел.

Модели данных: реляционная модель данных. Реляционная алгебра.

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

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

Классификация информационных конструкций (информационных объектов) тесно связана с областью их использования в ЭИС:

1.   Объекты для технологии баз данных - отношения и веерные отношения.

2. Объекты для технологии искусственного интеллекта - предикаты, фреймы и семантические сети.

3.   Объекты для технологии мультимедиа - тексты, графические изображения, фонограммы и видеофрагменты.

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

Реляционная модель данных характеризуется следующими компонентами:

• информационная конструкция - отношение (таблица) с двухуровневой структурой,

• допустимые операции - проекция, выборка, соединение и др.,

• ограничения - функциональные зависимости между атрибутами отношения.

Каждому классу объектов Р материального мира ставится в соответствие некоторое множество атрибутов, например А1, А2,...,Аn. Отдельный объект класса Р описывается строкой величин (а1, а2,..., an), где ai - значение атрибута Ai.

Строка (а1, а2,..., an) называется кортежем. Всему классу объектов соответствует множество кортежей, называемое отношением. Обозначим отношение, описывающее класс объектов Р, также через Р. Выражение Р(А1, А2,...,Аn) называется схемой отношения Р.

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

Множество значений отношения можно представить в виде таблицы, в которой соблюдаются следующие соответствия:

• название таблицы и перечень названий граф соответствуют схеме отношения,

• строке таблицы соответствует кортеж отношения,

• все строки таблицы различны,

• порядок строк и столбцов произвольный.

 

Реляционная база данных представляет собой множество отношений.

Схема реляционной БД содержит следующие компоненты:  S(rel) = <A, R, Dom, Rel, V(s)>,

где         А -      множество имен атрибутов,

R -     множество имен отношений,

Dom - вхождение атрибутов в домены,

Rel -    вхождение атрибутов в отношения,

V(s) -  множество ограничений (функциональных зависимостей).

Описание процессов обработки отношений может быть выполнено двумя способами:

• указанием перечня операций, выполнение которых приводит к требуемому результату (процедурный подход),

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

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

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

Проекцией называется операция, которая переносит в результирующее отношение те столбцы исходного отношения, которые указаны в условии операции. Алгебраическая запись проекции имеет вид: R=I [X],

где I - исходное отношение,

R - результирующее отношение,

Х - список атрибутов в структуре отношения R (условие проекции).

Пример  1 - проекция

Рассмотрим два отношения: W1, содержащее сведения о продаже продукции  и W2, в котором указаны цены на продукцию и комплектующие изделия для соответствующих видов  продукции.

W1

Магазин

Продукция

План

Факт

Динамо

Динамо АТЭ

АТЭ

Эдв-12 ЭВИ

Эдв-12 Эдв-30

120

200

80

150

140

200

170

100

W2

Продукция

Цена

Компл.

Эдв-12

40

Вх-15

Эдв-12

40

Р-20

Эдв-30

20

Вк-15

Эдв-30 ЭВИ

20

120

Р-20

Р-20

Отношение R1, содержит сведения только о фактическом выпуске продукции (столбцы результирующего отношения могут указываться в любом порядке):   R1 = Wl [Maгaзин, Продукция, Факт]

R1

Магазин

Продукция

Факт

Динамо

Динамо

АТЭ

АТЭ

Эдв-12

ЭВИ

Эдв-12

Эдв-30

140

200

170

100

Пример  2   - проекция

Получение справочника цен на продукцию:  R21 = W2 [Продукция, Цена]

R21

Продукция

Цена

Эдв-12

Эдв-12

Эдв-30

Эдв-30

ЭВИ

40

40

20

20

120

Правильным результатом проекции является R22 (исключены повторения строк):

R22

Продукция

Цена

Эдв-12

Эдв-30

ЭВИ

40

20

120

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

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

1.   Имя_атрибута <знак сравнения> Значение,

где допускаются знаки сравнения   =, #, >, =>, <, <=.   Например, Цена > 100.

2.   Имя_атрибута_1 <знак сравнения> Имя__атрибута_2

Например,  Факт > План.

Имена атрибутов должны содержаться в структуре исходного отношения.

Алгебраическая запись выборки имеет вид  R = I [X],

где  I - исходное отношение;

R - результирующее отношение;

X - условие выборки.

Проекция – обработка по вертикали, выборка – по горизонтали.

Пример  3  - выборка

Получим значения  R3= W1[Продукция = "Эдв-12"]

R3

Магазин

Продукция

План

Факт

Динамо АТЭ

Эдв-12 Эдв-12

120

80

140

170

Пример  4  - выборка

Получим значения  R4= W1[Факт => План]

R4

Магазин

Продукция

План

Факт

Динамо Динамо АТЭ

Эдв-12

ЗВИ

Эдв-12

120

200

80

140

200

170

В команде Copy условия выборки и проекции могут присутствовать одновременно, но атрибуты условия выборки должны включаться в условие проекции.

Операции объединения, пересечения и вычитания производятся над двумя исходными отношениями с одинаковой структурой.

Обозначим исходные отношения через I1 и I2, а результирующее - R.

Объединение R = U(I1, I2) содержит строки, присутствующие либо в отношении I1, либо в I2.

Пересечение R = C(I1, I2) содержит строки, присутствующие в отношениях I1 и I2 одновременно.

Вычитание R = S(I1, I2) содержит те строки из I1, которые отсутствуют в I2.

Пример  5.   Если справочник цен на продукцию R22 необходимо дополнить новыми сведениями из отношения W3, то надо выполнить объединение   R5 = U (R22, W3):

W3

R5

Продукция

Цена

Продукция

Цена

Эдв-42

40

Эдв-12

40

Тэн-10

15

Эдв-30

20

ЗВИ

120

Эдв-42

40

Тэн-10

15

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

Имя_атрибута_1  <знак сравнения>  Имя_атрибута_2,

где Имя_атрибута_1 находится в одном исходном отношении, а Имя_атрибута_2 - в другом. Будем использовать следующее обозначение операции соединения:  R=Il [J] I2,

где    I1 и I2 - исходные отношения,

R - результирующее отношение,

J - условие соединения.

На практике наиболее важный частный случай соединения называется натуральным соединением и имеет следующие особенности:

•  знаком сравнения в условии соединения является   "=",

• Имя_атрибута_1 и Имя_атрибута_2 должны содержать пересечение списков атрибутов исходных отношений,

• список атрибутов результирующего отношения образуется в результате объединения списков атрибутов исходных отношений.

Пример  6.   Сведения о продаже продукции из отношения W1 дополнить данными о ценах на продукцию из отношения R22:

R6 = Wl [ Продукция = Продукция ] R22:

R6

Магазин

Продукция

План

Факт

Продукция

Цена

Динамо

Эдв-12

120

140

Эдв-12

40

Динамо

ЭВИ

200

200

ЗВИ

120

АТЭ

Эдв-12

80

170

Эдв-12

40

АТЭ

Эдв-30

150

100

Эдв-30

20

Первая строка из W1 и первая строка из R22 удовлетворяют условию Продукция = Продукция, поэтому сцепляются. Остальные строки из R22 не будут сцепляться с первой строкой из W1 (условие не соблюдается). Вторая строка из W1 при сравнении со всеми строками из R22 сцепится только с третьей строкой и т. д. Если применять операцию натурального соединения, то в отношении R6 будет отсутствовать второй столбец с именем Продукция.

Примечание:  В ряде случаев соединение дает некорректные результаты, например, соединение W1  и  W2 содержит одинаковые сообщения о выпуске продукции, потому что эти виды продукции используют несколько комплектующих изделий.

Операция деления отношений.  

Пусть существует отношение W4(ФИО,ЯП), где для каждого программиста с фамилией ФИО указываются языки программирования ЯП, которые он знает.

W4

ФИО

ЯП

Иванов

Си

Иванов

Фортран

Иванов

Паскаль

Петров

Си

Петров

Паскаль

Семин

Си

Семин

Фортран

Яшин

Фортран

Яшин

Паскаль

Выборка  R71 = W4 [ЯП = "Си" AND ЯП = "Фортран"]  создаст пустое отношение (в одной строке отношения нет информации о двух языках программирования сразу).

В теории, как правило,  вводится вспомогательная операция "образ".  В изученных Вами электронных таблицах  (Excel)  и  СУБД  (Access) это задание реализуется через фильтры и запросы.

PAGE  2


 

А также другие работы, которые могут Вас заинтересовать

66737. ЭКОЛОГИЧЕСКОЕ СОСТОЯНИЕ ПОЧВ Г. СВИРСКА ИРКУТСКОЙ ОБЛАСТИ: ОСОБЕННОСТИ НАКОПЛЕНИЯ И ДЕТОКСИКАЦИИ ТЯЖЕЛЫХ МЕТАЛЛОВ 5.34 MB
  Токсические свойства тяжелых металлов и мышьяка. Устойчивость и степень поглощения тяжелых металлов и мышьяка растениями: растения толеранты и растения аккумуляторы Особенности загрязнения природной среды и мероприятия по устранению экологической катастрофы в...
66738. Разработка теоретических и практических рекомендаций по совершенствованию стимулирования персонала предприятий 924 KB
  Для предпринимателя люди являются наиболее ценным ресурсом, так как именно люди могут постоянно совершенствоваться. Соответственно, умело управляя людьми, можно постоянно совершенствовать организацию производства и увеличивать прибыль.
66739. Проблема индивидуального сознания в экзистенциализме Ж.-П. Сартра 644 KB
  Актуальны специальные исследования, ставящие своей задачей анализ философского наследия различных авторов под углом вычленения, сопоставления, систематизации, обобщения материалов, которые касаются специфических свойств, системных и структурных характеристик сознания.
66740. Теоретическое обоснование, разработка и оценка внедрения дифференцированной системы оплаты труда врачебного персонала 4.33 MB
  В настоящее время оплата труда врача, неадекватна ответственности, напряженности и другим специфическим особенностям профессии медицинского работника. В то же время оплата труда в здравоохранении должна стимулировать персонал к повышению качества медицинской помощи...
66743. Прагматика единиц, выражающих статическое состояние в древнерусском и древнечешском языках 1.07 MB
  Интересным в этом плане нам представляется проследить формирование в данных славянских языках категории состояния то есть специфической группы знаменательных слов которые выражают физическое или психическое состояние человека обозначают природные явления а в предложении выполняют исключительно предикативную функцию.