Материал для самостоятельной проработки. Операции реляционной алгебры.

Презентация:



Advertisements
Похожие презентации
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Advertisements

Языки манипулирования данными. Общая характеристика Язык, в котором можно (по крайней мере) моделировать исчисление с переменными- кортежами, либо, что.
Тема 1. Базы данных специального назначения Лекция 3: Реляционная алгебра. Реляционное исчисление. Средства языка SQL. Учебные цели занятия: Сформировать.
Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
Вставка INSERT INTO table (column, column,...) VALUES (expr, expr...) LOAD DATA INFILE "C:\\tmp\\file.txt" INTO TABLE table.
ЯЗЫК SQL Как и большинство современных реляционных языков, SQL основан на исчислении кортежей. В результате, каждый запрос, сформулированный с помощью.
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
Бланк запроса. Создание списка специальностей Вид при конструирования запросов.
1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
Операции реляционной алгебры базовые теоретико- множественные Объединение Разность Пересечение Произведение специальные реляционные Проекция Выборка Деление.
РЕЛЯЦИОННАЯ АЛГЕБРА. Элементы РМД и формы их представления Сущность – это объект любой природы. Данные о сущности хранятся в отношении (таблице). Атрибуты.
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
1 БАЗЫ ДАННЫХ Создание сложных запросов. Запросы на нескольких таблицах. ЗАНЯТИЕ 7 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
Базы данных Язык запросов SQL. Команда SELECT (продолжение)
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
SQL Реализация в ACCESS. Сравнение Microsoft Access SQL и ANSI SQL Microsoft Access SQL в основном отвечает стандарту ANSI-89 (уровень 1) некоторые средства.
Объединение таблиц Подзапросы. Оператор SELECT дает возможность выборки информации сразу из нескольких таблиц, которые перечислены в списке FROM. Такая.
Транксрипт:

Материал для самостоятельной проработки

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

3 Объединение отношений R1R1 абвR=R1 U R2 абв делаR = R1 UNION R2 дела клик где R2R2 игл где

4 Пересечение отношений R=R1 R2 R=R1 INTERSECT R2 игл

5 Разность отношений R=R1–R2 абв R=R1 MINUS R2 дела

6 Декартово произведение отношений R=R1 R2 абвигл R = R1 TIMES R2 абвгде делаигл делагде клик иглгде

7 S#SNAMESTATUSCITY S1Smith20London S2Jones10Paris S#SNAMESTATUSCITY S1Smith20London S4Clark20London Примеры операций Объединение Пересечение Разность S#SNAMESTATUSCITY S1Smith20London S4Clark20London S2Jones10Paris S#SNAMESTATUSCITY S1Smith20London S#SNAMESTATUSCITY S4Clark20London

8 Ограничение отношений (выборка) S#SNAMESTATUS S1Smith20 S4Clark20 S where city =London P where weight < 14 P#PNAMECOLORWEIGHT P1NutRed12 P5CamBlue12 SP where S# = S1 and P# = P1 S#P#QTY S1P1300

9 Проекция отношений CITY London Paris Athens S [CITY] COLORCITY RedLondon GreenParis BlueRome BlueParis P [COLOR, CITY] S# S2 S3 (S where city = Paris) [S#]

10 Соединение отношений A B C X Y AX BX CY S#SNAMESTATUSCITYP#PNAMECOLORWEIGHT S1Smith20LondonP1NutRed12 S1Smith20LondonP4ScrewRed14 S1Smith20LondonP6CogRed19 S2Jones10ParisP2BoltGreen17 S2Jones10ParisP5CamBlue12 S3Blake30ParisP2BoltGreen17 S3Blake30ParisP5CamBlue12 S4Clark20LondonP1NutRed12 S4Clark20LondonP4ScrewRed14 S4Clark20LondonP6CogRed19 (R1 TIMES R2) WHERE X Y X = Y (S JOIN P) WHERE S.CITY = P.CITY

11 Соединение отношений (R1 TIMES R2) WHERE X Y X > Y (S JOIN P) WHERE SCITY > PCITY S#S#SNAMESTATUSSCITYP#PNAMECOLORWEIGHTPCITY S2Jones10ParisP1NutRed12London S2Jones10ParisP4ScrewRed14London S2Jones10ParisP6CogRed19London S3Black30ParisP1NutRed12London S3 Black 30ParisP4ScrewRed14London S3 Black 30ParisP6CogRed19London

