Anda di halaman 1dari 2

/* 7.

A�adir a la tabla de Guia la columna sueldo_hora */


ALTER TABLE guia ADD sueldo_hora int

/* 8. Hacer que no pueda haber dos escuelas con el mismo nombre */


ALTER TABLE escuela ADD CONSTRAINT uni1 UNIQUE (Nombre_Escuela)
--Comprobaci�n
SELECT * FROM escuela
INSERT INTO escuela (Codigo_Escuela, Nombre_Escuela) VALUES ('23', 'Prueba')

--ADICIONALES
--1. Crear la tabla Distrito_Escolar con su correspondiente CP
CREATE TABLE Distrito_Escolar ( Codigo_Distrito INTEGER CONSTRAINT pk PRIMARY KEY,
Nombre_Distrito VARCHAR(255) NOT NULL)

--2. Agregar clave foranea codigo_distrito_escolar a la tabla Escuela


/*Renombro campo Distrito_Escolar*/
USE Jurasik_Park;
GO
EXEC sp_rename 'Distrito_Escolar.Codigo_Distrito', 'Codigo_Distrito_Escolar',
'COLUMN';
GO
/*Para agregar FK, primero cambio tipo de dato para que sean iguales, borro PK sino
no me deja*/
--Borro la restricci�n de PK
ALTER TABLE Distrito_Escolar DROP CONSTRAINT pk
--Cambio tipo de dato a smallint para poder agregar la FK
ALTER TABLE Distrito_Escolar ALTER COLUMN Codigo_Distrito_Escolar smallint NOT NULL

--Vuelvo a agregar la restricci�n de PK


ALTER TABLE Distrito_Escolar ADD CONSTRAINT pk PRIMARY KEY
(Codigo_Distrito_Escolar)
--Agrego restricci�n de FK
ALTER TABLE Distrito_Escolar ADD CONSTRAINT fk1 FOREIGN KEY
(Codigo_Distrito_Escolar) REFERENCES escuela (Codigo_Escuela)

--3. Eliminar la columna de domicilios de la tabla Escuela (Primero borro


restricci�n sobre la columna)
ALTER TABLE escuela DROP CONSTRAINT DF__escuela__Domicil__7E6CC920
ALTER TABLE escuela DROP COLUMN Domicilio_Escuela

--4. Agregar columnas calle_escuela y altura_escuela a la tabla Escuela


ALTER TABLE escuela ADD calle_escuela varchar(255) NOT NULL default('')
ALTER TABLE escuela ADD altura_escuela int NOT NULL default('')

--5. Agregar domicilio_guia en la tabla Guia


ALTER TABLE Guia ADD domicilio_guia varchar(255)

--6. Eliminar tabla Telefono_Escuela


DROP TABLE Telefono_Escuela

--7. Agregar tabla Email_Escuela (Sin Clave Primaria)


CREATE TABLE Email_Escuela (Codigo_Escuela smallint CONSTRAINT fk2 REFERENCES
escuela NOT NULL, Email_Escuela varchar(255) CONSTRAINT uni2 UNIQUE NOT NULL)

--8. Establecer clave primaria para Email_Escuela


ALTER TABLE Email_Escuela ADD CONSTRAINT pk_Email_Escuela PRIMARY KEY
(Codigo_escuela,Email_Escuela)

--9. Establecer que los nombres y apellidos de los guias no tengan valores nulos.
ALTER TABLE guia ALTER COLUMN Apellido_guia varchar (60)NOT NULL
ALTER TABLE guia ALTER COLUMN Nombre_guia varchar (60) NOT NULL

--10. Establecer que no se repita la calle y la altura de las escuelas


ALTER TABLE escuela ADD CONSTRAINT uni3 UNIQUE (calle_escuela,altura_escuela)

Anda mungkin juga menyukai