 
			
				01/03/2009, 06:46
			
			
			     |  
      |    |    |    Fecha de Ingreso: febrero-2007  
						Mensajes: 1.292
					  Antigüedad: 18 años, 8 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           |