HomeWork20250131.sql 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. -- Справочник должностей
  2. create table military_ranks
  3. (
  4. id integer primary key not null,
  5. description character varying(255)
  6. );
  7. insert into military_ranks(id, description)
  8. values(1,'Рядовой'),(2,'Лейтенант');
  9. create sequence military_ranks_seq start 3;
  10. alter table military_ranks alter column id set default nextval('public.military_ranks_seq');
  11. select * from military_ranks;
  12. -- Пользователя
  13. create table employees
  14. (
  15. id integer primary key not null,
  16. name text,
  17. birthday timestamp ,
  18. military_rank_id integer
  19. );
  20. insert into employees(id, name, birthday,military_rank_id )
  21. values(1, 'Воловиков Александр Сергеевич','1978-06-24', 2);
  22. create sequence employees_seq start 2;
  23. alter table employees alter column id set default nextval('public.employees_seq');
  24. select * from employees;
  25. -- Устройства для измерения
  26. create table measurment_types
  27. (
  28. id integer primary key not null,
  29. short_name character varying(50),
  30. description text
  31. );
  32. insert into measurment_types(id, short_name, description)
  33. values(1, 'ДМК', 'Десантный метео комплекс'),
  34. (2,'ВР','Ветровое ружье');
  35. create sequence measurment_types_seq start 3;
  36. alter table measurment_types alter column id set default nextval('public.measurment_types_seq');
  37. select * from measurment_types;
  38. -- Таблица с параметрами
  39. create table measurment_input_params
  40. (
  41. id integer primary key not null,
  42. measurment_type_id integer not null,
  43. height numeric(8,2) default 0,
  44. temperature numeric(8,2) default 0,
  45. pressure numeric(8,2) default 0,
  46. wind_direction numeric(8,2) default 0,
  47. wind_speed numeric(8,2) default 0
  48. );
  49. insert into measurment_input_params(id, measurment_type_id, height, temperature, pressure, wind_direction,wind_speed )
  50. values(1, 1, 100,12,34,0.2,45);
  51. create sequence measurment_input_params_seq start 2;
  52. alter table measurment_input_params alter column id set default nextval('public.measurment_input_params_seq');
  53. select * from measurment_input_params;
  54. -- Таблица с историей
  55. create table measurment_baths
  56. (
  57. id integer primary key not null,
  58. emploee_id integer not null,
  59. measurment_input_param_id integer not null,
  60. started timestamp default now()
  61. );
  62. insert into measurment_baths(id, emploee_id, measurment_input_param_id)
  63. values(1, 1, 1);
  64. create sequence measurment_baths_seq start 2;
  65. alter table measurment_baths alter column id set default nextval('public.measurment_baths_seq');
  66. select * from measurment_baths;
  67. -- Готово