[Php-avanzado] Leo: A ver que te parece esto...
Silverzero
silverzero.52 en gmail.com
Vie Nov 27 10:47:42 ARST 2009
2009/11/22 Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar
>
> Hola Carolina,
>
> El vie, 13-11-2009 a las 00:35 -0300, Silverzero escribió:
> > ok, porque presentía la posibilidad de que podría mamarrachear, no
> > borré las tablas anteriores, asi que lo dejo como antes, y ya que
> > estamos para seguir con la linea dejo las tablas de votos
> > tradicionales, asi no me hago lío y listo...
>
> Ok.
>
> > y agregué la tabla "publico" (id, publico) para poner 2 registros:
> > adulto, niño y le agregue un campo refiriendo a esto a cada tabla de
> > evento, actividad y lugar.
>
> Carolina: volviste a modificar los requerimientos entonces???
> Así no vas a terminar más!!!
> Mandame los requerimientos nuevos en los que se mencione al Público
> y
> sus tipos para poder evaluar las nuevas tablas.
>
> Por otra parte, te sugiero que _no_ hagas este cambio ahora, y sigas
> con tu enorme tesis sin agregarle cosas nuevas.
> Ya tendrás tiempo de hacer la versión 2, la 3 y todas las que
> quieras.
> Carolina!!!!!!!!!!!!!!!!!!
>
> > Muchas gracias nuevamente, y disculpame por favor Leo que tengas que
> > revisar todo a cada rato...acá van:
>
> No es molestia.
> Yo anduve con lag por las VII Jornadas de Software Libre...
>
> En esta corrección, voy a hacer de cuenta que no hay referencia al
> Público. Ok?
>
Oki doki!
>
>
> > -- phpMyAdmin SQL Dump
> > -- version 2.11.9.5
> > -- http://www.phpmyadmin.net
> > --
> > -- Servidor: localhost
> > -- Tiempo de generación: 13-11-2009 a las 01:32:26
> > -- 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 ;
>
> Ok. Esto es una relación muchos a muchos de las Actividades con las
> Categrías.
>
> > -- --------------------------------------------------------
> >
> > --
> > -- 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 ;
>
> Ok. Esto es una relación muchos a muchos de las Actividades con las
> SubCategrías.
>
>
> > -- --------------------------------------------------------
> >
> > --
> > -- 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 ;
>
> Ok. Las Categorías...
>
> > --
> > -- 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 ;
>
> Ok. Las Subcategorías ahora tienen una Categoría a la que hacen
> referencia.
>
> Yo sigo sin encontrarle sentido a que una Actividad pueda tener una
> Categoría y no una Subcategoría, en vez de usar el simplísimo modelo de
> tener siempre una Subcategoría para las Actividades, pero que no lo
> entienda no significa nada.
> La normalización, en el escenario que vos planteás en tu SRS está
> bien.
>
Entiendo lo que decís, lo que pasa es que en cada publicación van a figurar
como links todas las subcategorías en las que dicha publicación fue puesta,
y si entre esas hubiera una categoría sin subcategoría (o sea, una
subcategoría con nombre igual a la categoría), figuraría en el listado ese y
sería redundante...(aunque podría filtrar ese listado para que no muestre
una subcategoría si tiene el mismo nombre que categoría, pero no sería
complicarla mas?). Ademas cada link va a funcionar como filtro de busqueda
por dicha subcategoria y si hubiera una subcategoria=categoria, filtraría
igual que con categoría y sería redundante también.
> > --
> > -- 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 `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_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 ;
>
> Ok para los Eventos...
>
> > --
> > -- 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 `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_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 ;
>
> Ok para los lugares.
>
> > --
> > -- 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;
> >
>
> [borré las cosas que sobraban acá...]
>
ok!
>
> > --
> > -- 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 `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_actividades`
> > --
> >
> > CREATE TABLE IF NOT EXISTS `votos_actividades` (
> > `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 ;
>
> Por qué voto es un entero?
> Mejor dicho: para qué hay un campo "voto"???
>
> > -- --------------------------------------------------------
> >
> > --
> > -- Estructura de tabla para la tabla `votos_eventos`
> > --
> >
> > CREATE TABLE IF NOT EXISTS `votos_eventos` (
> > `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 ;
>
> Idem anterior
>
> > --
> > -- Estructura de tabla para la tabla `votos_lugares`
> > --
> >
> > CREATE TABLE IF NOT EXISTS `votos_lugares` (
> > `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 ;
>
> idem anterior.
>
>
> Me da le leve sensación de que la estructura para los votos (la de
> cada
> tabla, no hay problema en usar tablas separadas) no se corresponde con
> el funcionamiento...
>
> También hacés referencia a un id_tipo en las 3 tablas pero ahora no
> hay
> tipo, según decís al principio de este mail.
>
si, me equivoqué ahi, no me di cuenta y me quedó en la cabeza el
funcionamiento q habias planteado anteriormente.
Entonces las 3 tablas de votos la dejamos asi:
CREATE TABLE IF NOT EXISTS `votos_**********` (
> `id` int(11) NOT NULL auto_increment,
> `puntaje` int(11) NOT NULL,
> `id_ref` 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 ;
>
> Si no cambiás los requerimeintos, para tu SRS original las tablas
> están
> bien, excepto las de los votos.
>
> Ponete YA a escribir la parte que hace funcionar esto, y mientras
> charlamos de los votos. Asumo que ya tenés armadas las pantallas, los
> formularios y la estética, y solo te falta conectarlos con las tablas,
> porque si no vas a estar muy apretada para llegar a tiempo con todo
> esto...
>
Si ya tengo bastante de la estética, tengo algunas funciones y otras
cositas.
>
> Seguimos!!!
> Dale que falta poco!!!
>
>
Gracias Leo!
Saludos!
> --
>
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> http://blog.pegasusnet.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
--
Carolina Derromediz
------------ 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/20091127/294e7652/attachment-0001.htm
Más información sobre la lista de distribución Php-avanzado