Используя сведения из системных каталогов получить информацию о таблицах любой указанной схемы в следующем виде: #### Количество таблиц в схеме isu_ucheb - 32 Количество столбцов в схеме isu_ucheb - 303 Количество индексов в схеме isu_ucheb – 91 Таблицы схемы isu_ucheb Имя Столбцов Строк ----------------------------------------------- Н_ВЕДОМОСТИ 15 182010 Н_ВЕДОМОСТИ_НОМЕРА 10 13594 Н_ВИДЫ_ОБУЧЕНИЯ 8 6 Н_ВИДЫ_РАБОТ 9 44 Н_ГРУППЫ_ПЛАНОВ 6 3210 Н_ДИСЦИПЛИНЫ 7 1452 Н_ИЗМ_ЛЮДИ 13 375 Н_КВАЛИФИКАЦИИ 6 11 Н_КОМПОНЕНТЫ 7 7 Н_ЛЮДИ 14 20259 Н_НАПР_СПЕЦ 7 154 Н_НАПРАВЛЕНИЯ_СПЕЦИАЛ 11 244 Н_ОБУЧЕНИЯ 7 16650 Н_ОТДЕЛЫ 15 177 Н_ОЦЕНКИ 3 11 Н_ПЛАНЫ 23 2383 Н_СВОЙСТВА_ВР 7 9 Н_СВОЙСТВА_ОТДЕЛОВ 7 12 Н_СЕССИЯ 12 2560 Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРО 9 128419 Н_СТРОКИ_ПЛАНОВ 11 29228 Н_ТИПЫ_ВЕДОМОСТЕЙ 6 3 Н_ТИПЫ_ПЛАНОВ 7 5 Н_ТИПЫ_СТАНДАРТОВ 6 7 Н_УЧЕБНЫЕ_ГОДА 3 10 Н_УЧЕНИКИ 19 67878 Н_ФОРМЫ_ОБУЧЕНИЯ 12 4 Н_ХАРАКТЕРИСТИКИ_ВИДОВ_РАБО 6 41 Н_ХАРАКТЕРИСТИКИ_ОТДЕЛОВ 8 122 Н_ЦИКЛЫ_ДИСЦИПЛИН 7 14 Н_ЭКЗ_ЛИСТЫ_НОМЕРА 13 0 Н_ЭЛЕМЕНТЫ_СТРОК 9 36803 ---------------------------------------------------------- ######## Используя сведения из системных каталогов, получить информацию о любой таблице: Номер по порядку, Имя столбца, Атрибуты (в атрибуты столбца включить тип данных, комментарий, ограничение целостности типа NOT NULL). #### Таблица: Н_УЧЕНИКИ No. Имя столбца Атрибуты --- ----------------- ------------------------------------------------------ 1 ИД Type: NUMBER(9) COMMEN: Уникальный идентификатор Constraint: УЧЕН_PK Primary key 2 ЧЛВК_ИД Type: NUMBER(9) COMMEN: Внешний ключ к таблице Н_ОБУЧЕНИЯ 3 ПРИЗНАК Type: VARCHAR2(10) COMMEN: (обучен,отчисл,академ,диплом) 4 СОСТОЯНИЕ Type: VARCHAR2(9) COMMEN: Состояние (проект, утвержден, отменен) 5 НАЧАЛО Type: DATE Not null 6 КОНЕЦ Type: DATE Not null 7 ПЛАН_ИД Type: NUMBER(9) COMMEN: Искусственный первичный уникальный идентификатор 8 ГРУППА Type: VARCHAR2(4) COMMEN: Номер студенческой группы 9 П_ПРКОК_ИД Type: NUMBER(9) COMMEN: Внешний ключ к таблице Н_ПУНКТЫ_ПРИКАЗОВ_ОК 10 ВИД_ОБУЧ_ИД Type: NUMBER(9) COMMEN: Внешний ключ к таблице Н_ОБУЧЕНИЯ 11 ПРИМЕЧАНИЕ Type: VARCHAR2(200) COMMEN: Текст примечания 12 КТО_СОЗДАЛ Type: VARCHAR2(40) 13 КОГДА_СОЗДАЛ Type: DATE Not null 14 КТО_ИЗМЕНИЛ Type: VARCHAR2(40) 15 КОГДА_ИЗМЕНИЛ Type: DATE Not null 16 КОНЕЦ_ПО_ПРИКАЗУ Type: DATE COMMEN: конец периода действия строки по приказу 17 ВМЕСТО Type: NUMBER(9) COMMEN: ссылка на строку, вместо которой введена текущая 18 В_СВЯЗИ_С Type: NUMBER(9) COMMEN: ид начисления, вызвавшего изменение текущего атрибута конец 19 ТЕКСТ Type: VARCHAR2(200) ######## Используя сведения из системных каталогов получить информацию о любой таблице: Номер по порядку, Имя столбца, Атрибуты (в атрибуты столбца включить тип данных, ограничение типа CHECK). #### Таблица: Н_ЛЮДИ No. Имя столбца Атрибуты --- ------------ ------------------------------------------------------ 1 ИД Type : NUMBER(9) NOT NULL Comment : 'Уникальный номер человека' 2 ФАМИЛИЯ Type : VARCHAR2(25) NOT NULL Comment : 'Фамилия человека' 3 ИМЯ Type : VARCHAR2(2000) NOT NULL Comment : 'Имя человека' 4 ОТЧЕСТВО Type : VARCHAR2(20) Comment : 'Отчество человека' 5 ДАТА_РОЖДЕНИЯ Type : DATE NOT NULL Comment : 'Дата рождения человека' 6 ПОЛ Type : CHAR(1) NOT NULL Constr : "AVCON_378561_ПОЛ_000" CHECK (ПОЛ IN ('М', 'Ж')) Constr : "AVCON_388176_ПОЛ_000" CHECK (ПОЛ IN ('М', 'Ж')) Comment : 'Пол человека' 7 ИНОСТРАН Type : VARCHAR2(3) NOT NULL 8 КТО_СОЗДАЛ Type : VARCHAR2(40) NOT NULL 9 КОГДА_СОЗДАЛ Type : DATE NOT NULL 10 КТО_ИЗМЕНИЛ Type : VARCHAR2(40) NOT NULL 11 КОГДА_ИЗМЕНИ Type : DATE NOT NULL 12 ДАТА_СМЕРТИ Type : DATE Comment : 'Дата смерти человека' 13 ПИН Type : VARCHAR2(20) 14 ИНН Type : VARCHAR2(20) ######## Используя сведения из системных каталогов получить информацию о любой таблице: Номер по порядку, Имя столбца, Атрибуты (в атрибуты столбца включить тип данных и внешние ключи). #### Таблица: н_характеристики_видов_работ No. Имя столбца Атрибуты --- ----------- ------------------------------------------------------ 1 свр_ид Type : NUMBER(9) Constr : "хвр_свр_fk" References н_свойства_вр(ид) 2 вр_ид Type : NUMBER(9) Constr : "хвр_вр_fk" References н_виды_работ(ид) 2 кто_создал Type : Date 3 когда_создал Type : Date 4 кто_изменил Type : Date 5 когда_изменил Type : Date ######## Используя сведения из системных каталогов получить информацию о любой таблице: Номер по порядку, Имя столбца, Атрибуты (в атрибуты столбца включить тип данных, комментарий и индекс). #### Таблица: Н_ЛЮДИ No. Имя столбца Атрибуты --- ----------- ------------------------------------------------------ 1 ИД Type : NUMBER (9) Commen : "Уникальный номер человека" Index : "ЧЛВК_PK" 2 ФАМИЛИЯ Type : VARCHAR2 (25) Commen : "Фамилия человека" Index : "ФАМ_ЛЮД" 3 ИНОСТРАН Type : VARCHAR2 (3) Commen : "" Index : "ЧЛВК_ИНОСТРАН" ... ######## Используя сведения из системных каталогов получить информацию о любом столбце схемы: Номер по порядку, Имя столбца, Имя таблицы, Атрибуты (в атрибуты столбца включить тип данных, комментарий, ограничение целостности, индекс). #### No Имя столбца Имя таблицы Атрибуты -- ----------- ----------- -------- 1 ЧЛВК_ИД Н_ВЕДОМОСТ Type : NUMBER(9) . Constr: CONSTRAINT . "ВЕД_ЧЛВК_FK" REFERENCES Н_ЛЮДИ (ЧЛВК_ИД) . Commen: "Внешний ключ к таблице Н_ЛЮДИ" . Index : "ВЕД_УВЕД_UK" 2 ЧЛВК_ИД Н_ИЗМ_ЛЮДИ Type : NUMBER(9) . Constr: CONSTRAINT . "ИЗМЛ_PK" PRIMARY KEY . "ИЗМЛ_ЧЛВК_FK" REFERENCES Н_ЛЮДИ (ЧЛВК_ИД) . Commen: "Внешний ключ к таблице Н_ЛЮДИ" . Index : "ИЗЧЕЛ_ЧЛВК_FK_I" . "ИЗМЛ_PK" 3 ЧЛВК_ИД Н_ОБУЧЕНИЯ Type : NUMBER(9) . Constr: CONSTRAINT . "ОБУЧ_PK" PRIMARY KEY . "ОБУЧ_ЧЛВК_FK" REFERENCES Н_ЛЮДИ (ЧЛВК_ИД) . Commen: "Внешний ключ к таблице Н_ЛЮДИ" . Index : "ОБУЧ_ЧЛВК_FK_I" . "ОБУЧ_PK" 4 ЧЛВК_ИД Н_СЕССИЯ Type : NUMBER(9) . Constr: "SYS_C0014470" REFERENCES Н_ЛЮДИ (ЧЛВК_ИД) . Commen: "" . Index : "СЕС_ЧЛВК_FK" 5 ЧЛВК_ИД Н_УЧЕНИКИ Type : NUMBER(9) . Constr: CONSTRAINT . "УЧЕН_ОБУЧ_FK" REFERENCES Н_ОБУЧЕНИЯ (ЧЛВК_ИД) . Commen: "Внешний ключ к таблице Н_ОБУЧЕНИЯ" . Index : "УЧЕН_ОБУЧ_FK_I" 6 ЧЛВК_ИД Н_ЭКЗ_ЛИСТ Type : NUMBER(9) . Constr: CONSTRAINT . "ЭЛН_ЧЛВК_FK" REFERENCES Н_ЛЮДИ (ЧЛВК_ИД) ######## Используя сведения из системных каталогов получить информацию о первичных и внешних ключах схемы: Номер по порядку, Имя ограничения целостности, Тип, Имя столбца, Имя таблицы. Кроме того, для внешних ключей указать Имя таблицы и Имя столбца на которые ссылаются эти ключи. Тип ограничения: R - внешний ключ, P - первичный ключ, #### Имя ограничения Тип Имя столбца Имя таблицы Имя таблицы Имя столбц --------------------- --- ------------------- ----------- ----------- ---------- ПЛАН_PK P ИД Н_ПЛАНЫ ПЛАН_КАФ_FK R ОТД_ИД_ЗАКРЕПЛЕН_ЗА Н_ПЛАНЫ Н_ОТДЕЛЫ ИД ПЛАН_НАПС_FK R НАПС_ИД Н_ПЛАНЫ Н_НАПРАВЛЕН ИД ПЛАН_ПЛАН_FK R ПЛАН_ИД Н_ПЛАНЫ Н_ПЛАНЫ ИД ПЛАН_ПЛАН_ОСНОВ_НА_FK R ПЛАН_ИД_ОСНОВ_НА Н_ПЛАНЫ Н_ПЛАНЫ ИД ПЛАН_ТЛП_FK R ТПЛ_ИД Н_ПЛАНЫ Н_ТИПЫ_ПЛАН ИД ПЛАН_ФАК_FK R ОТД_ИД Н_ПЛАНЫ Н_ОТДЕЛЫ ИД ПЛАН_ФО_FK R ФО_ИД Н_ПЛАНЫ Н_ФОРМЫ_ОБУ ИД УЧЕН_PK P ИД Н_УЧЕНИКИ УЧЕН_ОБУЧ_FK R ВИД_ОБУЧ_ИД Н_УЧЕНИКИ Н_ОБУЧЕНИЯ ИД_ОБУЧ_ИД УЧЕН_ОБУЧ_FK R ЧЛВК_ИД Н_УЧЕНИКИ Н_ОБУЧЕНИЯ ЧЛВК_ИД УЧЕН_ПЛАН_FK R ПЛАН_ИД Н_УЧЕНИКИ Н_ПЛАНЫ ИД УЧЕН_ПЛАН_ГРУППА_FK R ГРУППА Н_УЧЕНИКИ Н_ГРУППЫ_ПЛ ГРУППА УЧЕН_ПЛАН_ГРУППА_FK R ПЛАН_ИД Н_УЧЕНИКИ Н_ГРУППЫ_ПЛ ПЛАН_ИД ... ######## Используя сведения из системных каталогов, получить информацию о всех правилах (CHEK и NOT NULL) схемы: Номер по порядку, Имя ограничения, Тип, Имя таблицы, Имя столбца, Текст ограничения. #### Имя ограничения Тип Текст ограничения -------------------------- -- ------------------------------------------------- 1 AVCON_388143_СОСТО_000 C Н_УЧЕНИКИ СОСТОЯНИЕ СОСТОЯНИЕ IN ('проект', 'утвержден', 'отменен') 2 AVCON_388143_ПРИЗН_000 C Н_УЧЕНИКИ ПРИЗНАК ПРИЗНАК IN ('обучен', 'академ', 'повтор', 'отчисл' 3 AVCON_378561_ПОЛ_000 C Н_ЛЮДИ ПОЛ ПОЛ IN ('М', 'Ж') 4 AVCON_388176_ПОЛ_000 C Н_ЛЮДИ ПОЛ ПОЛ IN ('М', 'Ж') 5 SYS_C0014067 C Н_ЛЮДИ ФАМИЛИЯ "ФАМИЛИЯ" IS NOT NULL 6 AVCON_387864_ОЦЕНК_000 C Н_ВЕДОМОСТИ ОЦЕНКА ОЦЕНКА IN ('99', '5', '4', '3', '2', 'зачет', 'незачет' 7 ВЕД_СОСТ_CHK C Н_ВЕДОМОСТИ СОСТОЯНИЕ состояние IN ('актуальна', 'неактуальна') ... ######## Используя сведения из системных каталогов, получить информацию обо всех триггерах, назначенных на указанную таблицу схемы. #### COLUMN NAME TRIGGER NAME ----------------------- ------------------------ COLUMN1 TRIGGER1 COLUMN2 TRIGGER2 ... ######## Используя сведения из системных каталогов, получить информацию обо всех столбцах заданной таблицы, находящейся в схеме заданного пользователя. Полученную информацию представить в следующем формате: #### Пользователь: Ivan Ivanov (s100000) Таблица: н_характеристики_видов_работ No. Имя столбца Атрибуты --- ----------- ------------------------------------------------------ 1 свр_ид Type : NUMBER(9) Constr : "хвр_свр_fk" References н_свойства_вр(ид) 2 вр_ид Type : NUMBER(9) Constr : "хвр_вр_fk" References н_виды_работ(ид) 2 кто_создал Type : Date 3 когда_создал Type : Date 4 кто_изменил Type : Date 5 когда_изменил Type : Date ######## Используя сведения из системных каталогов, получить информацию об используемой базе данных. Полученную информацию представить в следующем формате: #### DBID: 00000001 NAME: orbis CREATED: 2014-09-10 00:00:00 LOG_MODE: NOARCHIVELOG OPEN_MODE: MOUNTED PROTECTION_MODE: MAXIMUM PROTECTION ######## Используя сведения из системных каталогов, получить информацию обо всех файлах данных, доступных для чтения и записи. Полученную информацию представить в следующем формате: #### No. FILE# CREATION_TIME STATUS --- ----------- ---------------------- ------------------------------ 1 00000001 2014-09-10 00:00:00 ONLINE ... ######## Используя сведения из системных каталогов, сформировать запрос, отключающий все ограничения целостности типа NOT NULL в пределах заданной схемы. Запрос должен выводить информацию о количестве отключённых ограничений целостности: #### Схема: s100000 Ограничений целостности типа NOT NULL отключено: 8 ######## Используя сведения из системных каталогов, сформировать запрос, реализующий полнотекстовый поиск по исходному коду всех процедур, функций и триггеров в пределах заданной схемы. Поиск должен осуществляться независимо от регистра символов в строке запроса. Полученная информация должна быть представлена в виде списка следующего вида: #### Текст запроса: Н_Люди No. Имя объекта # строки Текст --- ------------------- ------------- -------------------------------------------- 1 MyFunction1 16 SELECT * FROM н_люди WHERE 2 MyProcedure1 42 INSERT INTO Н_ЛЮДИ ... ######## Используя сведения из системных каталогов, получить информацию обо всех таблицах, на которые текущий пользователь может выдать права доступа другому заданному пользователю. Полученную информацию представить в виде списка следующего формата: #### Текущий пользователь: s100000 Кому выдаём права доступа: s111111 No. Имя таблицы --- ------------------------- 1 TABLE1 2 TABLE2 3 TABLE3 ... ######## Используя сведения из системных каталогов, сформировать список таблиц в заданной схеме, хотя бы в одной из строк хотя бы одной из колонок имеющих значение 'NULL'. Полученную информацию представить в виде списка следующего формата: #### Схема: s100000 No. Имя таблицы --- ------------------------------- 1 Н_ЛЮДИ 2 Н_ХАРАКТЕРИСТИКИ_ВИДОВ_РАБОТ 3 Н_УЧЕНИКИ 4 Н_ПЛАНЫ 5 Н_ОТДЕЛЫ ... ######## Используя сведения из системных каталогов, реализовать запрос, преобразующий все целочисленные значения из заданной таблицы (за исключением первичного ключа) в даты и добавляющий полученные даты в новые столбцы в пределах данной таблицы. Количество новых столбцов в таблице должно соответствовать количеству столбцов с целочисленными значениями в ней (за исключением первичного ключа). Имена новых столбцов должны формироваться на основании следующего правила: имя нового столбца = имя старого столбца + _DATE. В результате выполнения запроса должен выводиться отчёт следующего вида: #### Таблица: Н_ЛЮДИ Целочисленных столбцов: 5 Столбцов добавлено: 4 ######## Используя сведения из системных каталогов, реализовать запрос, переименовывающий все столбцы в пределах заданной схемы, имеющие кавычки (") или апострофы (') в наименовании. Новое название такого столбца должно соответствовать старому за исключением того, что в нём должны отсутствовать символы кавычек и апострофов. При этом, все данные в столбце должны быть сохранены. В результате выполнения запроса должен выводиться отчёт следующего вида: #### Схема: s100000 Cтолбцов переименовано: 12 Таблиц изменено: 7