Documente Academic
Documente Profesional
Documente Cultură
l Una Base de Datos relacional constará de varias tablas con las que
se pueden efectuar tres operaciones fundamentales, llamadas
operaciones relacionales, que permiten a creación de nuevas tablas a
partir de las ya existentes.
l Selección (Selection)
l Proyección (Projection)
l Concatenación (Join)
Selección
Proyección
3 Polìtica R. Tamames ¿Quo vadis Esp.? P039 1975 1 ¿Quo vadis Esp.? 1
Concatenación
S MENOS R R MENOS S
R R
S S
l Nombres de Tablas
l Tiene un determinado número máximo de caracteres (SGBD)
de subrayado
l Se especifica después del comando CREATE TABLE
l Nombres de Columnas
l Se formulan de acuerdo a reglas sintácticas, al igual que los
nombres de tablas.
l Deben ser únicos dentro de una tabla dada.
Nombres, direcciones
l Importes Monetarios: MONEY(p,s) Cantidades monetarias
BINARY(n), VARBINARY(n)
DEPARTAMENTO
Nombre Tipo de datos Longitud Contenido
DEPT Carácter 3(fijo) Departamento (único)
DEDIF Carácter 2(fijo) Edifico
DDESPACHO Entero 3 Despacho
DCHFNO Entero 2 Director
6.6 Un ejemplo: Datos
Tabla CURSO
Tabla DEPARTAMENTO
THEO HU 200 10
CIS SC 300 80
PHIL HU 100 60
l Constantes de cadenas
l Constantes de fecha y hora
l Constantes simbólicas
l Resta: (X – Y)
l Multiplicación: (X * Y)
l División: (X / Y)
DECIMAL, INTEGER
Conversión de tipos de datos
FLOAT, DIGITS,HEX
Argumento Descripción
Tabla El nombre de la tabla que se va a crear
Campo1, campo2 El nombre del campo o de los campos que se van a crear en la nueva tabla.
Debe crearse al menos un campo
Tipo El tipo de datos de campo en la tabla nueva
Índice1, índice2 Una cláusula CONSTRAIN que define un índice de un solo campo
índiceMúltiplesCampos Una cláusula CONSTRAIN que define un índice de múltiples campos
Argumento Descripción
Nombre El nombre de la restricción que se va a crear
Principal1, principal2 El nombre del campo o campos que se van a designar como clave principal
Único1, único2 El nombre del campo o campos que se van a designar como clave única
noNull1, noNull2 El nombre del campo o de los campos que se van a limitar a valores que no sean Null
Ref1, ref2 El nombre del campo o de los campos de la clave externa a los que se hace
referencia en otra tabla
tablaExterna El nombre de la tabla externa que contiene el campo o campos dados por
campoExterno
campoExterno1, El nombre del campo o de los campos en tabla externa especificados por ref1, ref2.
campoExterno2 Puede omitir esta cláusula si el campo al que se hace referencia es la clave principal
de tabla externa
Argumento Descripción
Predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCTROW o TOP
* Selecciona todos los campos de la tablas o tablas
Tabla El nombre de la tabla que contiene los campos a seleccionar
Campo1, campo2 Los nombres de los campos a seleccionar
Alias1, alias2 Los nombres que se van a usar como encabezados
expresiónTabla El nombre de la tabla o tablas que contienen los datos que se desean recuperar
baseDatosExterna El nombre de la base de datos que contiene las tablas si no están en la base de datos activa
9.1 Cláusula FROM, WHERE y GROUP BY
Cláusula FROM
SELECT listaCampos
FROM expresiónTabla [IN baseDatosExterna]
Cláusula WHERE
SELECT listaCampos
FROM expresiónTabla
WHERE criterios
Cláusula GROUP BY
SELECT listaCampos
FROM Tabla
WHERE criterios
[ GROUP BY listaCamposGrupo]
María Teresa Torrijos Muñoz
SQL
Diseño de Bases de Datos
Primavera 2018
9.2 Cláusula ORDER BY
Cláusula ORDER BY
SELECT listaCampos
FROM tabla
WHERE criteriosSelección
[ ORDER BY campo1 [ ASC ! DESC ] [ campo2 [ ASC ! DESC ] ... ]
Argumento Descripción
listaCampos El nombre del campo o de los campos que se van a recuperar junto con cualquier alias de nombre
de campo, función de agregado SQL, predicado de selección (ALL, DISTINCT,..) u otras opciones
del comando SELECT
Tabla El nombre de la tabla de la que se va a recuperar los registros
criteriosSelección Si la instrucción incluye una cláusula WHERE, Oracle agrupará los valores después de aplicar las
condiciones de la cláusula WHERE a los registros
listaCamposGrupo Los nombres de hasta 10 campos que se van a utilizar para agrupar registros. El orden de los
nombres de los campos en listaCamposGrupo determina los niveles de agrupamiento desde el más
alto hasta el más bajo
criteriosGrupo Una expresión que determina qué registros agrupados se van a mostrar.
10 Operadores de conjuntos
• La tabla siguiente muestra la sintaxis de los operadores
de conjuntos
l La tabla DUAL es una tabla muy pequeña con únicamente una fila y
una columna. Suele utilizarse para probar<funciones o para realizar
cálculos rápidos.
l Obtener toda la información sobre los cursos de tres créditos ofrecidos por el departamento de
Filosofía 42
l Obtener toda la información sobre cualquier curso que tenga una tarifa entre 100 y 500, ambos
inclusive 43
l Obtener los vendedores que están por debajo de la cuota y tienen ventas inferiores a 300,000 44
l Obtener los vendedores que están por debajo de la cuota o con ventas inferiores a 300,000 45
l Obtener los salarios de todo el personal y del claustro de la facultad en una tabla única 46
l Obtener los salarios de todo el personal y del claustro de la facultad en una tabla única sin
eliminar valores duplicados en el resultado. 47
l Listar todos los productos cuyo precio unitario excede de 2,000 o con importe de pedido superior
a 30,000 usando DISTINCT 48
l Listar todos los productos cuyo precio unitario excede de 2,000 o con importe de pedido superior
a 3,000 sin hacer uso de DISTINCT 49
l El anterior usando UNION ALL 50
l Listar todos los productos cuyo precio unitario excede de 2,000 o con importe de pedido superior
a 3,000, ordenando los resultados por fabricante y número de pedido. 51