Меню

Реляционная алгебра 3 1 Операции над таблицами операции реляционной алгебры

Реляционная алгебра. 3.1. Операции над таблицами (операции реляционной алгебры)

3.1. Операции над таблицами (операции реляционной алгебры).

Над реляционными таблицами можно выполнять пять основных операций:

Эти операции являются независимыми. Ни одну из них нельзя получить комбинацией четырех остальных. Помимо этих четырех операций в состав реляционной алгебры включают также операцию переименования полей и три зависимых операции:

Таким образом, данная реляционная алгебра является избыточной. Однако общепринятый язык доступа к данным в реляционных базах SQL базируется именно на этой алгебре, которая носит имя британского ученого-математика Эдгара Кодда (1923-2003).

Проекция (projection, обозначается «π») – это унарная операция (выполняемая над одной таблицей), служащая для выбора подмножества полей из таблицы R. Результатом операции будет таблица с меньшим числом полей, а также, возможно, с меньшим числом записей за счет последующего исключения повторяющихся записей. Аргументами операции являются исходная таблица и подмножество ее полей, которое образует заголовок результирующей таблицы.

Пример проекции представлен на рис. 3.1.

Исходная таблица Т
Шифр Автор Название Год издания Число страниц
И54 Иванов А.Б. Волоконная оптика
Д01 Шабалин С.А. Измерения для всех
И81 Иванов А.Б. Волоконная оптика
Проекция исходной таблицы П2 = π (Т, <Автор, Название>)
Автор Название
Иванов А.Б. Волоконная оптика
Шабалин С.А. Измерения для всех

Рис. 3.1. Пример применения к таблице Т операции «проекция».

Селекция (selection, обозначается «σ») – это унарная операция, результатом которой является подмножество записей исходной таблицы, удовлетворяющих условиям, которые накладываются на значения определённых полей.

На рис. 3.2 приведены примеры селекции записей из таблицы Т, представленной на рис. 3.1.

Рис. 3.3. Декартово произведение таблиц

Объединение (union, обозначается «U») – это бинарная операция, которую можно производить над таблицами, имеющими одинаковые заголовки, результатом которой является таблица, включающая все записи обеих таблиц без повторов.

Таблица Т1 – студенты, изучающие физику
Студент Группа
Иванов И.И. М-01
Петров П.П. М-01
Сидоров С.С. М-03

Рис. 3.4. Объединение таблиц.

Разность (set difference, обозначается «–») – это бинарная операция, которую можно производить над таблицами Т1 и Т2, имеющими одинаковые заголовки, результатом которой является таблица Т1–Т2, включающая подмножество тех записей Т1, которых нет в таблице Т2.

Разность Т1 — Т2 – студенты, изучающие физику и не изучающие химию
Студент Группа
Иванов И.И. М-01
Сидоров С.С. М-03

Рис. 3.5. Разность таблиц, представленных на рис. 3.4.

Операции объединения и разности могут производиться только над таблицами, имеющими одинаковые заголовки. Часто возникают ситуации, когда поля двух таблиц имеют разные имена, но в остальном одинаковы. В этом случае их можно сделать одинаковыми с помощью операции переименования поля (rename). Аргументами этой операции является таблица, имя поля, которое подлежит переименованию, и его новое имя.

Соединение (join, обозначается » «) – это операция, аргументами которой в общем случае являются таблицы Т1 и Т2 и условие У, а результатом – таблица, заголовок которой является сцеплением заголовков двух исходных таблиц и состоящая из записей, удовлетворяющих условию У и составленных из сцепленных записей исходных таблиц. Соединение может быть получено сочетанием операций декартова произведения и селекции: Т1 Т2 = σУ (Т1 × Т2). Пример соединения представлен на рис. 3.6.

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

Таблица Т1
Номер товара Наименование товара Цена
Принтер HP LaserJet 1100
Кабель USB 3 м
Мышь Logitech

Дата добавления: 2015-06-30 ; просмотров: 177 ; Нарушение авторских прав

Источник

Операции над таблицами пример

СУБД ACCESS 2000. ОПЕРАЦИИ НАД ТАБЛИЦАМИ. ФИЛЬТРАЦИЯ ДАННЫХ. УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ. ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ

Access позволяет производить редактирование полей и записей таблицы. Переименование, добавление, удаление полей возможны как в режиме Конструктора, так и в режиме Таблицы. Ввод данных в таблицу и их редактирование ведется в режиме Таблицы. Существуют три операции с записями: добавление, удаление, изменение.

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

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

