Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

курсач / Наволоцкий_1302_v2

.pdf
Скачиваний:
0
Добавлен:
27.12.2025
Размер:
2.69 Mб
Скачать

/* =============================================

3. ЗАПОЛНЕНИЕ КОМПОНЕНТОВ (Схема Stock)

ЧАСТЬ А: Детальное добавление через переменные

============================================= */ PRINT 'Добавление базовых компонентов... ' + CONVERT(VARCHAR(30), GETDATE(), 120);

GO

DECLARE @ManufID int, @CatID int, @PackID int, @CompID int, @SimID int;

-- --- 1. LM358 ---

SELECT @ManufID = ManufacturerID FROM [Ref].[Manufacturers] WHERE Name = N'Texas Instruments';

SELECT @CatID = CategoryID FROM [Ref].[Categories] WHERE Name = N'Операционные усилители';

SELECT @PackID = PackageID FROM [Ref].[PackageTypes] WHERE

Name = N'DIP-8';

INSERT INTO [Stock].[Components] (PartNumber,

ManufacturerID, CategoryID, PackageID, Description,

IsActive)

VALUES (N'LM358P', @ManufID, @CatID, @PackID,

N'Двухканальный ОУ', 1);

SET @CompID = SCOPE_IDENTITY();

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit) VALUES

(@CompID, N'Channels', N'2', N'pcs'),

71

(@CompID, N'Vcc Max', N'32', N'V');

SELECT @SimID = SimTypeID FROM [Ref].[SimulationTypes] WHERE

Name = N'SPICE';

INSERT INTO [Stock].[ComponentModels] (ComponentID,

SimTypeID, ModelCode) VALUES

(@CompID, @SimID, N'.SUBCKT LM358 ... end');

-- --- 2. NE555 ---

SELECT @PackID = PackageID FROM [Ref].[PackageTypes] WHERE

Name = N'SOIC-8';

INSERT INTO [Stock].[Components] (PartNumber,

ManufacturerID, CategoryID, PackageID, Description,

IsActive)

VALUES (N'NE555D', @ManufID, @CatID, @PackID, N'Легендарный таймер', 1);

SET @CompID = SCOPE_IDENTITY();

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit) VALUES

(@CompID, N'Frequency', N'500', N'kHz');

-- --- 3. Resistor ---

SELECT @ManufID = ManufacturerID FROM [Ref].[Manufacturers]

WHERE Name = N'Vishay';

72

SELECT @CatID = CategoryID FROM [Ref].[Categories] WHERE

Name = N'Резисторы';

SELECT @PackID = PackageID FROM [Ref].[PackageTypes] WHERE

Name = N'0603';

INSERT INTO [Stock].[Components] (PartNumber,

ManufacturerID, CategoryID, PackageID, Description,

IsActive)

VALUES (N'CRCW0603', @ManufID, @CatID, @PackID, N'Резистор

10кОм 1%', 1);

SET @CompID = SCOPE_IDENTITY();

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit) VALUES

(@CompID, N'Resistance', N'10', N'kOhm');

-- --- 4. ATmega328 ---

SELECT @ManufID = ManufacturerID FROM [Ref].[Manufacturers] WHERE Name = N'Microchip Technology';

SELECT @CatID = CategoryID FROM [Ref].[Categories] WHERE

Name = N'Микроконтроллеры';

SELECT @PackID = PackageID FROM [Ref].[PackageTypes] WHERE

Name = N'TQFP-32';

INSERT INTO [Stock].[Components] (PartNumber,

ManufacturerID, CategoryID, PackageID, Description,

IsActive)

73

VALUES (N'ATmega328P-AU', @ManufID, @CatID, @PackID,

N'Микроконтроллер AVR 8-bit', 1);

SET @CompID = SCOPE_IDENTITY();

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit) VALUES

(@CompID, N'Flash', N'32', N'KB'),

(@CompID, N'Clock', N'20', N'MHz');

SELECT @SimID = SimTypeID FROM [Ref].[SimulationTypes] WHERE

Name = N'IBIS';

INSERT INTO [Stock].[ComponentModels] (ComponentID,

SimTypeID, FilePath) VALUES

(@CompID, @SimID, N'C:\Libs\atmega328.ibs');

GO

