
- •Волгоградский государственный технический университет
- •Минобрнауки россии
- •Волгоградский государственный технический университет (ВолгГту)
- •Описание сущностей
- •Описание атрибутов сущности Поля
- •Описание атрибутов сущности техника
- •Описание атрибутов сущности Закрепленная техника
- •Описание атрибутов сущности рабочие
- •Описание атрибутов сущности гсм
- •Описание атрибутов сущности Используемое гсм
- •Описание атрибутов сущности Покупка гсм
- •Описание связей
- •Содержание up- информации
- •3 Переход от концептуальной схемы к реляционной модели данных
- •4 Функциональные зависимости и проверка на нормальные формы
- •5 Текст sql-запросов
- •Автоматизированное рабочее место управляющего растениеводческим хозяйством Техническое задание лист утверждения
- •Утвержден
- •Требования к системе
- •Требования к функциональным характеристикам
- •Состав выполняемых функций
- •Организация входных и выходных данных
- •Временные характеристики
- •Требования к программной документации
- •Технико-экономические показатели
- •Стадии и этапы разработки
- •Порядок контроля и приемки
3 Переход от концептуальной схемы к реляционной модели данных
Поля (код поля*, длина поля, ширина поля, наличие системы орошения, засеянно, качество земли);
Техника (Код техники*, государственный номер, год выпуска, марка техники, тип техники, состояние техники).
Закрепленная техника(Код рабочего*, код техники*);
Рабочие (Код рабочего*, Паспорт, фамилия, имя, отчество, дата рождения, специальность, контактная информация).
ГСМ (Код ГСМ*,наименование, описание).
Используемое ГСМ (Код марки техники*, Код ГСМ, Расход на 100 км).
Покупка ГСМ (код ГСМ*, дата поступления*, количество).
Зарезервированное ГСМ(Код ГСМ*,код техники*, код поля*, дата и время резервирования, дата начала работ, дата окончания работ, количество литров)
График Посевной (Код поля*, дата начала работ*, дата окончания работ, отвественный, засеваемая культура);
График Полива (Код поля*, дата начала работ*, дата окончания работ, отвественный);
График Уборочной (Код поля*, дата начала работ*, дата окончания работ, отвественный, урожай);
Посевные культуры(Шифр, Наименование, устойчивость к засухе, урожайность)
FK= Код поля (для таблиц: резерв ГСМ, график посевной, график, полива, график уборочной) – ссылается на поле;
FK=Засеваемая культура(для таблицы график посевной) – ссылается на посевную культуру
FK=КодРабочего (для таблиц закрепленная техника, график посевной, график полива, график уборочной) -ссылается на рабочего.
FK=КодТехники (для таблиц: закрепленная техника, резерв ГСМ) -ссылается на технику.
FK= Код ГСМ (для таблиц: резерв ГСМ, используемое ГСМ, закупка ГСМ ) – ссылается на ГСМ;
4 Функциональные зависимости и проверка на нормальные формы
Анализ получившихся отношений с помощью функциональных зависимостей показал что реляционная модель БД данная в пункте 3 находится в 1 нормальной форме так, как атрибуты во всех таблицах содержат скалярные значения. В таблицах с составными ключами атрибуты не зависят от всего составного ключа, а не от его части, но есть связи многие-ко-многим, для их устранения введем дополнительные таблицы, которые с каждой из двух таблиц будут связаны как один-ко-многим, после этих преобразований база данных дудет находится во 2 нормальной форме. В полученных таблицах отсутствуют транзитивные зависимости т.е. база данных находится в 3 нормальной форме.
Итак, конечная схема отношений выглядить следующим образом: (рис. 5).
5 Текст sql-запросов
Выбрать из таблиц техника, используемое ГСМ, ГСМ, данные о гос номере техники, её типе и марке, какое ГСМ использует техника и норме потребление ГСМ.
Выбрать из таблиц Зарезервированное ГСМ и Закупка ГСМ остаток не зарезервированного ГСМ на указанную дату.
Выбрать из таблиц графика уборочной ,Резерв ГСМ, техника, марки техники, поля данные о том какая техника будет работать на определенном поле в определенный период
Вывод техники закрепленной за одним рабочим.
Выбрать из таблиц графики полива и поля данные о расписании полива поля за определенный период.
Какие культуры засеяны на поле, дата посева и время уборки
SQL- скрипты запросов
SELECT FuelsAndLubricants.Name AS Наименование, SUM(registr_BuyingFL.Size) AS Закупленно, SUM(registr_ReservFL.Size) AS Зарезервированно,
FuelsAndLubricants.Code AS КодГСМ
FROM registr_BuyingFL,
FuelsAndLubricants ,
registr_ReservFL
WHERE ( (registr_BuyingFL.DateIncome <= @DateIncome) OR (registr_ReservFL.DateReserv <= @DateReserv))
AND (registr_BuyingFL.CodeFL = FuelsAndLubricants.Code)
AND(FuelsAndLubricants.Code = registr_ReservFL.CodeFL)
GROUP BY FuelsAndLubricants.Name, FuelsAndLubricants.Code
ORDER BY Наименование
SELECT FuelsAndLubricants.Name AS НаименованиеГСМ, Mechanism.StateNumbers AS ГосНомер, Mechanism.Type AS ТипТехники, Mechanism.Mark AS МаркаТехники,
Mechanism.Code AS КодТехники, Mechanism.State AS СостояниеТехники, Mechanism.RegionStateNumbers AS РегионГосНомера, P_FulesAndLubricants.consumption100km AS Расход
FROM FuelsAndLubricants , Mechanism ,TP_FulesAndLubricants
WHERE (Mechanism.Code = TP_FulesAndLubricants.CodeMechanism AND FuelsAndLubricants.Code = TP_FulesAndLubricants.CodeFL AND Mechanism.Code=@Code)
ORDER BY НаименованиеГСМ, ГосНомер
SELECT Mechanism.Type AS Тип, Mechanism.Mark AS Марка, Mechanism.StateNumbers AS ГосНомер, Mechanism.RegionStateNumbers AS Регион,
registr_ReservFL.DateEndWork AS ДатаОкончанияРабот, registr_ReservFL.DateStartWork AS ДатаНачалаРабот, Fields.Name AS Поле FROM Mechanism INNER JOIN
registr_ReservFL ON Mechanism.Code = registr_ReservFL.CodeMechanism INNER JOIN
Fields ON registr_ReservFL.CodeField = Fields.Code
WHERE Fields.Code= @Code AND registr_ReservFL.DateStartWork =@DateStart
SELECT Workers.LastName AS Фамилия, Workers.Name AS Имя, Workers.patronymic AS Отчество, Mechanism.Type AS Тип, Mechanism.Mark AS Марка,
Mechanism.StateNumbers AS ГосНомер, Mechanism.State AS Состояние, TP_FixedMechanism.DateStart AS С, TP_FixedMechanism.DateEnd AS По
FROM Workers INNER JOIN
TP_FixedMechanism ON Workers.Code = TP_FixedMechanism.CodeWorker INNER JOIN
Mechanism ON TP_FixedMechanism.CodeMechanism = Mechanism.Code
Where Workers.Code = @Code AND TP_FixedMechanism.DateStart = @Start
SELECT Fields.Name AS Поле, Workers.LastName AS ФамилияОтветсвенного, WateringPlan.DateStart AS НачалоПолива,
WateringPlan.DateEnd AS ОкончаниеПолива, WateringPlan.Canceled AS Отмененно, WateringPlan.CanceledReason AS Причина
FROM WateringPlan INNER JOIN
Fields ON WateringPlan.CodeField = Fields.Code INNER JOIN
Workers ON WateringPlan.CodeWorker = Workers.Code
SELECT Fields.Name AS Поле, SeedCulture.Name AS ПосевнаяКультура, SeedCulture.Urogzaj AS ПланируемаяУрожайность,
HarvestingPlan.DateStartWork AS НачалоУборки, HarvestingPlan.DateEndWork AS ОкончаниеУборки
FROM Fields INNER JOIN
HarvestingPlan ON Fields.Code = HarvestingPlan.CodeField INNER JOIN
PlantingPlan ON Fields.Code = PlantingPlan.CodeField INNER JOIN
SeedCulture ON PlantingPlan.CodeSeedCulture = SeedCulture.Code
WHERE Fields.Code = @Code AND HarvestingPlan.DateStartWork = @Start
Рисунок
5 – Схема отношений БД растениеводческого
хозяйства
Министерство образования и науки Российской Федерации
ФГБОУ ВПО
Волгоградский государственный технический университет
Кафедра «ЭВМ и систем»
УТВЕРЖДАЮ
Зав. кафедрой ЭВМ и систем

доц., к.т.н Андреев Е.А.