Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
19-24.doc
Скачиваний:
5
Добавлен:
01.08.2019
Размер:
95.23 Кб
Скачать

19 Основные операторы реляцион. Алгебры. Оператор соединения. Формы оператора соединения. Пример.

Оператор JOIN-соединение Cf (R1,R2)

По условию заданному функ-ей f представл. собой отнош-е R, кот. можно получить путем декартового произведения, относ. R1 и R2 с последующ. применением результата. Операция выборки по формуле f.

Customer

CCODE FNAME ACODE

1 Иванов 22

2 Петров 21

3 Сидоров 22

AGENT

ACODE PHONE

21

22

24

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

Их соед. это результат 3-х ступенч. процедуры.

CCODE FNAME ACODE

1 Иванов 22

1 Иванов 22

1 Иванов 22

К получ. рез-ту примен. оператор SELECT, к кот. примен. только те строки где значение кода агента.

Т.о. устраняются дублируемые столбцы.

Окончат. Результатом действ. Оператора естественного соед., в кот не включены совпадающие пары и представлены только совпад-ие копии атрибутов.

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

Реляционные операторы. Уровень соответствия требованиям к реляционным БД может определятся степенью поддержки реляционной алгебры.Вариант предлагаемый Коддом определяет теоретические способы манипулирования содержимым таблиц с помощью 8 реляционных опер.

Select- выбор

Project-проекция

Joinсоединение

Intersectпересечение

Union объединение

Difference разность

Product произведение

Divide деление

Недостатки реляционной алгебры Кодда:

  1. Операторы по охвату своих функций избыточны, т.к. набор состоит из 5-и операторов.

  2. Этих восьми операторов недостаточно для построения СУБД на принципе реляционной алгебры.

Чтобы БД считали реляционной её СУБД должна поддерживать SELECT, JOIN, PROJECT.

Билет №20

Реляционные операторы. Уровень соответствия требованиям к реляционным БД может определятся степенью поддержки реляционной алгебры.Вариант предлагаемый Коддом определяет теоретические способы манипулирования содержимым таблиц с помощью 8 реляционных опер.

Select- выбор

Project-проекция

Joinсоединение

Intersect –пересечение

Union объединение

Difference разность

Product произведение

Divide деление

Недостатки реляционной алгебры Кодда:

  1. Операторы по охвату своих функций избыточны, т.К. Набор состоит из 5-и операторов.

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

Чтобы БД считали реляционной её СУБД должна поддерживать SELECT, JOIN, PROJECT.

Оператор JOIN-соединение Cf (R1,R2)

По условию зад-му функ-ей f представл. собой отнош-е R, кот. можно получить путем декартового произведения, относ. R1 и R2 с последующ. применением результата.

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

Если рассматривать внешние соед. На примере CUSTOMER и AGENT то возможно:

  1. Левостороннее внешнее соед., выводит все строки CUSTOMER включая те кот. Не имеют совпад знач. в таблице AGENT.

Ccode Fname Acode Phone

1 Иванов 22 133-…

2 Петров 21 123-…

3 Сидоров 22 133-…

4 Смирнов 23 null

2. Правостороннее внешн. Соед., выводит все строки табл. AGENT, включая те строки, кот. Не имеют совпад. Знач в CUSTOMER.

Ccode Fname Acode Phone

2 Петров 21 123-…

1 Иванов 22 133-…

3 Сидоров 22 133-…

null null 23 143-…

Билет№21

Реляционные операторы. Уровень соответствия требованиям к реляционным БД может определятся степенью поддержки реляционной алгебры.Вариант предлагаемый Коддом определяет теоретические способы манипулирования содержимым таблиц с помощью 8 реляционных опер.

Select- выбор

Project-проекция

Joinсоединение

Intersectпересечение

Union объединение

Difference разность

Product произведение

Divide деление

Недостатки реляционной алгебры Кодда:

  1. Операторы по охвату своих функций избыточны, т.к. набор состоит из 5-и операторов.

  2. Этих восьми операторов недостаточно для построения СУБД на принципе реляционной алгебры.

Чтобы БД считали реляционной её СУБД должна поддерживать SELECT, JOIN, PROJECT.

DIVIDEделение.

Результатом деления отношения R1 с атрибутами a и b на отношение R2 с атрибутом b, где a и b простые сост-е атрибуты, причем в общий атрибут определенный на одном и том же домене, является отношением заголовка и телом r, так, что R1 (имеющ. Картежи r,s), причем множ. Знач. s включает множ. Знач. атрибутов в отнош. R2.

См. табл. DIVIDE.

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

Единств. Знач. ассоциируемое как с A так и с B-5. Дополнительные операции реляционной алгебры включают следующее:

  1. Переименование-позволяет изменить имя атрибута.

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

  3. Операция подведения итогов.

Билет № 22

Язык запросов SQL.

Запрос представляет собой спец.образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных. СУБД чаще всего используют два осн.языка описания запросов:Язык QBE(запросов по образцу ),SQL (структурный язык запроса)

Хар-ки языка QBE.