Для того чтобы вернуться к первоначальному порядку сортировки, нужно выполнить команду Удалить фильтр меню Записи.

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

Фильтрация — это способ быстрого отбора записей в режиме таблицы в соответствии с заданным критерием. Произвести отбор записей можно с помощью следующих команд:

  • Фильтр по выделенному,
  • Обычный фильтр;
  • поле Фильтр для;
  • Расширенный фильтр.

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

Обычный фильтр используется для отбора записей по значениям нескольких полей. Для выполнения данного фильтра используется команда Фильтр — Изменить фильтр меню Записи.

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

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

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

  • таблицы должны содержать поля с одинаковыми записями;
  • типы данных, длины полей, а главное — значения обязательно должны совпадать.

Связи между таблицами устанавливаются на Схеме данных.

Схема данных строится в соответствии с информационно-логической моделью данных. При построении схемы данных Access автоматически выбирает тип связи по выбранному полю таблиц.

Одна из связанных таблиц является главной (базовой), вторая — подчиненной. Access позволяет установить связи следующих типов:

  • связь один-к-одному, при которой одной записи из главной таблицы соответствует одна запись из подчиненной таблицы;
  • связь один-ко-многим, при которой одной записи из главной таблицы соответствует несколько записей из подчиненной таблицы.

Чтобы вызвать окно Схема данных, необходимо выполнить одноименную команду меню Сервис или нажать соответствующую кнопку инструментальной панели.

Добавить таблицу в окно Схема данных можно, выз-вав правой кнопкой мыши контекстное меню и выбрав пункт Добавить таблицу или выполнив команду Связь — Добавить таблицу, а также используя соответствующую кнопку инструментальной панели.

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

  • обеспечение целостности связи;
  • каскадное обновление полей;
  • каскадное удаление связанных полей.

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

На главную | Каталог статей | Карта сайта

При любом использовании материалов установите обратную ссылку на своем сайте.
Рефераты, шпаргалки

Источник



Основные операции языка SQL

Вы будете перенаправлены на Автор24

История языка SQL

Для управления данными в реляционных СУБД используется язык высокого уровня SQL (Structured Query Language — структурированный язык запросов). SQL был разработан в конце 70-х компанией IBM. В 1989 году международная организация по стандартизации ISO официально приняла международной стандарт языка. В 1992 году ISO обновила этот стандарт. И на сегодняшний день все реляционные СУБД, существующие в мире, поддерживают стандарт SQL 92 года. Нужно заметить, что в разных СУБД имеются некоторые отличия в синтаксисе языка, поэтому можно говорить о «диалектах» SQL для разных СУБД. Но общие принципы и базовые операторы во всех диалектах совпадают.

Основные структуры языка SQL

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

Готовые работы на аналогичную тему

Таблица должна обладать следующими свойствами:

  1. Иметь уникальное для рассматриваемой базы данных имя. Таблица с таким же именем может существовать при условии, что она относится к другой базе данных, которая находится под управлением этой же СУБД.
  2. Иметь конечное и постоянное число полей. Иногда бывают ситуации, когда нужно добавить новые поля или удалить имеющиеся. Но в этом случае речь идет уже об изменении структуры таблицы по причине изменений в предметной области. Это происходит не часто.
  3. Иметь конечное число записей. Возможно, что это число равно нулю.
  4. Поля таблицы имеют уникальные в рамках данной таблицы имена. В другой таблице могут присутствовать поля с такими же именами.
  5. Все значения, которые находятся в одном поле, должны иметь одинаковый тип данных. Например, для поля с именем «ДатаРождения» логично выбрать тип данных «Date». Данный столбец должен содержать исключительно даты и ничего другого.
  6. Записи не имеют какой-либо специальной упорядоченности и идентифицируются только своим содержимым.
  7. Значение поля таблицы может быть пустым. В этом случае считается, что оно содержит специальное значение NULL.

На данные, хранящиеся в таблицах допустимо накладывать следующие ограничения:

Требование уникальности значений определенного поля или группы полей для каждой записи.

Например, если в таблице есть поле, содержащее идентификационный номер налогоплательщика (ИНН), то его следует объявлять уникальным. В этом случае СУБД сама будет сообщать об ошибке при попытке ввести два одинаковых ИНН. Если же в таблице есть два поля «СерияПаспорта» и «НомерПаспорта», то следует объявить уникальными их сочетание. Потому что существует много одинаковых серий и одинаковых номеров паспортов, но сочетание серии и номер всегда уникально.

Требование запретить для какого-либо поля иметь значение NULL.

