• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

Como lo hago para darle estructura a una DB?

Goalkeeper

Animal
Registrado
2007/09/24
Mensajes
7.277
Sexo
Macho
Me inscribí en un servicio gratis de phpmyadmin, online, una wea experimental, pero gratis.

Quiero hacer lo siguiente.
Tengo una base de datos y dentro de la DB una tabla llamada PERSONAS, dentro de esa tabla
tengo 5 datos, ID de usuario, Nombre, apellidos, alias y comunas.

Lo que me interesa es que en "comunas" se puedan ingresar infinitos datos.

Por ejemplo:
ID 1
Nombre: Pepito
Apellido: Menganito
Alias: hueoncito
Comunas: Santiago, providencia, florida

ID 2
Comunas: Santiago, florida, maipu

Se puede hacer eso en "comunas" o tiene que ser solo un valor?
y que cada valor quede como separado (le puse coma, porque no sé, se me ocurre que puede ser con coma)

Onda si mi web tiene un buscador por texto y coloco "florida", me arroje un resultado con todas las coincidencias
y me saldría en pantalla los datos del ID 1 y el ID 2, porque ambos contienen "florida" dentro de uno de sus datos.
 
Registrado
2006/02/15
Mensajes
1.873
Sexo
Macho
MOH
Especial
Para hacer eso se supone que debes aprender del tema antes, no tirarte de cabeza sin saber. Por lo que leo no tienes idea de lo que son las relaciones en una base de datos.
Lo que necesitas se puede hacer a la mala metiendo todo en un solo campo, separando por comas o lo que quieras, pero para hacer consultas eso te dará muchos cachos.
La otra alternativa es hacerlo como corresponde. En vez de una tabla persona que tenga todos los datos, tienes que tener una tabla "personas", una tabla "comunas" y una tabla "persona_comuna". La tabla persona_comuna (que al menos debe tener 2 campos: id_persona e id_comuna) es la que hace lo que quieres, es decir, puedes tener muchas comunas asociadas a una sola id_persona, (y una misma comuna puede asociarse a varias personas).

Luego, para el buscador simplemente tiras una consulta como: select * from personas join persona_comuna using(id_persona) join comunas using(id_comuna) where comuna like 'santiago'.

Si no se entiende pregunta o haz algún curso básico de sql
 
Arriba