Entiendo, no te preocupes, no es difícil, sólo práctica y lectura de documentación SQL.
Tienes que relacionar tus tablas. Comprendo que el volcado de datos sea desde Excel, pero centrémonos sólo en la base de datos.
Para relacionar una tabla con otra se utiliza una Llave Foránea (Foreign Key o FK), que lo que hace es crear un enlace a través de la llave primaria (Primary Key o PK) de la tabla independiente (Usuario en tu caso) con un atributo de la tabla dependiente (Contrato).
Hay ciertos criterios que debes seguir. Por ejemplo, si tu llave primaria de tu tabla independiente es idUsuario, y es del tipo INT, entonces, en tu tabla dependiente debe haber un atributo homólogo a éste para que pueda haber el enlace; es decir, debe haber un atributo del tipo INT. Así como se ve en la siguiente imagen.
El atributo idUsuario (PK) y C_idUsuario (FK) son tales, así que el enlace se realiza, y no da problemas al crearlo al escribir el script:
Un CONSTRAINT es una restricción, un FK es una restricción, y hay distintas formas de crearla. Como ves en la imagen anterior, usualmente así es como yo la creo.
CONSTRAINT [NombredeFK] FOREING KEY (AtributoDeLlegada) REFERENCES [TablaIndependiente] (AtributoDeSalida);
Ahora, es necesario que tu atributo de llegada de enlace (C_idUsuario, en la imagen) sea igual al tipo de la PK de tu tabla independiente. No puedes referenciarlo a otro atributo que no sea una PK. Por lo tanto, el enlace no se puede crear si hago esto:
CONTRAINT FK_UsuarioContrato FOREIGN KEY (Agente) REFERENCES usuario (nuusuario);
Esto dará conflictos por las siguientes razones:
- El atributo de llegada (Agente), es un VARCHAR(12) y el de salida o de enlace (nuusuario) es un VARCHAR(45). ¿Qué tal si llega una cadena de tamaño 20 a tu tabla contrato que sólo acepta 12 como máximo? Sería un dolor de cabeza si estás en producción.
- El atributo de nuusuario no es la PK de tu tabla independiente, por lo tanto, el CONTRAINT no se creará y te marcará error fatal, es decir, que interrumpe la ejecución del script. Debe ser la PK de tu tabla independiente para poder crear el enlace.
Entonces, en tu caso, o bien es tu PK el atributo idUsuario o lo es nuusuario.
Si es el segundo, quedaría algo así:
Ves, son tales. Y el enlace está hecho sin problemas en el diagrama. En el script se vería algo así:
Para poder crear el CONTRAINT tuve que cambiar la PK en la tabla Usuario.
Espero hayas podido comprender. Debes darte tiempo y leer la documentación de SQL o ver tutoriales. Practica un poco ello, verás que es cuestión de estar dándole una y otra vez. Otra cosa, usa de la mejor forma posible los VARCHAR y CHAR; busca sobre sus diferencias y como usarlas, por si no lo sabes aún.
Si quieres documentación menos formal y ligera, aquí una web con buena info sobre SQL, espero te sirva, a mí me sirvió en mis repasos.