Операции над таблицами

В реляционной модели принято четыре основных операции над таблицами:

  • Проекция;
  • Ограничение;
  • Объединение;
  • Подмножество декартова произведения.

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

Проекция таблицы – построение из данной таблицы новой таблицы путем выбора лишь некоторых полей.

Проекция исходной таблицы:

Основные операции языка SQL. Автор24 — интернет-биржа заказчиков и авторов

Ограничение – построение из данной таблицы новой таблицы путем выбора записей удовлетворяющих определенному условию.

Выберем из исходной таблицы примера 1 всех, кто имеет должность «лаборант». В результате получится новая таблица:

Объединение – построение из двух таблиц с одинаковой структурой одной таблицы, включающей все записи обеих исходных.

Пусть имеется две таблицы с одинаковой структурой

В результате объединения получится таблица 3:

Основные операции языка SQL. Автор24 — интернет-биржа заказчиков и авторов

Подмножество декартова произведения – построение новой таблицы из двух исходных таблиц путем слияния определенных строк исходных таблиц

Пусть имеется две таблицы:

Тогда подмножеством декартова произведения будет таблица, в которой к строкам таблицы 1 добавлен оклад из таблицы 2 в соответствии с должностью:

Источник

Основы реляционной алгебры

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

Так что если вы собираетесь начать свое обучение в этой области или вам просто стало интересно, прошу под кат.

Реляционная база данных

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

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

таблица PRODUCTS

ID NAME COMPANY PRICE
123 Печеньки ООО ”Темная сторона” 190
156 Чай ООО ”Темная сторона” 60
235 Ананасы ОАО ”Фрукты” 100
623 Томаты ООО ”Овощи” 130

Таблица состоит из 4х строк, строка в таблице является кортежем в реляционной теории. Множество упорядоченных кортежей называется отношением.
Перед тем как дать определение отношения, введем еще один термин — домен. Домены применительно к таблице это столбцы.

Для ясности, теперь введем строгое определение отношения.

Пусть даны N множеств D1,D2, …. Dn (домены), отношением R над этими множествами называется множество упорядоченных N-кортежей вида , где d1 принадлежит D1 и тд. Множества D1,D2. Dn называются доменами отношения R.
Каждый элемент кортежа представляет собой значение одного из атрибутов, соответствующего одному из доменов.

Ключи в отношениях

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

COMPANY DRIVER
ООО ”Темная сторона” Владимир
ООО ”Темная сторона” Михаил
ОАО ”Фрукты” Руслан
ООО ”Овощи” Владимир

Видно, что в организации может быть несколько водителей, и чтобы однозначно идентифицировать водителя необходимо и значение из столбца “Название организации” и из “Имя водителя”. Такой ключ называется составным.

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

Этой подготовительной теории будет достаточно для знакомства с основными операциями реляционной алгебры.

Операции реляционной алгебры

Основные восемь операций реляционной алгебры были предложены Э.Коддом.

  • Объединение
  • Пересечение
  • Вычитание
  • Декартово произведение
  • Выборка
  • Проекция
  • Соединение
  • Деление

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

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

ID SELLER
123 OOO “Дарт”
156 ОАО ”Ведро”
235 ЗАО “Овоще База”
623 ОАО ”Фирма”

Условимся, что в этой таблице ID это внешний ключ, связанный с первичным ключом таблицы PRODUCTS.

Для начала рассмотрим самую простую операцию — имя отношения. Её результатом будет такое же отношение, то есть выполнив операцию PRODUCTS, мы получим копию отношения PRODUCTS.

Проекция

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

Синтаксис операции:
π (ID, PRICE) PRODUCTS

В результате этой операции получим отношение:

ID PRICE
123 190
156 60
235 100
623 130
Выборка

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

Синтаксис операции:
σ (PRICE>90) PRODUCTS

ID NAME COMPANY PRICE
123 Печеньки ООО ”Темная сторона” 190
235 Ананасы ОАО ”Фрукты” 100
623 Томаты ООО ”Овощи” 130

В условии выборки мы можем использовать любое логическое выражение. Сделаем еще одну выборку с ценой больше 90 и ID товара меньше 300:

Для примера использования этой операции представим себе необходимость выбрать продавцов с ценами меньше 90. Без произведения необходимо было бы сначала получить ID продуктов из первой таблицы, потом по этим ID из второй таблицы получить нужные имена SELLER, а с использованием произведения будет такой запрос:

Источник

Читайте также:  Мифы и легенды связанные с сомами