
- •Лабораторная работа № 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 Тема: создание индексов
- •Типы индексов
- •Создание индекса
- •Просмотр индексов
- •Удаление индекса
Лабораторная работа №10 Тема: изменение таблиц и ограничений Добавление столбца
Синтаксис
ALTER TABLE таблица
ADD (столбец тип_данных [DEFAULT выраж] [NOT NULL]
[, столбец тип данных] ...);
где: |
Таблица |
имя таблицы |
|
Столбец |
имя нового столбца |
|
тип_данных |
тип данных и ширина нового столбца |
|
DEFAULT выраж |
определение значения нового столбца по умолчанию |
|
NOT NULL |
ограничение NOT NULL для нового столбца |
Возможно добавлять или изменять столбцы, но не удалять их из таблицы.
Указать, в каком месте таблицы должен появиться столбец, невозможно. Новый столбец автоматически становится в таблице последним.
Изменение столбца
Синтаксис
ALTER TABLE таблица
MODIFY (столбец тип_данных [DEFAULT выраж] [NOT NULL]
[, столбец тип_данных] _);
где: |
Таблица |
имя таблицы |
|
Столбец |
имя столбца |
|
тип_данных |
тип данных и ширина столбца |
|
DEFAULT выраж |
значение по умолчанию для нового столбца |
|
NOT NULL |
ограничение NOT NULL для нового столбца |
Увеличьте ширину или точность числовых значений столбца.
Уменьшите ширину столбца, если он содержит неопределенные значения или таблица не содержит строк, (т.е. поле пустое).
Измените тип данных, если столбец содержит неопределенные значения.
Измените тип данных с CHAR на VARCHAR2 или наоборот, если столбец содержит неопределенные значения или если Вы не меняете ширину.
Измените значения по умолчанию только для последующих вставок в таблицу.
Задавайте ограничение NOT NULL только в случае, если столбец не содержит неопределенных значений.
Добавление и удаление ограничений
Добавлять и удалять ограничения для существующих таблиц можно с помощью предложений ADD и DROP в команде ALTER TABLE.
Синтаксис
ALTER TABLE таблица
ADD [CONSTRAINT ограничение] тип (столбец) ;
где: |
таблица |
имя таблицы. |
|
ограничение |
имя ограничения. |
|
тип |
тип ограничения. |
|
столбец |
имя столбца, к которому относится ограничение. |
Можно добавлять, удалять, запрещать и разрешать ограничения, но не менять их структуру.
Ограничение NOT NULL для существующего столбца можно добавить с помощью команды ALTER TABLE с предложением MODIFY.
Имя ограничения можно получить из представлений USER_CONSTRAINTS и USER_CONS_COLUMNS словаря данных.
Синтаксис
ALTER TABLE таблица
DROP PRIMARY KEY | UNIQUE (столбец) |
CONSTRAINT ограничение [CASCADE];
где: |
таблица |
имя таблицы. |
|
столбец |
имя столбца, на который действует ограничение. |
|
ограничение |
имя ограничения. |
|
CASCADE
|
одновременно удаляется все зависимые ограничения |
Если вы удалили ограничение как объект, с этого момента оно уже не поддерживается сервером Oracle и недоступно в словаре данных.