- •Лабораторная работа № 1 Тема: создание таблиц
- •Ссылка на таблицы других пользователей
- •Параметр default
- •Правила присвоения имен
- •Типы данных в Oracle
- •Ограничения
- •Ограничения целостности данных
- •Ограничение primary key
- •Ограничение foreign key
- •Ограничение check
- •Пример. Создание таблицы базы данных Film, Klient, Dogovor.
- •Ограничение not null
- •Ограничение unique
- •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 Тема: создание индексов
- •Создание индекса
- •Просмотр индексов
- •Удаление индекса
Запросы к словарю данных
Запрашивать данные из словаря данных можно с помощью команды SELECT языка SQL. Возможность доступа к разным представлениям словаря данных зависит от вашего уровня привилегии.
Классы представлений
|
Префикс |
Описание |
|
USER_ |
Включает только объекты, владельцем которых является пользователь. В частности, представления с этим префиксом позволяют пользователю получить данные о созданных им таблицах и предоставленных им привилегиях. |
|
ALL_ |
Помимо объектов, принадлежащих самому пользователю, включает объекты, на доступ к которым ему предоставлено право. |
|
DBA_ |
Позволяет пользователям с уровнем привилегий DBA обращаться к любому объекту в базе данных. |
|
V$ |
Позволяет выводить информацию о производительности сервера базы данных и блокировках. Сначала доступен только администратору базы данных. |
Прочие представления
Для некоторых представлений словаря данных (например, синонимов представлений с длинными именами) вышеуказанные префиксы не используются.
|
Имя представления |
Описание |
|
DICTIONARY |
Перечень всех таблиц словаря данных, представлений и синонимов. |
|
TABLE_PRIVILEGES |
Права на доступ к объектам, предоставленные и полученные пользователем, а также объекты, принадлежащие пользователю. |
|
IND |
Синоним представления USERINDEXES. |
Пример.
Представление DICTIONARY позволяет получить список всех представлений словаря данных, доступных пользователю, с кратким описанием в колонке примечаний. Обращаться к этому представлению можно и по синониму DICT.
SQL> SELECT *
2 FROM DICTIONARY;
Пример.
Структуру любого представления словаря данных можно вывести с помощью команды DESCRIBE языка SQL*Plus. Запросите структуру представления USER_OBJECTS.
SQL> desc user_objects
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(18)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
Пример.
Описание любого столбца таблицы или представления словаря данных можно получить с помощью представления DICT_COLUMNS.
SQL> select column_name, comments
2 from dict_columns
3 where table_name='user.objects';
Пример.
Вывод списка типов объектов, принадлежащих пользователю.
SQL> SELECT DISTINCT object_type
2 FROM user_objects;
Пример
Запрашивая данные из столбца COMMENTS представления DICTIONARY, можно получить данные на конкретную тему. Найдите все представления словаря данных, имеющие отношение к ключевому слову "Grant".
COLUMN table_name FORMAT A20
COLUMN comments FORMAT A30
SQL> SELECT *
2 FROM dictionary
3 WHERE LOWER(comments) LIKE '%grant%';
|
TABLE NAME |
COMMENTS |
|
------------------------ |
--------------------------------------------------------------------- |
|
ALL_COL_PRIVS |
Grants on columns for which the user is the grantor, grantee, owner, or an enabled role or PUBLIC is the grantee |
|
ALL_COL_PRIVS_MADE |
Grants on columns for which the user is owner or grantor |
|
ALL_COL_PRIVS_RECD |
Grants on columns for which the user, PUBLIC or enabled role is the grantee |
|
…
|
|
|
20 строк выбрано. |
|
Проверка ограничений для таблицы
Полный список ограничений для своей таблицы можно получить с помощью запроса к таблице USER_CONSTRAINTS.
Пример.
Проверка ограничений для таблицы Film.
SQL> select constraint_name, constraint_type,
2 search_condition, r_constraint_name
3 from user_constraints
4 where table_name='FILM';
|
CONSTRAINT_NAME |
С |
SEARCH_CONDITION |
R_CONSTRAINT_NAME |
|
NAMEF_NN FILMID_PK … |
C P |
"NAMEF" IS NOT NULL
|
|
Просмотреть имена столбцов, на которые распространяются соответствующие ограничения, можно с помощью представления словаря данных USER_CONS_COLUMNS. Этот запрос особенно полезен для ограничений, имена которых присвоены системой.
Пример.
Вывод словарной информации по ограничениям на столбцы для таблицы Film.
SQL> select constraint_name, column_name
2 from user_cons_columns
3 where table_name='FILM';
|
CONSTRAINT_NAME |
COLUMN_NAME |
|
-------------------------------------------------------------
|
-----------------------------------------------
|
|
FILMID_PK NAMEF_NN |
FILMID NAMEF |
