01/03/2009, 06:46
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses Puntos: 13 | |
Respuesta: Consulta para contar cuantas familias hay en la bd En lugar de incrementar el id con una select, puedes utilizar el pseudotipo serial, que te hace eso automaticamente a nivel de base de datos, evitando tener que hacer una query cada vez que se inserta un registro y te evita posibles problemas de concurrencia.
Yo diseñaria las tablas de la siguiente forma:
create table familia (id serial primary key, id_madre integer references tabla_madre(id), id_padre references tabla_padre(id));
create table familia_x_hijos (id_familia integer reference familia(id), id_hijo varchar(4) reference tabla_hijo(id), primary key (id_familia, id_hijo));
Ahora independientemente del numero de hijos que tenga la familia solo se inserta en familia 1 vez.
Para contar el numero de familias solo tienes que contar el numero de registros de la tabla familia.
Para saber los apellidos del padre o de la madre, haces join de familia con padre o madre y seleccionas sus apellidos.
Para comprobar si dos niños son hermanos te basta con comprobar si id_familia coincide en familia_x_hijos, evitando posibles coincidencias de apellidos.
mmmm creo que eso es todo...
Salu2 |