SQL Database Schema for Conference Attendance
Classified in Arts and Humanities
Written on in
English with a size of 3 KB
Creación de la Tabla Participantes
DROP TABLE PARTICIPANTES CASCADE CONSTRAINTS;
CREATE TABLE PARTICIPANTES(
CODIGO CHAR(5) NOT NULL,
NOMBRE VARCHAR2(25) NOT NULL,
APELLIDOS VARCHAR2(100) NOT NULL,
DIRECCION VARCHAR2(255),
TELEFONO VARCHAR2(15) UNIQUE,
CONSTRAINT PK_PARTICIPANTES PRIMARY KEY (CODIGO),
CONSTRAINT MAY_NOM_PAR CHECK (NOMBRE = UPPER(NOMBRE)),
CONSTRAINT MAY_APE_PAR CHECK (APELLIDOS = UPPER(APELLIDOS)),
CONSTRAINT TEL_PAR CHECK (TELEFONO LIKE '+0034%'),
CONSTRAINT COD_PAR CHECK (CODIGO LIKE 'P%')
);Inserción de Datos en Participantes
INSERT INTO PARTICIPANTES VALUES ('P_001', 'MARÍA', 'LÓPEZ PÉREZ', NULL, '+00344455');
-- Otra forma de inserción
INSERT INTO PARTICIPANTES (CODIGO, NOMBRE, APELLIDOS, TELEFONO)
VALUES ('P_001', 'MARÍA', 'LÓPEZ PÉREZ', '+00344455');
INSERT INTO PARTICIPANTES VALUES ('P_002', 'JOSÉ', 'FERNÁNDEZ GIL', 'Calle del Valle', NULL);
INSERT INTO PARTICIPANTES VALUES ('P_003', 'ROBERTO', 'GARCÍA TORRES', 'Paseo de Recoletos', '+00348888');
INSERT INTO PARTICIPANTES VALUES ('P_004', 'ANA', 'RODRÍGUEZ PLA', 'Calle de la Luz', '+00345555');
COMMIT;Creación de la Tabla Conferencias
DROP TABLE CONFERENCIAS CASCADE CONSTRAINTS;
CREATE TABLE CONFERENCIAS(
CODIGO CHAR(4) NOT NULL,
NOMBRE VARCHAR2(10) UNIQUE NOT NULL,
TIPO VARCHAR2(10) NOT NULL,
CONSTRAINT PK_CONFERENCIAS PRIMARY KEY (CODIGO),
CONSTRAINT TIT_NOMBRE CHECK (NOMBRE = INITCAP(NOMBRE)),
CONSTRAINT TIPO CHECK (TIPO IN ('Simple', 'Entrevista')),
CONSTRAINT COD_CONF CHECK (CODIGO LIKE 'C%')
);Inserción de Datos en Conferencias
INSERT INTO CONFERENCIAS VALUES ('C_01', 'Cisco', 'Simple');
INSERT INTO CONFERENCIAS VALUES ('C_02', 'Oracle', 'Entrevista');
INSERT INTO CONFERENCIAS VALUES ('C_03', 'Linux', 'Simple');
INSERT INTO CONFERENCIAS VALUES ('C_04', 'Ms Office', 'Entrevista');
COMMIT;Creación de la Tabla Asisten
DROP TABLE ASISTEN CASCADE CONSTRAINTS;
CREATE TABLE ASISTEN(
COD_PARTICIPANTE CHAR(5) NOT NULL,
COD_CONFERENCIA CHAR(4) NOT NULL,
FECHA DATE DEFAULT SYSDATE NOT NULL,
HORAS NUMBER(2),
CONSTRAINT PK_ASISTEN PRIMARY KEY (COD_PARTICIPANTE, COD_CONFERENCIA, FECHA),
CONSTRAINT FK_ASISTEN_PAR FOREIGN KEY (COD_PARTICIPANTE) REFERENCES PARTICIPANTES (CODIGO),
CONSTRAINT FK_ASISTEN_CON FOREIGN KEY (COD_CONFERENCIA) REFERENCES CONFERENCIAS (CODIGO) ON DELETE CASCADE,
CONSTRAINT VALOR_HORA CHECK (HORAS BETWEEN 1 AND 10)
);Inserción de Datos en Asisten
ALTER SESSION SET NLS_DATE_FORMAT = 'dd-mm-yyyy';
INSERT INTO ASISTEN VALUES ('P_001', 'C_02', '12-10-2013', 3);
INSERT INTO ASISTEN VALUES ('P_001', 'C_03', '01-03-2014', 10);
INSERT INTO ASISTEN VALUES ('P_002', 'C_01', '23-10-2013', 4);
INSERT INTO ASISTEN VALUES ('P_002', 'C_02', '17-03-2014', 2);
INSERT INTO ASISTEN (COD_CONFERENCIA, COD_PARTICIPANTE) VALUES ('C_02', 'P_001');