- •Лабораторная работа № 1 Тема: создание таблиц
- •Ссылка на таблицы других пользователей
- •Параметр default
- •Правила присвоения имен
- •Типы данных в Oracle
- •Ограничения
- •Ограничения целостности данных
- •Ограничение not null
- •Ограничение unique
- •Ограничение primary key
- •Ограничение foreign key
- •Ограничение check
- •Пример. Создание таблицы базы данных Film, Klient, Dogovor.
- •6 Regiser varchar2(20), Таблица создана.
- •Создание таблицы с заполнением строками из другой таблицы
- •Лабораторная работа №2
- •2 Values (1, 'Красотка', 'Поланский','12-12-1987', 30, 2);
- •1 Строка создана.
- •1 Строка создана. Копирование строк из другой таблицы
- •Insert into таблица (столбец[, столбец]}
- •3 Строки создано.
- •Обновление строк
- •1 Строка обновлена.
- •Команды явного управления транзакциями
- •Оператор конкатенации
- •Строки символов (литералы)
- •Обработка неопределенных значений
- •Функция nvl
- •Синтаксис
- •7 Строк выбрано. Преобразование nvl для различных типов
- •Лабораторная работа №4 Тема: ограничение количества выбираемых строк.
- •Азазель 40 5
- •7 Строк выбрано.
- •1 Иванов и.Н. 005363
- •Пример. Вывод названия фильмов и стоимости проката для фильмов, количество которых 3 и 5.
- •Сочетание символов в искомой строке
- •Строки не выбраны
- •2 From film 3 Азазель
- •Пример. Вывод кодов фильмов и их названий, имеющих режиссера.
- •Порядок выполнения операций Правила приоритета
- •1 Красотка 42 3
- •Пример.
- •Пример.
- •Числовые функции
- •Пример.
- •Использование арифметических операторов с датами
- •Арифметические операторы над датами
- •Функции для работы с датами
- •Пример.
- •Функции преобразования
- •Вывод даты в заданном формате
- •Форматы времени
- •Пример.
- •Элементы формата числа
- •Пример.
- •Лабораторная работа №7 Тема: групповые функции Групповые функции
- •Групповые функции
- •Пример. Вывод первого и последнего названия фильма из алфавитного списка всех фильмов.
- •8 Строк выбрано.
- •Предложение having
- •Пример.
- •Лабораторная работа №8 Тема: подзапросы
- •From таблица
- •(Select список_выбора
- •Однострочные подзапросы
- •Многострочные подзапросы
- •Лабораторная работа №9 Тема определение переменных во время выполнения Переменные подстановки с одним амперсантом
- •Команда set verify
- •Определение текстовых строк и дат с помощью переменных подстановки
- •Указание имен столбцов, выражений и текстовых строк во время выполнения
- •Определение переменных пользователя
- •Лабораторная работа №10 Тема: изменение таблиц и ограничений Добавление столбца
- •Изменение столбца
- •Добавление и удаление ограничений
- •Разрешение и запрет ограничений
- •Удаление таблицы
- •Команда rename:
- •Команда truncate: Синтаксис
- •Усечение таблицы.
- •Добавление комментариев к таблице
- •Лабораторная работа №11 Тема: создание последовательности
- •Создание последовательности
- •Проверка параметров последовательности
- •10 Строк выбрано. Псевдостолбцы nextval и currval
- •Пропуски в последовательности
- •Просмотр следующего свободного значения без его увеличения
- •Изменение параметров последовательности
- •Лабораторная работа № 12. Тема: словарь данных.
- •Запросы к словарю данных
- •Классы представлений
- •Прочие представления
- •Лабораторная работа № 13. Тема: создание представлений
- •2 As select filmId, namef, god_vip Дата_выпуска
- •13 Куклы 13.05.99
- •2 (Номер, Название, Дата)
- •2 (ИмяКлиента, посл_Выдача, Перв_выдача)
- •2 (Номер, Название, Дата)
- •Удаление представления
- •Лабораторная работа №14 Тема: создание индексов
- •Типы индексов
- •Создание индекса
- •Просмотр индексов
- •Удаление индекса
Пример.
Вывод названия каждого фильма строчными буквами, которые начинаются с «К», код фильма и каждого режиссера данного фильма заглавными буквами.
SQL> select substr((lower (namef)), 1,10)|| ' ' || filmid Фильм,
2 substr((upper(regiser),1,max(lenGTH (regiser))) Режиссер
3 from film
4 where namef like 'К%';
ФИЛЬМ РЕЖИССЕР
----------------------------------------------------
красотка 1 Полански
куклы 10 Такеши китано
красный дракон11
Пример.
Вывод всех клиентов с фамилией Иванов И.Н.
SQL> select FIO, phone
2 from klient
3 WHERE FIO = 'ИВАНОВ И.Н.';
строки не выбраны
SQL> select FIO, phone
2 from klient
3 WHERE upper(fio) = 'ИВАНОВ И.Н.';
FIO PHONE
------------------------- -----------
Иванов И.Н. 9005363
Иванов И.Н. 1235478
Фамилия выводится в том виде, как она хранится в базе данных. Для вывода фамилии символами верхнего регистра необходимо включить функцию UPPER в предложение SELECT.
Пример.
Вывод всех названий фильмов, три первых символа которых равны "Кр", и длины этих наименований.
NAMEF LENGTH(NAMEF)
------------------------- -------------
Красотка 8
Красный дракон 14
Числовые функции
Числовые функции принимают числовое значение и возвращают числовое значение. В этом разделе описаны некоторые из числовых функций.
Функция |
Назначение |
ROUND(столбецвыражение, п) |
Округляет столбец, выражение или значение до п десятичных знаков. Если п опущено, то до целого. Если п отрицательно, округляется целая часть числа. |
ТRUNC(столбецвыражение, п) |
Усекает столбец, выражение или значение до п десятичных знаков. Если п опущено, то до целого. Если п отрицательно, обнуляются разряды целой части числа. |
MOD(m,n) |
Возвращает остаток от деления т на п. |
Это неполный список имеющихся числовых функций.
Аргументы функций TRUNC и ROUND одинаковы. Если второй аргумент равен нулю или отсутствует, значение округляется или усекается до целого числа. Если второй аргумент равен двум, то значение округляется или усекается до двух десятичных знаков, то есть до сотых. Если второй аргумент равен -2, число округляется или усекается до целого числа сотен.
Пример.
Вывод значения 45.923 с округлением до сотых, без округления и с округлением до десятков.
SQL> SELECT ROUND (45.923, 2) , ROUND (45.923, 0),
2 ROUND (45.923, -1)
3 FROM SYS.DUAL;
ROUND (45.923 ,2) ROUND (45.923, 0) ROUND(45.923, -1)
-------------------------------------------------------------------------------------------
45.92 46 50
Пример.
Вывод значения 45.923 с усечением до сотых, без усечения и с обнулением до десятков.
SQL> SELECT TRUNC (45.923, 2) , TRUNC (45.923, 0),
2 TRUNC (45.923, -1)
3 FROM SYS.DUAL;
TRUNC (45.923, 2) TRUNC (45.923) TRUNC(45.923,-1)
----------------------------------------------------------------------------------------
45.92 45 40
SYS.DUAL - это фиктивная таблица.
Пример.
Вычисление остатка от деления заработной платы на комиссионные для всех служащих с зарплатой выше 1400
.SQL> select namef, MOD(stoimost_prok,7)
2 from film
3 where kol>3;
NAMEF MOD(STOIMOST_PROK,7)
------------------------- --------------------
Дом 5
Азазель 5
Хранение данных в Oracle
Даты в системе Oracle хранятся во внутреннем числовом формате, где представлено следующее: столетие, год, месяц, день, часы, минуты, секунды
По умолчанию вывод даты производится в формате DD-MM-YYYY (дата-месяц-год). В Oracle можно хранить даты с 1 января 1472 года до н.э. по 31 декабря 4172 г. н.э.
SYSDATE — функция даты, возвращающая текущие дату и время. Выборка производится из фиктивной таблицы DUAL, которая принадлежит пользователю SYS и доступна всем пользователям. Она содержит один столбец с именем DUMMY и одну строку со значением "X". Таблица DUAL полезна в случае, если требуется только один раз получить значение (константу, псевдокоманду или выражение) не из таблицы с данными пользователя.
Пример.
Вывод текущей даты с помощью таблицы DUAL.
SQL> SELECT SYSDATE
2 FROM SYS.DUAL;