русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Практическое занятие 11


Дата добавления: 2015-08-31; просмотров: 2113; Нарушение авторских прав


o Создайте скрипт, который позволит получать информацию об именах колонок, типах данных, допустимых объемах ячеек, а также о допустимости пустых ячеек. Пользователь должен иметь возможность вводить имя таблицы. Задайте псевдонимы для столбцов DATA_PECISION и DATA_SCALE. Сохраните скрипт в файле.

Например, если пользователь ввел DEPARTMENTS, он должен получить следующий результат:

COLUMN_NAME DATA_TYPE DATA_LENGTH PRECISION SCALE N
DEPARTMENT_ID NUMBER N
DEPARTMENT_NAME VARCHAR2     N
MANAGER_ID NUMBER Y
LOCATION_ID NUMBER Y

select column_name, data_type, data_length, data_precision PRECISION, data_scale SCALE, nullable from user_tab_columns where table_name=upper('&name');

COLUMN_NAME DATA_TYPE DATA_LENGTH PRECISION SCALE NULLABLE
DEPARTMENT_ID NUMBER N
DEPARTMENT_NAME VARCHAR2     N
MANAGER_ID NUMBER Y
LOCATION_ID NUMBER Y

 

 

    • Создайте скрипт для получения информации об именах колонок, именах ограничений, условиях поиска и статусе таблицы. Для получения необходимой информации Вы должны соединить таблицы USER_CONSTRAINTS и USER_CONS_COLUMNS. Пользователь должен иметь возможность вводить имя таблицы. Сохраните скрипт в файле.

Например, если пользователь ввел DEPARTMENTS, он должен получить следующий результат:

COLUMN_NAME CONSTRAINT_NAME C SEARCH_CONDITION STATUS
DEPARTMENT_ID DEPT_ID_PK P   ENABLED
LOCATION_ID DEPT_LOC_FK R   ENABLED
MANAGER_ID DEPT_MGR_FK R   ENABLED
DEPARTMENT_NAME DEPT_NAME_NN C "DEPARTMENT_NAME" IS NOT NULL ENABLED

select ucc.column_name, ucc.constraint_name, uc.SEARCH_CONDITION, uc.STATUS



from user_cons_columns ucc join USER_CONSTRAINTS uc on(ucc.constraint_name=uc.constraint_name)

where ucc.table_name=upper('&name');

 

COLUMN_NAME CONSTRAINT_NAME SEARCH_CONDITION STATUS
LAST_NAME SYS_C00138204 "LAST_NAME" IS NOT NULL ENABLED
EMAIL SYS_C00138205 "EMAIL" IS NOT NULL ENABLED
HIRE_DATE SYS_C00138206 "HIRE_DATE" IS NOT NULL ENABLED
JOB_ID SYS_C00138207 "JOB_ID" IS NOT NULL ENABLED
SALARY EMP_SALARY_MIN salary > 0 ENABLED
EMAIL EMP_EMAIL_UK   ENABLED
EMPLOYEE_ID EMP_EMP_ID_PK   ENABLED
DEPARTMENT_ID EMP_DEPT_FK   ENABLED
MANAGER_ID EMP_MANAGER_FK   ENABLED
JOB_ID EMP_JOB_FK   ENABLED

 

 

    • Добавьте комментарий к таблице DEPARTMENTS. Затем обратитесь с запросом к представлению USER_TAB_COMMENTS, для проверки факта создания комментария.
COMMENTS
Company department information including name, code and location

COMMENT ON TABLE DEPARTMENTS

IS 'This is my comment';

 

COMMENT on table departments 'THIS IS MY COMMENT' succeeded.

 

select * from USER_TAB_COMMENTS where comments='This is my comment';

TABLE_NAME TABLE_TYPE COMMENTS
DEPARTMENTS TABLE This is my comment

 

 

    • Найдите имена всех синонимов в вашей схеме

 

select synonym_name from user_synonyms;

SYNONYM_NAME
EMP

 

 

SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
EMP HR EMPLOYEES  
    • Из представления словаря данных USER_VIEWS выберите столбцы VIEW_NAME и TEXT.

