Скачиваний:
71
Добавлен:
15.03.2015
Размер:
47.62 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА №3

  1. Подключение к СУБД Oracle

Запустить SQL Developer

Создать новое соединение:

Connection Name: Фамилия

Username: hr

Password: hr

Hostname: localhost

Port: 1521

SID: xe

  1. Используя Data Modeler получить реляционную модель. Изучить структуру и информацию в таблицах

Описание схемы HR

В записях о штате сотрудников каждый сотрудник имеет идентификационный номер, адрес электронной почты, идентификатор должности, оклад и (идентификатор) руководителя. Некоторые сотрудники дополнительно к окладу зарабатывают комиссионные.

Также компания хранит информацию о должностях в рамках организации. У каждой должности есть идентификатор, название и диапазон ("вилка") окладов.

Некоторые сотрудники долгое время работают в компании и занимали в ней разные должности. При уходе сотрудника с должности записываются сведения о продолжительности его работы в данной должности, её идентификатор и подразделение, в котором работал сотрудник.

Компания из данного примера работает в нескольких регионах, поэтому хранятся сведения о местах расположения её складов и подразделений. Каждый сотрудник приписан к одному подразделению, а каждое подразделение идентифицируется уникальным номером. Каждое подразделение связано (находится во взаимно однозначном соответствии) с одним местоположением, а для каждого местоположения хранится полный адрес, содержащий название улицы, почтовый индекс, город, штат или область и код страны.

Для местоположений подразделений и складов хранится детализированная информация: название страны и географический регион, где расположена страна.

Диаграмма Сущность-Связь

  1. Синтаксис команды SELECT:

SELECT * | список столбцов

FROM имена таблиц

WHERE условие отбора строк

GROUP BY список столбцов для группировки

HAVING условие отбора сгруппированных строк

ORDER BY список столбцов для сортировки

  1. Написать запросы, позволяющие:

  1. Вывести всю информацию из таблицы Employees.

  2. Вывести фамилии сотрудников и зарплаты сотрудников, получающих зарплату, большую 10000. Фамилии сотрудников вывести заглавными буквами.

  3. Вывести фамилии сотрудников с фамилиями, начинающимися на букву K и имеющими букву n на третьем месте.

  4. Вывести фамилии сотрудников и первые буквы имен (в одном столбце), а также зарплату с добавленным знаком $. Имена столбцов вывести по-русски. Отсортировать в порядке убывания зарплат.

  5. Определить сумму зарплат, среднюю зарплату и количество сотрудников.

  6. Вывести текущую дату.

  7. Вывести дату и день недели, которые будут через 1000 дней. Информацию вывести в виде:

22-Апрель-2017, Пятница

  1. Определить количество прожитых Вами часов.

  2. Определить день недели, который будет через 1000 дней.

  3. Определить полное количество прожитых Вами лет, количество полных месяцев (которые не вошли в полные года) и количество дней. Пример результата:

25 лет. 10 мес. 5 дн.

  1. Выделить второе слово в адресе отдела (Таблица Locacions).

  2. Определить сумму цифр в произвольном символьном выражении. Например, для выражения

Fg4h55jkl37

результат должен быть: 25.

  1. Определить список сотрудников, принятых на работу в 2004-м году, даты приема на работу и зарплаты. Имена столбцов должны быть - Фамилия, Дата приема на работу, Зарплата.

  2. Вывести список сотрудников, имеющих три буквы a в фамилии (независимо от регистра) и не имеющих комиссионных процентов.

  3. В произвольной символьной строке оставить между словами только по одному пробелу.

  4. Написать команду, которая позволит выводить фамилию сотрудника через запятую столько раз, сколько букв в его фамилии.