SQL - Sentencia SQL para insertar datos sin que se repitan

 
Vista:
Imágen de perfil de Javier

Sentencia SQL para insertar datos sin que se repitan

Publicado por Javier (2 intervenciones) el 10/09/2016 20:26:01
Saludos colegas...

Verán estoy trabajando en un programa hecho en java para registrar datos de un censo, pero no es el código de java lo que me preocupa sino unas sentencias en SQL.

El diagrama E-R de mi base de datos es el siguiente:
clap_zps2lj5frdq

La sentencia que estoy buscando es para insertar datos en un campo siempre y cuando ese dato no esté registrado ya. Por ejemplo, insertar el número 2 en un campo 'X' mientras el 2 no esté registrado ya en ese campo.

Alguien me puede orientar? de antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Sentencia SQL para insertar datos sin que se repitan

Publicado por leonardo_josue (1173 intervenciones) el 12/09/2016 16:43:00
Hola Javier:

Lo que quieres hacer es más simple de lo que piensas, y lo logras utilizando restricciones de unicidad (UNIQUE) en tus tablas.

No sé con qué Base de Datos estás trabajando, pero la mayoría de ellos maneja este tipo de restricciones, de tal suerte que cuando declaras un campo de tipo UNIQUE, la BD's valida de manera automática cada vez que se inserta o modifica ese campo que no exista otro con el mismo valor.

Investiga un poco sobre este tipo de restricciones y si continuas con dudas, dinos con qué BD's estás trabajando y con gusto de tratamos de ayudar.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier

Sentencia SQL para insertar datos sin que se repitan

Publicado por Javier (2 intervenciones) el 12/09/2016 19:51:11
si jeje no me acordaba de configurar los campos como UNIQUE.

La base de datos que estoy trabajando es la siguiente

Se desea realizar una base de datos que registre a los habitantes de una comunidad. De los habitantes se desea almacenar, nombre, identificación, teléfono, fecha de nacimiento, lugar de nacimiento, sexo, casa y vereda o calle según sea el caso. Cada calle o vereda posee muchas viviendas y por cada vivienda se puede o no censar a varias personas.


Ahora bien, en la imagen de arriba se ven las tablas creadas a fin de que no se repitiera información en una misma tabla. La cuestión es que en el programa java que tengo:
clap_zpslbspiupf
quiero que se guarde una persona junto con su casa y su vereda pero si la persona siguiente vive en la misma casa, ¿cómo hago para que me guarde a esta persona en la misma casa del anterior? empleando sentencias directamente en SQL es fácil porque solo debo insertar los datos en los campos y los id's de las tablas asociadas, pero en el código java no se como aplicarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 62
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Sentencia SQL para insertar datos sin que se repitan

Publicado por Leonardo Daniel A. (23 intervenciones) el 12/09/2016 16:55:43
tus ID's deben ser llaves Primarias con indice (unico con eso basta para que no se duplique informacion), ademas podrias hacer que los ID's sean automaticos que se incrementen solos, claro siempre y cuando no necesites tu controlar esa numeracion, para eso usas el IDENTITY, AUTOINCREMENT, SEQUENCE dependiendo de la base de datos que utilizes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar