Инструкция для выполнения Практической работы №4,5, и по курсу «Базы данных»


Download 1 Mb.
Sana17.06.2023
Hajmi1 Mb.
#1549413
TuriИнструкция

МИНЕСТЕРСТВО РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИИ РЕСПУБЛИКИ УЗБЕКИСТАН

ТАШКЕНСТКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
ИМЕНИ МУХАММАДА АЛ-ХОРЕЗМИ

ПРЕДМЕТ: “База Данных”


ПРАКТИЧЕСКАЯ РАБОТА №2


ВЫПОЛНИЛ СТУДЕНТ ФАКУЛЬТЕТА
<<ТЕЛЕКОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ:ТЕЛЕКОММУНИКАЦИИ>>
ГРУППЫ 420-21 Татлымуратов Асадбек
ПРОВЕРИЛ: Григорьев Александр Сергеевич


Инструкция для выполнения
Практической работы №4,5, 6 и 7
по курсу «Базы данных»

Скоуп практических работ


Отчет формируется по результатам выполнения практических заданий по темам:

  1. Сложные запросы. Подзапросы. SELECT FROM SELECT

  2. Индексы, в том числе UNIQUE и CLUSTERED

  3. Представления (VIEW)

  4. Хранимые процедуры и функции

Содержание отчета


Необходимый набор запросов для отчета (по одному запросу по каждой строке):

  1. запрос с вложенным SELECT

  2. команда создания простого индекса

  3. команда создания CLUSTERED индекса

  4. команда создания UNIQUE индекса

  5. команда создания представления; запрос данных из представления

  6. команда создания процедуры; вызов процедуры

  7. команда создания функции; вызов функции в запросе

Отчет должен содержать 3 раздела по каждому запросу

  1. Текст запроса на языке SQL

  2. Результаты выполнения запроса (таблица, если применимо)

  3. Словесное описание процесса выполнения запроса (из какой таблицы, какие данные и как получены, как обработаны и выведены)




  1. Сложные запросы. Подзапросы. 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”. И получим результат .которая показана выше.

Download 1 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling