Está en la página 1de 7

2015

CONSTRAINT FOREING KEY

CLERIA MARYORY CALLEJAS CHAVERRA


SENA
27/02/2015

ACTIVIDAD CONSTRAINT FOREING KEY


En la base de datos nombre_apellido crear una tabla llamada marca con
los siguientes datos:
id tipo smallint, que no permita valores nulos.
nombre tipo varchar de 30 caracteres.
pais tipo varchar de 50 caracteres.
La clave primaria de esta tabla ser la columna id y se definir como tal con
un CONSTRAINTdesde la creacin de la tabla. Luego de crearla tomar un
pantallazo de la vista de diseo.
USE cleria_callejas;
GO
CREATE TABLE marca(
id smallint not null,
nombre varchar(30),
pais varchar(50),
CONSTRAINT pk_marca PRIMARY KEY(id)
);

Posteriormente debe crear otra tabla llamada modelo con los siguientes
datos:

id tipo smallint, que no permita valores nulos.


nombre tipo varchar de 30 caracteres.
id_marca tipo int que no permita valores nulos.
La clave primaria de esta tabla ser la columna id y se definir como tal con
un CONSTRAINTdesde la creacin de la tabla. Luego de crearla tomar un
pantallazo de la vista de diseo.
USE cleria_callejas;
GO
CREATE TABLE modelo(
id smallint not null,
nombre varchar(30),
id_marca int not null,
CONSTRAINT pk_modelo PRIMARY KEY(id)
);

Luego debe crear una clave fornea con un ALTER en la tabla modelo y
adicionando un CONSTRAINT a la columna id_marca, esta clave fornea
debe referenciarse a la clave primaria de la tabla marca. Recuerde que
debe poner en el documento a entregar TODAS las sentencias que debe
utilizar para llegar a las condiciones que se piden.
USE cleria_callejas;
GO
ALTER TABLE dbo.modelo

ADD CONSTRAINT fk_modelo FOREIGN KEY (id_marca)


REFERENCES dbo.marca(id);

SOLUCIONAR PROBLEMA para crear el constraint.


Modificamos el tipo de dato de la columna id_marca de la tabla modelo
USE cleria_callejas;
GO
ALTER TABLE modelo ALTER COLUMN id_marca smallint NOT NULL;

USE cleria_callejas;
GO
ALTER TABLE dbo.modelo
ADD CONSTRAINT fk_modelo FOREIGN KEY (id_marca)
REFERENCES dbo.marca(id);

Por ltimo crear una tabla llamada automvil con los siguientes datos:

id tipo smallint, que no permita valores nulos.


id_modelo tipo smallint.
year_modelo tipo smallint.
color tipo varchar de 15 caracteres.
id_propietario tipo int

La clave primaria de esta tabla ser la columna id y se definir como tal con
un CONSTRAINTdesde la creacin de la tabla. Tambin se debe crear un
CONSTRAINT de clave fornea con la columna id_modelo la cual debe
referencia a la clave primaria de la tabla modelo. Luego de crear la tabla
debe tomar un pantallazo de la vista de diseo.

PARA CREAR ESTA TABLA SE REQUIERE ELIMINAR LA ANTERIOR QUE SE


HABIA CREADO EN EJERCICIOS ANTERIORESY TIENE EL MIMO NOMBRE.
USE cleria_callejas;
GO
DROP TABLE dbo.automovil;
CREAMOS LA TABLA
USE cleria_callejas;
GO
CREATE TABLE automovil(
id smallint not null,
id_modelo smallint,
year_modelo smallint,
color varchar(15),
id_propietario int
CONSTRAINT pk_automovil PRIMARY KEY(id)
);

AGREGAMOS EL CONSTRAINT DE FOREIGN KEY


USE cleria_callejas;

GO
ALTER TABLE dbo.automovil
ADD CONSTRAINT fk_modelo_auto FOREIGN KEY (id_modelo)
REFERENCES dbo.modelo(id);