Está en la página 1de 11

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA


CIENCIA Y TECNOLOGÍA
UNIVERSIDAD TERRITORIAL DELTAICA FRANCISCO TAMAYO
PROGRAMA NACIONAL DE FORMACIÒN EN INFORMATICA
TUCUPITA, ESTADO DELTA AMACURO

Consultas avanzadas
De base de datos.

Profesor: Bachilleres:

- Profa. Yaquelin Madrid - Guzmán, Benis C.I:27.522.376


- Carrero, Génesis C.I; 28.140.984
- Soto, Greybis C.I: 27.604.945

SECCION: (Lab-04) TURNO: Mañana


(Trayecto IV) (Trimestre I)

Septiembre del 2022


INTRODUCCIÓN

El tema que a continuación se va a desarrollar trata sobre las consultas avanzadas.


En primer lugar, vamos a ver qué es una consulta y para qué se utiliza o como se realiza, ya
que es importante conocer a fondo las consultas básicas para poder entender las consultas
avanzadas.

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.

También hablaremos sobre los Tipos de datos, Definición de tablas, Modificación de


relaciones en el esquema, Valores por defecto,

Índices, Selección con índices. Por otro lado, conoceremos como Declarar claves primarias,
UNIQUE,

Restricciones sobre claves, Declaración de retracciones de integridad referencial,


Mantenimiento de integridad referencial, Chequeo diferido de restricciones. También
conoceremos la Inserción, Eliminación y Actualización y para finalizar se realizará
declaración de vistas, Consultas sobre vistas, Modificación de vistas, Consultas que
involucran vistas.

De acuerdo a todo lo que se desarrolle en relación al tema, se aspira obtener conocimientos


que nos puedan ser útiles en el futuro a la hora de desempeñarnos como profesionales en el
futuro.
1. CONSULTAS

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.

- Cómo utilizar sub-consultas

Cuando decida utilizar sub-consultas, tenga en cuenta los siguientes hechos e instrucciones:

• Las sub-consultas se deben incluir entre paréntesis.

• Se pueden utilizar sub-consultas en lugar de una expresión siempre y cuando-se devuelva


un solo valor o una lista de valores.

• Se pueden utilizar sub-consultas que devuelvan un conjunto de registros de varias


columnas en-lugar de una tabla o para realizar la misma función que una combinación.

• 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.

- Sub-Consultas que producen valores escalares:

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.

- Condiciones que involucran relaciones:

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.

- Condiciones que involucran tuplas:

En informática, o concretamente en el contexto de una base de datos relacional, un registro


(también llamado fila o tupla) representa un objeto único de datos implícitamente
estructurados en una tabla. En términos simples, una tabla de una base de datos puede
imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un
conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma
estructura. Las tuplas son estructuras de datos que constan de varios campos que pueden
contener datos de tipos distintos. El acceso al contenido de los campos en las tuplas se hace
utilizando el nombre de los campos en lugar de su posición.

3. CLAUSULA HAVING

Así como la cláusula "where" permite seleccionar (o rechazar) registros individuales; la


cláusula "having" permite seleccionar (o rechazar) un grupo de registros.

Si queremos saber la cantidad de libros agrupados por editorial usamos la siguiente


instrucción ya aprendida:

select editorial, count(*)

from libros group by editorial;

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:

select editorial, count(*) from libros group by editorial having count(*)>2;

Se utiliza "having", seguido de la condición de búsqueda, para seleccionar ciertas filas


retornadas por la cláusula "group by".

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:

select editorial, avg(precio) from libros


group by editorial having avg(precio)>25;

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:

select editorial, count(*) from libros where editorial<>'Planeta' group by editorial;

select editorial, count(*) from libros

group by editorial having editorial<>'Planeta';

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".

No debemos confundir la cláusula "where" con la cláusula "having"; la primera establece


condiciones para la selección de registros de un "select"; la segunda establece condiciones
para la selección de registros de una salida "group by".

Veamos otros ejemplos combinando "where" y "having". Queremos la cantidad de libros,


sin considerar los que tienen precio nulo, agrupados por editorial, sin considerar la editorial
"Planeta":

4. TIPOS DE DATO

Tipo de dato es un concepto propio de la informática, presente en cualquier lenguaje de


programación, donde cada entorno de programación tiene su modo particular de definirlos.
Los hay muy diversos, clasificados por grupos, definidos por el usuario... pero para lo que
aquí nos ocupa vamos a considerar solamente estos cuatro tipos de dato:

• Cadena (cadena de texto o alfanumérica)

• Número entero (sin decimales)

• Número decimal (parte entera + parte decimal)

• 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.

6. MODIFICACION DE RELACION EN EL ESQUEMA Modificación de


Esquemas:

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:

• Crear o quitar una relación.

• Añadir o eliminar atributos de un esquema de relaciones.

Esta simplicidad no se cumple en los esquemas de bases de datos orientadas a objetos.

Fuentes:

1. Cambios Complejos: los tipos de modificación que pueden hacerse en un esquema


orientado a objetos son más complejos que los que pueden hacerse en un esquema de base
de datos relacional.

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.

A. Eliminación de una Clase: la eliminación en una base de datos orientada a objetos


requiere varias operaciones, las variables y los métodos que heredan las subclases se deben
volver a eliminar. Cualquier cambio en una subclase puede que necesite propagarse a las
subclases, y así sucesivamente; las instancias de las clases eliminadas deben hacerse
instancias de otra clase, generalmente un padre de la clase eliminada.

B. Modificación de una Definición de Clase: puede definirse una nueva o variable o


método o puede eliminarse una definición de una variable o un método, como en los casos
anteriores, la definición de las subclases puede verse afectada.

C. Reposición de Clases de la Jerarquía o el D. A. G.: toda reestructuración tiene


consecuencias en la herencia de las antiguas y nuevas subclases de la clase reposicionada.

7. VALORES POR DEFECTO, INDICES, SELECCIÓN DE INDICES

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":

create table libros (codigo int identity, titulo varchar(40),

autor varchar(30) not null default 'Desconocido',

editorial varchar(20), precio decimal(5,2), cantidad tinyint default 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.

La definición de los índices de la base de datos es tarea del administrador de la base


de datos, los administradores más experimentados pueden diseñar un buen conjunto de
índices, pero esta tarea es muy compleja, consume mucho tiempo y está sujeta a errores,
incluso con cargas de trabajo y bases de datos con un grado de complejidad no excesivo.
CONCLUSION.

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:

Es una colección de datos o información usados para dar servicios a muchas


aplicaciones al mismo tiempo. En cuanto al requerimiento podemos decir que cumple las
mismas tareas de análisis que del software y tiene como característica relacionar la
información como vía organización y asociación donde la base de datos tiene una ventaja
que es utilizar la plataforma para el desarrollo del sistema de aplicación en las
organizaciones.

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.

Sistemas de gestión, es un sistema de desarrollo que hace posible ascender a datos


integrados funcionales y organizacionales de una empresa.

Otro punto importante sería la creación de un informe y consultas dentro de una


base de datos. Los informes de base de datos están definidos por bandas de informe, estas
bandas de informe se definen cinco tipos de diferentes funciones en el informe, por
ejemplo, la cabecera que aparece en la parte superior de cada página, líneas de detalle y
resumen de informe. El informe se pueda crear rápido y personalizado.

La creación de consultas de base de datos consta de archivos que permiten realizar


muchas tareas diferentes con los datos que se pueden ver. También se pueden utilizar para
controlar los registros que visualiza Dbase la consulta no contiene información de base de
datos, si no tan solo las instrucciones necesarias para seleccionar los registros y campos
requeridos de una base de datos.

También podría gustarte