Fundamentos Esenciales de SQL: Claves, Restricciones y Manipulación de Datos (DML)
Conceptos Fundamentales de Integridad de Datos en SQL
Definiciones de Clave Primaria y Clave Ajena
La cláusula PRIMARY KEY especifica la columna o columnas que forman la clave primaria de la tabla. Esta columna sirve como identificador único para cada fila de la tabla. El SGBD requiere que el valor de la PK sea único en cada fila de la tabla.
La cláusula FOREIGN KEY especifica la clave ajena en la tabla hija y la relación que crea con la clave primaria de otra tabla de la base de datos.
Restricciones (Constraints)
CONSTRAINT es una palabra clave que indica el principio de la definición de una restricción (PK, UNIQUE, FK o CHECK).
Las restricciones son propiedades especiales que exigen la integridad de los datos y crean tipos especiales de índices para la tabla y sus columnas.
Tipos de Restricciones Comunes
- PRIMARY KEY (PK): Es una restricción que exige la integridad de entidad para una o varias columnas dadas a través de un índice único. Solo se permite una restricción PK por tabla.
- UNIQUE: Se puede utilizar para asegurarse de que no se escriban valores duplicados en una o varias columnas específicas que no forman parte de una clave primaria.
Ejemplo de Creación de Tabla con Restricciones
A continuación, se muestra un ejemplo de la sentencia CREATE TABLE, incluyendo la definición de una clave primaria compuesta y una restricción de verificación (CHECK):
CREATE TABLE productos (
id_fab VARCHAR(3),
id_producto VARCHAR(5),
descripcion VARCHAR(20),
precio MONEY,
existencias SMALLINT,
CONSTRAINT pk_clave_productos PRIMARY KEY(id_fab, id_producto),
CONSTRAINT ck_precio CHECK (precio > 0)
);
Sentencias de Manipulación de Datos (DML)
Inserción de Valores NULL
Cuando se inserta una nueva fila de datos en una tabla, automáticamente se asigna un valor NULL a cualquier columna cuyo nombre falte en la lista de columnas de la sentencia INSERT.
Sentencia DELETE
La sentencia DELETE elimina filas seleccionadas de datos de una única tabla.
- La cláusula FROM especifica la tabla destino que contiene las filas.
- La cláusula WHERE especifica qué filas de la tabla van a ser suprimidas.
Sentencia UPDATE
La sentencia UPDATE modifica los valores de una o más columnas en las filas seleccionadas de una única tabla.
La tabla destino a actualizar se indica en la sentencia, y es necesario disponer de permiso para actualizar la tabla, así como cada una de las columnas individuales que serán modificadas.
- La cláusula WHERE selecciona las filas de la tabla a modificar.
- La cláusula SET especifica qué columnas se van a actualizar y calcula los nuevos valores.