МИНЕСТЕРСТВО РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИИ РЕСПУБЛИКИ УЗБЕКИСТАН
ТАШКЕНСТКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
ИМЕНИ МУХАММАДА АЛ-ХОРЕЗМИ
ПРЕДМЕТ: “База Данных”
ПРАКТИЧЕСКАЯ РАБОТА №2
ВЫПОЛНИЛ СТУДЕНТ ФАКУЛЬТЕТА
<<ТЕЛЕКОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ:ТЕЛЕКОММУНИКАЦИИ>>
ГРУППЫ 420-21 Татлымуратов Асадбек
ПРОВЕРИЛ: Григорьев Александр Сергеевич
Инструкция для выполнения
Практической работы №4,5, 6 и 7
по курсу «Базы данных» Скоуп практических работ
Отчет формируется по результатам выполнения практических заданий по темам:
Сложные запросы. Подзапросы. SELECT FROM SELECT
Индексы, в том числе UNIQUE и CLUSTERED
Представления (VIEW)
Хранимые процедуры и функции
Содержание отчета
Необходимый набор запросов для отчета (по одному запросу по каждой строке):
запрос с вложенным SELECT
команда создания простого индекса
команда создания CLUSTERED индекса
команда создания UNIQUE индекса
команда создания представления; запрос данных из представления
команда создания процедуры; вызов процедуры
команда создания функции; вызов функции в запросе
Отчет должен содержать 3 раздела по каждому запросу
Текст запроса на языке SQL
Результаты выполнения запроса (таблица, если применимо)
Словесное описание процесса выполнения запроса (из какой таблицы, какие данные и как получены, как обработаны и выведены)
Сложные запросы. Подзапросы. SELECT FROM SELECT
Select * From pharmacy.user
-> Where salary>(Select AVG(salary)From pharmacy.user);
Этот запрос показывает нам количество пользователей из таблицы ‘users’ чьи зарплаты больше средней зарплаты всех пользователей.
2.команда создания простого индекса
mysql> Create Index i1 on pharmacy.user(date_joined);
Здесь я создаю простой индекс в таблице ‘user’ для столбца ‘date_joined’
3.команда создания UNIQUE индекса
наша исходная таблица
запрос создания уникального индекса в таблице management на поле (Designation)
здесь показывает ошибку так как в поле Designation есть дубликат записи Sales person ,a Unique index дает индексы только для уникальных записей
4. таблица до использования Clustered index.
как мы видим ключи в столбце empno сьоят не по порядку .Мы можем это исправить создав
кластерный индекс или же Clastered Index.
Create Clustered Index empno_index on emp(empno);
в данном запросе мы подключили кластерный(упорядоченный)индекс к столбцу (empno) таблицы emp. После этого нша таблица будет иметь вид:
5.Команда создания представления; запрос данных из представления
Create View Omega As
SELECT first_name,country From Customers;
Здесь мы создали представления Omega Это представление будет использоваться для получения имени и страны клиентов из таблицы CUSTOMERS.
Теперь мы можем выполнить запрос Omega так же, как мы выполняем запрос к самой таблице. Ниже приведен пример.
Select * From Omega;
В результате мы получим следующее.
6.команда создания процедуры; вызов процедуры
mysql> DELIMITER &&
mysql> Create Procedure Trent()
-> Begin
-> SELECT * From pharmacy.management Where LastName Like '%n';
-> END &&
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;
mysql> CALL Trent();
Чтобы создать процедуру без параметра, вы должны создать ее с помощью команды CREATE PROCEDURE, перед которой стоит ключевое слово «DELIMITER». Затем мы создаем процедуру с именем «Trent» без параметров. Он выбирает все записи из таблицы «Management», где в столбце «LastName» в конце значений стоит «n». Процесс должен быть завершен ключевым словом «END».
Мы будем использовать предложение CALL для выполнения хранимой процедуры в командной строке. После выполнения команды CALL мы получаем следующие результаты. Вы можете видеть, что запрос должен получить только те записи, в которых столбец «LastName» имеет «n» в конце значений.
7.команда создания функции; вызов функции в запросе
mysql> Create Function f_name(first_nm Char(20), last_nm CHAR(30))
-> Returns Char(55) Deterministic
-> Return CONCAT(first_nm, ' ', last_nm);
Query OK, 0 rows affected (0.01 sec)
mysql> Select staff_id, f_name(FirstName, LastName)
-> As AEW From pharmacy.management;
Чтобы создать функцию, мыы должны создать ее с помощью команды CREATE FUNCTION. Затем мы создаем функцию с именем «f_name». которая содержит в себе две строки “first_nm”
типа char и “last_nm” тоже типа char.
Затем мы вводим с помощью Returns какого типа данных нам будет возвращать наша функция. А с помощью Return мы получаем каким именно способом мы получим данные. В нашем случае мы с помощью функции Concat соединяем две наши стороки и между ними есть пробел ’ ’.Затем сохраняем нашу функцию и проверим как она будет работать.
Выбираем из таблицы pharmacy.management столбец “staff_id”, также вызываем нашу функцию вставляя туда столбцы “FirstName” and “LastName” из таблицы pharmacy.management и вставим ее в ново-созданную стороку “AEW”. И получим результат .которая показана выше.
Do'stlaringiz bilan baham: |