[Php-avanzado] Estructura de base de datos de SALI+
Silverzero
silverzero.52 en gmail.com
Dom Ago 30 20:37:56 ART 2009
Hola Leo,
En las tablas eventos_status, actividades_status y lugares_status, los 3
estados posibles son activo, inactivo, destacado...Creo que es mejor que
estén ahi juntos en vez de hacer una tabla con destacado: Si-No.
Ya que está agregué las tablas Provincias y Localidades, así ya quedan.
Tengo una duda que se me presentó a último momento, a ver si me podés
aconsejar qué sería lo más conveniente. Todas los "eventos" y "actividades"
suceden en "lugares", por lo que cuando un visitante publica, a la hora de
decir en dónde es puede elegir de un menú desplegable entre los que ya
fueron previamente cargados, o puede agregarlo si es que no existe.
Ahora el tema es que, tal vez ese visitante no le interese completar TODOS
los datos, porque no tiene ganas o porque no tiene toda la información
correspondiente, por lo que ese "lugar" va a quedar guardado con su cuenta.
Entonces, si al día siguiente el dueño del lugar, o alguien que sí tiene
información más completa del mismo quiere publicar, no va a poder porque el
sistema le va a decir que ya existe, y si evito eso va a haber lugares
repetidos, por más que alguno tenga más o menos datos...
Así mismo, noté que este problema se puede presentar con los eventos y
actividades, ya que si la información es subida por una persona que sólo
publica por el hecho que le gusta el evento, pero no forma parte de la
organización del mismo, después no va a ser editable por el real responsable
que quiera promocionarlo de mejor manera, y ahi van a querer intervención
del administrador para poder modificarlo, y va a ser molesto.
Con lo cual se me ocurrió una opción comunitaria (con sub-opción
capitalista): Que cualquier publicación pueda ser editada por cualquier
visitante, a lo wikipedia style. Y si el propietario del lugar, o el real
organizador de un evento o actividad no quiere que nadie lo edite más, que
se ponga con un destacado.
¿Qué opinás?
A continuación te transcribo la estructura de la DB.
Muchas gracias.
Saludos!
-- phpMyAdmin SQL Dump
-- version 2.11.9.5
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 30-08-2009 a las 20:36:09
-- Versión del servidor: 5.0.81
-- Versión de PHP: 5.2.9
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `salimas_sitio`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `actividades`
--
CREATE TABLE IF NOT EXISTS `actividades` (
`id` int(11) NOT NULL auto_increment,
`fecha` date NOT NULL,
`titulo` varchar(50) collate utf8_unicode_ci NOT NULL,
`direccion` varchar(50) collate utf8_unicode_ci NOT NULL,
`telefono` varchar(50) collate utf8_unicode_ci NOT NULL,
`horario` varchar(50) collate utf8_unicode_ci NOT NULL,
`descripcion` varchar(50) collate utf8_unicode_ci NOT NULL,
`imagen` varchar(50) collate utf8_unicode_ci NOT NULL,
`url` varchar(50) collate utf8_unicode_ci NOT NULL,
`id_visitante` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `actividades_cat`
--
CREATE TABLE IF NOT EXISTS `actividades_cat` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `actividades_status`
--
CREATE TABLE IF NOT EXISTS `actividades_status` (
`id` int(11) NOT NULL auto_increment,
`id_actividad` int(11) NOT NULL,
`stat` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `actividades_subcat`
--
CREATE TABLE IF NOT EXISTS `actividades_subcat` (
`id` int(11) NOT NULL auto_increment,
`id_actividad_cat` int(11) NOT NULL,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `admins`
--
CREATE TABLE IF NOT EXISTS `admins` (
`id` int(11) NOT NULL auto_increment,
`nombres` varchar(50) collate utf8_unicode_ci NOT NULL,
`apellidos` varchar(50) collate utf8_unicode_ci NOT NULL,
`domicilio` varchar(50) collate utf8_unicode_ci NOT NULL,
`telefonos` varchar(50) collate utf8_unicode_ci NOT NULL,
`email` varchar(50) collate utf8_unicode_ci NOT NULL,
`pass` varchar(50) collate utf8_unicode_ci NOT NULL,
`id_ciudad` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `diccionario`
--
CREATE TABLE IF NOT EXISTS `diccionario` (
`id` int(11) NOT NULL auto_increment,
`frase` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `eventos`
--
CREATE TABLE IF NOT EXISTS `eventos` (
`id` int(11) NOT NULL auto_increment,
`fecha` date NOT NULL,
`desde` date NOT NULL,
`hasta` date NOT NULL,
`horario` varchar(50) collate utf8_unicode_ci NOT NULL,
`titulo` varchar(50) collate utf8_unicode_ci NOT NULL,
`descripcion` text collate utf8_unicode_ci NOT NULL,
`imagen` varchar(50) collate utf8_unicode_ci NOT NULL,
`url` varchar(100) collate utf8_unicode_ci NOT NULL,
`precio` float NOT NULL,
`id_visitante` int(11) NOT NULL,
`id_lugar` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `eventos_cat`
--
CREATE TABLE IF NOT EXISTS `eventos_cat` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `eventos_status`
--
CREATE TABLE IF NOT EXISTS `eventos_status` (
`id` int(11) NOT NULL auto_increment,
`id_evento` int(11) NOT NULL,
`stat` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `eventos_subcat`
--
CREATE TABLE IF NOT EXISTS `eventos_subcat` (
`id` int(11) NOT NULL auto_increment,
`id_evento_cat` int(11) NOT NULL,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `localidades`
--
CREATE TABLE IF NOT EXISTS `localidades` (
`cod_loc` int(4) NOT NULL auto_increment,
`cod_prov` int(2) NOT NULL,
`desc` varchar(31) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`cod_loc`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=2383 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `lugares`
--
CREATE TABLE IF NOT EXISTS `lugares` (
`id` int(11) NOT NULL auto_increment,
`fecha` date NOT NULL,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
`direccion` varchar(50) collate utf8_unicode_ci NOT NULL,
`telefono` varchar(50) collate utf8_unicode_ci NOT NULL,
`horario` varchar(50) collate utf8_unicode_ci NOT NULL,
`descripcion` text collate utf8_unicode_ci NOT NULL,
`imagen` varchar(50) collate utf8_unicode_ci NOT NULL,
`url` varchar(50) collate utf8_unicode_ci NOT NULL,
`id_visitante` int(11) NOT NULL,
`cod_loc` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `lugares_cat`
--
CREATE TABLE IF NOT EXISTS `lugares_cat` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `lugares_status`
--
CREATE TABLE IF NOT EXISTS `lugares_status` (
`id` int(11) NOT NULL auto_increment,
`id_lugar` int(11) NOT NULL,
`stat` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `lugares_subcat`
--
CREATE TABLE IF NOT EXISTS `lugares_subcat` (
`id` int(11) NOT NULL auto_increment,
`id_lugar_cat` int(11) NOT NULL,
`nombre` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `provincias`
--
CREATE TABLE IF NOT EXISTS `provincias` (
`cod_prov` int(2) NOT NULL,
`desc` varchar(30) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`cod_prov`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `visitantes`
--
CREATE TABLE IF NOT EXISTS `visitantes` (
`id` int(11) NOT NULL,
`fecha` date NOT NULL,
`nombres` varchar(50) collate utf8_unicode_ci NOT NULL,
`apellidos` varchar(50) collate utf8_unicode_ci NOT NULL,
`alias` varchar(50) collate utf8_unicode_ci NOT NULL,
`email` varchar(50) collate utf8_unicode_ci NOT NULL,
`pass` varchar(50) collate utf8_unicode_ci NOT NULL,
`avatar` varchar(50) collate utf8_unicode_ci NOT NULL,
`about` text collate utf8_unicode_ci NOT NULL,
`intereses` text collate utf8_unicode_ci NOT NULL,
`url` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `votos_actividades`
--
CREATE TABLE IF NOT EXISTS `votos_actividades` (
`id` int(11) NOT NULL auto_increment,
`cantidad` int(11) NOT NULL,
`id_actividad` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `votos_eventos`
--
CREATE TABLE IF NOT EXISTS `votos_eventos` (
`id` int(11) NOT NULL auto_increment,
`cantidad` int(11) NOT NULL,
`id_evento` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `votos_lugares`
--
CREATE TABLE IF NOT EXISTS `votos_lugares` (
`id` int(11) NOT NULL auto_increment,
`cantidad` int(11) NOT NULL,
`id_lugar` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=1 ;
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20090830/ffddd0b9/attachment-0001.htm
Más información sobre la lista de distribución Php-avanzado