Файл: Образовательное бюджетное учреждение.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.03.2024

Просмотров: 32

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ


Федеральное государственное образовательное бюджетное учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича»

Институт непрерывного образования (ИНО)

КОНТРОЛЬНАЯ РАБОТА
по дисциплине

«Автоматизация управления жизненным циклом изделия»



Вариант 9

Студент: Дудкин А.С.

Группа: ИБ-87с

Номер зачетной книжки: 1702019

Санкт-Петербург

2022 г

Задание работы


Разработать электронный паспорт изделия, который должен отражать информацию электронного паспорта, содержащего следующие параметры:

  • Номер изделия;

  • Дата производства;

  • Дата продажи;

  • Цена изделия;

  • ФИО продавца;

  • Наименование регламентной работы;

  • Дата и время выполнения регламентной работы;

  • ФИО сервисного инженера.


Ход работы


  1. Опишем классы базы данных и их связи

Классы базы данных

Engineer (сервисного инженера)

Идентификатор атрибута

Смысловое назначение

Id

Уникальный идентификатор, первичный ключ, тип – Int.

FIO

ФИО, тип – String.

Work

Навигационное свойство к сущности Work.

Passport (паспорт)

Идентификатор атрибута

Смысловое назначение

Id

Уникальный идентификатор, первичный ключ, тип – Int.

Number

Номер, тип – String.

CreateDate

Дата производства, тип – DateTime.

SellDate

Дата продажи, тип – DateTime.

Price

Цена, тип – Int.

SellerFIO

ФИО продавца, тип – String.

Work

Навигационное свойство к сущности Work.



Work (техническое обслуживание)

Идентификатор атрибута

Смысловое назначение

Id

Уникальный идентификатор, первичный ключ, тип – Int.

NameWork

Название работ, тип – String.

DateTimeWork

Дата обслуживания, тип – DateTime.

EngineerId

Внешний ключ на таблицу Engineer.

PassportId

Внешний ключ на таблицу Passport.

Engineer

Навигационное свойство к сущности Engineer.

Passport

Навигационное свойство к сущности Passport.


Свойства навигации

Свойства навигации служат для реализации отношений “один-ко-многим” и “многие-ко-многим”. В проекте использованы следующие навигационные свойства:

Идентификатор навигационного свойства

Смысловое назначение

Work

У одного инженера, может быть, множество технических работ

Engineer

У одного сеанса обслуживания может быть только один инженер




Work

У одного паспорта, может быть, множество технических работ

Passport

У одного сеанса обслуживания может быть только один тех. паспорт




  1. Создадим приложение Windows Forms на языке C# в среде Visual Studio (Рис. 1 – Рис. 2)



Рис. 1

  1. Добавим элемент модели базы данных в проект (Рис. 2 – Рис. 4)



Рис. 2



Рис. 3



Рис. 4

  1. После добавления модели, непосредственно в саму модель добавим сущности (Рис. 5).




Рис. 5

  1. Теперь добавим ассоциации (Рис. 6).



Рис. 6

  1. После добавления всех сущностей и ассоциаций пересобираем проект (Рис. 7) и добавляем в модель элемент создания кода (Рис.8 - Рис. 9).



Рис. 7



Рис. 8



Рис. 9

  1. Сформируем базу данных на основе модели (Рис. 10 – Рис. 16.)



Рис. 10



Рис. 11



Рис. 12



Рис. 13



Рис. 14



Рис. 15



Рис. 16

  1. Теперь у нас есть созданная база данных. Теперь идем в “Источники данных” и устанавливаем связь с базой (Рис. 17 – Рис. 22).



Рис. 17



Рис. 18



Рис. 19



Рис. 20




Рис. 21




Рис. 22

  1. Так как таблицы пусты – заполним их данными (Рис. 23 – Рис 25).



Рис. 23



Рис. 24



Рис. 25

  1. Чтобы приложения успешно скомпилировалось необходим удалить или закомментировать код генерации базы данных (Рис. 26).



Рис. 26

  1. Теперь добавим на форму элементы для отображения данных из таблиц базы данных, путём перетягивания из «Источников данных» (Рис. 27).



