[text] Имя

Viewer

  1. CREATE DATABASE Складской_учет
  2.  
  3. -- Создание таблицы "Склады"
  4. CREATE TABLE Склады (
  5.   ID_склада INT PRIMARY KEY,
  6.   адрес NVARCHAR(200),
  7.   доступное_пространство INT
  8. );
  9.  
  10. -- Заполнение таблицы "Склады"
  11. INSERT INTO Склады (ID_склада, адрес, доступное_пространство)
  12. VALUES
  13.   (1111, 'Черняховского 40', 100),
  14.   (2222, 'Пушкина 22', 200),
  15.   (3333, 'Грибоедова 5', 150),
  16.   (4444, 'Ленина 3', 300),
  17.   (5555, 'Гагарина 7', 250),
  18.   (6666, 'Инженерная 50', 180),
  19.   (7777, 'Многостаночников 26', 120),
  20.   (8888, 'Кошкина 18', 220),
  21.   (9999, 'Дранниково 43', 130),
  22.   (1000, 'Орденоносцев 34', 280);
  23.  
  24. -- Создание таблицы "Товары"
  25. CREATE TABLE Товары (
  26.   ID_товара INT PRIMARY KEY,
  27.   наименование_товара VARCHAR(100),
  28.   количество_товара INT,
  29.   стоимость INT
  30. );
  31.  
  32. -- Заполнение таблицы "Товары"
  33. INSERT INTO Товары (ID_товара, наименование_товара, количество_товара, стоимость)
  34. VALUES
  35.   (123, 'Огурцы', 50, 10),
  36.   (245, 'Игрушки', 30, 20),
  37.   (367, 'Кружки', 20, 15),
  38.   (489, 'Сигареты', 40, 8),
  39.   (501, 'Жесть', 60, 12),
  40.   (623, 'Жидкость', 10, 5),
  41.   (745, 'Книги', 70, 18),
  42.   (867, 'Гитары', 25, 9),
  43.   (989, 'Резина', 35, 14),
  44.   (109, 'Матрицы', 15, 7);
  45.  
  46. -- Создание таблицы "Поставщики"
  47. CREATE TABLE Поставщики (
  48.   ID_поставщика INT PRIMARY KEY,
  49.   название_поставщика VARCHAR(100),
  50.   адрес VARCHAR(200),
  51.   номер_телефона VARCHAR(12),
  52.   ID_товара INT,
  53.   FOREIGN KEY (ID_товара) REFERENCES Товары (ID_товара)
  54. );
  55.  
  56. -- Заполнение таблицы "Поставщики"
  57. INSERT INTO Поставщики (ID_поставщика, название_поставщика, адрес, номер_телефона, ID_товара)
  58. VALUES
  59.   (132, 'Поставщик 1', 'Пушкина 23', '+78995553535', 123),
  60.   (254, 'Поставщик 2', 'Орденоносцев 2', '+79993215551', 245),
  61.   (375, 'Поставщик 3', 'Первомайская 1', '+79856787654', 367),
  62.   (475, 'Поставщик 4', 'Разнорабочих 4', '+79754567898', 489),
  63.   (582, 'Поставщик 5', 'Бородина 12', '+74567876543', 501),
  64.   (673, 'Поставщик 6', 'Инженера-Алиева 22', '+79923465432', 623),
  65.   (723, 'Поставщик 7', '8 марта 42', '+79234567456', 745),
  66.   (809, 'Поставщик 8', 'Многостаночников 23', '+73456745676', 867),
  67.   (946, 'Поставщик 9', 'Вкуснокашково 83', '+79654323456', 989),
  68.   (168, 'Поставщик 10', 'Красноморево 4', '+75678545678', 109);
  69.  
  70. -- Создание таблицы "Сотрудники"
  71. CREATE TABLE Сотрудники (
  72.   ID_сотрудника INT PRIMARY KEY,
  73.   ФИО VARCHAR(100),
  74.   должность VARCHAR(100),
  75.   год_рождения DATE,
  76.   ID_склада INT,
  77.   FOREIGN KEY (ID_склада) REFERENCES Склады (ID_склада)
  78. );
  79.  
  80.   -- Заполнение таблицы "Сотрудники"
  81. INSERT INTO Сотрудники (ID_сотрудника, ФИО, должность, год_рождения, ID_склада)
  82. VALUES
  83.   (1, 'Панков Андрей Михайлович', 'Менеджер', '1986-11-02', 1111),
  84.   (2, 'Соловьев Максим Денисович', 'Грузчик', '1985-11-02', 2222),
  85.   (3, 'Иванова Амина Кирилловна', 'Консультант', '1990-12-05', 3333),
  86.   (4, 'Быкова Валерия Ивановна', 'Менеджер', '1987-08-01', 4444),
  87.   (5, 'Морозов Егор Иванович', 'Грузчик', '1988-01-07', 5555),
  88.   (6, 'Корчагина Ксения Юрьевна', 'Консультант', '1992-05-05', 6666),
  89.   (7, 'Розанова Елена Андреевна', 'Менеджер', '1984-08-08', 7777),
  90.   (8, 'Максимов Артём Сергеевич', 'Грузчик', '1986-09-09', 8888),
  91.   (9, 'Кочергина Кира Дмитриевна', 'Консультант', '1991-10-10', 9999),
  92.   (10, 'Климова Ева Максимовна', 'Менеджер', '1996-06-08', 1000);
  93.  
  94. -- Создание таблицы "Клиенты"
  95. CREATE TABLE Клиенты (
  96.   ID_клиента INT PRIMARY KEY,
  97.   ФИО VARCHAR(100),
  98.   паспортные_данные VARCHAR(11),
  99.   номер_телефона VARCHAR(12),
  100.   год_рождения DATE
  101. );
  102.  
  103. -- Заполнение таблицы "Клиенты"
  104. INSERT INTO Клиенты (ID_клиента, ФИО, паспортные_данные, номер_телефона, год_рождения)
  105. VALUES
  106.   (112, 'Наумов Андрей Фёдорович', '4171 152699', '+7456155315', '1980-12-05'),
  107.   (221, 'Голованова Елизавета Андреевна', '4198 981241', '+7532262871', '1985-08-11'),
  108.   (332, 'Рудаков Александр Константинович', '4776 257932', '+7236556965', '1990-04-05'),
  109.   (443, 'Свиридов Роман Тимурович', '4569 460080', '+7923456432', '1982-09-12'),
  110.   (554, 'Щукин Михаил Денисович', '4398 765695', '+7967543462', '1988-05-02'),
  111.   (665, 'Сахарова Мария Егоровна', '4548 384907', '+7964124122', '1992-12-09'),
  112.   (776, 'Яшин Игорь Кириллович', '4954 557426', '+7954112124', '1984-08-08'),
  113.   (887, 'Чернышева Камила Богдановна', '4273 865485', '+7951361562', '1986-09-02'),
  114.   (998, 'Беляков Давид Максимович', '4326 842452', '+79542156626', '1991-08-07'),
  115.   (103, 'Петров Захар Дмитриевич', '4349 551121', '+74215516364', '1983-04-02');
  116.  
  117. -- Создание таблицы "Операции приема-выдачи товаров"
  118. CREATE TABLE Операции_приемавыдачи_товаров (
  119.   ID_операции INT PRIMARY KEY,
  120.   ID_товара INT,
  121.   ID_склада INT,
  122.   ID_сотрудника INT,
  123.   ID_клиента INT,
  124.   датавремя DATETIME,
  125.   тип_операции NVARCHAR(100),
  126.   FOREIGN KEY (ID_товара) REFERENCES Товары (ID_товара),
  127.   FOREIGN KEY (ID_склада) REFERENCES Склады (ID_склада),
  128.   FOREIGN KEY (ID_сотрудника) REFERENCES Сотрудники (ID_сотрудника),
  129.   FOREIGN KEY (ID_клиента) REFERENCES Клиенты (ID_клиента)
  130. );
  131. -- Заполнение таблицы "Операции приема-выдачи товаров"
  132. INSERT INTO Операции_приемавыдачи_товаров (ID_операции, ID_товара, ID_склада, ID_сотрудника, ID_клиента, датавремя, тип_операции)
  133. VALUES
  134.   (11, 123, 1111, 1, 112, '2023-01-01 09:00:00', 'прием'),
  135.   (22, 123, 1111, 2, 221, '2023-01-02 10:30:00', 'выдача'),
  136.   (33, 367, 2222, 3, 332, '2023-01-03 12:15:00', 'прием'),
  137.   (44, 367, 2222, 4, 443, '2023-01-04 14:45:00', 'выдача'),
  138.   (55, 489, 3333, 5, 554, '2023-01-05 16:20:00', 'прием'),
  139.   (66, 489, 3333, 6, 665, '2023-01-06 18:00:00', 'выдача'),
  140.   (77, 501, 4444, 7, 776, '2023-01-07 09:30:00', 'прием'),
  141.   (88, 501, 4444, 8, 887, '2023-01-08 11:45:00', 'выдача'),
  142.   (99, 623, 7777, 9, 998, '2023-01-09 13:40:00', 'прием'),
  143.   (18, 623, 7777, 10, 103, '2023-01-10 15:15:00', 'выдача');
  144.  
  145. SELECT * FROM Товары
  146. WHERE количество_товара > 50;
  147.  
  148. SELECT * FROM Сотрудники
  149. WHERE должность = 'Менеджер' AND год_рождения > '1990-01-01';
  150.  
  151. SELECT Клиенты.ID_клиента, Клиенты.ФИО, Товары.наименование_товара, Операции_приемавыдачи_товаров.датавремя
  152. FROM Клиенты
  153. JOIN Операции_приемавыдачи_товаров ON Клиенты.ID_клиента = Операции_приемавыдачи_товаров.ID_клиента
  154. JOIN Товары ON Операции_приемавыдачи_товаров.ID_товара = Товары.ID_товара
  155. WHERE Клиенты.год_рождения > '1980-01-01' AND Товары.количество_товара > 5;
  156.  
  157. SELECT *
  158. FROM Товары
  159. WHERE (количество_товара < 25 OR стоимость > 40) AND наименование_товара LIKE '%Кружки';
  160.  
  161. SELECT * FROM Операции_приемавыдачи_товаров
  162. JOIN Сотрудники ON Операции_приемавыдачи_товаров.ID_сотрудника = Сотрудники.ID_сотрудника
  163. WHERE Сотрудники.должность = 'Менеджер';
  164.  
  165. SELECT Клиенты.ID_клиента, COUNT(*) AS Количество_операций
  166. FROM Клиенты
  167. JOIN Операции_приемавыдачи_товаров ON Клиенты.ID_клиента = Операции_приемавыдачи_товаров.ID_клиента
  168. GROUP BY Клиенты.ID_клиента;
  169.  
  170. SELECT Товары.ID_товара, SUM(количество_товара) AS Общее_количество_товара
  171. FROM Товары
  172. GROUP BY ID_товара;

Editor

You can edit this paste and save as new:


File Description
  • Имя
  • Paste Code
  • 09 Jun-2023
  • 9.46 Kb
You can Share it: