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


 

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

13125. Әл-Фараби еңбектеріндегі халықтық педагогика мәселелері 55.5 KB
  ӘлФараби еңбектеріндегі халықтық педагогика мәселелері Халықтық педагогикалық құбылыстарды зерттеушілер ресми педагогика мен халық педагогикасының бірінбірі толықтыратын кеңейтіп отыратын өзара ықпалы мен өзара шарттастығын дәлелді ашып түсіндіреді. Егер рес...
13126. Әулие ата - Жамбыл өңіріндегі оқу-ағарту ісінің дамуы мен ерекшеліктері 43 KB
  ӘУЛИЕ–АТА МЕН ЖАМБЫЛ ОБЛЫСЫНДАҒЫ ОҚУ–АҒАРТУ ІСІНІҢ ДАМУ ЕРЕКШЕЛІКТЕРІ Э.Қайырбаева А.Мейірбекова Керімбай атындағы №12 мектепресурстық орталығыТараз қ. Араға жарты ғасыр салып өлгеніміз тіріліп өшкеніміз жанды жоғымызды қозғап барымызды көрсетуге мүмкін...
13127. Жеке тұлғаны ұлттық құндылықтарға бағыттап оқыту 42 KB
  ӘОЖ 3701: 014.544.018 І 28 ЖЕКЕ ТҰЛҒАНЫ ҰЛТТЫҚ ҚҰНДЫЛЫҚТАРҒА БАҒЫТТАП ОҚЫТУ Ж.Ж. Ізбасарова ТаразҒасыр колледжі Тараз қ. Бүгінгі ғаламдану процесінде ұлттық құндылықтарды сақтау мен өзінің бетбейнесін ізгі дәстүрлерін сақтау жолындағы күрес ұлтты
13128. Жоғары оқу орнында болашақ география мұғалімдерін этнопедагогикалық даярлауды жетілдіру 266.5 KB
  ӘОЖ [371.13:37.013] : 378 Қолжазба құқығында КАДИРБАЕВА ДИДАР АРТЫҚБАЙҚЫЗЫ Жоғары оқу орнында болашақ география мұғалімдерін этнопедагогикалық даярлауды жетілдіру 13.00.08 – Кәсіби білім беру...
13129. Жүсіп Баласағұни еңбектеріндегі халықтық педагогика мәселелері 44 KB
  Жүсіп Баласағұни еңбектеріндегі халықтық педагогика мәселелері Ж.БАЛАСАҒҰНИДЫҢ ізімен немесе одан тәуелсіз қорытындылар арқылы ғылымның және білімнің маңыздылығы мен пайдалылығы идеясын Махмұд Қашғари Ахмет Жүйнеки Қожа Ахмет Яссауи Имад аддин Әбул Қасым ӘлФ...
13130. Стандартные модули и модульная структура приложений в VB 343.32 KB
  Тема 5.1. Лабораторная работа Стандартные модули и модульная структура приложений в VB Цель данной лабораторной работы состоит в изучении средств приемов и получении практических навыков разработки написания и отладки проектов использующих несколько форм закр...
13132. Теоретические основы объектно-ориентированного программирования 258 KB
  Лабораторная работа по теме Тема 5.2. Теоретические основы объектноориентированного программирования Цель данной лабораторной работы состоит в изучении основных понятий объектноориентированной технологии и получении практических навыков разработки объектно...