Beruflich Dokumente
Kultur Dokumente
Introduccin
En el sentido ms amplio, se podra considerar que una base de datos es simplemente un conjunto de informacin
o tablas en donde se guardan un sinfn de datos, por ejemplo imgenes, videos informacin de usuarios etc., una
base de datos sencilla puede llevar datos de nuestros amigos que simplemente se registraran en ella, se utilizan
registros, campos, fichas, apartados, simplemente se utilizan para almacenar informacin que prcticamente
despus se utilizaran en diferentes partes o formas por ejemplo pginas web, o para usuarios especficos oficinas.
Las BD son el mtodo preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones
multiusuario, hasta los telfonos mviles y las agendas electrnicas utilizan tecnologa de bases de datos para
asegurar la integridad de los datos y facilitar el trabajo tanto de usuarios como de los programadores que las
desarrollaron, desde la realizacin del primer modelo de datos, pasando por la administracin del sistema gestor,
hasta llegar al desarrollo de la aplicacin, los conceptos y la tecnologa asociados son muchos y muy
heterogneos. Sin embargo, es imprescindible conocer los aspectos clave de cada uno de estos temas para tener
xito en cualquier proyecto que implique trabajar con bases de datos, en los primeros conceptos mencionados
en este reporte se describe como se utilizan las diferentes consultas en SQL.
Los primeros SGBD en los aos sesenta todava no se les denominaba as estaban orientados a facilitar la
utilizacin de grandes conjuntos de datos en los que las interacciones eran complejas. Al parecer los terminales
del teclado, conectados al ordenador central mediante una lnea telefnica, se empiezan a construir grandes
aplicaciones los SGBD estaban ntimamente ligados al software de comunicaciones y de gestin de
transacciones, aunque para escribir los programas de aplicacin se utilizaban lenguajes de alto nivel como se
dispona tambin de instrucciones y de subrutinas especializadas para tratar las BD que requeran que el
programador considera detalles del diseo fsico, y que hacan que la programacin fuese muy compleja, puesto
que los programas estaban relacionadas con el nivel fsico, se deberan modificar continuamente cuando se
hacan cambios en el diseo y la organizacin de la BD, la preocupacin bsica era maximizar el rendimiento,
una base BD distribuida puede reducir el coste. En el caso de un sistema centralizado, todos los equipos usuarios
que pueden estar distribuidos por distintas y lejanas reas geogrficas, estn concentradas el sistema central por
medio de lneas de comunicacin, el coste total de las comunicaciones de puede reducir haciendo que un usuario
tenga ms cerca los datos que utiliza con mayor frecuencia. El xito de las BD, incluso en sistemas personales,
ha llevado a la operacin de los Fourth Generacin Lenguajes (4GL), especializados en el desarrollo de
aplicaciones fundamentales de BD, proporcionan muchas facilidades en el momento de definir, generalmente de
forma visual, dilogos para introducir, modificar y consultar datos en entornos. Hoy en da, los SGBD relacionales
estn en plena transformacin para adaptarse a tres tecnologas de xito reciente, frecuentemente relacionadas.
La incorporacin de tecnologas multimedia- imagen y sonido- en los sistemas hace necesario que los SGBD
relacionales acepten atributos de estos tipos. Necesitan tipos complejos que el desarrollador pueda definir a
medida de la aplicacin. En definitiva. Simplemente en la actualidad todo funciona con base de datos y es lo
primordial para nuestra carrera y futuro.
Resultados de la consulta
SQL permite al usuario ordenar las tuplas en el resultado de una consulta por los valores de una o ms de los
atributos que aparecen en el resultado de la consulta, mediante el ORDER BY clusula.
Ejemplo: una consulta que me muestre una lista de los empleados y los proyectos que estn trabajando en,
ordenado por departamento y, dentro de cada departamento, ordenada alfabticamente por apellido, luego el
nombre.
SELECT D.Dname, E.Lname, E.Fname, P.Pname
FROM DEPARTAMENTO D, EMPLEADO E, TRABAJA_EN W,
PROYECTO P
WHERE D.Dnumber = E.Dno Y E.Ssn = W.Essn Y
W.Pno = P.Pnumber
ORDER BY D.Dname, E.Lname, E.Fname;
El comando DELETE
El comando DELETE elimina tuplas de una relacin. Incluye una clusula WHERE, similar a la utilizada en una
consulta SQL, para seleccionar las tuplas que desea eliminar.
El comando UPDATE
El comando UPDATE se utiliza para modificar los valores de atributo de uno o ms seleccionados tuplas. Al igual
que en el comando DELETE, una clusula WHERE en el comando UPDATE se selecciona las tuplas que sern
modificadas de una sola relacin.
Por ejemplo:
UPDATE FROM PROYECTO
SET Plocation = 'Bellaire', NUMD = 5
WHERE Pnumber = 10;
Ejercicios
4.10. Especifique las siguientes consultas en SQL en la EMPRESA base de datos relacional esquema se muestra
en la Figura 3.5. Mostrar el resultado de cada consulta si se aplica a la EMPRESA base de datos en la Figura 3.6.
a. Recuperar los nombres de todos los empleados en el departamento 5 que trabajan ms de 10 horas por
semana en el proyecto productoX.
SELECT Fname, Dnumber, Hours, Pname
FROM EMPLOYEE INNER JOIN DEPARTMENT ON Dnumber=Dnum INNER JOIN (SELECT FROM PROJECT)
ON Dnum=Pname
WHERE Pname= ProductX and Hours>10
b. Anote los nombres de todos los empleados que tienen un dependiente con el mismo primero nombrar como
ellos mismos.
SELECT Fname, Dependent_name
FROM EMPLOYEE INNER JOIN DEPENDET
10
WHERE ALICE=Alice AND Theodore=Theodore AND Joy=Joy AND Abner=Abner AND Michael=Michael
4.12. Especifique las siguientes consultas en SQL en el esquema de base de la figura 1.2.
a. Recuperar los nombres de todos los estudiantes del ltimo ao que se especializan en 'CS' (informtica).
SELECT Name, Year, Course_name
FROM STUDENT INNER JOIN COURSE ON SECTION Course_number= Course_number
WHERE Course_name= Course Science
b. Recuperar los nombres de todos los cursos impartidos por el profesor King en 2007 y
2008.
SELEC Course_name, Istructor
FROM COURSE INNER JOIN SECTION ON Course_number= Course_number
WHERE Instructor=King
Consultas anidadas
11
Algunas consultas requieren que los valores existentes en la base de datos se obtengan y luego se usa en una
condicin de comparacin. Tales consultas se pueden formulan convenientemente mediante el uso de consultas
anidadas, que son de seleccin-de-donde los bloques completos dentro del DONDE clusula de otra consulta.
Un ejemplo de esto es el siguiente:
SELECT DISTINCT Pnumber
FROM PROYECTO
WHERE Pnumber IN
(SELECT Pnumber
FROM PROYECTO, DEPARTAMENTO, EMPLEADO
WHERE NUMD = NUMEROD AND
Mgr_ssn = SSN y Lname = 'Smith')
Oregn
Pnumber IN
(SELECT Pno
FROM TRABAJA_EN, EMPLEADO
WHERE ESSN = SSN y Lname = 'Smith');
Si una consulta anidada devuelve un solo atributo y una sola tupla, el resultado de la consulta ser una sola
(escalar) de valor. En tales casos, se permite utilizar = en lugar de IN para el operador de comparacin. En
general, la consulta anidada volver una tabla.
12
13
La clusula de FROM en la consulta contiene una sola tabla unida. Los atributos de una tabla de este tipo son
todos los atributos de la primera tabla, EMPLEADO, seguidos de todos los atributos de la segunda tabla,
DEPARTAMENTO. El concepto de una tabla unida tambin permite al usuario especificar diferentes tipos de
unin.
Funciones de Agregacin.
Las funciones de agregacin se utilizan para resumir la informacin a partir de mltiples tuplas en un resumen de
una sola tupla. Agrupacin se utiliza para crear subgrupos de tuplas antes de resumen. Agrupacin y agregacin
son necesarias en muchas aplicaciones de bases de datos, y vamos a introducir su uso en SQL a travs de
ejemplos.
Una serie de funciones integradas de agregados existir: COUNT, SUM, MAX, MIN, y AVG.
Un ejemplo ms claro de esto es lo siguiente:
Encuentre la suma de los salarios de todos los empleados, el salario mximo, el salario mnimo y el salario
promedio.
SELECT SUM (salario), MAX (Sueldo), MIN (Sueldo), AVG (Sueldo)
DEL EMPLEADO;
Si queremos obtener los valores de la funcin anterior para empleados de una Department- especfica.
Group by y Having
En muchos casos, queremos aplicar las funciones de agregado a subgrupos de tuplas en una relacin, donde los
subgrupos se basan en algunos valores de atributos. Por ejemplo, podemos puede que desee encontrar el salario
promedio de los empleados en cada departamento o el nmero de los empleados que trabajan en cada proyecto.
En estos casos tenemos que dividir la relacin en subconjuntos no superpuestos (o grupos) de tuplas.
Un ejemplo de cmo utilizar esto es el siguiente:
SELECT Dno, COUNT (*), AVG (Sueldo)
FROM EMPLEADO
GROUP BY Dno;
14
En la consulta, las tuplas de EMPLEADO se dividen en grupos, cada grupo que tiene el mismo valor para la
agrupacin de atributos Dno. Por lo tanto, cada grupo contiene el los empleados que trabajan en el mismo
departamento.
Vistas
Una vista en la terminologa de SQL es una sola tabla que se deriva de otras tablas. Estos otras tablas pueden
ser tablas base o puntos de vista previamente definidos. Una vista no necesariamente existir en forma fsica; se
considera para ser una tabla virtual, en contraste con tablas de base, cuya tuplas siempre estn almacenados
fsicamente en la base de datos. Esto limita la posible las operaciones de actualizacin que se pueden aplicar a
las vistas, pero no proporciona ningn tipo de limitaciones en la consulta de una vista.
Un ejemplo de estas so el siguiente:
CREATE VIEW WORKS_ON1
AS SELECT Fnombre , Lname , Pname , Horas
FROM EMPLEADO, PROYECTO, TRABAJA_EN
WHERE Ssn = ESSN Y Pno = Pnumber ;
En la consulta, no especificamos nuevos nombres de atributos de la vista WORKS_ON1 (Aunque podramos
tener); en este caso, WORKS_ON1 hereda los nombres de la vista atributos de la definicin de tablas
EMPLEADO, PROYECTO, y TRABAJA_EN.
Ejercicios.
Especifique las siguientes consultas en la base de datos en la Figura 3.5 en SQL. Mostrar los resultados de la
consulta, si cada consulta se aplica a la base de datos en la Figura 3.6.
a. Para cada instancia cuya media de empleados salario es ms de $ 30,000, recuperar el nombre del
departamento y el nmero de empleados que trabajan para ese departamento.
(a) SELECT DNAME, COUNT (*)
FROM DEPARTMENT, EMPLOYEE
WHERE DNUMBER=DNO
GROUP BY DNAME
15
Result:
DNAME DNUMBER COUNT (*)
Research 5 4
Administration 4 3
Headquarters 1 1
b. Supongamos que queremos que el nmero de empleados de sexo masculino en cada departamento que ganan
ms de 30.000 dlares, en lugar de todos los empleados (como en 5.4a Ejercicio). Podemos especificar esta
consulta en SQL? Por qu o por qu no?
(b) The query may still be specified in SQL by using a nested query as follows (not all implementations may support
this type of query):
SELECT DNAME, COUNT (*)
FROM DEPARTMENT, EMPLOYEE
WHERE DNUMBER=DNO AND SEX='M' AND DNO IN ( SELECT DNO
FROM EMPLOYEE
GROUP BY DNO
HAVING AVG (SALARY) > 30000)
GROUP BY DNAME
Result:
DNAME DNUMBER COUNT (*)
Research 5 3
Administration 4 1
16
Headquarters 1 1
In SQL, specify the following queries on the database in Figure 3.5 using the concept of nested queries and
concepts described in this chapter.
a. Retrieve the names of all employees who work in the department that has the employee with the highest salary
among all employees.
SELECT LNAME FROM EMPLOYEE WHERE DNO =
(SELECT DNO FROM EMPLOYEE WHERE SALARY =
(SELECT MAX (SALARY) FROM EMPLOYEE) )
b. Retrieve the names of all employees whose supervisors supervisor has 888665555 for Ssn.
SELECT LNAME FROM EMPLOYEE WHERE SUPERSSN IN
(SELECT SSN FROM EMPLOYEE WHERE SUPERSSN = 888665555)
c. Retrieve the names of employees who make at least $10,000 more than the employee who is paid the least in
the company.
SELECT LNAME FROM EMPLOYEE WHERE SALARY >= 10000 +
(SELECT MIN (SALARY) FROM EMPLOYEE)
17
Conclusin
Luego de haber concluido este trabajo de investigacin sobre bases de datos fueron muchos los esfuerzos y
conocimientos adquiridos durante dicha elaboracin. Algunos de los aspectos aprendidos y que de gran peso es
la base de datos su definicin, requerimiento, ventajas y caractersticas donde podemos decir que la base de
datos: Es una coleccin de datos o informacin usados para dar servicios a muchas aplicaciones al mismo tiempo.
En cuanto al requerimiento podemos decir que cumple las mismas tareas de anlisis que del software y tiene
como caracterstica relacionar la informacin como va organizacin y asociacin donde la base de datos tiene
una ventaja que es utilizar la plataforma para el desarrollo del sistema de aplicacin. Los sistemas de bases de
datos requieren que la institucin reconozca el papel estratgico de la informacin y comience activamente a
administrar y planear la informacin como recurso corporativo. Esto significa que la institucin debe desarrollar la
funcin de administracin de datos con el poder de definir los requerimientos de la informacin para toda la
empresa y con acceso directo a la alta direccin. El director de la informacin (DI) o vicepresidentes de la
informacin es el primero que aboga en la institucin por los sistemas de bases de datos. Luego de haber
concluido este trabajo de investigacin sobre bases de datos fueron muchos los esfuerzos y conocimientos
adquiridos durante dicha elaboracin. Algunos de los aspectos aprendidos y que de gran peso es la base de
datos su definicin, requerimiento, ventajas y caractersticas donde podemos decir que la base de datos: Es una
coleccin de datos o informacin usados para dar servicios a muchas aplicaciones al mismo tiempo. En cuanto
al requerimiento podemos decir que cumple las mismas tareas de anlisis que del software y tiene como
caracterstica relacionar la informacin como va organizacin y asociacin donde la base de datos tiene una
ventaja que es utilizar la plataforma para el desarrollo del sistema de aplicacin en las organizaciones. Otro
aspectos importante sera el diseo y creacin de la base de datos, donde existen distintos modos de organizar
la informacin y representar las relaciones entre por datos los tres modelos lgicos principales dentro de una base
de datos son el jerrquico, 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 funcin derivar, almacenar y
procesar datos dentro de una informacin. Los grficos y tablas nos sirven para resumir en un dibujo toda una
serie de datos mucho ms explcito y fcil de asimilar, los tipos de grficos que se pueden utilizar en una base de
datos son: grficos de pastel, barra y discretos. Sistemas de gestin, es un sistema de desarrollo que hace posible
ascender a datos integrados funcionales y organizacionales de una empresa.
Otro punto importante sera la creacin de un informe y consultas dentro de una base de datos. Los informe de
base de datos estn definidos por bandas de informe, estas bandas de informe se definen cinco tipos de diferentes
18
funcin en el informe, por ejemplo la cabecera que aparece en la parte superior de cada pgina, lneas de detalle
y resumen de informe. El informe se pueda crear rpido y personalizado. La creacin de consultas de base de
datos consta de archivos que permiten realizar muchas tareas diferentes con los datos que se pueden ver.
Tambin se pueden utilizar para controlar los registros que visualiza Dbase la consulta no contiene informacin
de base de datos, si no tan solo las instrucciones necesarias para seleccionar los registros y campos requeridos
de una base de datos.
19
Bibliografa
Fundamentals of Database Systems(Elmasri,Navathe) 6th Edition
20