Рис. 27

  1. Запустим компиляцию проекта. Результат работы представлен на Рис. 28.



Рис. 28

Приложение А

Скрипт SQL для создания базы данных

-- --------------------------------------------------

-- Entity Designer DDL Script for SQL Server 2005, 2008, 2012 and Azure

-- --------------------------------------------------

-- Date Created: 04/03/2022 16:46:35

-- Generated from EDMX file: C:\Users\Admin\source\repos\ayzhtsi\ayzhtsi\ModelAyzhtsi.edmx

-- --------------------------------------------------
SET QUOTED_IDENTIFIER OFF;

GO

USE [ayzhtsiDB];

GO

IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]');

GO
-- --------------------------------------------------

-- Dropping existing FOREIGN KEY constraints

-- --------------------------------------------------

-- --------------------------------------------------

-- Dropping existing tables

-- --------------------------------------------------

-- --------------------------------------------------

-- Creating all tables

-- --------------------------------------------------
-- Creating table 'EngineerSet'

CREATE TABLE [dbo].[EngineerSet] (

[Id] int IDENTITY(1,1) NOT NULL,

[FIO] nvarchar(max) NOT NULL

);

GO
-- Creating table 'WorkSet'

CREATE TABLE [dbo].[WorkSet] (

[Id] int IDENTITY(1,1) NOT NULL,

[NameWork] nvarchar(max) NOT NULL,

[DateTimeWork] nvarchar(max) NOT NULL,

[EngineerId] int NOT NULL,

[PassportId] int NOT NULL

);

GO
-- Creating table 'PassportSet'

CREATE TABLE [dbo].[PassportSet] (

[Id] int IDENTITY(1,1) NOT NULL,


[Number] nvarchar(max) NOT NULL,

[CreateDate] nvarchar(max) NOT NULL,

[SellDate] nvarchar(max) NOT NULL,

[Price] nvarchar(max) NOT NULL,

[SellerFIO] nvarchar(max) NOT NULL

);

GO
-- --------------------------------------------------

-- Creating all PRIMARY KEY constraints

-- --------------------------------------------------
-- Creating primary key on [Id] in table 'EngineerSet'

ALTER TABLE [dbo].[EngineerSet]

ADD CONSTRAINT [PK_EngineerSet]

PRIMARY KEY CLUSTERED ([Id] ASC);

GO
-- Creating primary key on [Id] in table 'WorkSet'

ALTER TABLE [dbo].[WorkSet]

ADD CONSTRAINT [PK_WorkSet]

PRIMARY KEY CLUSTERED ([Id] ASC);

GO
-- Creating primary key on [Id] in table 'PassportSet'

ALTER TABLE [dbo].[PassportSet]

ADD CONSTRAINT [PK_PassportSet]

PRIMARY KEY CLUSTERED ([Id] ASC);

GO
-- --------------------------------------------------

-- Creating all FOREIGN KEY constraints

-- --------------------------------------------------
-- Creating foreign key on [EngineerId] in table 'WorkSet'

ALTER TABLE [dbo].[WorkSet]

ADD CONSTRAINT [FK_EngineerWork]

FOREIGN KEY ([EngineerId])

REFERENCES [dbo].[EngineerSet]

([Id])

ON DELETE NO ACTION ON UPDATE NO ACTION;

GO
-- Creating non-clustered index for FOREIGN KEY 'FK_EngineerWork'

CREATE INDEX [IX_FK_EngineerWork]

ON [dbo].[WorkSet]

([EngineerId]);

GO
-- Creating foreign key on [PassportId] in table 'WorkSet'

ALTER TABLE [dbo].[WorkSet]

ADD CONSTRAINT [FK_PassportWork]

FOREIGN KEY ([PassportId])

REFERENCES [dbo].[PassportSet]

([Id])

ON DELETE NO ACTION ON UPDATE NO ACTION;

GO
-- Creating non-clustered index for FOREIGN KEY 'FK_PassportWork'

CREATE INDEX [IX_FK_PassportWork]

ON [dbo].[WorkSet]

([PassportId]);

GO
-- --------------------------------------------------

-- Script has ended

-- --------------------------------------------------