Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач / Наволоцкий_1302_v2.docx
Скачиваний:
0
Добавлен:
27.12.2025
Размер:
2.47 Mб
Скачать

2. Проектирование базы данных

2.1. Схема базы данных

На рисунке 1 представлена логически спроектированная база данных для курсовой работы.

Рисунок 1 – логически спроектированная база данных для курсовой работы

2.2. Концептуальное проектирование

Ниже приведена таблица 1, описывающая производителей.

Таблица 1

Описание структуры таблицы БД

Наименование таблицы БД:

Производители

Имя таблицы:

Manufacturers

Дата разработки:

Порядковый номер таблицы:

1

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

ManufacturerID

int

P

NOT NULL

2

Название компании

Name

nvarchar(100)

NOT NULL

3

Веб-сайт

Website

nvarchar(255)

NULL

-- Производители

CREATE TABLE [Ref].[Manufacturers] (

ManufacturerID INT IDENTITY(1,1) NOT NULL,

Name NVARCHAR(100) NOT NULL,

Website NVARCHAR(255) NULL,

CONSTRAINT PK_Manufacturers PRIMARY KEY (ManufacturerID)

);

Ниже приведена таблица 2, описывающая категории компонентов.

Таблица 2

Описание структуры таблицы БД

Наименование таблицы БД:

Категории компонентов

Имя таблицы:

Categories

Дата разработки:

Порядковый номер таблицы:

2

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

CategoryID

int

P

NOT NULL

2

Название категории

Name

nvarchar(100)

NOT NULL

3

Описание

Description

nvarchar(500)

NULL

-- Категории

CREATE TABLE [Ref].[Categories] (

CategoryID INT IDENTITY(1,1) NOT NULL,

Name NVARCHAR(100) NOT NULL,

Description NVARCHAR(500) NULL,

CONSTRAINT PK_Categories PRIMARY KEY (CategoryID)

);

Ниже приведена таблица 3, описывающая типы корпусов.

Таблица 3

Описание структуры таблицы БД

Наименование таблицы БД:

Типы корпусов

Имя таблицы:

PackageTypes

Дата разработки:

Порядковый номер таблицы:

3

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

PackageID

int

P

NOT NULL

2

Название корпуса

Name

nvarchar(50)

NOT NULL

3

Тип монтажа

MountType

nvarchar(50)

NOT NULL

-- Типы корпусов

CREATE TABLE [Ref].[PackageTypes] (

PackageID INT IDENTITY(1,1) NOT NULL,

Name NVARCHAR(50) NOT NULL,

MountType NVARCHAR(50) NOT NULL,

CONSTRAINT PK_PackageTypes PRIMARY KEY (PackageID)

);

Ниже приведена таблица 4, описывающая типы моделей.

Таблица 4

Описание структуры таблицы БД

Наименование таблицы БД:

Типы моделей

Имя таблицы:

SimulationTypes

Дата разработки:

Порядковый номер таблицы:

4

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

SimTypeID

int

P

NOT NULL

2

Название стандарта

Name

nvarchar(50)

NOT NULL

3

Движок симуляции

Engine

nvarchar(50)

NULL

-- Типы симуляции

CREATE TABLE [Ref].[SimulationTypes] (

SimTypeID INT IDENTITY(1,1) NOT NULL,

Name NVARCHAR(50) NOT NULL,

Engine NVARCHAR(50) NULL,

CONSTRAINT PK_SimulationTypes PRIMARY KEY (SimTypeID)

);

Ниже приведена таблица 5, описывающая компоненты.

Таблица 5

Описание структуры таблицы БД

Наименование таблицы БД:

Компоненты

Имя таблицы:

Components

Дата разработки:

Порядковый номер таблицы:

5

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

ComponentID

int

P

NOT NULL

2

Артикул (Part Number)

PartNumber

nvarchar(100)

NOT NULL

3

ID Производителя

ManufacturerID

int

F

FK к Manufacturers

4

ID Категории

CategoryID

int

F

FK к Categories

5

ID Корпуса

PackageID

int

F

FK к PackageTypes

6

Описание

Description

