Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaia_TZ(New).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
208.51 Кб
Скачать

3 Переход от концептуальной схемы к реляционной модели данных

Поля (код поля*, длина поля, ширина поля, наличие системы орошения, засеянно, качество земли);

Техника (Код техники*, государственный номер, год выпуска, марка техники, тип техники, состояние техники).

Закрепленная техника(Код рабочего*, код техники*);

Рабочие (Код рабочего*, Паспорт, фамилия, имя, отчество, дата рождения, специальность, контактная информация).

ГСМ (Код ГСМ*,наименование, описание).

Используемое ГСМ (Код марки техники*, Код ГСМ, Расход на 100 км).

Покупка ГСМ (код ГСМ*, дата поступления*, количество).

Зарезервированное ГСМ(Код ГСМ*,код техники*, код поля*, дата и время резервирования, дата начала работ, дата окончания работ, количество литров)

График Посевной (Код поля*, дата начала работ*, дата окончания работ, отвественный, засеваемая культура);

График Полива (Код поля*, дата начала работ*, дата окончания работ, отвественный);

График Уборочной (Код поля*, дата начала работ*, дата окончания работ, отвественный, урожай);

Посевные культуры(Шифр, Наименование, устойчивость к засухе, урожайность)

FK= Код поля (для таблиц: резерв ГСМ, график посевной, график, полива, график уборочной) – ссылается на поле;

FK=Засеваемая культура(для таблицы график посевной) – ссылается на посевную культуру

FK=КодРабочего (для таблиц закрепленная техника, график посевной, график полива, график уборочной) -ссылается на рабочего.

FK=КодТехники (для таблиц: закрепленная техника, резерв ГСМ) -ссылается на технику.

FK= Код ГСМ (для таблиц: резерв ГСМ, используемое ГСМ, закупка ГСМ ) – ссылается на ГСМ;

4 Функциональные зависимости и проверка на нормальные формы

Анализ получившихся отношений с помощью функциональных зависимостей показал что реляционная модель БД данная в пункте 3 находится в 1 нормальной форме так, как атрибуты во всех таблицах содержат скалярные значения. В таблицах с составными ключами атрибуты не зависят от всего составного ключа, а не от его части, но есть связи многие-ко-многим, для их устранения введем дополнительные таблицы, которые с каждой из двух таблиц будут связаны как один-ко-многим, после этих преобразований база данных дудет находится во 2 нормальной форме. В полученных таблицах отсутствуют транзитивные зависимости т.е. база данных находится в 3 нормальной форме.

Итак, конечная схема отношений выглядить следующим образом: (рис. 5).

5 Текст sql-запросов

  1. Выбрать из таблиц техника, используемое ГСМ, ГСМ, данные о гос номере техники, её типе и марке, какое ГСМ использует техника и норме потребление ГСМ.

  2. Выбрать из таблиц Зарезервированное ГСМ и Закупка ГСМ остаток не зарезервированного ГСМ на указанную дату.

  3. Выбрать из таблиц графика уборочной ,Резерв ГСМ, техника, марки техники, поля данные о том какая техника будет работать на определенном поле в определенный период

  4. Вывод техники закрепленной за одним рабочим.

  5. Выбрать из таблиц графики полива и поля данные о расписании полива поля за определенный период.

  6. Какие культуры засеяны на поле, дата посева и время уборки

SQL- скрипты запросов

  1. 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 – Схема отношений БД растениеводческого хозяйства

Министерство образования и науки Российской Федерации

ФГБОУ ВПО

Волгоградский государственный технический университет

Кафедра «ЭВМ и систем»

УТВЕРЖДАЮ

Зав. кафедрой ЭВМ и систем

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]