a. Напишите скрипты по созданию двух таблиц:
- ИД - тип уникальный идентификатор
- Номер - тип числовой
- Тип – тип текстовый
- Длина – тип числовой
- Ширина – тип числовой
- Высота – тип числовой
- Вес – тип числовой
- Пустой/не пустой – тип бит
- Дата поступления – тип дата/время
CREATE TABLE Контейнеры (
ИД UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
Номер INT,
Тип NVARCHAR(255),
Длина INT,
Ширина INT,
Высота INT,
Вес INT,
Пустой_не_пустой BIT,
Дата_поступления DATETIME
);
- ИД - тип уникальный идентификатор
- ИД Контейнера - тип уникальный идентификатор
- Дата начала операции – тип дата/время
- Дата окончания операции – тип дата/время
- Тип операции - тип текстовый
- ФИО оператора - тип текстовый
- Место инспекции - тип текстовый
CREATE TABLE Операции (
ИД UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
ИД_Контейнера UNIQUEIDENTIFIER FOREIGN KEY REFERENCES Контейнеры(ИД),
Дата_начала_операции DATETIME,
Дата_окончания_операции DATETIME,
Тип_операции NVARCHAR(255),
ФИО_оператора NVARCHAR(255),
Место_инспекции NVARCHAR(255)
);
b. Напишите запрос, выбирающий из первой таблицы все данные по контейнерам в формате JSON не используя встроенную функцию
Результат:
SELECT
('{"ИД": "' + CAST(ИД AS NVARCHAR(36)) +
'", "Номер": ' + CAST(Номер AS NVARCHAR) +
', "Тип": "' + Тип +
'", "Длина": ' + CAST(Длина AS NVARCHAR) +
', "Ширина": ' + CAST(Ширина AS NVARCHAR) +
', "Высота": ' + CAST(Высота AS NVARCHAR) +
', "Вес": ' + CAST(Вес AS NVARCHAR) +
', "Пустой/не пустой": ' + CAST(Пустой_не_пустой AS NVARCHAR) +
', "Дата поступления": "' + CONVERT(NVARCHAR, Дата_поступления, 120) + '"}') AS JSON
FROM Контейнеры;
c. Напишите запрос, выбирающий из второй таблицы все данные по операциям для определенного контейнера в формате JSON не используя встроенную функцию
Результат:
SELECT
('{"ИД": "' + CAST(ИД AS NVARCHAR(36)) +
'", "ИД Контейнера": "' + CAST(ИД_Контейнера AS NVARCHAR(36)) +
'", "Дата начала операции": "' + CONVERT(NVARCHAR, Дата_начала_операции, 120) +
'", "Дата окончания операции": "' + CONVERT(NVARCHAR, Дата_окончания_операции, 120) +
'", "Тип операции": "' + Тип_операции +
'", "ФИО оператора": "' + ФИО_оператора +
'", "Место инспекции": "' + Место_инспекции + '"}') AS JSON
FROM Операции
WHERE ИД_Контейнера = @ИД_Контейнера;
- Город – выпадающий список
- Цех – выпадающий список
- Сотрудник – выпадающий список
- Бригада – выпадающий список
- Смена – текстовое поле.
Первые три поля зависят друг от друга, т.е. выбрал Город и список Цехов уменьшился
Основной код расположен в файле: MainWindowVM.cs