Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Captulo V
Lenguaje SQL
Restricciones y Consultas Avanzadas
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 vlidos.
nombre nvarchar(20),
CONSTRAINT UQ_rut_digito UNIQUE NONCLUSTERED (rut,digito)
)
UQ_nombre_restriccion
UNIQUE
CLUSTERED
Nomenclatura AGRUPADO
ALTER TABLE nombre_tabla
ADD CONSTRAINT UQ_nombre_restriccion
(campo1, ., campoN)
INF 340 - Bases de Datos
UNIQUE
NONCLUSTERED
Ac se
se crea
crea lala tabla
tabla luego
luego de
de esto
esto
Ac
realice las
las restricciones
restricciones con
con ALTER
ALTER
realice
TABLE.
TABLE.
nombre nvarchar(20)
)
INF 340 - Bases de Datos
la
restriccin
UQ_nombre_ALT
de
la
tabla
Compruebe sisi se
se cumple
cumple lala
Compruebe
restriccin de
de clave
clave primaria
primaria
restriccin
ingresandodos
dosfilas
filascon
conelelmismo
mismo
ingresando
cdigo.
cdigo.
)
Adems usando CREATE TABLE se le puede asignar un nombre a la restriccin
PRIMARY KEY (IDEAL) , usando la siguiente nomenclatura:
Para cuando se coloca al lado del campo:
nombre_campo tipo_dato CONSTRAINT PK_nombre_clave PRIMARY KEY
Para cuando se coloca antes de cerrar el CREATE TABLE
CONSTRAINT PK_nombre_clave PRIMARY KEY (columna o columnas)
INF 340 - Bases de Datos
Para probar
probar lala realidad
realidad de
de lala restriccin
restriccin ingrese
ingrese un
un
Para
registro aa lala tabla
tabla Ejemplo_CK
Ejemplo_CK con
con un
un codigo
codigo con
con valor
valor
registro
mayorque
que100.
100.
mayor
Permite concatenar en una sola salida varios campos. Los campos deben ser String,
sino lo son se pueden trasformar utilizando la operacin convert (tipo dato, campo)
Este operador se utiliza en la clusula where, para poder restringir una lista de seleccin
segn un rango de valores.
NOMENCLATURA:
WHERE Nombre_Columna BETWEEN parametro1 AND parametro2
NOTA: parametro1 (Mnimo) y parametro2 (Mximo)
Ejemplo 4: Suponga que queremos ver aquellos productos (Tabla Products) cuyos
valores se encuentran entre los 4 y 20 Dlares.
Select *
from Products
where UnitPrice Between 5.0 and 20.0
INF 340 - Bases de Datos
Esta palabra clave indica el patrn de ajuste con una condicin de bsqueda. La
coincidencia de patrones significa analizar una coincidencia entre una expresin y el
patrn especificado en la condicin de bsqueda.
NOMENCLATURA:
Columna_Tabla LIKE Patron_de_Busqueda
Si la expresin coincide con el patrn se devuelve un valor booleano TRUE. En caso
contrario se devuelve FALSO. La expresin (COLUMNA_TABLA) debe ser de tipo
carcter.
Los patrones son realmente expresiones de cadena. Y van acompaados de caracteres
de comodn, que colocados en a expresin toman un significado especial.
Carcter Comodn
Descripcin
[]
[^ ]
SELECT LastName
FROM Employees
WHERE LastName LIKE 'S%' Ac se arma la frase con el comodn
Ejemplo 8: Para recuperar el apellido de los Empleados cuya primera letra comienza
entre <<A>> y <<M>>. Utilice el comodn [ ].
SELECT LastName
FROM Employees
WHERE LastName LIKE '[A-M ]%'
INF 340 - Bases de Datos
Ejemplo 9: Usar Base de Datos Pubs. Para recuperar la informacin de un autor cuyo ID
comienza con el numero 724, sabiendo que cada ID tiene el formato de tres dgitos
seguidos por un guin, seguido por dos dgitos, otro guin y finalmente cuatro dgitos.
Utilizar el comodn _ .
Select *
from authors
where au_id LIKE '724-__-____'
Realiza un testeo para valores que son Nulos. Retorna True si la columna es NULL sino
retorna FALSE.
NOMENCLATURA:
WHERE Columna IS NULL
Ejemplo 10: Usar base de datos Northwind. Liste todos los campos de la tabla Suppliers
cuya columna Regin sea NULL.
Select *
from Suppliers
where Region is null
Resultado
COUNT(*)
MAX(expression)
MIN(expression)