[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