9. Añadir el campo Sexo, Fecha de nacimiento y Estado Civil a la tabla Profesores :
Alter Table Profesores
add Sexo nvarchar(6) null ,
Fecha_Nac smalldatetime null ,
[Estado Civil] nvarchar(12) null
10. Eliminar el campo Edad de la tabla Profesores :
alter table Profesores
drop column Edad
11. Añadir el campo Sexo, Dirección y Estado Civil a la tabla Alumnos :
Alter Table Alumnos
add Sexo nvarchar(6) null ,
Direccion varchar(80) null ,
[Estado Civil] nvarchar(12) null
12. Borrar la relación existente entre la tabla profesores y Colegios :
sp_helpconstraint profesores
sp_helpconstraint colegios
alter table profesores drop constraint fk_profesores
13. Crear de nuevo la relación borrada en el ejercicio anterior que tenga relación en cascada y actualización :
alter table profesores
add constraint FK_Profesores foreign key(cod_colegio)
references colegios(cod_colegio) on update cascade
on delete cascade
14. Agregar un identificador único en la tabla Regiones :
alter table regiones add Unico uniqueidentifier default newid()
15. Queremos rellenar los datos de las tablas creadas, para ello vamos a introducir a tres alumnos en los colegios. Los datos son los siguientes:
Alumnos:
Marta Serrano Lopez Provincia: Madrid Localidad: Madrid
Javier Morgado Palomo Provincia: Alicante Localidad: Arenales del sol
Miguel Torres Tormo Provincia: Barcelona Localidad: Llobregat
Rellenar las tablas convenientemente con datos relacionales. Ejemplo: Region: Comunidad Valenciana, 3 datos como mínimo en cada tabla.
- TABLA REGIONES
Insert into Regiones (Regiones) values('MADRID')
Insert into Regiones (Regiones) values('COMUNIDAD VALENCIANA')
Insert into Regiones (Regiones) values('CATALUÑA')
Nos dará error por el tipo de dato introducido en el campo regiones, debemos cambiar el tipo de dato para poder utilizar la tabla
ALTER TABLE REGIONES
ALTER COLUMN REGIONES NVARCHAR(50) NULL
Ahora podemos insertar el registro que faltaba:
- TABLA COLEGIOS
Antes de insertar verifica el código de la región. Debe ser el que te genero la tabla regiones.
insert into Colegios (nombre,localidad ,provincia,año_construccion ,coste_construccion,cod_region) values ('PADRE POVEDA','MADRID','MADRID','01/01/65',1129876,3)
insert into Colegios (nombre,localidad ,provincia,año_construccion ,coste_construccion,cod_region) values ('CARMELITAS','ALICANTE','ELCHE','01/01/49',298763,5)
insert into Colegios (nombre,localidad ,provincia,año_construccion ,coste_construccion,cod_region) values ('SAN PEP','BARCELONA','BARCELONA','01/01/63',234567,6)
SELECT IDENT_SEED('REGIONES') AS [PRIMER VALOR]
SELECT IDENT_CURRENT('REGIONES') AS [VALOR ACTUAL]
SELECT IDENT_INCR('REGIONES') AS [INCREMENTO]
SELECT IDENTITYCOL,REGIONES FROM REGIONES
- TABLA ALUMNOS
insert into alumnos (dni,Nombre,Apellido1,Apellido2 ,Fecha_nac,Localidad,Provincia,Cod_Colegio) values ('54132456-R','Marta','Serrano','Lopez','15/03/93','MADRID','MADRID',6)
PARA INTRODUCIR AL SIGUIENTE ALUMNO HAY QUE CAMBIAR LA COLUMNA DE LOCALIDAD PARA QUE ADMITA MAS CARACTERES.
alter table alumnos alter column Localidad nvarchar(50) null
insert into alumnos (dni,Nombre,Apellido1,Apellido2 ,Fecha_nac,Localidad,Provincia,Cod_Colegio) values ('3414356-R','Javier','Morgado','Palomo','15/03/93','ARENALES DEL SOL','ALICANTE',11)
insert into alumnos (dni,Nombre,Apellido1,Apellido2 ,Fecha_nac,Localidad,Provincia,Cod_Colegio) values ('3254353-R','Miguel','Torres','Tormo','15/03/95','LLOBREGAT','BARCELONA',12)
16. Eliminar un tipo de dato que hayamos usado en las tablas :
exec sp_droptype TNulo
No se puede eliminar el dato porque está vinculado a una tabla, para poder eliminarlo deberíamos modificar la tabla y cambiar todos los campos donde el dato está presente.
17. Borrar la tabla Regiones :
drop table regiones
¿Qué ocurre?. ¿Cómo lo solucionamos?
Servidor: mensaje 3726, nivel 16, estado 1, línea 1
No se puede quitar el objeto 'regiones'. Hay una referencia a él en una restricción FOREIGN KEY.
Se soluciona quitando las dependencias que tienen la tablas.
Borrar todas las tablas, tipos de datos y base de datos. Realizarlo en el siguiente orden.
drop table alumnos
drop table profesores
drop table colegios
drop table regiones
go
exec sp_droptype TNulo
exec sp_droptype TNoNulo
go
use master
go
drop database Escuela
Espero haber ayudado en algo. Hasta la próxima oportunidad!
No hay comentarios:
Publicar un comentario