
11/11/2009, 00:49
|
 | | | Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 18 años Puntos: 20 | |
Podés darme vuestra opinión sobre este diseño? Buenos días,
Me gustaría contar con vuestra experiencia en diseños de bbdd 
Estoy diseñando un bbdd para la siguiente función y no se si voy bien encaminado.
Tengo 3 tablas (inscripciones, seminarios, pagos_tpv) y una que relaciona las tres inscripcion_seminarios_pagos Idea: El usuario rellena un formulario de inscripción donde se puede apuntar a varios seminarios a la vez, a través de ese formulario se realiza un pago, los datos del pago los recibe otro script.
¿Creéis que el diseño es correcto? tengo mis dudas con la tabla inscripcion_seminarios_pagos
Muchísimas gracias de antemano! Diseño:
Código:
-- Datos de las personas inscritas --
CREATE TABLE inscripciones (
idInscripcion int NOT NULL auto_increment,
nombre varchar(40) NOT NULL,
apellidos varchar(40) NOT NULL,
fnacimiento date,
dni varchar(20),
direccion varchar(90) NOT NULL,
poblacion varchar(40) NOT NULL,
cpostal varchar(10) NOT NULL,
provincia varchar(20) NOT NULL,
tel_particular varchar(10) NOT NULL,
mov_particular varchar(10) NOT NULL,
ema_particular varchar(50) NOT NULL,
tel_profesional varchar(10),
mov_profesional varchar(10),
ema_profesional varchar(50),
fax varchar(15),
nos_conocio varchar(150) NOT NULL,
pref_tel_particular char(1) default '0',
pref_tel_profesional char(1) default '0',
pref_ema_particular char(1) default '0',
pref_ema_profesional char(1) default '0',
idioma varchar(2) default 'es',
PRIMARY KEY(idInscripcion)
);
-- Tabla relacion inscripciones, seminarios y pagos--
CREATE TABLE inscripcion_seminarios_pagos (
idInscripcion int NOT NULL,
idSeminario int NOT NULL,
idPago int NOT NULL,
PRIMARY KEY(idInscripcion,idSeminario,idPago)
);
-- Diferentes tipos de seminarios --
CREATE TABLE seminarios (
idSeminario int NOT NULL auto_increment,
nombre varchar(30) NOT NULL,
fecha timestamp,
PRIMARY KEY(idSeminario)
);
-- Pagos del TPV --
CREATE TABLE pagos_tpv (
idPago int NOT NULL auto_increment,
Ds_Date date NOT NULL,
Ds_Hour time NOT NULL,
Ds_SecurePayment TINYINT NOT NULL,
Ds_Card_Country SMALLINT,
Ds_Amount decimal(7,2) NOT NULL,
Ds_Currency SMALLINT NOT NULL,
Ds_Order varchar(12) NOT NULL,
Ds_MerchantCode int(9) NOT NULL,
Ds_Terminal SMALLINT NOT NULL,
Ds_Signature varchar(40) NOT NULL,
Ds_Response SMALLINT,
Ds_MerchantData TEXT,
Ds_TransactionType varchar(1) NOT NULL,
Ds_ConsumerLanguage SMALLINT NOT NULL,
Ds_ErrorCode varchar(7),
Ds_AuthorisationCode varchar(6),
PRIMARY KEY(idPago)
);
|