Sentencia alter table

Solo disponible en BuenasTareas
  • Páginas : 7 (1597 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de noviembre de 2010
Leer documento completo
Vista previa del texto
DEFINICION DEL ESQUEMA DE INTEGRIDAD

Ventas068=> ALTER TABLE Alumno add constraint ck_Nualu Check (Nualu>='10' and Nualu<='1000');
ALTER TABLE
Ventas068=> ALTER TABLE Alumno ALTER COLUMN Nombre SET NOT NULL;
ALTER TABLE
Ventas068=> ALTER TABLE Alumno ALTER COLUMN Semestre SET NOT NULL;
ALTER TABLE
Ventas068=> ALTER TABLE Alumno add constraint ck_Edad Check(Edad>='17' and Edad<='50');
ALTER TABLE
Ventas068=> Alter table Alumno drop column Especialidad;
ALTER TABLE
Ventas068=> ALTER TABLE Alumno ADD COLUMN Carrera char(30);
ALTER TABLE
Ventas068=> ALTER TABLE Alumno alter column Carrera set not null;
ALTER TABLE
Los tipos de datos de la tabla Alumno en el campo Nualu no pudieron ser convertidos a integer debido a la complejidad del dato;se procedió a crear de nuevo la tabla con los tipos de datos requeridos.
Ventas068=> alter table ALumno alter column Nualu Type Integer;
ERROR: la columna «nualu» no puede convertirse al tipo «pg_catalog.int4»
Ventas068=> DROP TABLE Alumno;
DROP TABLE
Ventas068=> create table Alumno(Nualu integer, Nombre char(30) NOT NULL, Edad integer, Semestre integer NOT NULL, Carrerachar(30) NOT NULL, primary key(Nualu));
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «alumno_pkey» para la tabla «alumno»
CREATE TABLE

Ventas068=> ALTER TABLE Alumno add constraint ck_Semestre Check(Semestre>='0' and Semestre<='14');
ALTER TABLE

Ventas068=> alter table Alumno add constraint ck_Nombre Check(Nombre~*'^[A-Z,0-9, ]+$');
ALTER TABLEVentas068=> alter table Alumno add constraint ck_Carrera Check(Carrera~*'^[A-Z,0-9, ]+$');
ALTER TABLE
Una vez realizadas las modificaciones la tabla Alumnos queda de la siguiente manera:
Ventas068=> \d Alumno
Tabla «public.alumno»
Columna | Tipo | Modificadores
---------------+---------------------+---------------
nualu | integer | notnull
nombre | character(30) | not null
edad | integer |
semestre | integer | not null
ndices: | character(30) | not null
«alumno_pkey» PRIMARY KEY, btree (nualu)
Restricciones CHECK:
«ck_carrera» CHECK (carrera ~* '^[A-Z,0-9, ]+$'::text)
«ck_edad» CHECK (edad >= 17 AND edad <= 50)
«ck_nombre» CHECK(nombre ~* '^[A-Z,0-9, ]+$'::text)
«ck_nualu» CHECK (nualu >= 10 AND nualu <= 1000)
«ck_semestre» CHECK (semestre >= 0 AND semestre <= 14)

Ventas068=> alter table Materias alter column Nombre set not null;
ALTER TABLE
Ventas068=> alter table Materias alter column creditos set not null;
ALTER TABLE
Ventas068=> alter table Materias add constraint ck_NumatCheck(Numat>=500 and Numat <=1000);
ALTER TABLE

Ventas068=> alter table Materias add constraint ck_Nombre Check(Nombre~*'^[A-Z,0-9, ]+$');
ALTER TABLE
Ventas068=> ALTER TABLE Materias add constraint ck_Creditos Check(Creditos>='17' and Creditos<='50');
ALTER TABLE
Ventas068=> ALTER TABLE Materias add constraint ck_Nuprof Check(Nuprof>='500' and Nuprof<='1000');ALTER TABLE
Una vez realizadas las modificaciones la tabla Materias queda de la siguiente manera:
Ventas068=> \d Materias
Tabla «public.materias»
Columna | Tipo | Modificadores
---------------+------------------+---------------
numat | integer | not null
nombre | character(30)| not null
creditos | integer | not nullndices: | integer |
«materias_pkey» PRIMARY KEY, btree (numat)
Restricciones CHECK:
«ck_creditos» CHECK (creditos >= 17 AND creditos <= 50)
«ck_nombre» CHECK (nombre ~* '^[A-Z,0-9, ]+$'::text)
«ck_numat» CHECK (numat >= 500 AND numat <= 1000)
«ck_nuprof» CHECK (nuprof >= 500 AND nuprof <= 1000)
Restricciones de llave foránea:...
tracking img