CREATE TABLE patients
(
id uuid primary key,
name varchar(32)
);
CREATE TABLE doctors
(
id uuid primary key,
name varchar(32)
);
CREATE TABLE specialties
(
id uuid primary key,
name varchar(32)
);
CREATE TABLE patients_doctors
(
id uuid primary key,
patient_id uuid not null references patients,
doctor_id uuid not null references doctors
);
CREATE TABLE doctors_specialties
(
id uuid primary key,
doctor_id uuid not null references doctors,
specialty_id uuid not null references specialties
);
record Patient(UUID id, String name) {}
record Doctor(UUID id, String name, Specialties[] specialties) {}
record Specialty(UUID id, String name) {}
record PatientDoctor(UUID id, UUID patientId, UUID doctorId, Patient patient, Doctor doctor);
record DoctorSpecialty(UUID id, UUID doctorId, UUID specialtyId, Doctor doctor, Specialty specialty);