12 Деление отношений S#S#P#P# S1Р1 S1Р2 S1РЗ S1Р4 S1Р5 S1Р6 S2Р1 S2Р2 S3Р2 S4Р2 S4Р4 S4Р5 P# P1 P# P2 P4 P# P1 P2 P3 P4 P5 P6 S# S1 S2S2 S# S1 S4S4 S# S1 R1R2 R1 DEVIDEBY R2

13 Дополнительные операции Переименование RENAME NAME1 AS NAME2 Присваивание S:=S UNION {,,, } Вставка INSERT (S WHERE CITY = LONDON) INTO TEMP Обновление UPDATE P WHERE COLOR = Red CITY := Paris Удаление DELETE S WHERE STATUS < 20

14 Подведение итогов SUMMARIZE (P JOIN SP) BY (CITY) ADD COUNT AS NSP CITYNSP London Paris Rome SUMMARIZE SP BY (P#) ADD SUM (QTW) AS TOTQTY SUMMARIZE A BY (A1, A2, …, An) ADD exp AS Z

15 Примеры 1. Получить имена поставщиков, которые поставляют деталь P2: 2. Получить имена поставщиков, которые поставляют, по крайней мере, одну красную деталь: 3. Получить имена поставщиков, которые не поставляют деталь P2: ((SP JOIN S) WHERE P# = P2) [SNAME]. (((P WHERE COLOR = Red) JOIN SP) [S#] JOIN S) [SNAME] или (((P WHERE COLOR = Red) [P#] JOIN SP) JOIN S) [SNAME]. ((S [S#] MINUS (SP WHERE P# = P2) [S#]) JOIN S) [SNAME]

16

17

18 SQL - запросы

19 Общий синтаксис SQL -запроса SELECT FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ];

20 Синтаксис инструкции SELECT : SELECT [предикат] Предикаты TOP [PERCENT] DISTINCT DISTINCTROW

21 Примеры SELECT DISTINCT SP.SN, SP.PN SELECT SP.SN, SP.PN AS DETAL SELECT * FROM SP WHERE SN="S1" AND QTY<300; SELECT * FROM SP WHERE SN IN (S2, S4)

22 Запросы с вычислениями SUM, AVG, COUNT, MAX, MIN, FIRST, LAST SELECT SP.SN, P.WEIGHT * SP.QTY AS TOTAL_W FROM P, SP; SELECT MAX(QTY)-MIN(QTY) AS RAZBROS FROM SP; SELECT MAX(QTY)-MIN(QTY) AS RAZBROS FROM SP WHERE PN=P2;

23 Пример По каждому виду деталей определить количество поставщиков, разброс количества и вывести итоги в порядке уменьшения разброса. SELECT PN, COUNT(*) AS KOLPOST, MAX(QTY)-MIN(QTY) AS RAZBROSPOST FROM SP GROUP BY PN ORDER BY MAX(QTY)-MIN(QTY) DESC;

24 HAVING Предыдущий пример - при условии, что учитываются только детали с поставкой не менее 400 штук. SELECT PN, COUNT(*) AS KOLPOST, MAX(QTY)-MIN(QTY) AS RAZBROSPOST FROM SP GROUP BY PN HAVING MAX(QTY)-MIN(QTY)>=400 ORDER BY MAX(QTY)-MIN(QTY) DESC ;

25 Объединение таблиц в запросах FROM INNER JOIN ON = Из таблицы P отобрать записи только для тех товаров, которые присутствуют в таблице SP. SELECT P.PN, PNAME,CITY,QTY FROM P INNER JOIN SP ON P.PN=SP.PN ;

26 Несимметричное объединение таблиц в запросах FROM LEFT JOIN ON = Из таблицы P отобрать записи для всех деталей и по возможности дополнить их данными, которые присутствуют в таблице SP. SELECT P.PN, PNAME,CITY,QTY FROM P LEFT JOIN SP ON P.PN=SP.PN ;