2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS vets (
|
2021-12-07 11:46:58 +00:00
|
|
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
|
first_name TEXT,
|
|
|
|
last_name TEXT
|
|
|
|
);
|
|
|
|
CREATE INDEX ON vets (last_name);
|
|
|
|
|
2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS specialties (
|
2021-12-07 11:46:58 +00:00
|
|
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
|
name TEXT
|
|
|
|
);
|
|
|
|
CREATE INDEX ON specialties (name);
|
|
|
|
|
2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS vet_specialties (
|
2021-12-07 11:46:58 +00:00
|
|
|
vet_id INT NOT NULL REFERENCES vets (id),
|
|
|
|
specialty_id INT NOT NULL REFERENCES specialties (id),
|
|
|
|
UNIQUE (vet_id, specialty_id)
|
|
|
|
);
|
|
|
|
|
2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS types (
|
2021-12-07 11:46:58 +00:00
|
|
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
|
name TEXT
|
|
|
|
);
|
|
|
|
CREATE INDEX ON types (name);
|
|
|
|
|
2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS owners (
|
2021-12-07 11:46:58 +00:00
|
|
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
|
first_name TEXT,
|
|
|
|
last_name TEXT,
|
|
|
|
address TEXT,
|
|
|
|
city TEXT,
|
|
|
|
telephone TEXT
|
|
|
|
);
|
|
|
|
CREATE INDEX ON owners (last_name);
|
|
|
|
|
2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS pets (
|
2021-12-07 11:46:58 +00:00
|
|
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
|
|
name TEXT,
|
|
|
|
birth_date DATE,
|
|
|
|
type_id INT NOT NULL REFERENCES types (id),
|
2022-01-06 11:18:15 +00:00
|
|
|
owner_id INT REFERENCES owners (id)
|
2021-12-07 11:46:58 +00:00
|
|
|
);
|
|
|
|
CREATE INDEX ON pets (name);
|
|
|
|
CREATE INDEX ON pets (owner_id);
|
|
|
|
|
2022-01-04 18:44:41 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS visits (
|
2021-12-07 11:46:58 +00:00
|
|
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
2022-01-06 11:18:15 +00:00
|
|
|
pet_id INT REFERENCES pets (id),
|
2021-12-07 11:46:58 +00:00
|
|
|
visit_date DATE,
|
|
|
|
description TEXT
|
|
|
|
);
|
|
|
|
CREATE INDEX ON visits (pet_id);
|