Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shporochki_na_obdz.doc
Скачиваний:
3
Добавлен:
05.08.2019
Размер:
173.57 Кб
Скачать

Vsize ( выраж ). Возвpащает количество байтов, котоpое занимает "выраж" во внутpеннем пpедставлении oracle. 33. Групповые функции.

AVG([DISTINCT|ALL]n) Среднее значение n, с игнорированием пустых значений.  COUNT([DISTINCT|ALL], "выраж") - Количество строк,в которых "выраж" не является пустым (NULL). '*'-обозначает, что COUNT подсчитывает все выбранные строки.  MAX([DISTINCT|ALL], выраж) - Максимальное значение "выраж".  MIN([DISTINCT|ALL], выраж) - Минимальное значение "выраж".  STDDEV([DISTINCT|ALL], n) - Среднеквадратичное (стандартное) отклонение от n, с игнорированием пустых значений.  SUM([DISTINCT|ALL], n) Cумма значений n.  VARIANCE([DISTINCT|ALL], n) Дисперсия n, с игнорированием пустых значений. 34. Иерархические запросы.

CONNECT BY определяет древовидную структуру для строк и способ связи строк в дерево. Фраза PRIOR должна стоять перед фразой "условие". PRIOR представляет "родителя" в отношениях "отец-сын" между вершинами дерева. Другая часть представляет "сына". Например, "CONNECT BY PRIOR EMPNO=MGR" означает, что поле EMPNO в родительской вершине равно полю MGR в каждой вершине потомка. Максимальное число уровней в CONNECT BY равно 256.  START WITH определяет строку (или строки), используемые в качестве корня (или корней), путем задания условия. Если эта фраза опущена, то SELECT возвращает серии деревьев, начинающихся с каждой выбранной строки.  Когда команда SELECT содержит фразу CONNECT BY , можно использовать псевдостолбец LEVEL, который возвращает число 1  для корневой вершины, 2 - для "сына", 3 - для "внука" и т.д.

35. Упорядочивание данных, найденных запросом.

Описание: оператор ORDER BY используется для определения порядка, в котором результаты запроса будут отображаться на дисплее. Строки с одними и теми же значениями упорядочиваются с помощью значения следующего элемента (если он указан) и т.д..  ASC или DESC задает порядок возрастания или убывания. Пустые значения предшествуют всем остальным и в порядке возрастания, и в порядке убывания. ORDER BY должен быть указан после всех остальных фраз. Если определены и ORDER BY, и DISTINCT , то ORDER BY не может ссылаться на столбцы, которые не упоминаются в команде SELECT. По умолчанию используется ASC.  36. Соединения таблиц.

Соединение (Join): Используется в запросе для представления частей строк одновременно двух или более таблиц. Также, является правилом, по которому строки одной таблицы соединяются со строками другой таблицы.  [INNER] Тип соединения «внутреннее». Внутренний тип соединения используется по умолчанию, когда тип явно не задан (то есть, опущено ключевое слово INNER). Если не приведено ни одного условия совпадения, то будет возвращено декартово произведение, в котором каждая строка одной таблицы будет сопоставлена с каждой строкой другой таблицы. То есть будут получены всевозможные сочетания из обеих таблиц. Такое соединение в разделе FROM может быть заменено списком таблиц через запятую. Объединяет две таблицы, где каждая строка обеих таблиц в точности соответствует условию. Если для строки одной таблицы не найдено соответствия в другой таблице, строка не включается в набор.  LEFT (OUTER) - Тип соединения «левое (внешнее)». Левое соединение таблиц А и В включает в себя все строки из левой таблицы А и те строки из правой таблицы В, для которых обнаружено совпадение. Для строк из таблицы А, для которых не найдено соответствия в таблице В, в столбцы, извлекаемые из таблицы В, заносятся значения NULL. RIGHT [OUTER] JOIN аналогично левому соединению  FULL OUTER JOIN - включает в себя все строки из обеих таблиц A и B. Для строк, которым не найдено соответствие в другой таблице заносятся значения NULL. NATURAL JOIN – связь без каких либо условий, соединяются только одинаковые строки

Соединение 3 таблиц: select* from emp inner join dept using(deptno) inner join salgrade on emp.sal between losal and hisal

Соединение самой с собой: select e.ename, m.ename from emp e, emp m where e.mgr=m.empno and…

