[Php-avanzado] Leo: A ver que te parece esto...
Silverzero
silverzero.52 en gmail.com
Jue Nov 12 21:14:00 ARST 2009
Me confundí en unas cositas en la exportacion de las tablas, las corrijo así
a mano antes que me las marques!!. =P
2009/11/12 Silverzero <silverzero.52 en gmail.com>
> Me hiciste pensar mucho, lo cual es bueno, cada vez estoy ampliando mi
> visión normalizacionística...de a poco, pero ahi voy.
>
> Ahora, con la aparición de esta tabla nueva que mencionaste para hacer la
> conexión con los votos se me ocurrió implementarla para lo demás. Se podría
> hacer una tabla de Categorias y después que referencien el Tipo, en vez de
> tener una tabla de categorías para Eventos, otra para Actividades y otra más
> para Lugares.
>
> Ahora lo que me puse en duda es: será mejor hacer la tabla Categorias (id,
> id_tipo, cat) y repetir los registros comunes entre por ejemplo, eventos y
> actividades?...o será mejor hacer la tabla de Categorias con (id, cat) y
> otra tabla que los relacione con (id, id_tipo, id_cat)?. También pasaría lo
> mismo con las subcategorías, porque de hecho todas las subcategorias entre
> eventos y actividades son las mismas.
>
> Además sería más fácil para implementar el tema de SALI+ Kids, ya que
> podría agregar en Tipos eventos_kids, actividades_kids, y lugares_kids y
> como tambien usan las mismas categorias las referenciaría en Tipos_Cat
> directamente, sin tener que crear nuevas tablas.
>
> Después cuando llegue el momento de relacionar los
> eventos/asctividades/lugares con las categorías tendría que solamente
> apuntar a Categorías y no a la relación Tipos_Cat, cierto? Sería Eventos_Cat
> (id, id_eve, id_cat) porque ya sabemos que es un evento no tendría sentido
> mirar la relación...
>
> La relación la necesitaría porque por ejemplo yo listo el menú de
> categorías del sitio directamente desde la tabla para no tener que tirar
> cada botón a mano...ahora por ejemplo lo listo haciendo una consulta para
> que me muestre todos los registros de la tabla eventos_cat, actividades_cat
> y lugares_cat. Y también para cuando quieran publicar se necesita.
>
> Bueno ¿Qué opinás?
>
> Acá te mando las tablas de cómo quedaría según este planteamiento (a las
> que son relaciones les puse una "X", por ejemplo eventosXcat, porque el
> guión bajo me confunde ya que lo uso para nombrar tablas sin relaciones
> tambien, por eso trataba de buscarle otro nombre antes):
>
> PD: Lo de que me preguntabas de la tabla votos que no era autoincremental
> era porque estaba probando en el sitio un script de votos hechos en ajax que
> venia con esa tabla y la tenia que usar asi para probar, pero ni me sirve
> porque vota por ip, y yo necesito por usuario, y lo que me explicaste vos
> tiene mucho mas sentido. =)
>
> Ahi va!!
> Gracias por tu super ayudas Leo!
>
> -- phpMyAdmin SQL Dump
> -- version 2.11.9.5
> -- http://www.phpmyadmin.net
> --
> -- Servidor: localhost
> -- Tiempo de generación: 12-11-2009 a las 20:41:34
> -- 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,
> `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(50) collate utf8_unicode_ci NOT NULL,
> `precio` varchar(50) collate utf8_unicode_ci NOT NULL,
> `id_visitante` int(11) NOT NULL,
> `id_lugar` int(11) NOT NULL,
> `id_stat` int(2) NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> AUTO_INCREMENT=2 ;
>
> -- --------------------------------------------------------
>
> --
> -- Estructura de tabla para la tabla `actividadesXcat`
> --
>
> CREATE TABLE IF NOT EXISTS `actividadesXcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_act` int(11) NOT NULL,
> `id_cat` 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 `actividadesXsubcat`
> --
>
> CREATE TABLE IF NOT EXISTS `actividadesXsubcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_act` int(11) NOT NULL,
> `id_subcat` 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 `categorias`
> --
>
> CREATE TABLE IF NOT EXISTS `categorias` (
> `id` int(11) NOT NULL auto_increment,
> `cat` 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 `catXsubcat`
> --
>
> CREATE TABLE IF NOT EXISTS `catXsubcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_cat` int(11) NOT NULL,
> `id_subcat` 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=38 ;
>
> -- --------------------------------------------------------
>
> --
> -- 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` varchar(50) collate utf8_unicode_ci NOT NULL,
> `id_visitante` int(11) NOT NULL,
> `id_lugar` int(11) NOT NULL,
> `id_stat` int(2) NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> AUTO_INCREMENT=4 ;
>
> -- --------------------------------------------------------
>
> --
> -- Estructura de tabla para la tabla `eventosXcat`
> --
>
> CREATE TABLE IF NOT EXISTS `eventosXcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_eve` int(11) NOT NULL,
> `id_cat` 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 `eventosXsubcat`
> --
>
> CREATE TABLE IF NOT EXISTS `eventosXsubcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_eve` int(11) NOT NULL,
> `id_subcat` 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 `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,
> `email` varchar(50) collate utf8_unicode_ci NOT NULL,
> `horario` varchar(50) collate utf8_unicode_ci NOT NULL,
> `precio` 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,
> `id_stat` int(2) NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> AUTO_INCREMENT=11 ;
>
> -- --------------------------------------------------------
>
> --
> -- Estructura de tabla para la tabla `lugaresXcat`
> --
>
> CREATE TABLE IF NOT EXISTS `lugaresXcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_lug` int(11) NOT NULL,
> `id_cat` 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 `lugaresXsubcat`
> --
>
> CREATE TABLE IF NOT EXISTS `lugaresXsubcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_lug` int(11) NOT NULL,
> `id_subcat` 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 `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 `status`
> --
>
> CREATE TABLE IF NOT EXISTS `status` (
> `id` 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;
>
> -- --------------------------------------------------------
>
> --
> -- Estructura de tabla para la tabla `subcategorias`
> --
>
> CREATE TABLE IF NOT EXISTS `subcategorias` (
> `id` int(11) NOT NULL auto_increment,
> `subcat` 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 `tipos`
> --
>
> CREATE TABLE IF NOT EXISTS `tipos` (
> `id` int(11) NOT NULL auto_increment,
> `tipo` varchar(50) collate utf8_unicode_ci NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> AUTO_INCREMENT=4 ;
>
> -- --------------------------------------------------------
>
> --
> -- Estructura de tabla para la tabla `tiposXcat`
> --
>
> CREATE TABLE IF NOT EXISTS `tiposXcat` (
> `id` int(11) NOT NULL auto_increment,
> `id_tipo` int(11) NOT NULL,
> `id_cat` 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 `visitantes`
> --
>
> CREATE TABLE IF NOT EXISTS `visitantes` (
> `id` int(11) NOT NULL auto_increment,
> `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,
> `ocupacion` 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,
> `id_stat` int(2) NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> AUTO_INCREMENT=3 ;
>
> -- --------------------------------------------------------
>
> --
> -- Estructura de tabla para la tabla `votos`
> --
>
> CREATE TABLE IF NOT EXISTS `votos` (
> `id` int(11) NOT NULL auto_increment,
> `voto` int(11) NOT NULL,
> `puntaje` int(11) NOT NULL,
> `id_ref` int(11) NOT NULL,
> `id_tipo` int(11) NOT NULL,
> `id_visitante` int(11) NOT NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> AUTO_INCREMENT=1 ;
>
>
--
Carolina
------------ 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/20091112/f5fd3a27/attachment-0001.htm
Más información sobre la lista de distribución Php-avanzado