Science And Technology">
BASE DE DATO (Tercer Parcial)
BASE DE DATO (Tercer Parcial)
BASE DE DATO (Tercer Parcial)
(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
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.
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.
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.
Antes de pasar a estudiar la sintaxis de las sentencias SQL es preciso ver cómo se
puede crear una consulta con Access.
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.
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:
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:
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:
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)
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:
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
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.
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.
Comando Descripción
Comandos DML
Comando Descripción
DELETE Utilizado para eliminar registros de una tabla de una base de datos
Cláusula Descripción
14.¿Cuáles son los diferentes pasos para crear una base de datos?
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.
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:
En la mayor parte de los casos es necesario usar en una consulta varias tablas
para llegar a obtener la información deseada.
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.