Actualización que incluye hasta el capítulo 7, parcialemnte trabajado
This commit is contained in:
parent
ab3fba5c95
commit
575beb411b
Binary file not shown.
|
@ -0,0 +1,128 @@
|
|||
DROP TABLE "Phone Number" IF EXISTS;
|
||||
DROP TABLE "Schedule" IF EXISTS;
|
||||
DROP TABLE "Assignment" IF EXISTS;
|
||||
DROP TABLE "Patient" IF EXISTS;
|
||||
DROP TABLE "Medical Doctor" IF EXISTS;
|
||||
DROP TABLE "Therapist" IF EXISTS;
|
||||
DROP TABLE "Therapist Number" IF EXISTS;
|
||||
DROP TABLE "Medication" IF EXISTS;
|
||||
DROP TABLE "Patient Medication" IF EXISTS;
|
||||
DROP TABLE "Psychiatrist" IF EXISTS;
|
||||
|
||||
CREATE TABLE "Psychiatrist" (
|
||||
"ID Number" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT
|
||||
NULL PRIMARY KEY,
|
||||
"First Name" VARCHAR(25) NOT NULL,
|
||||
"Surname" VARCHAR(25) NOT NULL,
|
||||
"Gender" CHAR(6),
|
||||
"Street and number" VARCHAR(50),
|
||||
"City" VARCHAR(25),
|
||||
"Postal code" CHAR(5),
|
||||
"State" CHAR(2),
|
||||
"Phone Number" VARCHAR(10)
|
||||
);
|
||||
CREATE TABLE "Medical Doctor" (
|
||||
"ID Number" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"First Name" VARCHAR(25) NOT NULL,
|
||||
"Surname" VARCHAR(25) NOT NULL,
|
||||
"Gender" CHAR(6),
|
||||
"Street and number" VARCHAR(50),
|
||||
"City" VARCHAR(25),
|
||||
"Postal code" VARCHAR(5),
|
||||
"State" CHAR(2),
|
||||
"Phone Number" VARCHAR(10)
|
||||
);
|
||||
CREATE TABLE "Patient" (
|
||||
"ID Number" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"First Name" VARCHAR(25) NOT NULL,
|
||||
"Surname" VARCHAR(25) NOT NULL,
|
||||
"Gender" CHAR(6),
|
||||
"Date of Birth" DATE,
|
||||
"Street and number" VARCHAR(50),
|
||||
"City" VARCHAR(25),
|
||||
"Postal code" VARCHAR(5),
|
||||
"State" CHAR(2),
|
||||
"Diagnosis" VARCHAR(60),
|
||||
"Medical Doctor ID" INTEGER,
|
||||
"Psychiatrist ID" INTEGER,
|
||||
"Time of registry" TIMESTAMP,
|
||||
CONSTRAINT "CK_PAT_GNDR" CHECK( "Gender" in ( 'Male', 'Female' ) ),
|
||||
CONSTRAINT FK_PAT_PSY FOREIGN KEY ("Psychiatrist ID") REFERENCES "Psychiatrist" ("ID Number"),
|
||||
CONSTRAINT FK_PAT_DOC FOREIGN KEY ("Medical Doctor ID") REFERENCES "Medical Doctor" ("ID Number")
|
||||
);
|
||||
CREATE TABLE "Phone Number" (
|
||||
"Phone ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Patient ID" INTEGER NOT NULL,
|
||||
"Number" VARCHAR(10),
|
||||
"Description" VARCHAR(10),
|
||||
CONSTRAINT FK_PAT_PHN FOREIGN KEY ("Patient ID") REFERENCES "Patient" ("ID Number")
|
||||
);
|
||||
CREATE TABLE "Therapist" (
|
||||
"ID Number" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"First Name" VARCHAR(25) NOT NULL,
|
||||
"Surname" VARCHAR(25) NOT NULL,
|
||||
"Gender" CHAR(6),
|
||||
"Street and number" VARCHAR(50),
|
||||
"City" VARCHAR(25),
|
||||
"Postal code" VARCHAR(5),
|
||||
"State" CHAR(2),
|
||||
"Tax number" VARCHAR(20),
|
||||
"Academic degree" VARCHAR(25),
|
||||
"License number" VARCHAR(15),
|
||||
"Hiring date" DATE NOT NULL,
|
||||
"Termination date" DATE,
|
||||
CONSTRAINT "CK_THP_GNDR" CHECK( "Gender" in ( 'Male', 'Female' ) ),
|
||||
CONSTRAINT "CK_TERM_DT" CHECK( "Termination date" > "Hiring date" )
|
||||
);
|
||||
CREATE TABLE "Therapist Number" (
|
||||
"Phone ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL
|
||||
PRIMARY KEY,
|
||||
"Therapist ID" INTEGER,
|
||||
"Number" VARCHAR(10),
|
||||
"Description" VARCHAR(10),
|
||||
CONSTRAINT FK_THP_PHN FOREIGN KEY ("Therapist ID") REFERENCES "Therapist" ("ID Number")
|
||||
);
|
||||
CREATE TABLE "Assignment" (
|
||||
"Assignment ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Patient ID" INTEGER NOT NULL,
|
||||
"Therapist ID" INTEGER NOT NULL,
|
||||
"Date assigned" DATE DEFAULT CURRENT_DATE NOT NULL,
|
||||
"Date case closed" DATE,
|
||||
CONSTRAINT FK_PAT_ASMT FOREIGN KEY ("Patient ID") REFERENCES "Patient" ("ID Number"),
|
||||
CONSTRAINT FK_THP_ASMT FOREIGN KEY ("Therapist ID") REFERENCES "Therapist" ("ID Number"),
|
||||
CONSTRAINT "CK_CLOSE_DT" CHECK( "Date case closed" >= "Date assigned" )
|
||||
);
|
||||
CREATE TABLE "Schedule" (
|
||||
"Schedule ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Assignment ID" INTEGER,
|
||||
"Slot date" DATE NOT NULL,
|
||||
"Slot hour" TIME NOT NULL,
|
||||
"Status of the session" VARCHAR(20),
|
||||
CONSTRAINT FK_SCH_ASMT FOREIGN KEY ("Assignment ID") REFERENCES "Assignment" ("Assignment ID")
|
||||
);
|
||||
CREATE TABLE "Payment" (
|
||||
"Payment ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Patient ID" INTEGER NOT NULL,
|
||||
"Date and time of Payment" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
|
||||
"Amount" DECIMAL (10, 2) NOT NULL,
|
||||
"Notes" VARCHAR(100),
|
||||
"Result" CHAR(6) NOT NULL,
|
||||
CONSTRAINT FK_PAT_PYMNT FOREIGN KEY ("Patient ID") REFERENCES "Patient" ("ID Number"),
|
||||
CONSTRAINT CK_DBT CHECK("Result" IN ('DEBIT', 'CREDIT'))
|
||||
);
|
||||
CREATE TABLE "Medication" (
|
||||
"Medication ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Name" VARCHAR(30) NOT NULL,
|
||||
"Description" VARCHAR(256)
|
||||
);
|
||||
CREATE TABLE "Patient Medication" (
|
||||
"Patient ID" INTEGER NOT NULL,
|
||||
"Medication ID" INTEGER NOT NULL,
|
||||
"Dosage" VARCHAR(50),
|
||||
"Start date" DATE DEFAULT CURRENT_DATE,
|
||||
"End date" DATE,
|
||||
CONSTRAINT PK_PAT_MED PRIMARY KEY ("Patient ID", "Medication ID" ),
|
||||
CONSTRAINT FK_MED_PAT FOREIGN KEY ("Medication ID") REFERENCES "Medication" ("Medication ID"),
|
||||
CONSTRAINT FK_PAT_MED FOREIGN KEY ("Patient ID") REFERENCES "Patient" ("ID Number"),
|
||||
CONSTRAINT CK_END_DT CHECK( "End date" >= "Start date" )
|
||||
);
|
|
@ -0,0 +1,140 @@
|
|||
DROP TABLE "Medicación-paciente" IF EXISTS;
|
||||
DROP TABLE "Medicación" IF EXISTS;
|
||||
DROP TABLE "Pago" IF EXISTS;
|
||||
DROP TABLE "Horario" IF EXISTS;
|
||||
DROP TABLE "Asignación" IF EXISTS;
|
||||
DROP TABLE "Teléfono de terapeuta" IF EXISTS;
|
||||
DROP TABLE "Teléfono" IF EXISTS;
|
||||
DROP TABLE "Paciente" IF EXISTS;
|
||||
DROP TABLE "Psiquiatra" IF EXISTS;
|
||||
DROP TABLE "Médico" IF EXISTS;
|
||||
DROP TABLE "Terapeuta" IF EXISTS;
|
||||
|
||||
CREATE TABLE "Psiquiatra" (
|
||||
"Número de ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Nombre" VARCHAR(25) NOT NULL,
|
||||
"Apellido" VARCHAR(25) NOT NULL,
|
||||
"Sexo" CHAR(6),
|
||||
"Calle y número" VARCHAR(50),
|
||||
"Ciudad" VARCHAR(25),
|
||||
"Código postal" CHAR(5),
|
||||
"Estado" CHAR(2),
|
||||
"Teléfono" VARCHAR(10)
|
||||
);
|
||||
|
||||
CREATE TABLE "Médico" (
|
||||
"Número de ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Nombre" VARCHAR(25) NOT NULL,
|
||||
"Apellido" VARCHAR(25) NOT NULL,
|
||||
"Sexo" CHAR(6),
|
||||
"Calle y número" VARCHAR(50),
|
||||
"Ciudad" VARCHAR(25),
|
||||
"Código postal" CHAR(5),
|
||||
"Estado" CHAR(2),
|
||||
"Teléfono" VARCHAR(10)
|
||||
);
|
||||
|
||||
CREATE TABLE "Paciente" (
|
||||
"Número de ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Nombre" VARCHAR(25) NOT NULL,
|
||||
"Apellido" VARCHAR(25) NOT NULL,
|
||||
"Sexo" CHAR(6),
|
||||
"Fecha de nacimiento" DATE,
|
||||
"Calle y número" VARCHAR(50),
|
||||
"Ciudad" VARCHAR(25),
|
||||
"Código postal" CHAR(5),
|
||||
"Estado" CHAR(2),
|
||||
"Diagnóstico" VARCHAR(60),
|
||||
"ID de médico" INTEGER,
|
||||
"ID de psiquiatra" INTEGER,
|
||||
"Hora de registro" TIMESTAMP,
|
||||
CONSTRAINT CK_PAT_GNDR CHECK( "Sexo" in ('Masculino', 'Femenino')),
|
||||
CONSTRAINT FK_PAT_PSY FOREIGN KEY ("ID del psiquiatra") REFERENCES "Psiquiatra" ("Número de identificación"),
|
||||
CONSTRAINT FK_PAT_DOC FOREIGN KEY ("ID del médico") REFERENCES "Médico" ("Número de ID")
|
||||
);
|
||||
|
||||
CREATE TABLE "Número de teléfono" (
|
||||
"ID de teléfono" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"ID del paciente" INTEGER NOT NULL,
|
||||
"Número" VARCHAR(10),
|
||||
"Descripción" VARCHAR(10),
|
||||
CONSTRAINT FK_PAT_PHN FOREIGN KEY ("ID del paciente") REFERENCES "Paciente" ("Número de ID")
|
||||
);
|
||||
|
||||
CREATE TABLE "Terapeuta" (
|
||||
"Número de ID" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Nombre" VARCHAR(25) NOT NULL,
|
||||
"Apellido" VARCHAR(25) NOT NULL,
|
||||
"Sexo" CHAR(6),
|
||||
"Calle y número" VARCHAR(50),
|
||||
"Ciudad" VARCHAR(25),
|
||||
"Código postal" CHAR(5),
|
||||
"Estado" CHAR(2),
|
||||
"ID tributario" VARCHAR(20),
|
||||
"Título académico" VARCHAR(25),
|
||||
"Número de licencia" VARCHAR(15),
|
||||
"Fecha de contratación" DATE NOT NULL,
|
||||
"Fecha de terminación" DATE,
|
||||
CONSTRAINT "CK_THP_GNDR" CHECK("Género" IN ('Masculino', 'Femenino')),
|
||||
CONSTRAINT "CK_TERM_DT" CHECK( "Fecha de terminación" > "Fecha de contratación")
|
||||
);
|
||||
|
||||
CREATE TABLE "Número de terapeutas" (
|
||||
"ID de teléfono" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"ID del terapeuta" INTEGER,
|
||||
"Número" VARCHAR(10),
|
||||
"Descripción" VARCHAR(10),
|
||||
CONSTRAINT FK_THP_PHN FOREIGN KEY ("ID del terapeuta") REFERENCES "Terapeuta" ("Número de ID")
|
||||
);
|
||||
|
||||
CREATE TABLE "Asignación" (
|
||||
"ID de asignación" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"ID del paciente" INTEGER NOT NULL,
|
||||
"ID del terapeuta" INTEGER NOT NULL,
|
||||
"Fecha asignada" DATE DEFAULT CURRENT_DATE NOT NULL,
|
||||
"Fecha de caso cerrado" DATE,
|
||||
CONSTRAINT FK_PAT_ASMT FOREIGN KEY ("ID del paciente") REFERENCES "Paciente"
|
||||
(Número de ID),
|
||||
CONSTRAINT FK_THP_ASMT FOREIGN KEY ("ID del terapeuta") REFERENCES "Terapeuta" ("Número de ID"),
|
||||
CONSTRAINT "CK_CLOSE_DT" CHECK( "Fecha de cierre del caso" >= "Fecha de asignación")
|
||||
);
|
||||
|
||||
CREATE TABLE "Horario" (
|
||||
"ID Horario" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"ID de asignación" INTEGER,
|
||||
"Fecha de la ranura" DATE NOT NULL,
|
||||
"Hora del intervalo" TIME NOT NULL,
|
||||
"Estado de la sesión" VARCHAR(20),
|
||||
CONSTRAINT FK_SCH_ASMT FOREIGN KEY ("ID de asignación") REFERENCES
|
||||
"Asignación" ("ID de asignación")
|
||||
);
|
||||
|
||||
CREATE TABLE "Pago" (
|
||||
"ID de pago" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"ID del paciente" INTEGER NOT NULL,
|
||||
"Fecha y hora de pago" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
|
||||
"Cantidad" DECIMAL (10, 2) NOT NULL,
|
||||
"Notas" VARCHAR(100),
|
||||
"Resultado" CHAR(6) NOT NULL,
|
||||
CONSTRAINT FK_PAT_PYMNT FOREIGN KEY ("ID del paciente") REFERENCES "Paciente" ("Número de ID"),
|
||||
CONSTRAINT CK_DBT CHECK("Resultado" IN ('DÉBITO', 'CRÉDITO'))
|
||||
);
|
||||
|
||||
CREATE TABLE "Medicación" (
|
||||
"ID de medicamento" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,
|
||||
"Nombre" VARCHAR(30) NOT NULL,
|
||||
"Descripción" VARCHAR(256)
|
||||
);
|
||||
|
||||
CREATE TABLE "Medicación-paciente" (
|
||||
"ID del paciente" INTEGER NOT NULL,
|
||||
"ID de medicamento" INTEGER NOT NULL,
|
||||
"Dosificación" VARCHAR(50),
|
||||
"Fecha de inicio" DATE DEFAULT CURRENT_DATE,
|
||||
"Fecha de cierre" DATE,
|
||||
CONSTRAINT PK_PAT_MED PRIMARY KEY ("ID del paciente", "ID del medicamento"),
|
||||
CONSTRAINT FK_MED_PAT FOREIGN KEY ("Medication ID") REFERENCES "Medication" ("Medication ID"),
|
||||
CONSTRAINT FK_PAT_MED FOREIGN KEY ("ID del paciente") REFERENCES "Paciente" ("Número de ID"),
|
||||
CONSTRAINT CK_END_DT CHECK( "Fecha de finalización" >= "Fecha de inicio" )
|
||||
);
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue