Science And Technology">
Nothing Special   »   [go: up one dir, main page]

BASE DE DATO (Tercer Parcial)

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

Universidad Tecnológica de Santiago

(UTESA)

Asignatura:
Base de datos 1

Tema:
Tercer parcial
Nombre:
Rafael Enrique Torrens Hernández

Matricula:
1-17-3961

Secciones:
005 y 002

Profesor:
Neldo Ortega

Santo Domingo Rep. Dom.


Martes 10 De Diciembre del 2019

BASE DE DATO (SQL)


El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos
normalizado, utilizado por los diferentes motores de bases de datos para realizar
determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero
como sucede con cualquier sistema de normalización hay excepciones para casi todo; de
hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro
motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servirá para resolver
todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en
ANSI será interpretable por cualquier motor de datos.

La historia de SQL empieza en 1974 con la definición, por parte de Donald Chamberlin
y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un
lenguaje para la especificación de las características de las bases de datos que adoptaban
el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English Query
Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975.
Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión
del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos
legales, convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se
adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos.
Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras
compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir
de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a
vender DB2.

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como
estándar para los lenguajes relacionales y en 1987 se transformó en estándar ISO. Esta
versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha
sufrido diversas revisiones que han conducido primero a la versión SQL/89 y,
posteriormente, a la actual SQL/92.

Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los
comités ANSI e ISO, que debería terminar en la definición de lo que en este momento
se conoce como SQL3. Las características principales de esta nueva encarnación de
SQL deberían ser su transformación en un lenguaje stand-alone (mientras ahora se usa
como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos
más complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los
comités ANSI e ISO, que debería terminar en la definición de lo que en este momento
se conoce como SQL3. Las características principales de esta nueva encarnación de
SQL deberían ser su transformación en un lenguaje stand-alone (mientras ahora se usa
como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos
más complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de


agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.

Existen dos tipos de comandos SQL:

 DLL que permiten crear y definir nuevas bases de datos, campos e índices.
 DML que permiten generar consultas para ordenar, filtrar y extraer datos
de la base de datos.
Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.
En la actualidad el lenguaje SQL es aceptado por la mayoría de las bases de datos y
proporciona un modo sencillo e intuitivo de leer, introducir o modificar la información
contenida en las tablas. A lo largo de este artículo se introducirán los conceptos
básicos de este lenguaje a través de una serie de sencillos ejemplos.

Su conocimiento es indispensable ya que prácticamente todas las aplicaciones cuentan


con un repositorio de datos al que hay que acceder en un momento u otro mediante una
consulta SQL.

Se podría decir que el lenguaje SQL proporciona un medio para representar de manera
formal instrucciones como, por ejemplo, “Quiero todos los nombres y apellidos de la
tabla ‘Contactos’ ordenados alfabéticamente”; o “Borra todos los registros de la tabla
‘Contactos’ cuyo teléfono esté en blanco.” El objetivo del lenguaje SQL es sintetizar
esta forma natural de expresar acciones que se refieren a tablas de una base de datos.

Crear una base de datos


Con Access, crear una base de datos es muy fácil. Los siguientes puntos muestran los
pasos a seguir:

Paso 1: Nueva Base De Datos


Haciendo doble clic sobre el icono del programa se abre Access. Automáticamente se
muestra una ventana que ofrece al usuario tres posibilidades. De entre todas ellas se
debe seleccionar “Base de datos de Access en blanco”.

Paso 2: Archivo .mdb


Las bases de datos Access utilizan archivos .mdb para guardar la información. El
siguiente paso consiste pues en seleccionar el directorio donde se desea guardar el
archivo, así como el nombre del mismo.

Paso 3: Ventana principal de la base de datos


La ventana principal contiene la mayor parte de las opciones y menús que se utilizarán
durante una típica sesión de Access. Para crear una tabla nueva hay que seleccionar la
opción “Crear una tabla en vista Diseño”.

Paso 4: Definir el nombre y el tipo de los campos


En la columna de la izquierda se debe introducir el nombre de los campos y en la
columna de la derecha el tipo de los mismos. Éste puede elegirse de entre una lista que
aparece de manera automática al escribir o hacer clic con el ratón. En la zona inferior de
la pantalla aparece además una pestaña que permite configurar parámetros tales como la
obligatoriedad de un campo o, por ejemplo, el tamaño máximo de caracteres permitido.

Paso 5: Nombre de la tabla


Al cerrar la ventana de definición de los campos Access solicita el nombre que se quiere
dar a esa tabla.

Paso 6: Clave primaria


Una clave primaria es un campo de la tabla que identifica unívocamente a un registro.
El DNI en una tabla de personas es el caso más típico que suele mencionarse para
explicar este concepto: identifica de manera indiscutible a un único individuo y no
puede repetirse, por lo que es la clave primaria de una tabla de esas características. No
es obligatorio definir una clave primaria.

Paso 7: Ventana principal


Una vez que la tabla ha sido definida, aparece el nombre de la misma en la ventana
principal de la aplicación como puede verse en la imagen.

Paso 8: Introducir datos


Haciendo doble clic en el nombre de la tabla, en la ventana principal, se muestra una
tabla mediante la cual es posible introducir registros. Todos los cambios son guardados
inmediatamente sin necesidad de tener que salvar.

Crear una consulta

Antes de pasar a estudiar la sintaxis de las sentencias SQL es preciso ver cómo se
puede crear una consulta con Access.

Paso 1: Ventana principal de la aplicación


En el menú de la izquierda hay que seleccionar el botón “Consultas” y hacer clic en la
opción “Crear una consulta en vista Diseño”.

Paso 2: Selección de las tablas implicadas


La aplicación Access cuenta con un asistente para realizar consultas. Aunque puede ser
muy práctico nuestro objetivo es aprender a desarrollar estas consultas utilizando el
lenguaje SQL.

Por este motivo, antes de llegar a la pantalla donde se pueden introducir directamente
sentencias SQL es preciso pasar por algunas otras ventanas como la que detalla en la
cabecera del artículo, en la que se definen las tablas implicadas en la consulta. En
principio da lo mismo las tablas que se seleccionen ya que la consulta será reescrita “a
mano” más tarde.
Paso 3: Vista SQL
Para llegar a la ventana de edición de sentencias SQL es necesario seleccionar la opción
“Vista SQL” que aparece en el desplegable anexo al botón principal.

Paso 4: Ventana de edición


La ventana de edición es un simple editor de texto donde se escriben las sentencias
SQL. Una vez que se ha terminado se debe pulsar el botón principal para que la consulta
se ejecute.

Paso 5: Resultado de la ejecución


El resultado de la ejecución de la consulta queda recogido en una ventana similar a la
que se muestra cuando se introducen datos.

Consultas simples
Probablemente consultar los datos es una de las tareas que se llevan a cabo con mayor
frecuencia. Cuando existen varias tablas y las relaciones entre ellas son complejas, las
consultas pueden llegar a ser francamente complicadas tardando en ejecutarse una
cantidad de tiempo nada despreciable.

Ésta es precisamente otra de las cuestiones que deben afrontarse, ya que no se trata
únicamente de obtener los datos deseados, sino de hacerlo además en un tiempo
razonable. El lenguaje SQL es muy flexible y permite realizar una misma consulta de
muy diversas formas. Puede llegar a ser difícil determinar cuál es la más eficiente de
entre todas ellas, pero lo que sí resulta más fácil es detectar aquellas soluciones que son
especialmente perjudiciales para el rendimiento de la base de datos, y que, por lo tanto,
hay que evitar.

La sentencia SELECT 
La sentencia SELECT se utiliza para obtener un conjunto de registros que puede
proceder de una o más tablas. El siguiente ejemplo ilustra la sintaxis más elemental:

SELECT NOMBRE, APELLIDO


FROM CONTACTOS

En primer lugar, aparece la palabra ‘SELECT’ seguida de los nombres, separados por
comas, de los campos que se quieren extraer. La palabra reservada ‘FROM’, que sucede
a los nombres de los campos, se utiliza para indicar la tabla o tablas de donde va a
extraerse la información.

La cláusula WHERE
Con frecuencia suele ser necesario aplicar algún tipo de condición que restringa el
número de registros devuelto por una consulta. Por ejemplo:

SELECT NOMBRE, APELLIDO


FROM CONTACTOS
WHERE ID=1
La cláusula ORDER BY
Otra de las características más útiles que proporciona el lenguaje SQL es la facilidad
para ordenar los resultados. Por ejemplo:

SELECT NOMBRE, APELLIDO


FROM CONTACTOS
WHERE ID=1 OR ID=2
ORDER BY APELLIDO DESC

La cláusula GROUP BY
En algunas ocasiones resulta imprescindible agrupar todos los elementos devueltos
utilizando como criterio la repetición del valor de alguno de los campos. Así, por
ejemplo, dada la tabla DISCO definida de por los campos TITULO y ARTISTA, se
pueden obtener la lista de cuantos discos hay de cada artista simplemente con la
siguiente consulta:

SELECT ARTISTA, COUNT(*)


FROM DISCO
GROUP BY ARTISTA

La palabra reservada COUNT se utiliza como función de agregado permitiendo calcular


para cada artista la cuenta de todos los registros encontrados.

Consultas complejas
En la mayor parte de los casos es necesario usar en una consulta varias tablas para
llegar a obtener la información deseada.

Por lo general se suelen combinar registros procedentes de dos o más tablas a partir de
valores coincidentes en un campo común. Otras veces es preciso hacer subconsultas, o
lo que es lo mismo, crear mediante sentencias SELECT tablas temporales de datos que
forman parte a su vez de la cláusula FROM de otra sentencia SELECT. En todos estos
casos, donde las posibles combinaciones de elementos pueden ser muchas, no hay que
olvidar el factor eficiencia.

Combinación de tablas
Para este ejemplo se va a añadir una nueva tabla a la base de datos de contactos. Se trata
de la tabla DIRECCION y cuenta con los siguientes campos: ID (identificador único de
los contactos), DIRECCION (dirección completa del contacto). Como se puede
observar se trata de una tabla muy sencilla. Cada contacto de la tabla CONTACTO
puede tener una o más direcciones, lo que significa varios registros de la tabla
DIRECCION.

Subconsultas
Hasta el momento todas las condiciones que se han aplicado en la cláusula WHERE han
consistido en comparar el valor de un campo con un literal –es decir, con una constante,
ya sea una cadena de texto, un número, etc.– o bien en relacionar dos campos que
pertenecen a tablas distintas. Existe una posibilidad más y es la que proporcionan las
subconsultas. De manera informal se puede decir que una subconsulta no es más que
una consulta dentro de otra consulta, o lo que es lo mismo, una sentencia SELECT que
forma parte de otra sentencia SELECT. La siguiente consulta muestra un ejemplo:

SELECT COUNT(*)
FROM CONTACTOS
WHERE ID NOT IN (SELECT DISTINCT ID FROM 
DIRECCION)

Inserciones, modificaciones y borrados

Insertar o modificar datos es otra de las tareas comunes que hay que realizar
cuando se trabaja con base de datos. Si bien en general la complejidad de este tipo
de sentencias SQL es mucho menor, especialmente en lo que refiere a las
inserciones, también pueden producirse casos complicados.

La sentencia INSERT
La sintaxis de la sentencia INSERT es muy sencilla, tal y como se ilustra a
continuación: 

INSERT INTO CONTACTOS (ID, NOMBRE, APELLIDO)


VALUES (13, 'Dita', 'Parlo')

Después de la palabra reservada INTO aparece el nombre de la tabla seguido de los


campos separados por comas y entre paréntesis. No es necesario que se indiquen los
nombres de todos los campos de la tabla, pero tampoco hay que olvidar que alguno de
ellos puede ser obligatorio y de no aparecer se produciría un error. La palabra reservada
VALUES indica que a continuación aparecen los valores de esa inserción. Las cadenas
de caracteres deben ir separadas por comillas simples.

La sentencia UPDATE
La sentencia UPDATE se utiliza para modificar los registros de una tabla la base de
datos. El siguiente ejemplo muestra su sintaxis:

UPDATE CONTACTOS
SET NOMBRE = 'Dita',
APELLIDO = 'Parlo'
WHERE ID = 13

La sentencia DELETE
La sentencia DELETE comparte muchas similitudes con la sentencia UPDATE. Por
ejemplo:

DELETE CONTACTOS
WHERE ID = 13
Cuestionario

1. ¿Qué es el lenguaje de consulta estructurado (SQL)?


El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos
normalizado, utilizado por los diferentes motores de bases de datos para realizar
determinadas operaciones sobre los datos o sobre la estructura de los

2. ¿En qué año empieza la historia de SQL?

La historia de SQL empieza en 1974

3. ¿Por quien fue definida la SQL?

La SQL fue definida por parte de Donald Chamberlin y de otras personas que
trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la
especificación de las características de las bases de datos que adoptaban el
modelo relacional.

4. ¿Qué se le implemento al lenguaje SEQUEL?

se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975.

5. ¿Cuándo condujeron las experimentaciones de prototipo?

Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una
revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de
nombre por motivos legales, convirtiéndose en SQL.

6. ¿En que esta basado el prototipo System R?

El prototipo (System R), basado en este lenguaje, se adoptó y utilizó


internamente en IBM y lo adoptaron algunos de sus clientes elegidos.

7. ¿Qué comenzó a entregar la IBM en 1981?

A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983


empezó a vender DB2.

8. ¿Qué adoptó ANSI en el 1986?

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM)


como estándar para los lenguajes relacionales y en 1987 se transformó en
estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los
años siguientes, éste ha sufrido diversas revisiones que han conducido primero a
la versión SQL/89 y, posteriormente, a la actual SQL/92.
9. ¿Cómo está compuesto los comandos del SQL?

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y


funciones de agregado. Estos elementos se combinan en las instrucciones para
crear, actualizar y manipular las bases de datos.

10.¿Cuáles son los tipos de comandos SQL y defina cada uno?

 DLL que permiten crear y definir nuevas bases de datos, campos e


índices.
 DML que permiten generar consultas para ordenar, filtrar y extraer
datos de la base de datos.
Comandos DLL

Comando Descripción

CREATE Utilizado para crear nuevas tablas, campos e índices

DROP Empleado para eliminar tablas e índices

Utilizado para modificar las tablas agregando campos o cambiando la


ALTER
definición de los campos.

Comandos DML

Comando Descripción

Utilizado para consultar registros de la base de datos que satisfagan


SELECT
un criterio determinado

Utilizado para cargar lotes de datos en la base de datos en una única


INSERT
operación.

Utilizado para modificar los valores de los campos y registros


UPDATE
especificados

DELETE Utilizado para eliminar registros de una tabla de una base de datos

11. ¿Qué son las cláusulas?


Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.

Cláusula Descripción

Utilizada para especificar la tabla de la cual se van a seleccionar


FROM
los registros

Utilizada para especificar las condiciones que deben reunir los


WHERE
registros que se van a seleccionar

Utilizada para separar los registros seleccionados en grupos


GROUP BY
específicos

Utilizada para expresar la condición que debe satisfacer cada


HAVING
grupo

12. ¿Cómo es el lenguaje de SQL en la actualidad?

En la actualidad el lenguaje SQL es aceptado por la mayoría de las bases de


datos y proporciona un modo sencillo e intuitivo de leer, introducir o modificar
la información contenida en las tablas.

13. ¿Qué permiten la sentencia SQL?


Las sentencias SQL permiten relacionar todas las tablas que conforman una base de datos, ya sea
para obtener un conjunto de datos específico, ordenado de una manera concreta, o por ejemplo,
para determinar la colección de elementos que deben ser eliminados.

14.¿Cuáles son los diferentes pasos para crear una base de datos?

Paso 1: Nueva Base De Datos


Haciendo doble clic sobre el icono del programa se abre Access.
Automáticamente se muestra una ventana que ofrece al usuario tres
posibilidades. De entre todas ellas se debe seleccionar “Base de datos de Access
en blanco”.

Paso 2: Archivo .mdb


Las bases de datos Access utilizan archivos .mdb para guardar la información. El
siguiente paso consiste pues en seleccionar el directorio donde se desea guardar
el archivo, así como el nombre del mismo.

Paso 3: Ventana principal de la base de datos


La ventana principal contiene la mayor parte de las opciones y menús que se
utilizarán durante una típica sesión de Access. Para crear una tabla nueva hay
que seleccionar la opción “Crear una tabla en vista Diseño”.
Paso 4: Definir el nombre y el tipo de los campos
En la columna de la izquierda se debe introducir el nombre de los campos y en la
columna de la derecha el tipo de los mismos. Éste puede elegirse de entre una
lista que aparece de manera automática al escribir o hacer clic con el ratón. En la
zona inferior de la pantalla aparece además una pestaña que permite configurar
parámetros tales como la obligatoriedad de un campo o, por ejemplo, el tamaño
máximo de caracteres permitido.

Paso 5: Nombre de la tabla


Al cerrar la ventana de definición de los campos Access solicita el nombre que
se quiere dar a esa tabla.

Paso 6: Clave primaria


Una clave primaria es un campo de la tabla que identifica unívocamente a un
registro. El DNI en una tabla de personas es el caso más típico que suele
mencionarse para explicar este concepto: identifica de manera indiscutible a un
único individuo y no puede repetirse, por lo que es la clave primaria de una tabla
de esas características. No es obligatorio definir una clave primaria.

Paso 7: Ventana principal


Una vez que la tabla ha sido definida, aparece el nombre de la misma en la
ventana principal de la aplicación como puede verse en la imagen.

Paso 8: Introducir datos


Haciendo doble clic en el nombre de la tabla, en la ventana principal, se muestra
una tabla mediante la cual es posible introducir registros. Todos los cambios son
guardados inmediatamente sin necesidad de tener que salvar.

15.¿Cuáles son los pasos para crear una consulta?

Paso 1: Ventana principal de la aplicación


En el menú de la izquierda hay que seleccionar el botón “Consultas” y hacer clic
en la opción “Crear una consulta en vista Diseño”.

Paso 2: Selección de las tablas implicadas


La aplicación Access cuenta con un asistente para realizar consultas. Aunque
puede ser muy práctico nuestro objetivo es aprender a desarrollar estas consultas
utilizando el lenguaje SQL.

Por este motivo, antes de llegar a la pantalla donde se pueden introducir


directamente sentencias SQL es preciso pasar por algunas otras ventanas como
la que detalla en la cabecera del artículo, en la que se definen las tablas
implicadas en la consulta. En principio da lo mismo las tablas que se seleccionen
ya que la consulta será reescrita “a mano” más tarde.

Paso 3: Vista SQL


Para llegar a la ventana de edición de sentencias SQL es necesario seleccionar la
opción “Vista SQL” que aparece en el desplegable anexo al botón principal.
Paso 4: Ventana de edición
La ventana de edición es un simple editor de texto donde se escriben las
sentencias SQL. Una vez que se ha terminado se debe pulsar el botón principal
para que la consulta se ejecute.

Paso 5: Resultado de la ejecución


El resultado de la ejecución de la consulta queda recogido en una ventana similar
a la que se muestra cuando se introducen datos.

16.Hablar sobre la consulta simple

Probablemente consultar los datos es una de las tareas que se llevan a cabo
con mayor frecuencia. Cuando existen varias tablas y las relaciones entre ellas
son complejas, las consultas pueden llegar a ser francamente complicadas
tardando en ejecutarse una cantidad de tiempo nada despreciable.
Ésta es precisamente otra de las cuestiones que deben afrontarse, ya que no se
trata únicamente de obtener los datos deseados, sino de hacerlo además en un
tiempo razonable. El lenguaje SQL es muy flexible y permite realizar una misma
consulta de muy diversas formas.

17.¿Cómo se utiliza la sentencia SELECT?

La sentencia SELECT se utiliza para obtener un conjunto de registros que puede


proceder de una o más tablas.

18.¿Qué frecuente suele ser la cláusula WHERE Y pon ejemplo?

Con frecuencia suele ser necesario aplicar algún tipo de condición que restringa
el número de registros devuelto por una consulta. Por ejemplo:

SELECT NOMBRE, APELLIDO


FROM CONTACTOS
WHERE ID=1

19.¿Qué característica proporciona la Cláusula ORDEN BY da


ejemplo?

Otra de las características más útiles que proporciona el lenguaje SQL es la


facilidad para ordenar los resultados. Por ejemplo:

SELECT NOMBRE, APELLIDO


FROM CONTACTOS
WHERE ID=1 OR ID=2
ORDER BY APELLIDO DESC

20.¿Qué campo indica la lista de la cláusula ORDEN BY?


La cláusula ORDER BY indica la lista de campos, separados por comas si hay
más de uno, que debe utilizarse como criterio para ordenar los registros que
conforman el resultado. La palabra reservada DESC indica que el orden debe
invertirse.

21.¿Qué ocasiones resulta la cláusula GROUP BY Y DA


EJEMPLO?

En algunas ocasiones resulta imprescindible agrupar todos los elementos


devueltos utilizando como criterio la repetición del valor de alguno de los
campos. Así, por ejemplo, dada la tabla DISCO definida de por los campos
TITULO y ARTISTA, se pueden obtener la lista de cuantos discos hay de cada
artista simplemente con la siguiente consulta:

SELECT ARTISTA, COUNT(*)


FROM DISCO
GROUP BY ARTISTA

22. ¿Habla sobre la consulta complejas?

En la mayor parte de los casos es necesario usar en una consulta varias tablas
para llegar a obtener la información deseada.

Por lo general se suelen combinar registros procedentes de dos o más tablas a


partir de valores coincidentes en un campo común. Otras veces es preciso hacer
subconsultas, o lo que es lo mismo, crear mediante sentencias SELECT tablas
temporales de datos que forman parte a su vez de la cláusula FROM de otra
sentencia SELECT. En todos estos casos, donde las posibles combinaciones de
elementos pueden ser muchas, no hay que olvidar el factor eficiencia.

23.Explicar la combinación de tablas

Para este ejemplo se va a añadir una nueva tabla a la base de datos de contactos.
Se trata de la tabla DIRECCION y cuenta con los siguientes campos: ID
(identificador único de los contactos), DIRECCION (dirección completa del
contacto). Como se puede observar se trata de una tabla muy sencilla. Cada
contacto de la tabla CONTACTO puede tener una o más direcciones, lo que
significa varios registros de la tabla DIRECCION.

24.Habla sobre las subconsultas

Hasta el momento todas las condiciones que se han aplicado en la cláusula


WHERE han consistido en comparar el valor de un campo con un literal –es
decir, con una constante, ya sea una cadena de texto, un número, etc.– o bien en
relacionar dos campos que pertenecen a tablas distintas. Existe una posibilidad
más y es la que proporcionan las subconsultas. De manera informal se puede
decir que una subconsulta no es más que una consulta dentro de otra consulta, o
lo que es lo mismo, una sentencia SELECT que forma parte de otra sentencia
SELECT.

25. Explicar la diferente diferencia entre la subconsulta interna


como externa

La subconsulta interna utiliza la cláusula GROUP BY para obtener una tabla de


datos formada por dos campos: el primero es el ID (identificador único de un
contacto) y el segundo es la cuenta de las veces que aparece ese ID en la tabla
DIRECCION, o lo que es lo mismo, el número de direcciones que hay para ese
contacto.

La subconsulta exterior combina las tablas CONTACTOS y TMP utilizando el


campo que guardan en común, el campo ID. El resultado que se obtiene es una
lista de los nombres de los contactos y el número de direcciones que hay para
cada uno de ellos. La utilizados en subconsultas y combinación de tablas pueden
llegar a complicarse todo lo que se desee.

También podría gustarte