espero que me pueda ayudar aquí; tengo una pregunta sobre el diseño de una tabla SQL. Sé cómo escribir en una base de datos y realizar consultas usando C#, pero nunca tuve que diseñar una. Así que pensé que le daría una oportunidad a nuestro interés.Diseño de tabla para SQL
Supongamos que tengo una tabla llamada family_surname. Dentro de esa tabla, podría haber x cantidad de miembros de la familia, por ejemplo, de 2 a 22 personas. ¿Cómo puedo hacer referencia a family_members contra family_surname?
por lo que tendría apellido de la familia Smith, Jones, Brown, Taylor, etc.
Y entonces Smith puede tener 5 miembros, a donde me gustaría grabar edad, altura, peso , lo que sea. Jones puede tener 8 miembros, podría variar de una familia a otra.
No quiero realmente 'apellido' enumerado 8 veces para cada miembro - idealmente la fila de apellido haría referencia (o de alguna manera señalaría) una fila correspondiente en otra tabla. ¡Y ahí es donde estoy teniendo problemas!
Espero que tenga sentido; como digo, estoy interesado, pero me gustaría saber cómo hacer esto con dos tablas.
De todos modos, gracias por su ayuda, lo agradezco.
EDIT Gracias a todos los que han comentado, sin duda, algunos datos útiles que agradezco. Estoy leyendo e investigando algunos bits y fragmentos SQL, y hasta ahora es bastante bueno. ¡Gracias de nuevo, muchachos!
Probablemente deberías leer sobre la normalización de la base de datos: http://en.wikipedia.org/wiki/Database_normalization –
¿Qué pasará si uno de tus familiares quiere cambiar de apellido? Como debido al divorcio? Si una entidad posee un atributo exclusivamente, no lo normalizaría y pondría en una tabla separada. –
@val ese es un punto válido pero puede estar fuera del alcance de la pregunta; OP pregunta simplemente cómo representar una lista de pares de nombre/apellido sin duplicar el apellido. Si eso es apropiado dependerá de la aplicación. – gcbenison