Foros de daboweb

MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación => Webmasters - Diseño Web - Programación - Diseño gráfico => Mensaje iniciado por: HuanManwe en 31 de Julio de 2006, 09:27:00 pm

Título: ¿Añadir entradas múltiples a DDBB?
Publicado por: HuanManwe en 31 de Julio de 2006, 09:27:00 pm
Hola,

el título es raro porque si lo pongo todo me faltan espacios. Os explico mi problema:
Quiero crear un "diccionario" bilíngüe en una web, aunque añadir las celdas de las tablas una a una, y luego los datos a añadir, y todo eso es lentísimo. ¿Hay alguna forma de añadir una palabra a una base de datos y que automáticamente se ordene alfabéticamente y poder rellenar todos los campos requeridos? Otro problema extra sería separar lo que se haga con esa palabra dependiendo si la añado como sustantivo, verbo, adjetivo o cualquier otra partícula. Ejemplo:
Citar
Sustantivo - género - plural   - genitivo - español - ejemplo
Citar
Haus         - neutro - Häuser - Hauses  - casa      - Das ist mein Haus

Citar
Verbo   - Imperfekt - Partizip II - español      - ejemplo
Citar
bringen - brachte   - gebracht  - traer, llevar - Ich habe mein Essen gebracht

Sé que lo que pido debe ser muy lioso. Querría un sistema para poder usar una base de datos para que se fueran guardando las entradas, que a su vez se fueran ordenando alfabéticamente o que se pueda presentar ordenadas así; y que según si elijo introducirla como sustantivo, verbo o lo que sea, los campos a rellenar sean distintos.
Quizá tenga alguien algún script o código ya escrito que haga algo parecido parcial o totalmente; o me podais indicar alguna página donde quizá pueda encontrar alguien que lo tenga.

¿Hay alguien que pueda ayudarme? Es que la idea de introducir más de 1000 entradas una a una me desanima.

Agradecido,

HuanManwe
Título: Re: ¿Añadir entradas múltiples a DDBB?
Publicado por: halo en 01 de Agosto de 2006, 08:03:21 am
Lo que quieres no es nada complicado, son cosas comunes, pero tratas de empezar la casa por el tejado.

http://mysql.conclase.net/curso/index.php?sen=INSERT
http://mysql.conclase.net/curso/index.php?sen=SELECT

http://html.rincondelvago.com/base-de-datos_6.html

Saludos.
Título: empezando
Publicado por: HuanManwe en 01 de Agosto de 2006, 06:39:45 pm
Hola,

gracias por los enlaces. Está muy bien la web de MySQL. Tengo mucho interés en aprender sobre bases de datos y PHP. Quiero orientar mi formación laboral por ese lado y me vendrá genial para ir empezando.

Por el momento estoy enfocando el asunto así:

Entidades: verbo, sustantivo, adjetivo, otras partículas
Atributos: depende de si es verbo (3ª persona Präsens, Partizip II, Konjuntiv II, traducción, ejemplo); sustantivo (género, plural, genitivo, traducción, ejemplo); adjetivo (superlativo, traducción) u otras partículas gramaticales.
Relaciones: Todas las entidades pueden ser consultadas individualmente o a la vez.

Necesito poder ordenar las palabras alfabéticamente y poder paginar los resultados, por ejemplo, de 25 en 25 y que en cada página aparezca arriba la primera palabra de la misma, y en la parte de abajo la última de esa relación de 25 palabras; así como enlaces a la página
anterior y posterior (1ª palabra de las anteriores 25 y 1ª palabra de las 25 posteriores).
Para eso supongo que podría combinar las posibilidades de PHP y MySQL, como explican en www.desarrolloweb.com en 2 manuales distintos sobre paginación en PHP, que me interesa para cuando pueda sacar de la DDBB lo que quiera que aparezca en mi página.

