[Consol] Esquema de la BD de registro del CONSOL 2003
Ing. Roberto Andrade Fonseca
randrade at abl.com.mx
Tue Oct 29 17:10:58 CST 2002
Hola:
Por favor revisen (sobre todos Gunnar) el esquema propuesto:
------------------------------------------------------------------
-- CONGRESO NACIONAL DE SOFTWARE LIBRE 2003 --
------------------------------------------------------------------
-- Esquema de la base de datos de Congreso Nacional de Software Libre 2003
-- Autor: Roberto Andrade Fonseca
-- Fecha inicio: mar oct 29 17:35:10 CST 2002
--
------------------------------------------------------------------
------------------------------------------------------------------
-- La base de datos se denominará consol_03
------------------------------------------------------------------
\connect template1
DROP DATABASE consol_03;
CREATE DATABASE consol_03;
\connect consol_03
------------------------------------------------------------------
-- Catálogo de títulos o tratamientos de los asistentes
-- Sr., Sra., Ing., Estudiante, etc.
------------------------------------------------------------------
CREATE TABLE titulo (
id_titulo SERIAL,
descripcion varchar NOT NULL,
PRIMARY KEY (id_titulo)
);
------------------------------------------------------------------
-- Catálogo de los estado de México
------------------------------------------------------------------
CREATE TABLE estado (
id_estado char(2),
descripcion varchar,
PRIMARY KEY (id_estado)
);
------------------------------------------------------------------
-- Tabla para guardar los datos de la empresa o institución
-- Útil para facturas y notas
------------------------------------------------------------------
CREATE TABLE inst_empresa (
id_inst_empresa SERIAL,
nombre varchar,
direccion varchar,
colonia varchar,
ciudad_municipio varchar,
cp varchar(5),
id_estado char(2) REFERENCES estado,
telefono varchar(30),
fax varchar(30),
RFC varchar(13),
PRIMARY KEY (id_inst_empresa)
);
------------------------------------------------------------------
-- Catálogo de las formas de presentación
-- 1: Conferencia
-- 2: Foro informal (BOF)
-- 3: Tutorial
------------------------------------------------------------------
CREATE TABLE forma_presentacion (
id_forma_presentacion SERIAL,
descripcion varchar NOT NULL,
PRIMARY KEY (id_forma_presentacion)
);
------------------------------------------------------------------
-- Tabla con los datos de las personas: ponentes, coautores, asistentes
-- Si van ligados a una ponencia, en la tabla ponencias, se trata del autor principal
-- y es quien va a exponer.
-- Si se liga a una ponencia a través de coautor, ¿qué creen?: es coautor.
-- else {es asistente a secas}
------------------------------------------------------------------
CREATE TABLE persona (
id_persona SERIAL,
nombre varchar NOT NULL,
apellidos varchar NOT NULL,
direccion varchar,
colonia varchar,
ciudad_municipio varchar,
cp varchar(5),
id_estado char(2) REFERENCES estado,
telefono varchar(30),
fax varchar(30),
email varchar,
id_titulo int REFERENCES titulo,
id_inst_empresa int REFERENCES inst_empresa,
PRIMARY KEY (id_persona)
);
------------------------------------------------------------------
-- Catálogo de la situación de la ponencia
-- 1: Recibida
-- 2: Aceptada
-- 3: Rechazada
-- 4: Baja (Cancelada)
------------------------------------------------------------------
CREATE TABLE sit_ponencia (
id_sit_ponencia SERIAL,
descripcion varchar,
PRIMARY KEY (id_sit_ponencia)
);
------------------------------------------------------------------
-- Tabla de las ponencias
------------------------------------------------------------------
CREATE TABLE ponencia (
id_ponencia SERIAL,
id_ponente int REFERENCES persona,
titulo varchar NOT NULL,
id_forma_presentacion int REFERENCES forma_presentacion,
id_sit_ponencia int DEFAULT 1 REFERENCES sit_ponencia,
-- Para la programación de las ponencias
fecha_presentacion date,
hora_presentacion time,
palabra_clave_1 varchar(20),
palabra_clave_2 varchar(20),
palabra_clave_3 varchar(20),
-- Nombre del archivo con el resumen
nom_archivo varchar,
fecha_recepcion timestamp DEFAULT now(),
PRIMARY KEY (id_ponencia)
);
------------------------------------------------------------------
-- Tabla de los coautores
-- Los coautores se anexan o adhieren a una ponencia ya capturada.
------------------------------------------------------------------
CREATE TABLE coautor (
id_ponencia int REFERENCES ponencia,
id_persona int REFERENCES persona,
PRIMARY KEY (id_ponencia, id_persona)
);
Saludos,
Roberto Andrade Fonseca
randrade at abl.com.mx
_______________________________________________
CONSOL mailing list
CONSOL at consol.org.mx
http://tlali.iztacala.unam.mx/mailman/listinfo/consol
Politicas de las listas: http://tlali.iztacala.unam.mx/politicas/#listas
More information about the Consol
mailing list