text: CREATE TABLE owners(
    id INT GENERATED ALWAYS AS IDENTITY,
    full_name VARCHAR(20),
    age INT,
    PRIMARY KEY(id)
  );
  
  CREATE TABLE species(
    id INT GENERATED ALWAYS AS IDENTITY,
    name VARCHAR(20),
    PRIMARY KEY(id)
  );
  
  CREATE TABLE animals(
    id INT GENERATED ALWAYS AS IDENTITY,
    name VARCHAR(20),
    date_of_birth DATE,
    escape_attempts INT,
    neutered BOOLEAN,
    weight_kg DECIMAL,
    species_id INT REFERENCES species(id),
    owner_id INT REFERENCES owners(id),
    PRIMARY KEY(id)
  );
  
  CREATE TABLE vets(
    id INT GENERATED ALWAYS AS IDENTITY,
    name VARCHAR(20),
    age INT,
    date_of_graduation DATE,
    PRIMARY KEY(id)
  );
  
  CREATE TABLE specializations(
    id INT GENERATED ALWAYS AS IDENTITY,
    species_id INT REFERENCES species(id),
    vet_id INT REFERENCES vets(id),
    PRIMARY KEY(id)
  );
  
  CREATE TABLE visits(
    id INT GENERATED ALWAYS AS IDENTITY,
    animal_id INT REFERENCES animals(id),
    vet_id INT REFERENCES vets(id),
    date_of_visit DATE,
    PRIMARY KEY(id)
  );
  
  
  -- Improve Performance 
  CREATE INDEX email_asc ON owners(email ASC);
  CREATE INDEX vet_id_desc ON visits(vet_id DESC);
  CREATE INDEX animal_id_asc ON visits(animal_id ASC);
  