Pero primero necesito añadir los datos. ¿Cómo sería mejor? ¿Hacer una tabla por cada tipo de palabra a añadir (verbo, sustantivo, adjetivo, otros? ¿O una sola tabla que me pida datos extras dependiendo de qué tipo es?

Saludos.
Título: Re: ¿Añadir entradas múltiples a DDBB?
Publicado por: halo en 02 de Agosto de 2006, 08:58:10 am
Citar
Entidades: verbo, sustantivo, adjetivo, otras partículas
Atributos: depende de si es verbo (3ª persona Präsens, Partizip II, Konjuntiv II, traducción, ejemplo); sustantivo (género, plural, genitivo, traducción, ejemplo); adjetivo (superlativo, traducción) u otras partículas gramaticales.

Sí, es una buena manera de hacerlo.

Citar
Relaciones: Todas las entidades pueden ser consultadas individualmente o a la vez.

No entiendo lo que quieres decir. ¿Qué relación quieres crear? ¿Has identificado ya si se trataría de una relación 1:1, 1:n o n:m?

Citar
Necesito poder ordenar las palabras alfabéticamente y poder paginar los resultados, por ejemplo, de 25 en 25 y que en cada página aparezca arriba la primera palabra de la misma, y en la parte de abajo la última de esa relación de 25 palabras; así como enlaces a la página
anterior y posterior (1ª palabra de las anteriores 25 y 1ª palabra de las 25 posteriores).
Para eso supongo que podría combinar las posibilidades de PHP y MySQL, como explican en www.desarrolloweb.com en 2 manuales distintos sobre paginación en PHP, que me interesa para cuando pueda sacar de la DDBB lo que quiera que aparezca en mi página.

El orden al que te refieres se consigue con la consulta, no hace falta que lo ordenes en la BD.

Citar
Pero primero necesito añadir los datos. ¿Cómo sería mejor? ¿Hacer una tabla por cada tipo de palabra a añadir (verbo, sustantivo, adjetivo, otros? ¿O una sola tabla que me pida datos extras dependiendo de qué tipo es?

Una tabla -> entidad: palabra -> atributos: si es verbo, sustantivo,....

Lo que pasa es que hay palabras que puden ser dos cosas a la vez, por ejemplo que, con lo que te encontrarías con una relación n:m, y este tipo de relaciones son entidades.

Saludos.
Título: Re: ¿Añadir entradas múltiples a DDBB?
Publicado por: BuHo en 02 de Agosto de 2006, 01:44:01 pm
Si fuera yo, identificaría cada tabla con un tipo de palabra. De otra forma, creo que te cargas la primera forma normal siempre.
Título: Re: ¿Añadir entradas múltiples a DDBB?
Publicado por: halo en 02 de Agosto de 2006, 02:05:01 pm
Si fuera yo, identificaría cada tabla con un tipo de palabra. De otra forma, creo que te cargas la primera forma normal siempre.

No se tiene porqué cargar nada. Imagínate, tabla -> entidad -> palabra -> ID de cada palabra. Nos vamos con esa ID a la 2º consulta.
Relación n:m -> entidad -> ID palabra - tipo palabra ID´s que cumplen -> Nos vamos con esas ID´s a las definiciciones.
Tabla -> entidad -> definiciones. Buscamos todas las ID´s obtenidas en la segunda consulta.

1º Consulta ID de la palabra.
2º Consulta ID definiciones.
3º Consulta todas las definiciones para cada ID obtenida anteriormente.

Se puede evitar incluso la 1º consulta (usando la palabra directamente en lugar de la ID), pero a mí me gusta hacer las cosas potitas y herposas.

Saludos.
Título: Re: ¿Añadir entradas múltiples a DDBB?
Publicado por: HuanManwe en 03 de Agosto de 2006, 11:29:36 pm
A ver si me puede decir alguien si voy bien encaminado y cómo seguir ;-)

Es que no encuentro bien explicado en ningún sitio de mis enlaces es cómo crear una tabla con todos sus atributos con una consulta SQL (a través de phpMyAdmin --> pestaña SQL). Al menos no lo consigo con el AppServ (una aplicación que incluye Apache, PHP, phpMyAdmin y MySQL para poder usar mi disco duro como servidor). Las órdenes a través de MS-DOS no deben terminar en algunos casos en un punto y coma sino con \g. No sé, una cosa rara para alguien que es nuevo en ésto.

Creo que sé cómo debería ser esas tablas, así que necesitaría el texto-código. Luego vendría la forma en que pudiera usar un script php para a través de un formulario llevar esos datos a la BDD.
¿Sería algo así?
Código: [Seleccionar]
CREATE TABLE Verben(id int, Name varchar(30), Praesens varchar(30), Partizip2 varchar(30), Konjunktiv2 varchar(30), spanisch varchar(30), Beispiel varchar (80));
Luego faltaría un script que sacara los datos deseados de las tablas, y no el resto. Ejemplo:
Código: [Seleccionar]
select * from Verben where tipo='spanisch'¿No?

¿Pido mucho, eh? ;-) Supongo que es lo que pasa cuando se empieza.