73 lines
1.6 KiB
XML
73 lines
1.6 KiB
XML
= Работа №1. Создание базы данных.
|
|
|
|
== Смена пароля
|
|
|
|
```sql
|
|
ALTER USER surimi WITH PASSWORD 'trio';
|
|
```
|
|
|
|
== Создание таблиц
|
|
|
|
```sql
|
|
-- create
|
|
CREATE TABLE auto_personnel (
|
|
id serial primary key,
|
|
first_name varchar(255),
|
|
last_name varchar(255),
|
|
father_name varchar(255)
|
|
);
|
|
COMMENT ON TABLE auto_personnel IS 'Сотрудники автопарка';
|
|
|
|
CREATE TABLE auto (
|
|
id serial primary key,
|
|
num varchar(255),
|
|
color varchar(255),
|
|
mark varchar(255)
|
|
);
|
|
COMMENT ON TABLE auto IS 'Автомобили автопарка';
|
|
|
|
CREATE TABLE routes (
|
|
id serial primary key,
|
|
name varchar(255)
|
|
);
|
|
COMMENT ON TABLE routes IS 'Маршруты';
|
|
|
|
CREATE TABLE journal (
|
|
id serial primary key,
|
|
time_out timestamp with time zone,
|
|
time_in timestamp with time zone
|
|
);
|
|
COMMENT ON TABLE journal IS 'Журнал оператора';
|
|
```
|
|
|
|
== Создание связей
|
|
|
|
```sql
|
|
ALTER TABLE journal ADD COLUMN route_id INTEGER NOT NULL CONSTRAINT fk_journal_routes REFERENCES routes(id);
|
|
ALTER TABLE journal ADD COLUMN auto_id INTEGER NOT NULL CONSTRAINT fk_journal_auto REFERENCES auto(id);
|
|
ALTER TABLE auto ADD COLUMN personnel_id INTEGER NOT NULL CONSTRAINT fk_auto_auto_personnel REFERENCES auto_personnel(id);
|
|
```
|
|
|
|
== Удаление таблиц
|
|
|
|
```sql
|
|
-- drop
|
|
DROP TABLE auto_personnel CASCADE;
|
|
DROP TABLE auto CASCADE;
|
|
DROP TABLE routes CASCADE;
|
|
DROP TABLE journal CASCADE;
|
|
```
|
|
|
|
== Бекап
|
|
|
|
```sh
|
|
podman exec postgresinstance-postgres-1 pg_dump postgres -U surimi > dump.sql
|
|
```
|
|
|
|
== Восстановление
|
|
|
|
```sh
|
|
podman exec -i postgresinstance-postgres-1 psql -U surimi -d postgres < dump.sql
|
|
```
|
|
|