русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Реляционное исчисление


Дата добавления: 2013-12-23; просмотров: 1219; Нарушение авторских прав


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

В реляционном исчислении вводится следующий алфавит A:

· Отдельные константы.

· Индексные переменные.

· Переменные выборки.

· Одноместные (монадические) предикаты.

· Двуместные предикаты (диадические предикаты или операции сравнения).

· Логические символы, включая кванторы.

· Разделители (круглые и квадратные скобки).

В реляционном исчислении вводится однозначное соответствие между одноместным предикатом и отношением в конкретной базе данных. Так, если в БД даны отношения R1, ¼. Rn, то предикат Pj показывает принадлежность выборки к отношению Rj.

В реляционном исчислении используются следующие термы:

Терм диапазона (ТД). Одноместный предикат, за которым следует переменная выборки, называется термом диапазона. Терм диапазона , где v – переменная выборки, понимается как некоторое высказывание, заключающееся в том, что переменная выборки v имеет в качестве своего значения кортежи отношения Rj (диапазон отношения). Для определения N – го компонента выборки v вводится понятие операции индексной выборки, которая имеет вид v[N]. N индексная константа, указывающая на атрибут с номером N.

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

Терм объединения (ТО). Пусть l и m - индексные выборки, а a - отдельная константа. Тогда lqm и lqa называются термом диапазона, где q - двухместный предикат.

q = {>, <, =, ¹, ³, £}

В SQL появляются более сложные предикаты Like, Between, In, которые будут рассмотрены в своем месте.

Эти два терма являются единственными в реляционном исчислении. Из термов с помощью логических связок и разделителей строятся формулы РИ. Правильно построенные формулы (ППФ) в РИ определяются следующим образом:



1. Любой ТД или ТО есть ППФ.

2. Если F – ППФ, то -- ППФ.

3. Если F, G – ППФ, то (FÚG), (FÙG) – ППФ.

4. Если F – ППФ, в которой v переменная, то ($v)F, ("v)F – ППФ.

5. Никакие другие формулы не являются ППФ.

Диапазонной ППФ является, свободная от кванторов ППФ, все термы которой являются ТД.

ППФ, имеющая четко определенные диапазоны для всех своих переменных, называется диапазонно – сепарабельной, и определяется как конъюнкция из форм:

где

1.1.

2.- соответствующие диапазонные ППФ по n различным переменным.

3.v или пусто, или это ППФ с тремя свойствами:

а) каждый квантор в v диапазонно связан.

б) каждая свободная переменная в v принадлежит к множеству, чьи диапазоны определены в .

в) v не содержит термы диапазона.

Запрос в РИ записывается в виде a - выражений, имеющих вид:

где

1. w – диапазонно – сепарабельная ППФ.

2. - термы, причем каждый состоит из переменных выборки или индексных переменных.

3. Множество переменных выборки из входит в множество переменных в w.

 

.Виды запросов РИ

 

Простой запрос. Найти фамилии всех студентов.

Список аргументов пуст (присутствует только диапазонная ППФ). Данный запрос можно трактовать, как проекцию отношения Student на домен FIOS.

- список цели. - терм диапазона.

Отображение состоит из имени отношения Student и имени атрибута FIOS. Значением являются все фамилии.

Множество различных фамилий из атрибута FIOS отношения Student копируется в рабочее поле w, которое можно рассматривать как унарное отношение с единственным атрибутом FIOS.

Запрос с квалифицирующим выражением. Составить список студентов, обучающихся в группе АП71.

Выполняется отображение, которое моделирует обычный способ работы с таблицей. В данном случае просматривается столбец SGroup отношения Student и при удовлетворении условий строится множество различных пар <NZach, FIOS>, которые копируются в поле w. К w можно обращаться как к бинарному отношению с атрибутами и FIOS.

Запрос с единственным квантором существования. Найти предметы, которые сдавала группа АП71.

Этот запрос можно перефразировать следующим образом: Найти наименования тех предметов, для которых в отношении Vedom существует тот же код предмета и одновременно, для которых шифр группы равен АП71.

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

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

В этом примере используется естественное правило умолчания для введения квантора существования: если переменной нет в целевом списке, то для нее предполагается квантор существования.

Запрос с несколькими переменными выборки в общем диапазоне. Найти Ф.И.О. студентов, учащихся в одной группе с Ивановым М.М.

Заметим, что имеют общий диапазон Student, но должны быть различимы в запросе. Ответ на этот запрос включает фамилию самого Иванова М.М.. Пример показывает, что в композиции отношений может использоваться одно и то же отношение. Это приводит к двукратному просмотру отношения Student.

Запрос с отрицанием. Найти студентов, которые не учатся в группе АП71.

Запрос с единственным квантором общности. Найти предметы, которые не сдавала группа АП71.

Учитывая, что получим:

Мощность реляционного исчисления запросов возрастает, если в нем разрешить использование функций. Здесь используем функцию count , подсчитывающую количество элементов в конечном множестве. Другие функции рассмотрим при описании QBE и SQL.

Запрос с функцией в целевом списке. Определить количество студентов в группе АП71.

Запрос с функцией в квалифицирующем выражении. Найти преподавателей, которые принимали более десяти экзаменов.

Практически все другие запросы можно рассматривать как комбинации этих запросов.

.Алгоритм редукции

 

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

Алгоритм

Шаг 1. Определяются диапазоны, существующих в a - выражении переменных выборки путем просмотра отношений из базы и путем применения операций объединения, пересечения и вычитания.

Шаг 2. Берется декартово произведение этих диапазонов.

Шаг 3. Выборки, которые не удовлетворяют комбинации термов объединения, удаляются из отношения.

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

Шаг 5. Выполняется проекция в соответствии с целевым списком и тем самым определяется требуемое отношение.

 

 

 


.Реляционное исчисление доменов

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

 

Описание языка SQL

Язык структурированных запросов SQL (Structured Query Language) представляет собой специализированный набор программных команд, позволяющий пользователю выполнять следующие задачи:

1. Выбирать данные из одной или нескольких таблиц в одной или нескольких базах данных.

2. Манипулировать данными, вставляя, удаляя или обновляя записи.

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

4. Создавать, модифицировать или удалять таблицы в БД.

5. Создавать или удалять индексы в таблицах.

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

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

Обычно SQL – оператор возвращает затребованные записи в виде динамического набора. Динамический набор представляет собой обновляемый набор записей, в котором фактически содержатся указатели на записи. Динамические наборы являются временными и после закрытия становятся недоступными.

 

.Элементы SQL – оператора

SQL – оператор состоит из трех элементов:

1. Объявления параметров – необязательные параметры, которые программа передает оператору SQL.

2. Команды – сообщает СУБД тип выполняемой операции, например, Select.

3. Объявления опций – указывает на условия фильтрации, порядок группировки или сортировки.

Синтаксис оператора:

[Объявление операторов] Команда [Опции]

Команды SQL – операторов:

 

Команда Функция
Delete Удаляет записи из таблицы
Insert Добавляет в таблицу группу записей
Select Выбирает группу записей и помещает их в динамический набор данных
Update Задает значения полям таблицы

 



<== предыдущая лекция | следующая лекция ==>
Реляционная алгебра | Оператор Select


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.