Hola comunidad tengo la siguiente inquietud. Estoy aprendiendo SQL server 2012 y a la hora de crear una tabla utilizo el siguiente codigo
Código:
USE Prueba
GO
CREATE TABLE Libros(
IDLibros smallint IDENTITY (1,1) PRIMARY KEY,
Nombre varchar(50) NOT NULL,
ISBN varchar(50) NOT NULL
)
Segun investigue la funcion IDENTITY empezaria con el id=1 y aumentaria en 1 por cada insercion. Mi duda es que esa id autogenerada no identifica de manera unica a cada tabla, por ejemplo si existieran dos libros
PROGRAMACION 1
PROGRAMACION 2
y los inserto
Código:
INSERT INTO Libros ('PROGRAMACION 1', '968-521-59X')
INSERT INTO Libros ('PROGRAMACION 2, '968-521-58D)
en la tabla quedarian los siguientes datos
ID NOMBRE ISBN
1- PROGRAMACION 1- 68-521-59X
2- PROGRAMACION 2- 8-521-58D
pero si vuelvo a realizar la insercion
INSERT INTO Libros ('PROGRAMACION 1', '968-521-59X')
quedaria un regstro
3- PROGRAMACION 1- 968-521-59X
que obviamente es una repeticion. se que lo mejor seria usar como PK el ISBN pero no lo hago para aprender a usar la funcion IDENTITY.
Pense en una solucion que seria crear un disarador que compruebe los datos de la fila a insertar con los datos de la tabla pero lo consideraria ineficiente.
Les agradezco de antemano su claboracion, Saludos