Скачиваний:
199
Добавлен:
15.03.2015
Размер:
640 Кб
Скачать
  1. Обратное проектирование

Теперь проведем обратное проектирование из Oracele в ERwin.

Рисунок 26 – обратное проектирование

  1. Запросы

С помощью средств запросов SQL построим выражения для 10 вариантов запросов и проверим их работоспособность.

  1. Список студентов, проживающих в общежитии с указанием комнаты, в которой он живет, и произведенной оплаты.

SELECT Личн_дан.Фамилия,Личн_дан.Имя,Студ_комн.Ном_ком,Тарифы.Стоимость

FROM Студ_комн INNER JOIN Личн_дан

ON Студ_комн.Ном_сб=Личн_дан.Ном_сб

INNER JOIN Студент

ON Личн_дан.Ном_сб=Студент.Ном_сб

INNER JOIN Тарифы

ON Студент.Ном_тарифа=Тарифы.Ном_тарифа

WHERE Личн_дан.Место_жит='Общежитие';

Рисунок 27 – итог 1-го запроса

  1. Список студентов, проживающих в той же комнате, что и определенный студент.

SELECT Личн_дан.Фамилия,Личн_дан.Имя

FROM "ЛИЧН_ДАН" INNER JOIN "СТУД_КОМН"

ON "ЛИЧН_ДАН"."НОМ_СБ"="СТУД_КОМН"."НОМ_СБ"

WHERE "СТУД_КОМН"."НОМ_КОМ"=( SELECT "СТУД_КОМН"."НОМ_КОМ"

FROM "СТУД_КОМН" INNER JOIN "ЛИЧН_ДАН"

ON "СТУД_КОМН"."НОМ_СБ"="ЛИЧН_ДАН"."НОМ_СБ"

WHERE "ЛИЧН_ДАН"."НОМ_СБ"=5555);

Рисунок 28 - итог 2-го запроса

  1. Списка комнат, в которых есть свободные места, с указанием количества свободных мест.

SELECT Ном_ком, Кол_св_м

FROM Комната

WHERE Кол_св_м > 0;

Рисунок 29 - итог 3-го запроса

  1. Списка студентов, отчисленных и вновь восстановленных.

SELECT Личн_дан.Фамилия, Личн_дан.Имя

FROM "ЛИЧН_ДАН" JOIN "СТУДЕНТ"

ON "ЛИЧН_ДАН"."НОМ_СБ"="СТУДЕНТ"."НОМ_СБ"

JOIN "СТУД_ГРУП"

ON "СТУДЕНТ"."НОМ_СБ"="СТУД_ГРУП"."НОМ_СБ"

WHERE"СТУД_ГРУП"."ОТЧИСЛ_ВОССТ"='да';

Рисунок 30 - итог 4-го запроса

  1. Списка студентов, переводившихся с одного факультета на другой, с указанием даты перевода и факультета.

SELECT Личн_дан.Фамилия, Личн_дан.Имя, "ИЗМЕНЕНИЯ"."ФАКУЛЬТЕТ", "СТУД_ИЗМЕН"."ДАТА"

FROM "ЛИЧН_ДАН" JOIN "СТУДЕНТ"

ON "ЛИЧН_ДАН"."НОМ_СБ"="СТУДЕНТ"."НОМ_СБ"

JOIN "СТУД_ИЗМЕН"

ON "СТУДЕНТ"."НОМ_СБ"="СТУД_ИЗМЕН"."НОМ_СБ"

JOIN "ИЗМЕНЕНИЯ"

ON "СТУД_ИЗМЕН"."НОМ_ИЗМЕН"="ИЗМЕНЕНИЯ"."НОМ_ИЗМЕН"

WHERE "ИЗМЕНЕНИЯ"."ФАКУЛЬТЕТ" IS NOT NULL;

Рисунок 31 - итог 5-го запроса

  1. Списка студентов, оплачивающих проживание, но не живущих в общежитии.

SELECT Фамилия

FROM "ЛИЧН_ДАН"

WHERE "МЕСТО_ПРОП" = 'Общежитие' AND "МЕСТО_ЖИТ" != 'Общежитие';

Рисунок 32 - итог 6-го запроса

  1. Истории переселения студента из комнаты в комнату.

SELECT Личн_дан.Фамилия,Личн_дан.Имя,Студ_комн.Ном_ком

FROM "ЛИЧН_ДАН" INNER JOIN "СТУД_КОМН"

ON "ЛИЧН_ДАН"."НОМ_СБ"="СТУД_КОМН"."НОМ_СБ"

WHERE "ЛИЧН_ДАН"."НОМ_СБ"=4444

ORDER BY "СТУД_КОМН"."ДАТА_ЗАСЕЛ" ASC;

Рисунок 33 - итог 7-го запроса

  1. Списка месяцев, не оплаченных определенным студентом.

SELECT Неупл_мес

FROM "НЕУПЛАТА" INNER JOIN "ЛИЧН_ДАН"

ON "НЕУПЛАТА"."НОМ_СБ"="ЛИЧН_ДАН"."НОМ_СБ"

WHERE "ЛИЧН_ДАН"."НОМ_СБ"=1111;

Рисунок 34 – итог 8-го запроса

  1. Списка месяцев с максимальной задолженностью студентов по оплате.

SELECT Неупл_мес, count(Неупл_мес)

FROM"НЕУПЛАТА"

WHERE "ГОД"=2014

GROUP BY Неупл_мес;

Рисунок 35 - итог 9-го запроса

  1. Список различных тарифов по оплате за общежитие.

SELECT Ном_тарифа, Стоимость

FROM ТАРИФЫ;

Рисунок 36 - итог 10-го запроса

Соседние файлы в папке ИСТ11-Костраченков В.В