- •Лабораторная работа № 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 Тема: создание индексов
- •Типы индексов
- •Создание индекса
- •Просмотр индексов
- •Удаление индекса
6 Regiser varchar2(20), Таблица создана.
7 god_vip date,
8 Stoimost_prok number(5,2),
9 KOL number(2));
Таблица создана.
SQL> create table dogovor
2 (KlientID number(2)
3 constraint KlientID_fk references
4 klient(klientID),
5 filmID NUMBER(2)
6 CONSTRAINT filmID_fk references
7 film (filmID),
8 Vidacha date,
Vozvrat date);
Таблица создана.
Создание таблицы с заполнением строками из другой таблицы
Синтаксис
CREATE TABLE таблица
[столбец(, столбец...)]
AS подзапрос;
где: таблица имя таблицы.
cтолбец имя столбца, значение по умолчанию и ограничение целостности.
подзапрос команда SELECT, определяющая строки для вставки в новую таблицу.
Синтаксис DESC[RIBE]имя_таблицы |
где: имя таблицы имя существующей таблицы, представления или синонима, доступных пользователю.
Пример.
Подтверждение создания таблицы Klient и Dogovor.
SQL> Describe Klient
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
KLIENTID NOT NULL NUMBER(2)
FIO VARCHAR2(25)
PHONE VARCHAR2(11)
SQL> Describe Dogovor
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
KLIENTID NUMBER(2)
FILMID NUMBER(2)
VIDACHA DATE
VOZVRAT DATE
Лабораторная работа №2
Тема: ОБРАБОТКА ДАННЫХ
Для добавления, изменения или удаления данных из базы данных выполняется команда DML (язык манипулирования данными).
Вставка строк в таблицу
Синтаксис
INSERT INTO таблица [(столбец [, столбец...])]
VALUES (значение [, значение...]);
где: таблица имя таблицы.
столбец имена столбцов таблицы, в которые вносятся значение.
значение соответствующие значения столбцов.
Эта команда с предложением VALUES добавляет в таблицу только одну строку.
SQL> Desc film
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
FILMID NOT NULL NUMBER(2)
NAMEF NOT NULL VARCHAR2(25)
REGISER VARCHAR2(20)
GOD_VIP DATE
STOIMOST_PROK NUMBER(5,2)
KOL NUMBER(2)
SQL> Insert into film
2 Values (1, 'Красотка', 'Поланский','12-12-1987', 30, 2);
1 строка создана.
SQL> Insert into film
2 values (2, 'Дом', 'Шолохов', '17-01-1991', 25, 3);
1 строка создана.
Символьные значения и значения дат заключаются в апострофы; цифровые значения в апострофы не заключаются.
Вставка неопределенных значений
Неявный - Опустить столбец в списке столбцов.
Явный - Задать ключевое слово NULL в списке VALUES.
- Задать пустую строку (‘’) в списке VALUES (только для символьных строк и дат).
Пример.
Ввод нового фильма без фамилии режиссера. Отсутствие фамилии режиссера в предложении INSERT означает неявный ввод неопределенного значения для этого столбца в новой строке.
SQL> Insert into film(FilmId, namef, god_vip, stoimost_prok, kol)
2 values (3, 'Азазель','1-02-2002',30,5);
1 строка создана.
Пример.
Еще один метод: неопределенное значение вводится в строку явно путем указания ключевого слова NULL вместо значения.
SQL> Insert into film
2 values (4, 'Ва-банк', null,'2-03-1985',30,3);
Select sysdate from sys.dual;
1 строка создана.
Пример.
Запись информации о взятом в прокат фильме в таблицу DOGOVOR. Текущие дата и время указывается в столбце Vidacha.
SQL> Insert into dogovor (klientID,FilmId,Vidacha)
2 values(1,1,sysdate);
1 строка создана.
Пример.
Проверить, что строки действительно вставлены в таблицу.
SQL> select klientID,FilmId,Vidacha from dogovor
2 where klientid=1;
KLIENTID FILMID VIDACHA
--------------- ------------ --------
1 1 16.05.03
Вставка конкретных значений даты и времени
Формат даты DD-MON-YY (число-месяц-год). В этом формате стандартным значением для столетия считается текущее столетие. Дата содержит и информацию о времени, стандартным значением времени является полночь (00:00:00). Если требуется задать другой век и конкретное время, применяется функция TO_DATE.
Пример.
Запись информации о взятом в прокат фильме в таблицу DOGOVOR. Время и дата (8 часов 00 минут 1 января 2003 г.) указывается в столбце Vidacha.
SQL> Insert into dogovor (klientID,FilmId,Vidacha)
2 values(1,2, to_date('01-01-03 08:00','DD-MM-YY HH:MI'));