Минимальное число условий соединения равняется количеству соединяемых таблиц минус один  Виды соединений:  1. Соединение по равенству  В двух однотипных столбцах одинаковое содержание  SELECT *  FROM emp, dept  WHERE emp.deptno=dept.deptno  2. Соединение не по равенству  SELECT *  FROM emp, salgrade  WHERE sal BETWEEN losal AND hisal  3. Внешнее соединение  Если строка не удовлетворяет условию соединений, то никогда не попадает в таблицу результатов.  Для того чтобы увидеть строки которые есть в одной таблице и которым нет соответствия в другой используют внешнее соединение. 37. Команды языка определения данных.

Язык определения данных (Data Definition Language, DDL) используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:  CREATE DATABASE/ TABLE/ INDEX (создать базу данных, таблицу, индекс)  ALTER DATABASE/ TABLE/ INDEX (модифицировать базу данных, таблицу, индекс)  DROP DATABASE/ TABLE/ INDEX (удалить базу данных, таблицу, индекс) 

RENAME старое имя TO новое имя.

TRUNCATE TABLE имя – удаление всех строк из табл. Не используя механизм транзакции без возможности восстановления 38. Команды языка манипулирования данными.

Язык манипулирования данными (DML) - это часть языка SQL, предназначенная для реального внесения пользователем изменений в информацию, содержащуюся в реляционной базе данных. С помощью команд языка манипулирования данными пользователь может загружать в таблицы новые данные, а также изменять и удалять существующие. В языке SQL существует три основных команды DML:  INSERT – добавляет новые строки в таблицу UPDATE – изменяет значения атрибутов DELETE – удаление строк INSERT INTO имя_табл [(ст1, ст2, …)] VALUES (зн1, зн2, ...); вместо валюэс можно писать селект, можно исп переем подстановки или ф-ции работы с датами  UPDATE имя_табл SET ст=выраж1, ст=выраж2 [WHERE условие]; изменяет конкретные строки Удаление данных из таблиц.  Команда DELETE используется для удаления из таблицы целых строк данных. Она не применяется для удаления значений из определенных столбцов - с ее помощью запись удаляется полностью, включая все входящие в нее столбцы.

DELETE FROM имя_табл [WHERE условие]; если нету вере то удаляются все строки таблицы 39. Понятие транзакции. Команды управления транзакциями.

Транзакция (transaction) – операция над БД кот определяет набор команд, которые изменяют содержание одной или более таблиц откладывая окончательное занесение этих изменений до своего завершения.

Виды транзакций: 1. состоящая из команд DML – любое количество логически связанных команд, транзакция начинается с появления 1 команды

2.состоит только из одной команды DDL, появляется когда одна команда есть, и тут же завершается при завершении команды

3. транзакции только на чтение – выборка на определенный момент времени. Создается копия данных и мы работаем с такими же данными которые были в определенный момент. Стандарты ANSI требуют, чтобы после инициализации транзакции пользователем или прикладной программой она выполнялась последовательностью SQL-операторов, пока не произойдет одно из следующих четырех событий:  1. Достигнут оператор COMMIT. В этом случае все изменения записываются в БД. Оператор COMMIT автоматически завершает SQL-транзакцию.  2. Достигнут оператор ROLLBACK. В этом случае все изменения отменяются, и база данных возвращается в предыдущее устойчивое состояние показанное операцией savepoint имя_контрольной_точки.  3. Достигнут конец программы. В этом случае все изменения записываются в базу данных для постоянного хранения. Это событие эквивалентно выполнению оператора COMMIT.  4. Выполнение программы неожиданно прервано. В этом случае все изменения отменяются, и база данных возвращается в предыдущее устойчивое состояние. Это событие эквивалентно выполнению оператора ROLLBACK. 40. Автоматическое завершение транзакции.

По умолчанию SQL*Plus работает в режиме автоматического завершения транзакций (AUTOCOMMIT). Если вы работаете с таблицами, безопасными в отношении транзакций, то режим автоматического завершения транзакций можно отключить сле­дующим оператором:  SET AUTOCOMMIT=0; После отключения режима автоматического завершения транзакций вы должны ис­пользовать оператор COMMIT, чтобы сохранять изменения на диске, либо ROLLBACK, чтобы отменять изменения, выполненные с момента начала транзакции. Если вы хотите отключить режим автоматического завершения транзакций только для отдельной последовательности операторов, можете воспользоваться оператором START TRANSACTION; После START TRANSACTION режим автоматического завершения транзакций остается выключенным до явного завершения транзакции с помощью COMMIT или отката посред­ством ROLLBACK.

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