Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/02/2010, 04:16
Teosanchez
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Problema con campos autonuméricos

Hola Cabron32 (vaya nombrecito que has elegido).

A mi entender, hay un problema de diseño en tu base de datos y también de conocimiento sobre los autonuméricos.

Te explico:

Las tablas de una BD deben tener un campo que permita identificar los registros individualmente. Este campo normalmente no contiene información de la entidad representada en la tabla y solo se utiliza como clave primaria.
Estos campos se declaran como autonuméricos e identidad (IDENTITY).

La otra tabla (alumnos) también debería tener su propio campo identidad y un campo para mantener la relación entre las dos (por ejemplo id_usuario).

Así, puedes hacer cualquier operación de inserción, modificación o borrado en cualquiera de ellas con la única condición de hacerla en el orden adecuado.

Insertar: Primero en Usuario y luego en Alumno
Borrar: Primero en Alumno y luego en Usuario
------------------------------------------------------------------
Como no sé si me he explicado bien, ahí tienes un ejemplo del diseño (copia y pega en SQL Server)


CREATE TABLE [dbo].[Usuario](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Nombre] [varchar](50) NULL,
CONSTRAINT [PK_Usuario] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO

CREATE TABLE [dbo].[Alumno](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Id_Usuario] [int] NULL,
[Campo2] [nchar](10) NULL,
CONSTRAINT [PK_Alumno] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
-----------------------------------------------------------------------------------


Si necesitas más ayuda sobre SQL Server no dudes en pedirla.


Saludos