Files
myhealth/2.database/01.CreateTables.sql
2019-12-06 16:29:40 +01:00

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 CHAR(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";