Está en la página 1de 32

USO Y EXPLOTACIÓN DE

BASE DE DATOS
SQL SERVER BÁSICO
✓ Restricciones de columnas
– PRIMARY KEY
Sesión 3 – FOREING KEY
– UNIQUE
– CHECK
– NOT NULL
– DEFAULT
RESTRICCIONES DE COLUMNA
Restricciones de columnas
Las restricciones automáticamente fuerzan las integridad de datos. Es decir,
las restricciones definen reglas que determinan los valores de datos que se
permiten en una columna. Esto permite restringir los valores que se pueden
insertar en una columna, de modo que no se acepten los valores no válidos.

Existen dos tipos de restricciones:


• Restricciones de Columna ( o de una sola columna ): sólo restringe los
valores de esa columna.
• Restricción de tablas: restricciones que afectan a mas de una columna de
la tabla; se asegura que la combinación de los valores para las columnas
de las restricción cumplen los requerimientos de la restricción.
Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricción – PRIMARY KEY
Es la más común de todas debido a que cada una de nuestras tablas debe ser
completamente relacional y para lograr esto siempre debe existir una llave
primaria dentro de cada tabla que identifique cada fila como única.
Para generar una llave primaria desde la creación de una tabla:
Restricción – PRIMARY KEY
Modificando una tabla:

Eliminar restricción:
Restricción – PRIMARY KEY
Es posible agregar más columnas como parte de una llave primaria, se recomienda
como buena práctica utilizar una nomenclatura en el nombre de la restricción que
ayude a identificar de que tipo es, además de tener especial cuidado en nombrar
las columnas que forman parte de la llave primaria ya que estás mismas serán
utilizadas como referencia en una llave foránea en otra tabla. Cada vez que
generamos una llave primaria, esta crea un índice automáticamente.

Existen ciertos requerimientos para la creación de una llave primaria:


• La o las columnas utilizadas en una restricción PRIMARY KEY, no pueden
aceptar NULL.
• No se pueden repetir valores en la o las columnas, deben ser únicos.
• Solamente puede existir una restricción de tipo PRIMARY KEY por cada tabla.
Restricción – PRIMARY KEY
Para verificar las llaves primarias contenidas en nuestra base de datos podemos
utilizar el siguiente código:
Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricción – FOREIGN KEY
Restricción – FOREIGN KEY
• Se forma de una columna o la combinación de varias columnas de una tabla que
sirve como enlace hacia otra tabla donde en esta última, dicho enlace son la o las
columnas que forman la PRIMARY KEY.

• En la primera tabla donde creamos la llave foránea es posible que existan


valores duplicados de la/las columnas que conforman la llave primaria de la
segunda tabla.

• Las columnas involucradas en la llave foránea deben tener el mismo tipo de


datos que la llave primaria de la segunda tabla.

• Una llave foránea no crea un índice automáticamente, por lo que se recomienda


generar uno para incrementar el rendimiento de la consulta.
Restricción – FOREIGN KEY
Generar una llave foránea desde la creación de una tabla:

Modificando la tabla:
Restricción – FOREIGN KEY
Algunos requerimientos para la restricción FOREIGN KEY:
• Los valores ingresados en la o las columnas de la llave foránea, deben existir en la tabla a
la que se hace referencia en la o las columnas de la llave primaria.
• Solo se pueden hacer referencia a llaves primaria de tablas que se encuentren dentro de
la misma base de datos.
• Puede hacer referencia a otra columnas de la misma tabla.
• Solo puede hacer referencia a columnas de restricciones PRIMARY KEY o UNIQUE.
• No se puede utilizar en tablas temporales.
Para consultar las restricciones FOREIGN KEY, se puede utilizar:
Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricción – UNIQUE
La restricción UNIQUE asegura que una columna o un grupo de columnas no
permitirán valores repetidos – en otras palabras, se impone la unicidad de los
valores en la columna o el conjunto. Una restricción UNIQUE se puede utilizar en
cualquier columna que no sea parte de una restricción PRIMARY KEY, que también
impone valores únicos.

Este tipo de restricción es muy parecida a PRIMARY KEY, las diferencias son las
siguientes:
• La tabla puede tener más de una restricción de tipo UNIQUE.
• Si puede aceptar NULL, pero solo una fila puede contenerlo ya que como su
nombre lo indica, es de tipo UNIQUE o único.
Restricción – UNIQUE

Agregar restricción después de crear la tabla:


Restricción – UNIQUE
Eliminar restricción:

Para consultar las restricciones UNIQUE se puede utilizar:


Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricción – CHECK
Con este tipo de restricción, se especifica que los valores ingresados en la columna
deben cumplir la regla o formula especificada. Por ejemplo:
Restricción – CHECK
Algunos requerimientos son:
• Una columna puede tener cualquier número de restricciones CHECK.
• La condición de búsqueda debe evaluarse como una expresión booleana y no
puede hacer referencia a otra tabla.
• No se pueden definir restricciones CHECK en columnas de
tipo text, ntext o image.

Ventajas:
• Las expresiones utilizadas son similares a las que se usan en la clausula WHERE.
• Pueden llegar a ser una mejor alternativa que los TRIGGERS o disparadores.
Restricción – CHECK
Tener siempre en mente:
• Al momento de crear nuestra expresión, tomar en cuenta si la columna acepta
valores NULL, por ejemplo si definimos nuestra restricción que acepte solo
valores positivos ( nombreColumna1>=0), NULL es un valor desconocido por lo
tanto se insertará en la columna.
• No es posible obtener el valor previo después de realizar un UPDATE, si esto es
necesario se recomienda usar un TRIGGER.

Para consultar las restricciones CHECK se puede utilizar:


Restricción – CHECK
Agregar restricción:

Eliminar restricción:
Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricción – NOT NULL
De forma predeterminada, una columna puede contener valores NULOS.
La restricción NOT NULL fuerza a una columna NO aceptar valores NULL. Esto obliga
a un campo a contener siempre un valor, lo que significa que no puede insertar un
nuevo registro o actualizar un registro sin agregar un valor a este campo.
Restricciones de columnas
Los seis tipos de restricciones son:

RESTRICCIONES
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
Restricción – DEFAULT
Se puede decir que no es una restricción, ya que solo se ingresa un valor en caso de
que ninguno otro sea especificado. Si una columna permite NULL y el valor a
insertar no se especifica, se puede sustituir con un valor predeterminado.
Restricción – DEFAULT
Alterar restricción:

Eliminar restricción:
Restricciones de columnas
Los seis tipos de restricciones son:
¿El campo auto-
RESTRICCIONES incremental?
PRIMARY KEY
FOREING KEY
UNIQUE
CHECK
NOT NULL
DEFAULT
CAMPO – AUTOINCREMENTAL
El incremento automático permite que se genere automáticamente un número único
cuando se inserta un nuevo registro en una tabla. A menudo, este es el campo clave
principal que nos gustaría que se cree automáticamente cada vez que se inserta un
nuevo registro.

También podría gustarte