Примечание:для просмотра содержимого столбца типа LONG выполните команду SETLONGn, где n – число выводимых запросом символов из столбца типа LONG.

select VIEW_NAME, TEXT from USER_VIEWS;

VIEW_NAME TEXT
SALARY_VU ( select e.last_name "Employee", d.department_name "Department", e.salary "Salary", g.grade_level "Grade" from employees e left join departments d on (e.department_id=d.department_id) left join job_grades g on (e.salary between g.lowest_sal and highest_sal) )
EMPLOYEES_VU ( select employee_id, last_name EMPLOYEE, department_id from employees )
DEPT50 ( select employee_id EMPNO, last_name EMPLOYEE, department_id DEPTNO from employees where department_Id=50 ) with check option
BOOKAUTHORPUBLISHER SELECT DISTINCT Author.Famil, Book.bookName, publisher.publishName FROM Author, Book, Book_Author, Book_publicher, publisher WHERE (Book.isbn=book_Author.isbn and book_author.inn=author.inn) and (book.isbn=Book_publicher.isbn and book_publicher.regNo=publisher.regNo)

 

 

6. Найдите имена всех ваших последовательностей. Напишите запрос для получения следующей информации о ваших последовательностях: имя последовательности, максимальное значение, величина приращения, последнее значение. Сохраните скрипт в файле. Выполните скрипт.

 

 

SEQUENCE_NAME MAX_VALUE INCREMENT_BY LAST_NUMBER
DEPARTMENTS_SEQ
EMPLOYEES_SEQ 1,0000E+27
LOCATIONS_SEQ

select sequence_name, max_value, INCREMENT_BY, LAST_NUMBER from user_sequences;

SEQUENCE_NAME MAX_VALUE INCREMENT_BY LAST_NUMBER
ASC_NUM_1 1E+28
DEPT_DEPTID_SEQ
DEPT_ID_SEQ

 

Задача: 3.2

ОГЛАВЛЕНИЕ

Практическое занятие 1 1

select employee_id ||','||first_name||','||last_name||','||email||','||phone_number||','||to_char(hire_date,'dd-mon-yy')||','||job_id||','||salary||','||commission_pct||','|| 9

Практическое занятие 2 10

Практическое занятие 3, часть 1 17

Практическое занятие 3, часть 2 21

Практическое занятие 4 27

Практическое занятие 5 32

Практическое занятие 6 37

Практическое занятие 7 40

Практическое занятие 8 41

Практическое занятие 9 43

Практическое занятие 10, Часть 1 44

Практическое занятие 10, Часть 2 45

Практическое занятие 11 46

select * from user_tables; select * from user_constraints; select * from user_cons_columns; select * from user_tab_columns;     select ucc.table_name, ucc.column_name, ucc2.column_name,max_column.columnID from user_cons_columns ucc join user_constraints uc on(ucc.constraint_name=uc.constraint_name) join user_cons_columns ucc2 on(ucc2.constraint_name=uc.constraint_name) join (select max(ucc3.position) columnID,ucc3.table_name from user_cons_columns ucc3 join user_constraints uc3 on (ucc3.constraint_name=uc3.constraint_name) where uc3.constraint_type='P' group by ucc3.table_name) max_column on (max_column.table_name=ucc.table_name) where ucc.position=1 and uc.constraint_type='P' and ucc2.position=2 and uc.constraint_type='P';   select max(ucc3.position) columnID,ucc3.table_name from user_cons_columns ucc3 join user_constraints uc3 on (ucc3.constraint_name=uc3.constraint_name) where uc3.constraint_type='P' group by ucc3.table_name;   select table_name, min(table_name_r) table_name_r from( select p_con.table_name, r_con.table_name table_name_r from user_constraints p_con join user_constraints r_con on (p_con.constraint_name=r_con.r_constraint_name) order by p_con.table_name) group by table_name;

 



<== предыдущая лекция | следующая лекция ==>
Практическое занятие 10, Часть 2 | 


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.695 сек.