[Php-avanzado] Tablas Clasificados Miramar !!! (por fin)
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Nov 23 00:35:24 ARST 2009
Hola Ezequiel!
El dom, 22-11-2009 a las 22:43 -0300, Ezequiel Mujica escribió:
> Leo,
>
> Te paso las tablas de mi tesis según las últimas correcciones que me
> habias hecho, a ver si esta vez puedo empezar a codificar que no me
> queda mucho tiempo :S
Ahora te agarró el apuro ???
Voy a ver si tengo ganas de verla ;-)
> Hasta que fecha tenemos tiempo de presentar la tesis?
Las cursadas terminan el miércoles 23 de Diciembre del 2009.
Esa es la fecha límite.
Igual, ya podés tener escritas las páginas, el layout, los formularios
las sesiones y un montón de funciones que no dependen de las tablas,
verdad?
Copio y pego la estructura para comentarla:
--
-- Estructura de tabla para la tabla `aviso`
--
DROP TABLE IF EXISTS `aviso`;
CREATE TABLE IF NOT EXISTS `aviso` (
`idaviso` int(10) unsigned NOT NULL AUTO_INCREMENT,
`usuario_idusuario` int(10) unsigned NOT NULL,
`rubro_idrubro` int(10) unsigned NOT NULL,
`moneda_idmoneda` int(10) unsigned NOT NULL,
`estado_aviso_idestado_aviso` int(10) unsigned NOT NULL,
`titulo` varchar(50) NOT NULL,
`detalle` text NOT NULL,
`precio` float DEFAULT NULL,
`stock` int(10) unsigned DEFAULT NULL,
`alta` date DEFAULT NULL,
`baja` date DEFAULT NULL,
`visitas` int(10) unsigned DEFAULT '0',
`habilitado` tinyint(1) DEFAULT NULL,
`destacados` int(10) unsigned zerofill DEFAULT '0000000000',
`prioridad` smallint(5) unsigned DEFAULT NULL,
PRIMARY KEY (`idaviso`),
KEY `aviso_FKIndex1` (`estado_aviso_idestado_aviso`),
KEY `aviso_FKIndex2` (`moneda_idmoneda`),
KEY `aviso_FKIndex3` (`rubro_idrubro`),
KEY `aviso_FKIndex4` (`usuario_idusuario`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
Para qué el aviso tiene fecha de alta y fecha de baja???
Según el punto 5 de tu SRS, con la fecha de alta es suficiente, porque
después podés calcular la otra.
No hay que guardar lo que se puede calcular!!!
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `empresas`
--
DROP TABLE IF EXISTS `empresas`;
CREATE TABLE IF NOT EXISTS `empresas` (
`idempresa` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(100) NOT NULL,
`domicilio` varchar(100) DEFAULT NULL,
`email` varchar(80) DEFAULT NULL,
`telefono` varchar(50) DEFAULT NULL,
`celular` varchar(50) DEFAULT NULL,
PRIMARY KEY (`idempresa`),
UNIQUE KEY `nombre` (`nombre`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `empresas`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `estado_aviso`
--
DROP TABLE IF EXISTS `estado_aviso`;
CREATE TABLE IF NOT EXISTS `estado_aviso` (
`idestado_aviso` int(10) unsigned NOT NULL AUTO_INCREMENT,
`estado` varchar(10) DEFAULT NULL,
PRIMARY KEY (`idestado_aviso`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `estado_aviso`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `fotos`
--
DROP TABLE IF EXISTS `fotos`;
CREATE TABLE IF NOT EXISTS `fotos` (
`idfoto` int(10) unsigned NOT NULL AUTO_INCREMENT,
`aviso_idaviso` int(10) unsigned NOT NULL,
`path` varchar(100) DEFAULT NULL,
PRIMARY KEY (`idfoto`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `fotos`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `localidad`
--
DROP TABLE IF EXISTS `localidad`;
CREATE TABLE IF NOT EXISTS `localidad` (
`idlocalidad` int(10) unsigned NOT NULL AUTO_INCREMENT,
`provincia_idprovincia` int(10) unsigned NOT NULL,
`nombre` varchar(80) DEFAULT NULL,
`codpostal` varchar(10) DEFAULT NULL,
PRIMARY KEY (`idlocalidad`),
UNIQUE KEY `codpostal` (`codpostal`),
KEY `localidad_FKIndex1` (`provincia_idprovincia`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `localidad`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `moneda`
--
DROP TABLE IF EXISTS `moneda`;
CREATE TABLE IF NOT EXISTS `moneda` (
`idmoneda` int(10) unsigned NOT NULL AUTO_INCREMENT,
`moneda` varchar(30) DEFAULT NULL,
PRIMARY KEY (`idmoneda`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `moneda`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `nivelacceso`
--
DROP TABLE IF EXISTS `nivelacceso`;
CREATE TABLE IF NOT EXISTS `nivelacceso` (
`idnivelacceso` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nivel` char(1) DEFAULT NULL,
PRIMARY KEY (`idnivelacceso`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `nivelacceso`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `provincia`
--
DROP TABLE IF EXISTS `provincia`;
CREATE TABLE IF NOT EXISTS `provincia` (
`idprovincia` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nombre` varchar(100) DEFAULT NULL,
PRIMARY KEY (`idprovincia`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `provincia`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `publicidad`
--
DROP TABLE IF EXISTS `publicidad`;
CREATE TABLE IF NOT EXISTS `publicidad` (
`idpublicidad` int(10) unsigned NOT NULL AUTO_INCREMENT,
`empresas_idempresa` int(11) NOT NULL,
`rubro_idrubro` int(10) unsigned NOT NULL,
`tipos_publicidad_idtipos_publicidad` int(10) unsigned NOT NULL,
`nombre` varchar(100) DEFAULT NULL,
`largo` int(11) DEFAULT NULL,
`ancho` int(11) DEFAULT NULL,
`url` varchar(100) DEFAULT NULL,
`path` varchar(100) DEFAULT NULL,
`ubicacion` varchar(30) DEFAULT NULL,
`impresiones` int(10) unsigned DEFAULT NULL,
`clics` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`idpublicidad`),
KEY `publicidad_FKIndex1` (`tipos_publicidad_idtipos_publicidad`),
KEY `publicidad_FKIndex2` (`rubro_idrubro`),
KEY `publicidad_FKIndex3` (`empresas_idempresa`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `publicidad`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `rubro`
--
DROP TABLE IF EXISTS `rubro`;
CREATE TABLE IF NOT EXISTS `rubro` (
`idrubro` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nombre` varchar(80) DEFAULT NULL,
`destacado` char(1) DEFAULT NULL,
`imagen` varchar(150) DEFAULT NULL,
PRIMARY KEY (`idrubro`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `rubro`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `tipos_publicidad`
--
DROP TABLE IF EXISTS `tipos_publicidad`;
CREATE TABLE IF NOT EXISTS `tipos_publicidad` (
`idtipos_publicidad` int(10) unsigned NOT NULL AUTO_INCREMENT,
`tipo` varchar(150) DEFAULT NULL,
PRIMARY KEY (`idtipos_publicidad`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `tipos_publicidad`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `usuario`
--
DROP TABLE IF EXISTS `usuario`;
CREATE TABLE IF NOT EXISTS `usuario` (
`idusuario` int(10) unsigned NOT NULL AUTO_INCREMENT,
`localidad_idlocalidad` int(10) unsigned NOT NULL,
`nombre` varchar(100) NOT NULL,
`apellido` varchar(100) NOT NULL,
`fecha_nac` date DEFAULT NULL,
`login` varchar(25) NOT NULL,
`email` varchar(100) NOT NULL,
`pass` varchar(25) NOT NULL,
`habilitado` tinyint(1) NOT NULL,
`domicilio` varchar(30) DEFAULT NULL,
`telefono` varchar(25) DEFAULT NULL,
`celular` varchar(25) DEFAULT NULL,
PRIMARY KEY (`idusuario`),
UNIQUE KEY `login` (`login`),
KEY `usuario_FKIndex1` (`localidad_idlocalidad`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `usuario`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `usuarios_root`
--
DROP TABLE IF EXISTS `usuarios_root`;
CREATE TABLE IF NOT EXISTS `usuarios_root` (
`idusuarios_root` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nivelacceso_idnivelacceso` int(10) unsigned NOT NULL,
`nombre` varchar(100) DEFAULT NULL,
`apellido` varchar(100) DEFAULT NULL,
`login` varchar(30) DEFAULT NULL,
`pass` varchar(30) DEFAULT NULL,
`email` varchar(100) DEFAULT NULL,
`habilitado` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`idusuarios_root`),
KEY `usuarios_root_FKIndex1` (`nivelacceso_idnivelacceso`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `usuarios_root`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `xxx`
--
DROP TABLE IF EXISTS `xxx`;
CREATE TABLE IF NOT EXISTS `xxx` (
`idxxx` int(11) NOT NULL,
`palabra` varchar(200) DEFAULT NULL,
PRIMARY KEY (`idxxx`)
) TYPE=InnoDB;
--
-- Volcar la base de datos para la tabla `xxx`
--
[Borré las restricciones porque no tiene sentido para la normalización]
El resto, salvo las fechas del Aviso, ahora que corregiste como se
guardan las imágenes, se ve bien.
Reenviala con eso corregido y a laburar!!!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado