@David138

Как создать и объединить таблицу?

Как создать и объединить с другой таблицей? Придумал для самообучения базу данных инвентаризация.
схема:
6305dfbb685b1842639145.jpeg
в первой таблице оборудования, их инвентарные номера, дата изменения, и кабинет, в котором он находится.
spoiler
dbt=> CREATE TABLE dates (                                         
id SERIAL PRIMARY KEY,
device VARCHAR,                                                       
inventory VARCHAR,                                           
office INT,                                                 
quantity INT,                                                   
date TIMESTAMP                                                                    
);
CREATE TABLE
dbt=> INSERT INTO dates (device, inventory, office, quantity, date)
 VALUES ('ATC', '0675', '10', '1', '2017-12-12 12:12:12'),
 ('Интерактивная доска', '8988', '10', '1', '2017-12-12 12:12:12'),
 ('Колонки', '4557', '10', '1', '2017-12-12 12:12:12'),
 ('Компьютер', '7867', '10', '1', '2017-12-12 12:12:12'),
...
 ('Компьютер', '2344', '104', '1', '2022-02-12 12:12:12'),
 ('Интерактивная доска', '6768', '104', '1', '2017-12-12 12:12:12'),
 ('Колонки', '4557', '104', '1', '2017-12-12 12:12:12'),
 ('Сетевой фильтр', NULL, '104', '1', '2017-12-12 12:12:12');
dbt=> SELECT * FROM dates;
 id |                 device                 |     inventory      | office | quantity |        date         
----+----------------------------------------+--------------------+--------+----------+---------------------
  1 | ATC                                    | 0675               |     10 |        1 | 2017-12-12 12:12:12
  2 | Интерактивная доска                    | 8988               |     10 |        1 | 2017-12-12 12:12:12
  3 | Колонки                                | 4557               |     10 |        1 | 2017-12-12 12:12:12
...
 36 | Интерактивная доска                    | 6768               |    104 |        1 | 2017-12-12 12:12:12
 37 | Колонки                                | 4557               |    104 |        1 | 2017-12-12 12:12:12
 38 | Сетевой фильтр                         |                    |    104 |        1 | 2017-12-12 12:12:12
(38 строк)

Добавить вторую таблицу: номер кабинетов и корпусе, где этот кабинет расположен. Как создать таблицу так, чтобы можно привязать номера кабинетов между двумя таблицами?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Я вижу такую структуру: https://sqlize.online/sql/psql14/15df9c250021a6a82...
CREATE TABLE devices (
  id SERIAL PRIMARY KEY,
  device VARCHAR,                                                       
  inventory VARCHAR
);

CREATE TABLE buildings (
  id SERIAL PRIMARY KEY,
  buildings VARCHAR
);

CREATE TABLE offices (
  id SERIAL PRIMARY KEY,
  building_id INT REFERENCES buildings(id),
  office VARCHAR,                                                       
  inventory VARCHAR
);

CREATE TABLE inventories (
  device_id INT REFERENCES devices(id),
  office_id INT REFERENCES offices(id),                                               
  quantity INT,                                                   
  updated_at DATE,
  PRIMARY KEY (device_id)
);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Устройство находится на рабочем месте (по подразделениям):630614b2c2aac873927334.png
( по помещениям)6306151e30c3f945077500.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы