Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Consultas avanzadas
De base de datos.
Profesor: Bachilleres:
De las consultas avanzadas se derivan otros temas importantes que iremos desarrollando
cómo lo son las Consultas que producen valores escalares, condiciones que involucran
relaciones, Condiciones que involucran tuplas, Sub-Consultas en clausuras FROM; Así
como también Eliminación de duplicado, Agrupación y agregación en SQL, Clausuras
HAVING.
Índices, Selección con índices. Por otro lado, conoceremos como Declarar claves primarias,
UNIQUE,
Las consultas son objetos que vamos a utilizar para visualizar parte de la información
contenida en nuestras bases de datos desde una perspectiva más detallada y más adaptada a
las necesidades concretas a una situación puntual, en contraposición al contenido total de
las tablas de nuestra base de datos.
Se pueden realizar sobre una o varias tablas relacionadas y el resultado que devuelven se
muestran también en forma de tabla.
2. SUB-CONSULTAS
Una subconsulta, o una consulta dentro de una consulta, pueden ponerse dentro de la
cláusula WHERE de una consulta. Esto produce una expansión de las capacidades de una
cláusula WHERE.
La consulta que incluye a esta subconsulta se llama consulta externa (outer query) o
consulta principal. La subconsulta puede ejecutarse lógicamente antes de que alguna fila
sea examinada por la consulta principal. En cierto sentido, la subconsulta es independiente
de la consulta principal. Esta podría ejecutarse como una consulta propiamente dicha. Se
dice que esta clase de subconsulta no está correlacionada con la consulta principal. Las
subconsultas pudieran también estar correlacionadas.
Cuando decida utilizar sub-consultas, tenga en cuenta los siguientes hechos e instrucciones:
• No se pueden utilizar sub-consultas que recuperen columnas con tipos de datos Text e
image
• Puede tener sub-consultas dentro de sub-consultas, con una anidación de hasta 32 niveles.
El límite varía según la cantidad de memoria disponible y la complejidad de las otras
expresiones de la consulta. Las consultas individuales pueden no admitir una anidación de
hasta 32 niveles.
Un valor escalar puede ser entendido como un valor numérico, aunque también se
consideran escalares los caracteres o las cadenas de caracteres (considerando éstas como un
tipo de datos elemental, no como un vector de caracteres).
Una sub consulta que obtiene exactamente un valor de una columna de una fila es también
llamada sub consulta escalar. El valor de una expresión en una sub consulta escalar es el
valor del elemento de la lista seleccionado de la sub consulta.
Ejemplo: Empleados que ganan más que el promedio de salarios pagados en el depto 20.
ANY. Chequean si alguna fila de la lista resultado de una subconsulta se encuentra el valor
especificado en la condición. Compara un valor escalar con los valores de un campo y
devuelven "true" si la comparación con cada valor de la lista de la subconsulta es
verdadera, sino "false". El tipo de datos que se comparan deben ser compatibles.
ALL: También compara un valor escalar con una serie de valores. Chequea si TODOS los
valores de la lista de la consulta externa se encuentran en la lista de valores devuelta por la
consulta interna.
EXITS: Cuando anidamos sentencias SELECT, todos los operadores lógicos son válidos.
En suma, se puede usar el operador EXISTS. Este operador es frecuentemente usado en sub
consultas relacionales para verificar cuando un valor recuperado por la consulta externa
existe en el conjunto de resultados obtenidos por la consulta interna. Si la sub consulta
obtiene al menos una fila, el operador obtiene el valor TRUE. Si el valor no existe, se
obtiene el valor FALSE. Consecuentemente, NOT EXISTS verifica cuando un valor
recuperado por la consulta externa no es parte del conjunto de resultados obtenidos por la
consulta interna.
Ejemplo: Empleados con salario superior a todos los salarios del depto 10.
3. CLAUSULA HAVING
Si queremos saber la cantidad de libros agrupados por editorial pero considerando sólo
algunos grupos, por ejemplo, los que devuelvan un valor mayor a 2, usamos la siguiente
instrucción:
Veamos otros ejemplos. Queremos el promedio de los precios de los libros agrupados por
editorial, pero solamente de aquellos grupos cuyo promedio supere los 25 pesos:
En algunos casos es posible confundir las cláusulas "where" y "having". Queremos contar
los registros agrupados por editorial sin tener en cuenta a la editorial "Planeta". Analicemos
las siguientes sentencias:
Ambas devuelven el mismo resultado, pero son diferentes. La primera, selecciona todos los
registros rechazando los de editorial "Planeta" y luego los agrupa para contarlos. La
segunda, selecciona todos los registros, los agrupa para contarlos y finalmente rechaza fila
con la cuenta correspondiente a la editorial "Planeta".
4. TIPOS DE DATO
• Fecha
5. DEFINICION DE TABLAS
Las Tablas son objetos de la base de datos que contienen la información de los usuarios,
estos datos están organizados en filas y columnas, similar al de una hoja de cálculo. Cada
columna representa un dato aislado y en bruto que por sí solo no brinda información, por lo
tanto estas columnas se deben agrupar y formar una fila para obtener conocimiento acerca
del objeto tratado en la tabla. Por ejemplo, puede definir una tabla que contenga los datos
de los productos ofertados por una tienda, cada producto estaría representado por una fila
mientras que las columnas podrían identificar los detalles como el código del producto, la
descripción, el precio, las unidades en stock, etc.
En la introducción a este punto observamos que los tipos de modificación que pueden
hacerse en un esquema de base de datos relacional son bastantes simples:
Fuentes:
2. Cambios Frecuentes: las aplicaciones que motivan el uso del modelo orientado a objetos
requieren cambios de esquema frecuentes, las aplicaciones de diseño a menudo implican: la
alteración de la estructura del elemento que se está diseñando, mientras en el ejemplo
bancario, los datos descriptivos que se requieren para préstamos, cuentas, etc., cambian
relativamente poco.
Tipos:
a. Adición de una Nueva Clase: esta adición en una base de datos orientada a objetos
implica más de lo que implicaba la adición de un esquema de relaciones en una base de
datos relacional, la nueva clase debe colocarse en la jerarquía de Clase / Subclase o D. A.
G., y deben resolverse los problemas de herencia. Si la nueva clase no es un nodo hoja en la
jerarquía o el D. A. G., puede que la subclase de la nueva clase necesita heredar variables o
métodos de la nueva clase, lo mismo se aplica a las subclases y así sucesivamente.
Hemos visto que si al insertar registros no se especifica un valor para un campo que
admite valores nulos, se ingresa automáticamente "null" y si el campo está declarado
"identity", se inserta el siguiente de la secuencia. A estos valores se les denomina valores
por defecto o predeterminados.
Un valor por defecto se inserta cuando no está presente al ingresar un registro y en algunos
casos en que el dato ingresado es inválido.
Para campos de cualquier tipo no declarados "not null", es decir, que admiten valores nulos,
el valor por defecto es "null". Para campos declarados "not null", no existe valor por
defecto, a menos que se declare explícitamente con la cláusula "default".
Para todos los tipos, excepto los declarados "identity", se pueden explicitar valores por
defecto con la cláusula "default".
Podemos establecer valores por defecto para los campos cuando creamos la tabla. Para ello
utilizamos "default" al definir el campo. Por ejemplo, queremos que el valor por defecto del
campo "autor" de la tabla "libros" sea "Desconocido" y el valor por defecto del campo
"cantidad" sea "0":
- Definición de índice
Un índice es una estructura de datos definida sobre una columna de tabla (o varias) y
que permite localizar de forma rápida las filas de la tabla en base a su contenido en la
columna indexada además de permitir recuperar las filas de la tabla ordenadas por esa
misma columna.
Funciona de forma parecida al índice de un libro donde tenemos el título del capítulo y la
página donde empieza dicho capítulo, en un índice definido sobre una determinada
columna tenemos el contenido de la columna y la posición de la fila que contiene dicho
valor dentro de la tabla.
Luego de haber concluido este trabajo de investigación sobre bases de datos fueron
muchos los esfuerzos y conocimientos adquiridos durante dicha elaboración. Algunos de
los aspectos aprendidos y que de gran peso es la base de datos su definición, requerimiento,
ventajas y características donde podemos decir que la base de datos:
Otro aspecto importante sería el diseño y creación de la base de datos, donde existen
distintos modos de organizar la información y representar las relaciones entre por datos los
tres modelos lógicos principales dentro de una base de datos son el jerárquico, de redes y el
relacional, los cuales tiene ciertas ventajas de procesamiento y de negocios.
Otro punto necesario es la clase de bases de datos las cuales son, base de dato
documental, base de datos distribuidas y base de datos orientadas a objetos e hipermedia y
tienen como función derivar, almacenar y procesar datos dentro de una información.
Los gráficos y tablas nos sirven para resumir en un dibujo toda una serie de datos
mucho más explícito y fácil de asimilar, los tipos de gráficos que se pueden utilizar en una
base de datos son: gráficos de pastel, barra y discretos.