Теоретич. Основа QBE явл. реляционные исчисления с переменными – доменами. Язык QBE позволяет задавать сложные запросы в БД, путем заполнения некоторой запросной формы СУБД.

В каждой СУБД есть свой вариант языка QBE результатом явл. новые таблицы называемые ответной , в случае операции модификации или удаления данных.

Хар-ка SQL.

SQL основан. На реляционном исчислении с переменными картежами. Язык имеет несколько стандартов – самый распрастр. SQL- 92. SQL стал фактич. Стандартным языком доступа к БД. Многие не реляционные системы имеют средства доступа к реляционным данным. Целью этого явл. переносимость приложение между различными СУБД. Язык SQL является реляционно полным, это означает , что любой оператор реляционной алгебры может быть выражен некоторым оператором языка SQL. SQL явл. непроцедурным языком, он ориентирован на доступ к данным и не содержит операторов управления, операторов ввода-вывода и.т.д. Поэтому его включают в состав средств разработки программ, в этом случае его называют встроенный SQL. SQL предназначен для манипулирования данными: добавление, модификация, удаление, выборка., и их администрирование(создание, удаление, модификация таблиц, индексов, представлений). Разл. 2 основных способа использования встроенного SQL-статического и динамического. При статическом использовании языка в тесте программы имеются вызовы операторов SQL, кот. Жестко включены в выполняемый модуль после компиляции. При динамическом использовании SQL предполагается динамическое построение вызовов SQL операторов и интерпретация этих вызовов в ходе выполнения программ. Динамический метод обычно примен. в случаях, когда в прилож. заранее не известен вид SQL вызова и он строится в диалоге с пользователем. Основное назнач. SQL-подготовка и выполн. запросов.

Операторы SQL.

  1. Операторы DDL –определение объектов БД.

CREATE SCHEMA

DROP SCHEMA – удалить

CREATE TABLE

ALTER TABLE – изменить таблицу

DROP TABLE

CREATE VIEW –создать представление.

  1. DML (операторы манипулирования данными)

SELECT-выбрать строку из т.

INSERT-добавить строку из т.

UPDATE-изменить строки в т.

DELETE

COMMIT-зафиксировать изменения.

ROLLBACK-отменить внесенные изменения.

  1. Операторы защиты и управления данными

CREATE ASSERTION-создать ограничения

DROP ASSERTION

GRANT-предоставит привилегии пользователю.

REVOKE-отменить привилегии.

Билет №23

Оператор SELECT

Все запросы на получение практич. любого кол-ва данных из одной или неск. табл. выполн. с помощью оператора SELECT. В общем случае результатом выполн. оператора SELECT явл. новая табл. К этой новой рабочей табл. может быть снова применен оператор SELECT. Такие операторы могут быть вложенными друг в друга.

Пример.: Пусть есть таблица Т1 со столбцами А1, А2, А3…, и таблица Т2 со столбцами А1, А2….

SELECT T1.A1,T1.A2,T2.A1

FROM T1,T2

WHERE T1.A3=T2.A3 AND T2.A2 IS NOT NULL

ORDER BY T1.A2,T2.A1 DESC;

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

FROM- из перечисленных таблиц в кот располож эти столбцы

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

HAVING- имел в результате лишь те группы, кот. Удовлетворяют указанному перечню отбора групп.

ORDER BY- упорядочив результаты выборки по указанному перечню столбцов по возврастанию (по убыванию)

Выборка без использования WHERE (Простая выборка)

Табл. CUSTOMER

SELECT CCODE, FNAME, ACODE FROM CUSTOMER;

Или более коротко:

SELECT * FROM CUSTOMER;

*-краткое обозначение всех имен полей в таблице указанной после фразы FROM.

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

Для искл. дубликатов и одновременного упорядоч. перечня необх. дополнить запрос ключевым словом DISTINCT(различные)

SELECT DISTINCT

ACODE FROM CUSTOMER

Билет 24

Оператор SELECT

Все запросы на получение практич. любого кол-ва данных из одной или неск. табл. выполн. с помощью оператора SELECT. В общем случае результатом выполн. оператора SELECT явл. новая табл. К этой новой рабочей табл. может быть снова применен оператор SELECT. Такие операторы могут быть вложенными друг в друга.

Пример.: Пусть есть таблица Т1 со столбцами А1, А2, А3…, и таблица Т2 со столбцами А1, А2….

SELECT T1.A1,T1.A2,T2.A1

FROM T1,T2

WHERE T1.A3=T2.A3 AND T2.A2 IS NOT NULL

ORDER BY T1.A2,T2.A1 DESC;

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

FROM- из перечисленных таблиц в кот располож эти столбцы

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

HAVING- имел в результате лишь те группы, кот. Удовлетворяют указанному перечню отбора групп.

ORDER BY- упорядочив результаты выборки по указанному перечню столбцов по возврастанию (по убыванию)

Выборка с использованием условий WHERE

SELECT NAME , QUANT, PRICE

FROM PRODUCT WHERE PRICE<30

AND QUANT>10;

NAME QUANT PRICE

Каран-ш 15 20

Линейка 20 25

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]