210 lines
6.1 KiB
SQL
210 lines
6.1 KiB
SQL
/*
|
|
DROP TABLE myhealth.Administrator;
|
|
DROP TABLE myhealth.FamilyDoctor;
|
|
DROP TABLE myhealth.MedicalSpecialty;
|
|
DROP TABLE myhealth.MedicalTest;
|
|
DROP TABLE myhealth.Patient;
|
|
DROP TABLE myhealth.PrimaryHealthCareCenter;
|
|
DROP TABLE myhealth.Question;
|
|
DROP TABLE myhealth.Response;
|
|
DROP TABLE myhealth.SpecialistDoctor;
|
|
DROP TABLE myhealth.Visit;
|
|
*/
|
|
|
|
-- Table: myhealth.administrator
|
|
|
|
-- DROP TABLE myhealth.administrator;
|
|
|
|
CREATE TABLE myhealth.administrator
|
|
(
|
|
email VARCHAR(120) COLLATE pg_catalog."default" NOT NULL,
|
|
password VARCHAR(100) COLLATE pg_catalog."default" NOT NULL,
|
|
CONSTRAINT administrator_pkey PRIMARY KEY (email)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.administrator
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.familydoctor
|
|
|
|
-- DROP TABLE myhealth.familydoctor;
|
|
|
|
CREATE TABLE myhealth.familydoctor
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
password VARCHAR(100) COLLATE pg_catalog."default" NOT NULL,
|
|
nif VARCHAR(50) COLLATE pg_catalog."default",
|
|
surname VARCHAR(100) COLLATE pg_catalog."default",
|
|
email VARCHAR(120) COLLATE pg_catalog."default",
|
|
name VARCHAR(100) COLLATE pg_catalog."default",
|
|
primaryhealthcarecenterid VARCHAR(50) COLLATE pg_catalog."default",
|
|
CONSTRAINT familydoctor_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.familydoctor
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.medicalspecialty
|
|
|
|
-- DROP TABLE myhealth.medicalspecialty;
|
|
|
|
CREATE TABLE myhealth.medicalspecialty
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
name VARCHAR(50) COLLATE pg_catalog."default" NOT NULL UNIQUE,
|
|
description VARCHAR(1000) COLLATE pg_catalog."default",
|
|
CONSTRAINT medicalspecialty_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.medicalspecialty
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.medicaltest
|
|
|
|
-- DROP TABLE myhealth.medicaltest;
|
|
|
|
CREATE TABLE myhealth.medicaltest
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
date date,
|
|
"time" abstime,
|
|
observations TEXT COLLATE pg_catalog."default",
|
|
highresimage bytea,
|
|
type INTEGER,
|
|
patientid INTEGER NOT NULL,
|
|
specialistdoctorid INTEGER NOT NULL,
|
|
CONSTRAINT medicaltest_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.medicaltest
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.patient
|
|
|
|
-- DROP TABLE myhealth.patient;
|
|
|
|
CREATE TABLE myhealth.patient
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
password VARCHAR(100) COLLATE pg_catalog."default",
|
|
nif VARCHAR(50) COLLATE pg_catalog."default",
|
|
surname VARCHAR(100) COLLATE pg_catalog."default",
|
|
email VARCHAR(120) COLLATE pg_catalog."default",
|
|
name VARCHAR(100) COLLATE pg_catalog."default",
|
|
familydoctorid INTEGER,
|
|
CONSTRAINT patient_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.patient
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.location
|
|
|
|
-- DROP TABLE myhealth.location;
|
|
|
|
CREATE TABLE myhealth.location
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
name VARCHAR(100) COLLATE pg_catalog."default" NOT NULL,
|
|
CONSTRAINT primarylocation_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.location
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.primaryhealthcarecenter
|
|
|
|
-- DROP TABLE myhealth.primaryhealthcarecenter;
|
|
|
|
CREATE TABLE myhealth.primaryhealthcarecenter
|
|
(
|
|
name VARCHAR(50) COLLATE pg_catalog."default" NOT NULL,
|
|
location INTEGER,
|
|
CONSTRAINT primaryhealthcarecenter_pkey PRIMARY KEY (name)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.primaryhealthcarecenter
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.question
|
|
|
|
-- DROP TABLE myhealth.question;
|
|
|
|
CREATE TABLE myhealth.question
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
title VARCHAR(512) COLLATE pg_catalog."default" NOT NULL,
|
|
message TEXT COLLATE pg_catalog."default" NOT NULL,
|
|
status INTEGER,
|
|
patientid INTEGER NOT NULL,
|
|
CONSTRAINT question_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.question
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.response
|
|
|
|
-- DROP TABLE myhealth.response;
|
|
|
|
CREATE TABLE myhealth.response
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
response TEXT COLLATE pg_catalog."default",
|
|
questionid INTEGER NOT NULL,
|
|
CONSTRAINT response_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.response
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.specialistdoctor
|
|
|
|
-- DROP TABLE myhealth.specialistdoctor;
|
|
|
|
CREATE TABLE myhealth.specialistdoctor
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
password VARCHAR(100) COLLATE pg_catalog."default",
|
|
nif VARCHAR(50) COLLATE pg_catalog."default",
|
|
surname VARCHAR(100) COLLATE pg_catalog."default",
|
|
email VARCHAR(120) COLLATE pg_catalog."default",
|
|
name VARCHAR(100) COLLATE pg_catalog."default",
|
|
medicalspecialtyid INTEGER,
|
|
CONSTRAINT specialistdoctor_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.specialistdoctor
|
|
OWNER to "USER";
|
|
|
|
-- Table: myhealth.visit
|
|
|
|
-- DROP TABLE myhealth.visit;
|
|
|
|
CREATE TABLE myhealth.visit
|
|
(
|
|
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
|
|
date date NOT NULL,
|
|
"time" abstime NOT NULL,
|
|
observations TEXT COLLATE pg_catalog."default",
|
|
result TEXT COLLATE pg_catalog."default",
|
|
patientid INTEGER NOT NULL,
|
|
familydoctorid INTEGER NOT NULL,
|
|
CONSTRAINT visit_pkey PRIMARY KEY (id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE myhealth.visit
|
|
OWNER to "USER";
|
|
|