6040

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

Контрольная

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

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

Русский

2012-12-27

96.5 KB

10 чел.

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

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

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

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

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


 

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

77400. Определение токсичных выбросов в атмосферу от объектов традиционной энергетики 142 KB
  Определяется полное количество тепла полезно использованное в паровом котле кВт 1. Значения удельной энтальпии энергоносителя определяется при известных его параметрах по таблицам теплофизических свойств воды и водяного пара. Определяется расход топлива на каждый котел установленный в тепловом источнике г с 1. Определяется расход топлива на все котлы установленные в тепловом источнике г с 1.
77401. Признание брака недействительным 44 KB
  Понятие и основания признания брака недействительным. Под признанием брака недействительным понимается аннулирование брака и всех его правовых последствий с момента его заключения. Признание брака недействительным по правовой природе – санкция за нарушение требований установленных семейным законодательством.
77402. Правоотношения супругов 135.5 KB
  Личные неимущественные права и обязанности супругов. Каждый из супругов вправе выбирать место жительства место пребывания профессию и род занятий. СК не обязывает супругов проживать совместно но это более благоприятно устанавливая свободу в выборе место пребывания и места жительства – предоставляет выбор и свободу жить раздельно может быть даже и весь период супружеской жизни.
77404. Правоотношение родителей и детей 168 KB
  В данном случае – это происхождение ребёнка от конкретных лиц удостоверенное в установленном законом порядке. Установление происхождения ребёнка рождённого в браке. Происхождение ребёнка рождённого в браке установить довольно проще чем рождённого вне брака. Установление происхождения ребёнка рождённого в браке происходит в административном порядке.
77405. Алиментные обязательства членов семьи 75.5 KB
  Алиментное обязательство является имущественным правоотношением и средства предоставляющиеся в качестве алиментов представляют собой товар. В настоящее время алиментные обязательства могут возникать не только на основании закона но и на основании соглашения об уплате алиментов. Взаимность и возмездность в том что если родитель в своё время уклонялся от выполнения обязанности по содержанию ребёнка суд может освободить ребёнка от уплаты алиментов. Плательщик алиментов выплачивает алименты не предполагая получить какое-либо имущественное...
77406. Усыновление (удочерение) детей 102.5 KB
  Что касается усыновления – он в СК не раскрыт используется в различных аспектах: Правовой институт который представляет собой систему правовых норм посвящённых подбору усыновителей определению порядка передачи ребёнка на усыновление условия усыновления установление порядка и правовых последствий прекращения отношений по усыновлению. Усыновление как форма устройства определяет юридическую судьбу ребёнка. Усыновление обладает приоритетом именно для того чтобы обеспечить наилучшие интересы ребёнка существуют определённые правила...
77407. Семейное право в правовой системе РФ 40 KB
  Понятие и признаки семьи. Семья в Российском праве не является субъектом S является лишь члены семьи. Понятие семьи даётся социологическими науками понимается и как сожительство разнополых особей но и как различного степени родства людей или находящихся в свойстве родственниками по крови они не являются. В российском праве нет единого определения семьи которое бы имело значение для всех отраслей российского права.
77408. Семейные правоотношения 58 KB
  Семейное правоотношение – правоотношение урегулированное нормами семейного права. Все семейные права и обязанности строго персонифицированы они не передаваемые при правоприемстве. Семейные правоотношения – индивидуализирующая членов семьи юридическая связь содержанием которой являются семейные права и обязанности гарантированные принудительной силой государства. Семейная правоспособность – абстрактная возможность иметь семейные права и нести семейные обязанности.