nvarchar(1000)

NULL

7

Статус активности

IsActive

bit

DEFAULT (1)

CREATE TABLE [Stock].[Components] (

ComponentID INT IDENTITY(1,1) NOT NULL,

PartNumber NVARCHAR(100) NOT NULL,

-- Ссылки на справочники из схемы Ref

ManufacturerID INT NOT NULL,

CategoryID INT NOT NULL,

PackageID INT NOT NULL,

Description NVARCHAR(1000) NULL,

IsActive BIT DEFAULT 1 NOT NULL,

CONSTRAINT PK_Components PRIMARY KEY (ComponentID),

-- FK Constraints с указанием схемы

CONSTRAINT FK_Components_Manufacturers FOREIGN KEY (ManufacturerID)

REFERENCES [Ref].[Manufacturers] (ManufacturerID),

CONSTRAINT FK_Components_Categories FOREIGN KEY (CategoryID)

REFERENCES [Ref].[Categories] (CategoryID),

CONSTRAINT FK_Components_PackageTypes FOREIGN KEY (PackageID)

REFERENCES [Ref].[PackageTypes] (PackageID)

);

Ниже приведена таблица 6, описывающая технические параметры.

Таблица 6

Описание структуры таблицы БД

Наименование таблицы БД:

Технические параметры

Имя таблицы:

ComponentParams

Дата разработки:

Порядковый номер таблицы:

6

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

ParamID

int

P

NOT NULL

2

ID Компонента

ComponentID

int

F

FK к Components (ON DELETE CASCADE)

3

Название параметра

ParamName

nvarchar(100)

NOT NULL

4

Значение

ParamValue

nvarchar(100)

NOT NULL

5

Ед. измерения

Unit

nvarchar(20)

NULL

-- Параметры

CREATE TABLE [Stock].[ComponentParams] (

ParamID INT IDENTITY(1,1) NOT NULL,

ComponentID INT NOT NULL,

ParamName NVARCHAR(100) NOT NULL,

ParamValue NVARCHAR(100) NOT NULL,

Unit NVARCHAR(20) NULL,

CONSTRAINT PK_ComponentParams PRIMARY KEY (ParamID),

CONSTRAINT FK_ComponentParams_Components FOREIGN KEY (ComponentID)

REFERENCES [Stock].[Components] (ComponentID)

ON DELETE CASCADE

);

Ниже приведена таблица 7, описывающая модели компонентов.

Таблица 7

Описание структуры таблицы БД

Наименование таблицы БД:

Модели компонентов

Имя таблицы:

ComponentModels

Дата разработки:

Порядковый номер таблицы:

7

№ п/п

Наименование поля

Спецификация данных

Имя поля

Тип данных

Ключ

Ограничения целостности

1

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

ModelID

int

P

NOT NULL

2

ID Компонента

ComponentID

int

F

FK к Components (ON DELETE CASCADE)

3

ID Типа модели

SimTypeID

int

F

FK к SimulationTypes

4

Код модели (Текст)

ModelCode

nvarchar(max)

NULL

5

Путь к файлу

FilePath

nvarchar(255)

NULL

-- Модели

CREATE TABLE [Stock].[ComponentModels] (

ModelID INT IDENTITY(1,1) NOT NULL,

ComponentID INT NOT NULL,

SimTypeID INT NOT NULL, -- Ссылка на Ref

ModelCode NVARCHAR(MAX) NULL,

FilePath NVARCHAR(255) NULL,

CONSTRAINT PK_ComponentModels PRIMARY KEY (ModelID),

CONSTRAINT FK_ComponentModels_Components FOREIGN KEY (ComponentID)

REFERENCES [Stock].[Components] (ComponentID)

ON DELETE CASCADE,

CONSTRAINT FK_ComponentModels_SimulationTypes FOREIGN KEY (SimTypeID)

REFERENCES [Ref].[SimulationTypes] (SimTypeID)

);

На основе созданных таблиц схема база данных из SQL Server Management Studio представлена на рисунке 2.

Рисунок 2 – база данных из SQL Server Management Studio

Соседние файлы в папке курсач