1. ¿Quieres apoyar a nuestro foro haciendo una donación ? Entra aquí

Como lo hago para darle estructura a una DB?

Tema en 'Desarrollo Web (Webmasters)' comenzado por Goalkeeper, 3 de Mayo de 2017.

  1. Goalkeeper Animal

    Fecha Ingreso:
    24 de Septiembre de 2007
    Mensajes:
    7.012
    El Aporte:
    9.086
    VaginaPilin:
    Macho
    Foquimoney:
    $24.820
    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.
     
  2. Antronio ElAntro.cl

    loading...
  3. Waiflih Ocios@ ★★★★★

    Fecha Ingreso:
    15 de Febrero de 2006
    Mensajes:
    1.780
    El Aporte:
    1.651
    VaginaPilin:
    Macho
    Foquimoney:
    $9.168
    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
     
    A deepblue le gusta esto.

Comparte esta página

Cargando...