Отчет по практике: Проектирование базы данных "Риелторская контора"
Рисунок 19 (результат запроса «проданные»)
Рисунок 20(Отчет «комнат < или >»)
Рисунок 21 (отчет площадь < или >)
Рисунок 22 (отчет сумма < или >)
Рисунок 23(Отчет «тип»)
Алгоритм решения задачи
Запросы SQL
SQL является, прежде всего, информационно-логическим языком, предназначенным для описания хранимых данных, для извлечения хранимых данных и для модификации данных. SQL не является языком программирования. (Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.)
Изначально, SQL был основным способом работы пользователя с базой данных и представлял собой небольшую совокупность команд (операторов) допускающих создание таблиц, добавление в таблицы новых записей, извлечение записей из таблиц (в соответствии с заданным условием), удаление записей и изменение структур таблиц. В связи с усложнением язык SQL стал более прикладным языком программирования, а пользователи получили возможность использовать визуальные построители запросов.
Запрос «Каталог» - данный запрос выбирает из таблицы «ИНФО» информация о имуществе.
SELECT ИНФО.№_договора, ИНФО. тип, ИНФО. Площадь_ кв_ метр, ИНФО. Адрес, ИНФО.[Этаж(ей)], ИНФО.Колл_комнат, ИНФО. , Риелторы.ФИО Риелтора, Риелторы.телефон_риелтора
FROM Риелторы INNER JOIN ИНФО ON Риелторы. ID_риелтора = ИНФО.ID риелтора;
Запрос «имущество за риелтором» - выводит информацию о количестве имущества закрепленного за каждым риелтором.
SELECT Риелторы.ФИО_Риелтора, Count(ИНФО.тип) AS [Count-тип], Sum(ИНФО.стоимость) AS [Sum-стоимость]
FROM Риелторы INNER JOIN ИНФО ON Риелторы.ID_риелтора = ИНФО.ID_риелтора
GROUP BY Риелторы.ФИО_Риелтора;
Запрос на копирование – выполняет копирование всех полей проданного имущества из таб. «Инфо» в таб. «Проданные».
INSERT INTO Проданные ( №_договора, заявка, тип, Площадь_кв_метр, Адрес, [Этаж(ей)], Колл_комнат, стоимость, [стоимость_ аренда], ФИО_покупателя, Телефон_покупателя, ФИО_Риелтора, Телефон_риелтора )
SELECT ИНФО.№_договора, ИНФО.заявка, ИНФО.тип, ИНФО.Площадь_кв_метр, ИНФО.Адрес, ИНФО.[Этаж(ей)], ИНФО.Колл_комнат, ИНФО.стоимость, ИНФО.[стоимость_ аренда], Покупатели.ФИО_Покупателя, Покупатели.Телефон_покупателя, Риелторы.ФИО_Риелтора, Риелторы.телефон_риелтора
FROM Риелторы INNER JOIN (ИНФО INNER JOIN Покупатели ON ИНФО.№_договора=Покупатели.№_договора) ON Риелторы.ID_риелтора=ИНФО.ID_риелтора
WHERE куплено=true;
Запрос на удаление – удаляет данные о проданном имуществе из таб. «Инфо»
DELETE ИНФО.№_договора, ИНФО.куплено, ИНФО.заявка, ИНФО.тип, ИНФО.Площадь_кв_метр, ИНФО.Адрес, ИНФО.[Этаж(ей)], ИНФО.Колл_комнат, ИНФО.стоимость, ИНФО.[стоимость_ аренда], ИНФО.ФИО_продавца, ИНФО.Телефон_Продавца, ИНФО.ID_риелтора
FROM ИНФО
WHERE (((ИНФО.куплено)=True));
Комнат больше(меньше) – выводит поля из таб. «Инфо» по критерию.
SELECT ИНФО.№_договора, ИНФО.заявка, ИНФО.тип, ИНФО.Площадь_кв_метр, ИНФО.Адрес, ИНФО.[Этаж(ей)], ИНФО.Колл_комнат, ИНФО.стоимость