/* =============================================

ЧАСТЬ Б: МАССОВАЯ ВСТАВКА (BULK INSERT)

Для наполнения базы "объемом"

============================================= */ PRINT 'Добавление расширенного набора данных... ' + CONVERT(VARCHAR(30), GETDATE(), 120);

GO

INSERT INTO [Stock].[Components] (PartNumber,

ManufacturerID, CategoryID, PackageID, Description,

IsActive)

VALUES

-- --- Микроконтроллеры ---

74

(N'STM32F103C8T6',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'STMicroelectronics'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Микроконтроллеры'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'LQFP-48'),

N'Популярный ARM Cortex-M3 MCU', 1),

(N'STM32F407VGT6',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'STMicroelectronics'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Микроконтроллеры'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'LQFP-48'),

N'Высокопроизводительный DSP MCU', 1),

(N'LPC1768',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'NXP Semiconductors'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Микроконтроллеры'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'LQFP-48'),

N'Cortex-M3 100MHz', 0),

-- --- Операционные усилители ---

(N'AD8605ARTZ',

75

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Analog Devices'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Операционные усилители'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'SOT-23'),

N'Precision Low Noise OpAmp', 1),

(N'OP07CP',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Texas Instruments'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Операционные усилители'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'DIP-8'),

N'Ultra-Low Offset Voltage', 1),

-- --- Транзисторы ---

(N'BC847',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'NXP Semiconductors'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Транзисторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'SOT-23'),

N'NPN General Purpose', 1),

(N'2N7002',

76

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Vishay'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Транзисторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'SOT-23'),

N'N-Channel MOSFET 60V', 1),

(N'IRFZ44N',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Vishay'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Транзисторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'TO-220'),

N'Power MOSFET 55V 49A', 1),

-- --- Конденсаторы ---

(N'GRM188R61A106K',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Murata'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Конденсаторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = '0603'),

N'Ceramic Cap 10uF 10V', 1),

(N'CC0805KRX7R9BB104',

77

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Vishay'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Конденсаторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = '0805'),

N'Ceramic Cap 100nF 50V', 1),

-- --- Диоды ---

(N'1N4148W',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Vishay'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Диоды'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'SOD-123'),

N'Switching Diode', 1),

(N'M7',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Microchip Technology'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Диоды'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'SMA'),

N'SMD версия 1N4007 1000V', 1),

-- --- Стабилизаторы ---

(N'LM7805',

78

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'STMicroelectronics'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Стабилизаторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'TO-220'),

N'Linear Regulator 5V 1A', 1),

(N'AMS1117-3.3',

(SELECT ManufacturerID FROM [Ref].[Manufacturers] WHERE

Name = 'Analog Devices'),

(SELECT CategoryID FROM [Ref].[Categories] WHERE Name = 'Стабилизаторы'),

(SELECT PackageID FROM [Ref].[PackageTypes] WHERE Name = 'SOT-223'),

N'LDO 3.3V 800mA', 1);

GO

/* =============================================

ЧАСТЬ В: ПАРАМЕТРЫ ДЛЯ МАССОВЫХ ДАННЫХ

============================================= */ INSERT INTO [Stock].[ComponentParams] (ComponentID, ParamName, ParamValue, Unit)

SELECT ComponentID, 'Flash', '64', 'KB' FROM

[Stock].[Components] WHERE PartNumber = 'STM32F103C8T6';

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit)

79

SELECT ComponentID, 'Core', 'Cortex-M3', '' FROM

[Stock].[Components] WHERE PartNumber = 'STM32F103C8T6';

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit)

SELECT ComponentID, 'Capacitance', '10', 'uF' FROM

[Stock].[Components] WHERE PartNumber = 'GRM188R61A106K';

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit)

SELECT ComponentID, 'Vds', '60', 'V' FROM

[Stock].[Components] WHERE PartNumber = '2N7002';

INSERT INTO [Stock].[ComponentParams] (ComponentID,

ParamName, ParamValue, Unit)

SELECT ComponentID, 'Output', '5', 'V' FROM

[Stock].[Components] WHERE PartNumber = 'LM7805';

GO

PRINT '=========================================================== ==';

PRINT 'Скрипт 02 выполнен успешно. Данные загружены.';

PRINT 'Время завершения: ' + CONVERT(VARCHAR(30), GETDATE(), 120);

PRINT '=========================================================== ==';

GO

80

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