Vous êtes sur la page 1sur 23

CREACION DE TABLAS Y

RESTRICCIONES
Administracion de Base de Datos en Postgresql
CREACION DE TABLAS.
La sentencia CREATE TABLE sirve para crear la
estructura de una tabla no para rellenarla con
datos, nos permite definir las columnas que tiene
y ciertas restricciones que deben cumplir esas
columnas.



Nbtabla: Nombre de la tabla.
Nbcol: Nombre de la columna.
Tipo: Tipo de dato de la columna.

CREACION DE TABLAS.
restriccin1: una restriccin de tipo 1 es una restriccin
que aparece dentro de la definicin de la columna despus
del tipo de dato y afecta a una columna, la que se est
definiendo.


CREACION DE TABLAS.
restriccin2: una restriccin de tipo 2 es una restriccin
que se define despus de definir todas las columnas de la
tabla y afecta a una columna o a una combinacin de
columnas.

MODIFICANDO LA ESTRUCTURA DE UNA
TABLA





La sintaxis de restriccion1 y restriccion2 es idntica a la
restriccin1 y restriccion2 de la sentencia CREATE TABLE
ELIMINACIN DE UNA TABLA
Drop table NombreTabla
TIPOS DE DATOS.

TIPOS DE DATOS.

TIPOS DE DATOS.

TIPOS DE DATOS.

TIPOS DE DATOS.

TIPOS DE DATOS.






Tipos de datos binarios
Tipos booleano.
TIPOS DE INTEGRIDAD DE DATOS.
Integridad de dominio
(columnas)
Integridad de entidad (filas)
Integridad referencial
(entre tablas)
EXIGIR INTEGRIDAD DE LOS DATOS
Integridad de datos declarativa
Los criterios se definen en la definicin del objeto
Asegurada automticamente por SQL Server
Implementada mediante restricciones, valores
predeterminados y reglas
Integridad de datos procedimental
Los criterios se definen en una secuencia de
comandos
Asegurada mediante secuencia de comandos
Implementada mediante desencadenadores y
prodedimientos almacenados

DETERMINACIN DEL TIPO DE RESTRICCIN
QUE SE VA A UTILIZAR

Tipo de integridad Tipo de restriccin
Dominio
DEFAULT
CHECK
REFERENTIAL
Entidad
PRIMARY KEY
UNIQUE
Referencial
FOREIGN KEY
CHECK
CREACIN DE RESTRICCIONES
Utilizar CREATE TABLE o ALTER TABLE
Puede agregar restricciones a una tabla con datos
existentes
Puede aplicar restricciones a una sola columna o a
varias columnas
Una sola columna, se llama restriccin de columna
Varias columnas, se llama restriccin de tabla

CONSIDERACIONES PARA EL USO DE
RESTRICCIONES
Pueden cambiarse sin volver a crear una tabla
Requieren comprobacin de errores en
aplicaciones y transacciones
Comprueban los datos existentes

TIPOS DE RESTRICCIONES
Restricciones DEFAULT
Restricciones CHECK
Restricciones PRIMARY KEY
Restricciones UNIQUE
Restricciones FOREIGN KEY
Integridad referencial en cascada

RESTRICCION DEFAULT
Slo se aplica a las instrucciones INSERT
Slo una restriccin DEFAULT por columna
Permite que se especifiquen algunos valores
proporcionados por el sistema

alter table alumno alter column
direcciondomicilio set Default 'Sin Direccion';
RESTRICCION CHECK
Se utilizan con las instrucciones INSERT y
UPDATE
Pueden hacer referencia a otras columnas en la
misma tabla
No pueden:
Contener subconsultas

alter table Curso
add constraint ck_curso_ciclo Check(ciclo between 1 and 10);

alter table Grupo
add check(estado in('A','C','B'));
RESTRICCION PRIMARY KEY
Slo una restriccin PRIMARY KEY por tabla
Los valores deben ser exclusivos
No se permiten valores nulos
Crea un ndice exclusivo en las columnas
especificadas

Create table Facultad
(
facultadID integer,
nombreFacultad varchar(100) not null
);
Alter table Facultad
Add constraint pk_Facultad_facultadID Primary key(facultadID);
RESTRICCION UNIQUE
Permite un valor nulo
Permite varias restricciones UNIQUE en una
tabla
Definidas con una o ms columnas
Exigida con un ndice nico

alter table alumno
add constraint u_alumno_numerocarnet unique(numerocarnet);
RESTRICCION FOREIGN KEY
Deben hacer referencia a una restriccin PRIMARY KEY o
UNIQUE
Proporcionan integridad referencial de una o de varias
columnas
No crean ndices automticamente
Los usuarios deben tener permisos SELECT o
REFERENCES en las tablas a las que se hace referencia
Usa slo la clusula REFERENCES en la tabla de ejemplo

Alter table EscuelaProfesional
Add constraint fk_1 foreign key(facultadID) references
Facultad(facultadID)

Vous aimerez peut-être aussi