Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
-- Diana Canaviri Chura 13796944 -- Crear tabla de pacientes CREATE TABLE DCCH_PACIENTES ( ID_PACIENTE NUMBER PRIMARY KEY, NOMBRES VARCHAR2(50) NOT NULL, APELLIDOS VARCHAR2(50) NOT NULL, FECHA_NACIMIENTO DATE NOT NULL, GENERO CHAR(1) CHECK (GENERO IN ('M', 'F')), TELEFONO VARCHAR2(15) ); -- Crear tabla de doctores CREATE TABLE DCCH_DOCTORES ( ID_DOCTOR NUMBER PRIMARY KEY, NOMBRES VARCHAR2(50) NOT NULL, APELLIDOS VARCHAR2(50) NOT NULL, ESPECIALIDAD VARCHAR2(50) NOT NULL, ANIOS_EXPERIENCIA NUMBER CHECK(ANIOS_EXPERIENCIA >= 0) ); -- Crear tabla de citas CREATE TABLE DCCH_CITAS ( ID_CITA NUMBER PRIMARY KEY, FECHA_CITA DATE NOT NULL, HORA_CITA VARCHAR2(5) NOT NULL, ID_PACIENTE NUMBER NOT NULL, ID_DOCTOR NUMBER NOT NULL, MOTIVO VARCHAR2(100) NOT NULL, ESTADO VARCHAR2(20) CHECK (ESTADO IN ('COMPLETADA', 'PENDIENTE', 'CANCELADA')), CONSTRAINT FK_CITAS_PACIENTES FOREIGN KEY (ID_PACIENTE) REFERENCES DCCH_PACIENTES(ID_PACIENTE), CONSTRAINT FK_CITAS_DOCTOR FOREIGN KEY (ID_DOCTOR) REFERENCES DCCH_DOCTORES(ID_DOCTOR) ); -- Crear secuencias CREATE SEQUENCE SEQ_DCCH_ID_PACIENTE START WITH 2001 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE SEQ_DCCH_ID_DOCTOR START WITH 501 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE SEQ_DCCH_ID_CITA START WITH 501 INCREMENT BY 1 NOCACHE NOCYCLE; -- Insertar pacientes INSERT INTO DCCH_PACIENTES(ID_PACIENTE, NOMBRES, APELLIDOS, FECHA_NACIMIENTO, GENERO, TELEFONO) VALUES (SEQ_DCCH_ID_PACIENTE.NEXTVAL, 'CARLOS', 'GUTIERREZ', TO_DATE('10/01/1999','DD/MM/YYYY'), 'M', '5551001'); INSERT INTO DCCH_PACIENTES(ID_PACIENTE, NOMBRES, APELLIDOS, FECHA_NACIMIENTO, GENERO, TELEFONO) VALUES (SEQ_DCCH_ID_PACIENTE.NEXTVAL, 'MARIA', 'LOPEZ', TO_DATE('10/11/1988','DD/MM/YYYY'), 'F', '5551002'); INSERT INTO DCCH_PACIENTES(ID_PACIENTE, NOMBRES, APELLIDOS, FECHA_NACIMIENTO, GENERO, TELEFONO) VALUES (SEQ_DCCH_ID_PACIENTE.NEXTVAL, 'SOFIA', 'HERNANDEZ', TO_DATE('10/11/1978','DD/MM/YYYY'), 'F', '5551003'); -- Insertar doctores INSERT INTO DCCH_DOCTORES(ID_DOCTOR, NOMBRES, APELLIDOS, ESPECIALIDAD, ANIOS_EXPERIENCIA) VALUES (SEQ_DCCH_ID_DOCTOR.NEXTVAL, 'JUAN', 'PEREZ', 'CARDIOLOGIA', 13); INSERT INTO DCCH_DOCTORES(ID_DOCTOR, NOMBRES, APELLIDOS, ESPECIALIDAD, ANIOS_EXPERIENCIA) VALUES (SEQ_DCCH_ID_DOCTOR.NEXTVAL, 'ANA', 'LOPEZ', 'PEDIATRIA', 8); INSERT INTO DCCH_DOCTORES(ID_DOCTOR, NOMBRES, APELLIDOS, ESPECIALIDAD, ANIOS_EXPERIENCIA) VALUES (SEQ_DCCH_ID_DOCTOR.NEXTVAL, 'LUIS', 'GARCIA', 'TRAUMATOLOGIA', 15); -- Insertar citas (CORREGIDO: usando IDs existentes) INSERT INTO DCCH_CITAS(ID_CITA, FECHA_CITA, HORA_CITA, ID_PACIENTE, ID_DOCTOR, MOTIVO, ESTADO) VALUES (SEQ_DCCH_ID_CITA.NEXTVAL, TO_DATE('15/05/2023', 'DD/MM/YYYY'), '09:00', 2001, 501, 'DOLOR DE PECHO', 'COMPLETADA'); INSERT INTO DCCH_CITAS(ID_CITA, FECHA_CITA, HORA_CITA, ID_PACIENTE, ID_DOCTOR, MOTIVO, ESTADO) VALUES (SEQ_DCCH_ID_CITA.NEXTVAL, TO_DATE('16/05/2023', 'DD/MM/YYYY'), '10:30', 2002, 502, 'CONTROL RUTINARIO', 'PENDIENTE'); INSERT INTO DCCH_CITAS(ID_CITA, FECHA_CITA, HORA_CITA, ID_PACIENTE, ID_DOCTOR, MOTIVO, ESTADO) VALUES (SEQ_DCCH_ID_CITA.NEXTVAL, TO_DATE('17/05/2023', 'DD/MM/YYYY'), '14:00', 2003, 503, 'DOLOR DE RODILLA', 'CANCELADA'); -- Consultas SELECT * FROM DCCH_PACIENTES; SELECT * FROM DCCH_DOCTORES; SELECT * FROM DCCH_CITAS; -- CREACIƓN DE ƍNDICES -- ƍndice para la columna ESPECIALIDAD en la tabla ALA_DOCTORES CREATE INDEX IDX_DCCH_ESPECIALIDAD ON DCCH_DOCTORES (ESPECIALIDAD); -- ƍndice compuesto para APELLIDOS y NOMBRES en la tabla ALA_PACIENTES CREATE INDEX IDX_DCCH_NOMBRES ON DCCH_PACIENTES(APELLIDOS, NOMBRES); -- ƍndice para FECHA_CITA en la tabla ALA_CITAS CREATE INDEX IDX_DCCH_CITAS ON DCCH_CITAS(FECHA_CITA); -- CREACIƓN DE VISTAS -- CREACIƓN DE VISTA PARA CITAS PENDIENTES CREATE OR REPLACE VIEW VW_CITAS_PENDIENTES AS SELECT C.ID_CITA, P.NOMBRES AS NOMBRE_PACIENTE, P.APELLIDOS AS APELLIDO_PACIENTE, D.NOMBRES AS NOMBRE_DOCTOR, D.APELLIDOS AS APELLIDO_DOCTOR, D.ESPECIALIDAD, C.FECHA_CITA, C.HORA_CITA, C.MOTIVO, C.ESTADO FROM DCCH_CITAS C JOIN DCCH_PACIENTES P ON C.ID_PACIENTE = P.ID_PACIENTE JOIN DCCH_DOCTORES D ON C.ID_DOCTOR = D.ID_DOCTOR WHERE C.ESTADO = 'PENDIENTE'; -- CREACIƓN DE VISTA PARA CITAS PENDIENTES CREATE OR REPLACE VIEW VISTA_CITAS_PENDIENTES AS SELECT C.ID_CITA, P.NOMBRES AS "NOMBRE PACIENTE", P.APELLIDOS AS "APELLIDO PACIENTE", D.NOMBRES AS "NOMBRE DOCTOR", D.APELLIDOS AS "APELLIDO DOCTOR",C.FECHA_CITA, C.HORA_CITA, C.MOTIVO, C.ESTADO FROM DCCH_CITAS C JOIN DCCH_PACIENTES P ON C.ID_PACIENTE = P.ID_PACIENTE JOIN DCCH_DOCTORES D ON C.ID_DOCTOR = D.ID_DOCTOR WHERE C.ESTADO = 'PENDIENTE'; -- CREACIƓN DE VISTA PARA DOCTORES CON EXPERIENCIA CREATE OR REPLACE VIEW VISTA_DOCTORES_EXPERIENCIA AS SELECT ID_DOCTOR, NOMBRES, APELLIDOS, ESPECIALIDAD, ANIOS_EXPERIENCIA FROM DCCH_DOCTORES WHERE ANIOS_EXPERIENCIA > 10; -- Mostrar estructura de DCCH_PACIENTES SELECT column_name, data_type, data_length, nullable FROM user_tab_columns WHERE table_name = 'DCCH_PACIENTES'; -- Mostrar estructura de DCCH_DOCTORES SELECT column_name, data_type, data_length, nullable FROM user_tab_columns WHERE table_name = 'DCCH_DOCTORES'; -- Mostrar estructura de DCCH_CITAS SELECT column_name, data_type, data_length, nullable FROM user_tab_columns WHERE table_name = 'DCCH_CITAS'; DESCRIBE DCCH_PACIENTES; DESCRIBE DCCH_DOCTORES; DESCRIBE DCCH_CITAS;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear