Содержание
- 2. Явное представление данных Гарантированный доступ к данным Полная обработка неопределённых значений Доступ к описанию БД в
- 3. Базовые порции данных представляют собой отношения (relations) или таблицы Операции над таблицами затрагивают только отношения Свойства
- 4. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ------- --------------- ------ ---------- ------
- 5. Данные в ячейках структурно неделимы Данные в столбце одного типа Столбцы размещаются в произвольном порядке Строки
- 6. Первичный ключ - столбец или подмножество столбцов, которые уникально, т.е. единственным образом, определяют строки. Первичный ключ,
- 7. Первичный ключ не может быть полностью или частично пустым. Правило целостности обьектов
- 8. Внешний ключ может быть пустым или соответствовать значению первичного ключа. Правило ссылочной целостности
- 9. Типы данных и объекты, заданные пользователем. Полная совместимость с реляционными базами данных. Поддержка мультимедийных и больших
- 10. Команды SQL SELECT: выборка данных INSERT, UPDATE, DELETE: язык манипулирования данными (DML) CREATE, ALTER, DROP, RENAME,
- 11. Каждой строке таблицы в БД ORACLE назначается уникальный ROWID. Идентификаторы записей ROWID
- 12. Файлы данных Расширения Табличные пространства Сегменты отката Временные сегменты Таблицы Индексы Словарь данных Обзоры Последовательности Синонимы
- 13. Написание команд SQL Команды SQL не различают регистры символов. Команды SQL могут занимать одну или несколько
- 14. Выборка данных – оператор SELECT Выбор информации из БД (selection) Проекция (projection) Соединение (join)
- 15. SELECT column1, column2,…., columnN FROM table Основной синтаксис SELECT
- 16. Основной синтаксис SELECT SQL> SELECT * FROM dept; DEPTNO DNAME LOC --------- -------------- ------------- 10 ACCOUNTING
- 17. Основной синтаксис SELECT SQL> SELECT deptno, loc FROM dept; DEPTNO LOC --------- ------------- 10 NEW YORK
- 18. Для типов данных NUMBER и DATE можно использовать арифметические выражения: Арифметические выражения
- 19. SQL> SELECT ename, sal, sal+300 FROM emp; Использование арифм. операторов ENAME SAL SAL+300 ---------- --------- ---------
- 20. * / + - Умножение и деление имеют приоритет над сложением и вычитанием. Операторы с одинаковым
- 21. SQL> SELECT ename, sal, 12*sal+100 FROM emp; ENAME SAL 12*SAL+100 ---------- --------- ---------- SMITH 800 9700
- 22. SQL> SELECT ename, sal, 12*(sal+100) FROM emp; ENAME SAL 12*(SAL+100) ---------- --------- ------------ SMITH 800 10800
- 23. Неопределенное значение (NULL) – значение, которое недоступно, не присвоено, неизвестно или неприменимо. Это не ноль и
- 24. SQL> SELECT ename 12*sal+comm FROM emp; ENAME 12*SAL+COMM ---------- ----------- SMITH ALLEN 19500 WARD 15500 JONES
- 25. Альтернативный заголовок столбца. Удобен при вычислениях. Следует сразу за именем столбца; ключевое слово AS между именем
- 26. SQL> SELECT ename AS name, sal salary FROM emp; NAME SALARY ---------- --------- SQL> SELECT ename
- 27. Соединяет столбцы или символьные строки с другими столбцами. Изображается двумя вертикальными линиями ( || ). Создает
- 28. SQL> SELECT ename || job AS ‘Employees’ FROM emp; Employees ------------------- SMITHCLERK ALLENSALESMAN WARDSALESMAN JONESMANAGER MARTINSALESMAN
- 29. Литерал – символ, выражение или число, включенные в SELECT список. Даты и символьные литералы должны быть
- 30. SQL> SELECT ename ||' '||'is a'||' '|| job AS "Employee details“ FROM emp; Employee details -------------------------
- 31. SQL> SELECT deptno FROM emp; DEPTNO --------- 10 30 10 20 … Дублирование строк По умолчанию
- 32. SQL> SELECT DISTINCT deptno FROM emp; DEPTNO --------- 10 20 30 Дублирование строк Дубликаты устраняются при
- 33. Соединение с БД из командной строки: sqlplus [username [/password [@database]]] Соединение с базой данных
- 34. SQL> DESCRIBE tablename SQL> DESCRIBE dept Name Null? Type ------------------- -------- ------------ DEPTNO NOT NULL NUMBER(2)
- 35. A[PPEND] text C[HANGE] / old / new / C[HANGE] / text / CL[EAR] BUFF[ER] DEL DEL
- 36. Редактирование SQL команд и PL/SQL блоков I[NPUT] I[NPUT] text L[IST] L[IST] n L[IST] m n R[UN]
- 37. SAV[E] filename [CREATE | REPLACE | APPEND] GET filename STA[RT] filename @filename ED[IT] filename SPO[OL] [filename
- 38. SELECT column1, column2,…., columnN FROM table WHERE condition (s) Ограничение колич. выбираемых строк Количество возвращаемых строк
- 39. SQL> SELECT ename, job, deptno FROM emp WHERE job = ‘CLERK’; ENAME JOB DEPTNO ---------- ---------
- 40. Операторы сравнения
- 41. SQL> SELECT ename, sal, comm FROM emp WHERE sal ENAME SAL COMM ---------- ---------- ---------- MARTIN
- 42. Другие операторы сравнения
- 43. SQL> SELECT ename, sal FROM emp WHERE sal BETWEEN 1000 AND 1500; ENAME SAL ---------- ----------
- 44. SQL> SELECT empno, ename, sal, mgr FROM emp WHERE mgr IN (7902, 7566, 7788); EMPNO ENAME
- 45. Оператор LIKE используется для поиска символьных значений по шаблону с метасимволами Условия поиска могут включать алфавитные
- 46. Метасимволы можно комбинировать SQL> SELECT ename FROM emp WHERE ename LIKE ‘_A%’; ENAME ---------- WARD MARTIN
- 47. С помощью оператора IS NULL производится проверка на неопределенные значения SQL> SELECT ename, mgr FROM emp
- 48. Логические операторы
- 49. Оператор AND (‘И’) требует выполнения обоих условий. SQL> SELECT empno, ename, job, sal FROM emp WHERE
- 50. Оператор OR (‘ИЛИ’) требует выполнения любого из условий. SQL> SELECT empno, ename, job, sal FROM emp
- 51. Оператор NOT - логическое отрицание условия. SQL> SELECT ename, job FROM emp WHERE job NOT IN
- 52. Приоритеты операторов Изменить стандартную последовательность вычислений можно при помощи круглых скобок.
- 53. SQL> SELECT ename, job, sal FROM emp WHERE job=‘SALESMAN‘ OR job = ‘PRESIDENT’ AND sal>1500; SQL>
- 54. Предложение ORDER BY используется для сортировки строк: ASC: сортировка по возрастанию (по умолчанию) DESC: сортировка по
- 55. SQL> SELECT ename, job, deptno, hiredate FROM emp ORDER BY hiredate; ENAME JOB DEPTNO HIREDATE ----------
- 56. SQL> SELECT ename, deptno, sal FROM emp ORDER BY deptno ASC, sal DESC; ENAME DEPTNO SAL
- 57. Однострочные функции - символьные - числовые - над датами - преобразования Многострочные функции - групповые FUNCTION
- 58. Обрабатывают каждую полученную по запросу строку. Выдают результат отдельно для каждой строки. Могут иметь вложенность. Могут
- 59. FUNCTION_NAME (column | expression, [arg1, arg2, ...]) Однострочные функции
- 60. Символьные функции Символьные функции Функции преобразования регистра символов Функции манипулиров-я символами LOWER UPPER INITCAP CONCAT SUBSTR
- 61. LOWER : Переводит все символы строки на нижний регистр UPPER : Переводит все символы строки на
- 62. Функции преобразования регистра Преобразование регистра для символьных строк.
- 63. Использование функций преобразования Вывод номера служащего, фамилии и номера отдела для служащего по фамилии Blake SQL>
- 64. Функции манипулирования символами Манипулирование символьными строками.
- 65. Использование символьных функций SQL> SELECT ename, CONCAT(ename, job), LENGTH(ename),INSTR(ename, 'A') FROM emp WHERE SUBSTR(job,1,5) = 'SALES';
- 66. ROUND : Округляет числовое значение до заданной точности. ROUND(45.926, 2) 45.93 TRUNC : Усекает значение до
- 67. Использование функции ROUND SQL> SELECT ROUND(45.923,2),ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL; ROUND(45.923,2) ROUND(45.923,0) ROUND(45.923,-1) --------------- --------------- ---------------- 45.92
- 68. Использование функции TRUNC SQL> SELECT TRUNC(45.923,2),TRUNC(45.923), TRUNC(45.923,-1) FROM DUAL; TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-1) --------------- ------------- ---------------- 45.92
- 69. Использование функции MOD SQL> SELECT ename, sal, comm, MOD(sal, comm) FROM EMP WHERE job='SALESMAN'; ENAME SAL
- 70. Oracle хранит данные во внутреннем цифровом формате. век, год, месяц, число, часы, минуты, секунды По умолчанию
- 71. Просмотр текущей даты SQL> SELECT SYSDATE FROM DUAL; SYSDATE --------- 01-MAY-02
- 72. Результатом прибавления числа к дате и вычитания числа из даты является дата. Результатом вычитания одной даты
- 73. Использование операций с датами SQL> SELECT ename, (SYSDATE-hiredate)/7 WEEKS FROM EMP WHERE deptno=10; ENAME WEEKS ----------
- 74. Функции для работы с датами
- 75. MONTHS_BETWEEN(’01-SEP-95’,’11-JAN-94’) 19.6774194 ADD_MONTHS (’11-JAN-94’,6) ’11-JUL-94’ NEXT_DAY (’01-SEP-95’,’FRIDAY’) ’08-SEP-95’ LAST_DAY (’01-SEP-95’) ’30-SEP-95’ ROUND (’25-JUL-95’,’MONTH’) ’01-AUG-95’ ROUND (’25-JUL-95’,’YEAR’)
- 76. SELECT empno, hiredate, ROUND(hiredate,'MONTH'),TRUNC(hiredate, 'MONTH') FROM emp WHERE hiredate like'%82‘; EMPNO HIREDATE ROUND(HIR TRUNC(HIR -------- ---------
- 77. Функции преобразования Преобразование типа данных Неявное преобразование типа данных Явное преобразование типа данных
- 78. Явное преобразование типов данных
- 79. TO_CHAR (DATE, ‘fmt’) Модель формата: Заключается в апострофы. Различает символы верхнего и нижнего регистров. Может включать
- 80. Элементы формата даты
- 81. SQL> SELECT empno, TO_CHAR(hiredate, 'MM/YY') Month_Hired FROM emp WHERE ename = 'BLAKE'; EMPNO MONTH ---------- -----
- 82. TO_CHAR (number, ‘fmt’) Форматы, используемые с функцией TO_CHAR для вывода числового значения в виде символьной строки.
- 83. SQL> SELECT TO_CHAR(sal,'$99,999') SALARY FROM emp WHERE ename = 'SCOTT‘; SALARY -------- $3,000 Функция TO_CHAR с
- 84. Преобразование строки символов в числовой формат с помощью функции TO_NUMBER. TO_NUMBER (char) Преобразование строки символов в
- 85. Упрощает условные запросы, выполняя работу команды CASE или IF-THEN-ELSE: DECODE (col/expression, search1, result1 [, search2, result2,…,]
- 86. SQL> SELECT job, sal, DECODE (job, 'ANALYST', SAL*1.1, 'CLERK', SAL*1.15, 'MANAGER', SAL*1.20, SAL) REVISED_SALARY FROM EMP;
- 87. Однострочные функции могут быть вложены на любую глубину Вложенные функции вычисляются от самого глубокого уровня к
- 88. Вложенные функции SQL> SELECT ename, NVL(TO_CHAR(mgr), 'No Manager') FROM emp WHERE mgr IS NULL; ENAME NVL(TO_CHAR(MGR),'NOMANAGER')
- 89. Выборка данных из нескольких таблиц EMPNO ENAME … DEPTNO ----- ------ ------ 7839 KING … 10
- 90. Соединение используется для выборки данных из нескольких таблиц. SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column1
- 91. Декартово произведение образуется, если: - Опущено условие соединения. - Условие соединения недействительно. - Все строки первой
- 92. Получение декартова произведения EMPNO ENAME … DEPTNO ----- ------ ------ 7839 KING … 10 7698 BLAKE
- 93. Основные типы соединений Эквисоединения Неэквисоединения Дополнительные типы соединений Внешние соединения Соединения таблицы с собой Виды соединений
- 94. Эквисоединение EMPNO ENAME DEPTNO ----- ------- ---------- 7369 SMITH 20 7499 ALLEN 30 7521 WARD 30
- 95. Выборка при помощи эквисоединений SQL> SELECT emp.empno, emp.ename, emp.deptno, dept.deptno,dept.loc FROM emp, dept WHERE emp.deptno =
- 96. Различение столбцов с одинаковыми именами Для различения одноименных столбцов из разных таблиц используются префиксы в виде
- 97. Дополнит. условия при эквисоединении SQL> SELECT emp.empno, emp.ename, emp.deptno, dept.deptno,dept.loc FROM emp, dept WHERE emp.deptno =
- 98. Псевдонимы таблиц Использование псевдонимов таблиц упрощает запросы. SQL> SELECT emp.empno, emp.ename, emp.deptno, dept.deptno,dept.loc FROM emp, dept
- 99. Не-эквисоединение EMPNO ENAME SAL ----- ------- ---------- 7499 ALLEN 1600 7566 JONES 2975 7654 MARTIN 1250
- 100. SQL> SELECT e.ename, e.sal, s.grade FROM emp e, salgrade s WHERE e.sal BETWEEN s.losal AND s.hisal;
- 101. Внешние соединения EMPNO ENAME … DEPTNO ----- ------ ------ 7839 KING … 10 7698 BLAKE …
- 102. Внешнее соединение используется для выборки строк, не удовлетворяющих обычным условиям соединения. Оператором внешнего соединения является знак
- 103. SQL> SELECT e.ename, d.deptno, d.dname FROM emp e, dept d WHERE e.deptno(+)=d.deptno ORDER BY e.deptno; ENAME
- 104. Соединение таблицы с собой EMPNO ENAME MGR ----- ------- ---------- 7499 ALLEN 7698 7654 MARTIN 7698
- 105. SQL> SELECT worker.ename ||' works for '|| manager.ename FROM emp worker, emp manager WHERE worker.mgr =
- 106. Групповые функции DEPTNO SAL ---------- ---------- 20 800 30 1600 30 1250 20 2975 30 1250
- 107. AVG COUNT MAX MIN STDDEV SUM VARIANCE Типы групповых функций
- 108. AVG и SUM применяются к столбцам с числовыми данными. SQL> SELECT AVG(sal), MAX(sal), MIN(sal), SUM(sal) FROM
- 109. MIN и MAX применяются к данным любого типа. SQL> SELECT MIN(hiredate), MAX(hiredate) FROM emp; MIN(HIRED MAX(HIRED
- 110. COUNT(*) возвращает количество строк в таблице. SQL> SELECT COUNT(*) FROM emp WHERE deptno = 30; COUNT(*)
- 111. COUNT(expr) возвращает количество строк с определёнными значениями (не NULL). SQL> SELECT COUNT(COMM) FROM emp WHERE deptno
- 112. Групповые функции игнорируют неопределенные значения в столбцах. SQL> SELECT AVG(comm) FROM emp; AVG(COMM) ---------- 550 Групповые
- 113. Функция NVL заставляет групповые функции включать неопределенные значения. SQL> SELECT AVG(NVL(comm,0)) FROM emp; AVG(NVL(COMM,0)) ---------------- 157.142857
- 114. Создание групп данных DEPTNO SAL ---------- ---------- 10 2450 10 5000 10 1300 20 800 20
- 115. Создание групп данных: GROUP BY SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [ORDER
- 116. Все столбцы, которые входят в SELECT список и к которым не применяются групповые функции, должны быть
- 117. SQL> SELECT deptno, job, sum(sal) FROM emp GROUP BY deptno, job; DEPTNO JOB SUM(SAL) ---------- ---------
- 118. SQL> SELECT deptno, COUNT(ename) FROM emp; SQL> SELECT deptno, AVG(sal) FROM emp WHERE AVG(sal) > 2000
- 119. Исключение групп DEPTNO SAL ---------- ---------- 10 2450 10 5000 10 1300 20 800 20 1100
- 120. SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column]; Выводятся
- 121. SQL> SELECT job, SUM(sal) PAYROLL FROM emp WHERE job NOT LIKE 'SALES%‘ GROUP BY job HAVING
- 122. SQL> SELECT max(avg(sal)) FROM emp GROUP BY deptno; MAX(AVG(SAL)) ------------- 2916.66667 Вложенные групповые функции
- 123. Подзапросы SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table); Вложенный запрос выполняется один
- 124. Использование подзапроса SELECT ename FROM emp WHERE sal > (SELECT sal FROM emp WHERE empno =
- 125. Подзапрос должен быть заключен в скобки. Подзапрос должен находиться справа от оператора сравнения. Подзапрос не может
- 126. Однострочный подзапрос. Многострочный подзапрос. Многостолбцовый подзапрос. Типы подзапросов Главный запрос Главный запрос Главный запрос подзапрос подзапрос
- 127. Выполнение однострочных подзапросов SELECT ename, job FROM emp WHERE job = (SELECT job FROM emp WHERE
- 128. Использование гр. функций в подзапросах SELECT ename, job, sal FROM emp WHERE sal = (SELECT MIN(sal)
- 129. HAVING с подзапросами SELECT deptno, MIN(sal) FROM emp GROUP BY deptno HAVING MIN(sal) > (SELECT MIN(sal)
- 130. SQL> SELECT empno, ename FROM emp WHERE sal = (SELECT MIN(sal) FROM emp GROUP BY deptno);
- 131. Многострочные запросы Возвращают более одной строки Используют многострочные операторы сравнения
- 132. Оператор IN SQL> SELECT ename, sal, deptno FROM emp WHERE sal IN (800, 950, 1300); ENAME
- 133. Оператор ANY SQL> SELECT empno, ename, job FROM emp WHERE sal (SELECT sal FROM emp WHERE
- 134. Оператор ALL SQL> SELECT empno, ename, job FROM emp WHERE sal > ALL (SELECT avg(sal) FROM
- 135. Многостолбцовые подзапросы SELECT column, column, ... FROM table WHERE (column, column, ...) IN (SELECT column, column,
- 136. Использование многостолбц. подзапросов SELECT ordid, prodid, qty FROM item WHERE (prodid, qty) IN (SELECT prodid, qty
- 137. Сравнения столбцов Парное PRODID QTY 101863 100 100861 100 102130 10 100890 5 100870 500 101860
- 138. Подзапрос с непарным сравнением SELECT ordid, prodid, qty FROM item WHERE prodid IN (SELECT prodid FROM
- 139. Неопределенные значения в подзапросе SQL> SELECT employee.ename FROM emp employee WHERE employee.empno NOT IN (SELECT manager.mgr
- 140. Подзапрос в предложении FROM SQL> SELECT a.ename, a.sal, a.deptno, b.salavg FROM emp a, (SELECT deptno, avg(sal)
- 141. Использование переменных подстановки SQL*Plus для временного хранения значений. - Одиночный амперсанд(&) - Двойной амперсанд (&&) -
- 142. Данная переменная позволяет запросить значение у пользователя. SQL> SELECT empno, ename, sal, deptno FROM emp WHERE
- 143. Если задан режим SET VERIFY ON, SQL*Plus выводит текст команды до и после замены переменных подстановки
- 144. Даты и символьные значения заключаются в апострофы. SQL> SELECT ename, deptno, sal*12 FROM emp WHERE job
- 145. Переменные подстановки могут замещать: Условие WHERE Предложение ORDER BY Выражение со столбцами Имя таблицы Целую команду
- 146. SQL> SELECT empno, ename, job, &column_name FROM emp WHERE &condition ORDER BY &order_column; Enter value for
- 147. Переменная подстановки с двумя амперсандами (&&) позволяет многократно использовать значение переменной, не запрашивая его повторно у
- 148. Задать переменную можно с помощью одной из двух команд SQL*Plus: - DEFINE: создает пользовательскую переменную с
- 149. Создает более удобное приглашение пользователю ввести данные. Явно задает переменную типа NUMBER или DATE. Скрывает вводимые
- 150. SQL> ACCEPT dept PROMPT 'Provide the department name:' SELECT * FROM dept WHERE dname = UPPER('&dept');
- 151. Переменная остается заданной: - До её удаления командой UNDEFINE - До выхода из SQL*Plus Проверить изменения
- 152. Переменная для хранения названия отдела: SQL> DEFINE deptname = sales SQL> DEFINE deptname DEFINE DEPTNAME =
- 153. Для управления текущим сеансом пользуйтесь командой SET. SET system_variable value Проверка заданных значений с помощью SHOW:
- 154. ARRAYSIZE {20 | n} COLSEP {_ | text} FEEDBACK {6 | n | OFF | ON}
- 155. COLUMN [column option] TTITLE [text | OFF | ON] BTITLE [text | OFF | ON] BREAK
- 156. Управляет форматом вывода столбца COLUMN [column option] CLE[AR]: сбрасывает все установки для столбца. FOR[MAT] format: изменяет
- 157. Создание заголовков столбцов: COLUMN ename HEADING 'Employee|Name' FORMAT A15 COLUMN sal JUSTIFY LEFT FORMAT $99,990.00 COLUMN
- 158. Модели формата в команде COLUMN
- 159. Устраняет дубликаты и группирует строки Для устранения дубликатов SQL> BREAK ON ename ON job Для вычисления
- 160. Вывод заголовков и нижних колонтитулов TTI[TLE] [text|OFF|ON] Задание заголовка отчета SQL> TTITLE ‘Salary|Report’ Задание нижнего колонтитула
- 161. Команды DML выполняются при следующих операциях: - Добавление новых строк в таблицу - Изменение существующих строк
- 162. Для добавления новых строк в таблицу используется команда INSERT. INSERT INTO table [(column [, column…])] VALUES
- 163. Символьные значения и даты заключаются в апострофы. SQL> INSERT INTO dept (deptno, dname, loc) VALUES (50,
- 164. Неявный метод: столбец не указывается в списке столбцов. SQL> INSERT INTO dept (deptno, dname) VALUES (60,
- 165. Функция SYSDATE записывает текущие дату и время. SQL> INSERT INTO emp (empno, ename, job, mgr, hiredate,
- 166. Добавление нового служащего. SQL> INSERT INTO emp VALUES (2296, ‘AROMANO‘,’SALESMAN’, 7782, TO_DATE(‘FEB,3,97’,’MON DD, YY’), 1300, NULL,
- 167. SQL> INSERT INTO dept (deptno, dname, loc) VALUES (&department_id, ‘&department_name’, ‘&location’); Enter value for department_id: 80
- 168. Команда INSERT включает подзапрос. SQL> INSERT INTO managers (id, name, salary, hiredate) SELECT empno, ename, sal,
- 169. Для обновления существующих строк в таблице используется команда UPDATE. UPDATE table SET column = value [,
- 170. Предложение WHERE позволяет изменить конкретную строку или строки. SQL> UPDATE emp SET deptno = 20 WHERE
- 171. Изменение должности и номера отдела служащего под номером 7698 на такие же значения, как у служащего
- 172. Для изменения строк таблицы на основе значений из другой таблицы следует использовать подзапросы в командах UPDATE.
- 173. Для удаления существующих строк используется команда DELETE. DELETE [FROM] table [WHERE condition]; В случае необходимости можно
- 174. Конкретная строка или строки удаляются с помощью предложения WHERE. SQL> DELETE FROM department WHERE dname =
- 175. Для изменения строк таблицы на основе значений из другой таблицы следует использовать подзапросы в командах UPDATE.
- 176. Содержат что-либо из следующего: Команды DML, выполняющие единое согласованное изменение данных. Одну команду DDL. Одну команду
- 177. Начинаются с выполнения первой исполняемой команды SQL. Заканчиваются одним из сл. cобытий: - Выполнение команды COMMIT
- 178. COMMIT SAVEPOINT name ROLLBACK [TO SAVEPOINT name] Управление транзакциями
- 179. Управление транзакциями INSERT UPDATE INSERT DELETE COMMIT Точка сохранения A Точка сохранения B ТРАНЗАКЦИЯ ROLLBACK to
- 180. Автоматическая фиксация изменений (COMMIT) происходит в сл. случаях: - Выполнение команды DDL - Выполнение команды DCL
- 181. Состояние данных может быть восстановлено. Текущий пользователь может просмотреть результаты своих операций DML с помощью команды
- 182. Внесение изменений. SQL> UPDATE emp SET deptno = 10 WHERE empno = 7782; 1 row updated.
- 183. Внесение изменений. SQL> DELETE FROM employee; 14 rows deleted. Откат изменений. SQL> ROLLBACK; Rollback complete. Откат
- 184. SQL> UPDATE... SQL> SAVEPOINT update_done; Savepoint created. SQL> INSERT... SQL> ROLLBACK TO update_done; Rollback complete. Откат
- 185. Если ошибка возникла при выполнении одной конкретной команды DML, отменяются только результаты этой команды. Сервер Oracle
- 186. Согласованность чтения гарантирует непротиворечивое представление данных в любой момент времени. Изменения, сделанные одним пользователем, не вступают
- 187. Exclusive (исключительный) Share (разделяемый) Блокировка данных
- 188. Объекты базы данных
- 189. Имя начинается с буквы Может быть длиной до 30 символов Должно содержать только символы A-Z, a-z,
- 190. Необходимо иметь: - привилегию CREATE TABLE - область хранения CREATE TABLE [schema.] table (column datatype [DEFAULT
- 191. Задает значение по умолчанию, если при добавлении данных значение не указывается явно. ...hiredate DATE DEFAULT SYSDATE,
- 192. SQL> CREATE TABLE ABC (DEPTNO NUMBER (2), DNAME VARCHAR2 (14), LOC VARCHAR2 (13)); Table created. SQL>
- 193. Таблицы пользователей - таблицы, создаваемые и поддерживаемые пользователями - содержат информацию пользователей Словарь базы данных -
- 194. Вывод определений таблиц, принадлежащих пользователю. SELECT * FROM user_tables; Просмотр типов объектов, принадлежащих пользователю. SELECT DISTINCT
- 195. Типы данных
- 196. Количество заданных столбцов должно совпадать с количеством столбцов в подзапросе CREATE TABLE table [column (, column...)]
- 197. CREATE TABLE dept30 AS SELECT empno, ename, sal*12 ANNSAL, hiredate FROM emp WHERE deptno = 30;
- 198. Используется для следующих операций: - Добавления / Удаления столбца - Изменение существующего столбца - Задание значения
- 199. Столбцы добавляются с помощью предложения ADD. ALTER TABLE dept30 ADD (job VARCHAR2(9)); Table altered. EMPNO ENAME
- 200. Столбцы изменяются с помощью предложения MODIFY. ALTER TABLE dept30 MODIFY (ename VARCHAR2(15)); Table altered. Изменение столбца
- 201. Столбцы удаляются с помощью предложения DROP COLUMN. ALTER TABLE dept30 DROP COLUMN job; Table altered. Удаление
- 202. Столбцы помечаются, как неиспользуемые с помощью предложения SET UNUSED. ALTER TABLE table SET UNUSED (column); Удаление
- 203. Удаляются все данные и структура таблицы. Все незафиксированные транзакции фиксируются. Все индексы удаляются. Откат этой команды
- 204. Для переименования таблицы, представления, последова- тельности или синонима используется команда RENAME. SQL> RENAME dept TO department;
- 205. Команда TRUNCATE TABLE: - Удаляет все строки из таблицы - Освобождает пространство, используемое таблицей SQL> TRUNCATE
- 206. Добавление комментария к таблице или столбцу при помощи команды COMMENT. SQL> COMMENT ON TABLE emp IS
- 207. Ограничения обеспечивают выполнение правил на уровне таблицы. Ограничения предотвращают удаление таблицы при наличии подчиненных данных в
- 208. CREATE TABLE [schema.] table (column datatype [DEFAULT expr] [column_constraint], ... [table_constraint]); CREATE TABLE emp empno NUMBER(4),
- 209. Ограничение на уровне столбца. column [CONSTRAINT constraint_name] constraint_type Ограничение на уровне таблицы. column,... [CONSTRAINT constraint_name] constraint_type
- 210. Предотвращает появление неопределенных значений в столбце CREATE TABLE EMP ( EMPNO NUMBER(4), ENAME VARCHAR2(10) NOT NULL,
- 211. Может быть задано на уровне столбца или таблицы CREATE TABLE DEPT ( DEPTNO NUMBER(2), DNAME VARCHAR2(14),
- 212. Может быть задано на уровне столбца или таблицы CREATE TABLE DEPT ( DEPTNO NUMBER(2), DNAME VARCHAR2(14),
- 213. Может быть задано на уровне столбца или таблицы CREATE TABLE EMP ( EMPNO NUMBER(4) NOT NULL,
- 214. FOREIGN KEY: определяет столбец в подчиненной таблице, используемый в качестве внешнего ключа. REFERENCES: определяет родительскую таблицу
- 215. Задаёт условие, которому должна удовлетворять каждая строка таблицы Не допускаются: - Ссылки на псевдостолбцы CURRVAL, NEXTVAL,
- 216. ALTER TABLE table ADD [CONSTRAINT constraint] type (column); Ограничение можно добавить, удалить, но не изменить. Ограничение
- 217. Добавление ограничения FOREIGN KEY для таблицы EMP. Это ограничение означает, что информация о менеджере уже должна
- 218. Удаление ограничения FOREIGN KEY из таблицы EMP. ALTER TABLE emp DROP CONSTRAINT emp_mgr_fk; Table altered. Удаление
- 219. Для отключения ограничения используется команда ALTER TABLE с предложением DISABLE. Для отмены ограничения вместе с зависимыми
- 220. Для включения ограничения используется команда ALTER TABLE с предложением ENABLE. При включении ограничения UNIQUE или PRIMARY
- 221. Вместе с предложением DROP COLUMN можно использовать опцию CASCADE CONSTRAINTS. Опция CASCADE CONSTRAINTS удаляет все ссылочные
- 222. Просмотреть все определения и имена ограничений можно с помощью запроса к представлению USER_CONSTRAINTS. SQL> SELECT constraint_name,
- 223. Просмотреть столбцы, связанные с ограничениями можно с помощью запроса к представлению USER_CONS_COLUMNS. SQL> SELECT constraint_name, column_name
- 224. Ограничение доступа к базе данных. Упрощение сложных запросов. Обеспечение независимости от данных. Представление одних и тех
- 225. Простые и сложные представления
- 226. В команду CREATE VIEW включается подзапрос. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery
- 227. Создание представления EMPVU10 с информацией о служащих отдела 10. SQL> CREATE VIEW empvu10 AS SELECT empno,
- 228. Создание представления SALVU30 с использованием псевдонимов в подзапросе. SQL> CREATE VIEW salvu30 AS SELECT empno EMPLOYEE_NUMBER,
- 229. SQL> SELECT * FROM salvu30; EMPLOYEE_NUMBER NAME SALARY --------------- ---------- ---------- 7499 ALLEN 1600 7521 WARD
- 230. Запрос к представлению SQL*Plus SELECT * FROM empvu10; 7839 KING PRESIDENT 7782 CLARK MANAGER 7934 MILLER
- 231. Изменение представления EMPVU10 с помощью предложения CREATE OR REPLACE VIEW. Добавление псевдонима для каждого столбца. SQL>
- 232. Создание сложного представления с групповыми функциями для вывода данных из двух таблиц. SQL> CREATE VIEW dept_sum_vu
- 233. Операции DML можно выполнять с простыми представлениями. Нельзя удалить строку, если представление содержит: - Групповые функции
- 234. Необходимо следить за тем, чтобы результаты DML операций оставались в пределах домена представления. SQL> CREATE OR
- 235. Использование опции WITH READ ONLY запрещает выполнять над представлением любые DML операции. SQL> CREATE OR REPLACE
- 236. Удаление представления не вызывает потери данных, т. к. представление основано на реальных таблицах базы данных. DROP
- 237. Автоматически генерирует уникальные числа. Является совместно используемым объектом. Обычно используется для генерации значений первичного ключа. Заменяет
- 238. Определение последовательности для автоматической генерации чисел. CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE
- 239. Создание последовательности DEPT_DEPTNO для использования в качестве первичного ключа таблицы DEPT. При генерации значений первичных ключей
- 240. Проверить значения последовательности можно в представлении USER_SEQUENCES словаря данных. SELECT sequence_name, min_value, max_value, increment_by, last_number FROM
- 241. NEXTVAL генерирует следующее свободное число в последовательности. Столбец возвращает уникальное значение при каждом обращении к нему
- 242. Добавление нового отдела. SQL> INSERT INTO dept (deptno, dname, loc) VALUES (dept_deptno.NEXTVAL, ‘ MARKETING’, ’MOSCOW’); 1
- 243. Изменение шага приращения, макс. и мин. значений, режима циклической генерации значений и кэширования. ALTER SEQUENCE dept_deptno
- 244. Для изменения последовательности необходимо быть её владельцем или иметь привилегию ALTER для неё. Команда влияет только
- 245. Для удаления последовательности используется команда DROP SEQUENCE. SQL> DROP SEQUENCE dept_deptno; Sequence dropped. Удаление последовательности
- 246. Используется для ускорения выборки строк с помощью указателя. Уменьшает количество операций дискового ввода-вывода за счёт использования
- 247. Автоматически -Уникальный индекс создаётся автоматически, если в определении таблицы задано ограничение PRIMARY KEY или UNIQUE. Вручную
- 248. Создание индекса по одному или нескольким столбцам. CREATE INDEX index ON table (column[, column]...); Увеличение скорости
- 249. Представление словаря данных USER_INDEXES содержит имя индекса и информацию о его уникальности. Представление словаря данных USER_IND_COLUMNS
- 250. Это индексы, основанные на каком-либо выражении. Выражение может строиться на основе значений столбцов, констант, функций SQL
- 251. Удаление индекса SQL> DROP INDEX index; Удаление индекса EMP_ENAME_IDX SQL> DROP INDEX emp_ename_idx; Index dropped. Для
- 252. Синонимы (альтернативные имена объектов) упрощают доступ к объектам: Позволяют обращаться к таблицам других пользователей. Устраняют необходимость
- 253. Создание более короткого имени для представления DEPT_SUM_VU. SQL> CREATE SYNONYM d_sum FOR dept_sum_vu; Synonym created. Удаление
- 254. Безопасность базы данных - Безопасность системы - Безопасность данных Системные привилегии: получение доступа к базе данных.
- 255. Команда создания пользователя – CREATE USER: CREATE USER user IDENTIFIED BY password; SQL> CREATE USER scott
- 256. Сразу после создания пользователя АБД может предоставить ему конкретные системные привилегии. GRANT privilege [, privilege...] TO
- 257. Сразу после создания пользователя АБД может предоставить ему конкретные системные привилегии. SQL> GRANT create table, create
- 258. SQL> CREATE ROLE manager Role created. SQL> GRANT create table, create view TO manager; Grant succeeded.
- 259. Используется команда ALTER USER SQL> ALTER USER scott IDENTIFIED BY lion; User altered. Изменение пароля пользователя
- 260. Объектные привилегии
- 261. Объектные привилегии разные для разных типов данных. Владелец объекта имеет все привилегии на этот объект. Владелец
- 262. Предоставление привилегии на выполнение запросов к таблице EMP. SQL> GRANT select ON emp TO sue, rich;
- 263. Предоставление полномочий пользователю на передачу привилегий. SQL> GRANT select, insert ON dept TO scott; WITH GRANT
- 264. Проверка предоставленных привилегий
- 265. Для отмены привилегий, прелоставленных другим пользователям, используется команда REVOKE. Одновременно отменяются привилегии, предоставленные другим пользователям посредством
- 266. Отмена пользователем ALICE привилегий SELECT и INSERT, предоставленных пользователю SCOTT на таблицу DEPT. SQL> REVOKE select,
- 267. Расширение SQL
- 268. Соединения SQL:1999 Тип соединения указывается явно в классе FROM Предикаты соединения могут быть указаны в классе
- 269. Пересекающееся соединение Эквивалентно декартову произведению двух таблиц SELECT c.country_name , r,region_name From countries c CROSS JOIN
- 270. Естественное соединение Объединение по эквивалентности, основанное на всех столбцах, у которых одинаковые наименования Соединяющиеся столбцы должны
- 271. Пример естественного соединения SELECT department_id, location_id , city, country_id From departments NATURAL JOIN locations;
- 272. Эквивалентное соединение и класс USING Отдельно от естественного соединения можно создать правильное эквивалентное соединение с классом
- 273. Пример класса USING SELECT e.employee_id, e.last_name , d.location_id From employees e JOIN departments d USING (department_id)
- 274. Предикаты соединения и класс ON Используются для разделения предикатов соединения от других предикатов Класс ON позволяет
- 275. Трехстороннее соединение с классом ON SELECT d.department_name , l.city, c.country_name From departments d JOIN locations l
- 276. Внешние соединения Типы: LEFT, RIGHT, FULL Больше внушительности и наглядности, чем оператор (+) PROD TYPE TYPE
- 277. Пример внешнего соединения SELECT p.prod, p.type , t.type, t.descr From p {LEFT|RIGHT|FULL} OUTER JOIN t ON
- 278. Усовершенствованные CASE выражения 4 типа в SQL:1999: Простое Поисковое NULLIF COALESCE
- 279. Простое CASE выражение Аналогично функции DECODE Поиск и замена значений внутри выражения Select e.last_name , (CASE
- 280. Поисковое CASE выражение Аналогично конструкции IF…THEN …ELSE Поиск по условию и замена значений внутри выражения Select
- 281. NULLIF и COALESCE NULLIF (expr1, expr2) ⬄ CASE WHEN expr1 = expr2 THEN NULL ELSE expr1
- 282. Скалярные подзапросы Возвращают одну строку с одним значением столбца Ограниченная поддержка в Oracle8i В Oracle9i разрешены
- 283. Пример скалярного подзапроса Select d.department_name , (select count(*) from employees e where e.department_id = d.department_id) as
- 284. Явный DEFAULT Insert into employees (employee_id, first_name, department_id) Values (1, ‘Scott’, DEFAULT); Update employees Set department_id
- 285. Команда MERGE Известна также как “upsert” Производит обновление, если строки выполнены, в противном случае выполняется вставка
- 286. Фраза GROUPING SETS надмножество GROUP BY {ROLLUP|CUBE} Выдает единственный результат, который эквивалентен приблизительно UNION ALL Select
- 287. Составные столбцы Обработка группы столбцов как одной единицы: GROUP BY ROLLUP (a, b ,c) возвращает 4
- 288. Связанные группы Перемножение многочисленных групп Задаются перечислением многочисленных GROUPNG SETS, CUBE, ROLLUP Select prod_id, channel_id, time_id
- 289. Класс WITH Наименование блока запроса в команде SELECT для ссылки, если несколько блоков в запросе Класс
- 291. Скачать презентацию































![Соединение с БД из командной строки: sqlplus [username [/password [@database]]] Соединение с базой данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-32.jpg)

![A[PPEND] text C[HANGE] / old / new / C[HANGE] / text /](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-34.jpg)
![Редактирование SQL команд и PL/SQL блоков I[NPUT] I[NPUT] text L[IST] L[IST] n](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-35.jpg)
![SAV[E] filename [CREATE | REPLACE | APPEND] GET filename STA[RT] filename @filename](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-36.jpg)





















![FUNCTION_NAME (column | expression, [arg1, arg2, ...]) Однострочные функции](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-58.jpg)























































![Создание групп данных: GROUP BY SELECT column, group_function(column) FROM table [WHERE condition]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-114.jpg)




![SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-119.jpg)


































![COLUMN [column option] TTITLE [text | OFF | ON] BTITLE [text |](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-154.jpg)
![Управляет форматом вывода столбца COLUMN [column option] CLE[AR]: сбрасывает все установки для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-155.jpg)



![Вывод заголовков и нижних колонтитулов TTI[TLE] [text|OFF|ON] Задание заголовка отчета SQL> TTITLE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-159.jpg)












![Для удаления существующих строк используется команда DELETE. DELETE [FROM] table [WHERE condition];](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-172.jpg)




![COMMIT SAVEPOINT name ROLLBACK [TO SAVEPOINT name] Управление транзакциями](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-177.jpg)











![Необходимо иметь: - привилегию CREATE TABLE - область хранения CREATE TABLE [schema.]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-189.jpg)

















![CREATE TABLE [schema.] table (column datatype [DEFAULT expr] [column_constraint], ... [table_constraint]); CREATE](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-207.jpg)
![Ограничение на уровне столбца. column [CONSTRAINT constraint_name] constraint_type Ограничение на уровне таблицы.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-208.jpg)






![ALTER TABLE table ADD [CONSTRAINT constraint] type (column); Ограничение можно добавить, удалить,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-215.jpg)









![В команду CREATE VIEW включается подзапрос. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-225.jpg)











![Определение последовательности для автоматической генерации чисел. CREATE SEQUENCE sequence [INCREMENT BY n]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/981236/slide-237.jpg)



















































Катастрофоустойчивый кластер
Подготовка к ЕГЭ по информатике. Решение задания 24
_Представление информации, языки, кодирование. История технических способов кодирования
Поиск оптимальных упаковок кругов при помощи алгоритмов оптимизации пакета PyTorch
Автоматизация рекламных кампаний
Cyber warfare
Several reasons to start communicating using GIFs
Измерение связи между явлениями или признаками. Корреляция
Пример Stories для показа новинок сериалов выходящих в сервисе Амедиатека
Системы счисления
Обучение. Проблемные вопросы
Практическая работа Работа с растровой графикой
Моё имя. 1 класс
Обзор составных частей языка
Видеомэйкинг
Алгоритмы и исполнители
Структуры данных. Запись
Анимация, и какой программой я пользуюсь
Операционные системы
Компютерные сети. Вводные слова и словосочетания как средства связи частей текста. Работа над спецлексикой
Роль программирования в жизни человека
Поиск информации в Интернет. Занятие №7
Проверка орфографии
Аниме. Игра
Работа с файлами. Лекция 3
Всероссийская образовательная акция Урок цифры — 2020. Нейросети и коммуникации
Основы программирования. Функции С/С++
ERP-системы. Доклад